@remotion/renderer 3.0.19 → 3.0.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/dist/assets/get-audio-channels.d.ts +4 -2
  2. package/dist/assets/get-audio-channels.js +14 -3
  3. package/dist/browser/Browser.d.ts +209 -0
  4. package/dist/browser/Browser.js +402 -0
  5. package/dist/browser/BrowserConnector.d.ts +19 -0
  6. package/dist/browser/BrowserConnector.js +17 -0
  7. package/dist/browser/BrowserFetcher.d.ts +89 -0
  8. package/dist/browser/BrowserFetcher.js +492 -0
  9. package/dist/browser/BrowserRunner.d.ts +39 -0
  10. package/dist/browser/BrowserRunner.js +308 -0
  11. package/dist/browser/Connection.d.ts +49 -0
  12. package/dist/browser/Connection.js +262 -0
  13. package/dist/browser/ConnectionTransport.d.ts +21 -0
  14. package/dist/browser/ConnectionTransport.js +17 -0
  15. package/dist/browser/ConsoleMessage.d.ts +31 -0
  16. package/dist/browser/ConsoleMessage.js +48 -0
  17. package/dist/browser/DOMWorld.d.ts +50 -0
  18. package/dist/browser/DOMWorld.js +280 -0
  19. package/dist/browser/EmulationManager.d.ts +7 -0
  20. package/dist/browser/EmulationManager.js +40 -0
  21. package/dist/browser/Errors.d.ts +25 -0
  22. package/dist/browser/Errors.js +35 -0
  23. package/dist/browser/EvalTypes.d.ts +27 -0
  24. package/dist/browser/EvalTypes.js +17 -0
  25. package/dist/browser/EventEmitter.d.ts +70 -0
  26. package/dist/browser/EventEmitter.js +102 -0
  27. package/dist/browser/ExecutionContext.d.ts +33 -0
  28. package/dist/browser/ExecutionContext.js +174 -0
  29. package/dist/browser/FrameManager.d.ts +96 -0
  30. package/dist/browser/FrameManager.js +512 -0
  31. package/dist/browser/HTTPRequest.d.ts +28 -0
  32. package/dist/browser/HTTPRequest.js +37 -0
  33. package/dist/browser/HTTPResponse.d.ts +22 -0
  34. package/dist/browser/HTTPResponse.js +33 -0
  35. package/dist/browser/JSHandle.d.ts +36 -0
  36. package/dist/browser/JSHandle.js +93 -0
  37. package/dist/browser/LaunchOptions.d.ts +117 -0
  38. package/dist/browser/LaunchOptions.js +17 -0
  39. package/dist/browser/Launcher.d.ts +9 -0
  40. package/dist/browser/Launcher.js +602 -0
  41. package/dist/browser/LifecycleWatcher.d.ts +29 -0
  42. package/dist/browser/LifecycleWatcher.js +193 -0
  43. package/dist/browser/NetworkEventManager.d.ts +35 -0
  44. package/dist/browser/NetworkEventManager.js +128 -0
  45. package/dist/browser/NetworkManager.d.ts +36 -0
  46. package/dist/browser/NetworkManager.js +280 -0
  47. package/dist/browser/NodeWebSocketTransport.d.ts +17 -0
  48. package/dist/browser/NodeWebSocketTransport.js +90 -0
  49. package/dist/browser/Page.d.ts +74 -0
  50. package/dist/browser/Page.js +282 -0
  51. package/dist/browser/Product.d.ts +16 -0
  52. package/dist/browser/Product.js +17 -0
  53. package/dist/browser/PuppeteerNode.d.ts +89 -0
  54. package/dist/browser/PuppeteerNode.js +135 -0
  55. package/dist/browser/PuppeteerViewport.d.ts +5 -0
  56. package/dist/browser/PuppeteerViewport.js +2 -0
  57. package/dist/browser/ScreenshotOptions.d.ts +14 -0
  58. package/dist/browser/ScreenshotOptions.js +2 -0
  59. package/dist/browser/Target.d.ts +61 -0
  60. package/dist/browser/Target.js +146 -0
  61. package/dist/browser/TaskQueue.d.ts +20 -0
  62. package/dist/browser/TaskQueue.js +47 -0
  63. package/dist/browser/TimeoutSettings.d.ts +23 -0
  64. package/dist/browser/TimeoutSettings.js +62 -0
  65. package/dist/browser/assert.d.ts +21 -0
  66. package/dist/browser/assert.js +29 -0
  67. package/dist/browser/compat.d.ts +2 -0
  68. package/dist/browser/compat.js +17 -0
  69. package/dist/browser/create-browser-fetcher.d.ts +17 -0
  70. package/dist/browser/create-browser-fetcher.js +127 -0
  71. package/dist/browser/environment.d.ts +16 -0
  72. package/dist/browser/environment.js +19 -0
  73. package/dist/browser/get-download-destination.d.ts +1 -0
  74. package/dist/browser/get-download-destination.js +38 -0
  75. package/dist/browser/mitt/index.d.ts +22 -0
  76. package/dist/browser/mitt/index.js +49 -0
  77. package/dist/browser/node.d.ts +2 -0
  78. package/dist/browser/node.js +9 -0
  79. package/dist/browser/revisions.d.ts +21 -0
  80. package/dist/browser/revisions.js +22 -0
  81. package/dist/browser/util.d.ts +46 -0
  82. package/dist/browser/util.js +161 -0
  83. package/dist/ensure-presentation-timestamp.d.ts +1 -0
  84. package/dist/ensure-presentation-timestamp.js +57 -0
  85. package/dist/extract-frame-from-video.d.ts +4 -5
  86. package/dist/extract-frame-from-video.js +58 -27
  87. package/dist/index.d.ts +24 -0
  88. package/dist/index.js +11 -0
  89. package/dist/is-vp9-video.d.ts +3 -0
  90. package/dist/is-vp9-video.js +24 -0
  91. package/dist/last-frame-from-video-cache.d.ts +4 -3
  92. package/dist/last-frame-from-video-cache.js +9 -6
  93. package/dist/offthread-video-server.d.ts +2 -1
  94. package/dist/offthread-video-server.js +14 -3
  95. package/dist/open-browser.js +1 -2
  96. package/dist/prepare-server.js +11 -0
  97. package/dist/serve-handler/index.js +1 -8
  98. package/dist/should-use-vp9-decoder.d.ts +0 -0
  99. package/dist/should-use-vp9-decoder.js +1 -0
  100. package/dist/validate-offthreadvideo-image-format.d.ts +1 -0
  101. package/dist/validate-offthreadvideo-image-format.js +15 -0
  102. package/package.json +3 -3
@@ -0,0 +1,280 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright 2017 Google Inc. All rights reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
18
+ if (kind === "m") throw new TypeError("Private method is not writable");
19
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
20
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
21
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
22
+ };
23
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
24
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
25
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
26
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
27
+ };
28
+ var _NetworkManager_instances, _NetworkManager_client, _NetworkManager_frameManager, _NetworkManager_networkEventManager, _NetworkManager_extraHTTPHeaders, _NetworkManager_attemptedAuthentications, _NetworkManager_onRequestWillBeSent, _NetworkManager_onAuthRequired, _NetworkManager_onRequestPaused, _NetworkManager_patchRequestEventHeaders, _NetworkManager_onRequest, _NetworkManager_onRequestServedFromCache, _NetworkManager_handleRequestRedirect, _NetworkManager_emitResponseEvent, _NetworkManager_onResponseReceived, _NetworkManager_onResponseReceivedExtraInfo, _NetworkManager_forgetRequest, _NetworkManager_onLoadingFinished, _NetworkManager_emitLoadingFinished, _NetworkManager_onLoadingFailed, _NetworkManager_emitLoadingFailed;
29
+ Object.defineProperty(exports, "__esModule", { value: true });
30
+ exports.NetworkManager = exports.NetworkManagerEmittedEvents = void 0;
31
+ const assert_1 = require("./assert");
32
+ const EventEmitter_1 = require("./EventEmitter");
33
+ const HTTPRequest_1 = require("./HTTPRequest");
34
+ const HTTPResponse_1 = require("./HTTPResponse");
35
+ const NetworkEventManager_1 = require("./NetworkEventManager");
36
+ const util_1 = require("./util");
37
+ exports.NetworkManagerEmittedEvents = {
38
+ Request: Symbol('NetworkManager.Request'),
39
+ };
40
+ class NetworkManager extends EventEmitter_1.EventEmitter {
41
+ constructor(client, frameManager) {
42
+ super();
43
+ _NetworkManager_instances.add(this);
44
+ _NetworkManager_client.set(this, void 0);
45
+ _NetworkManager_frameManager.set(this, void 0);
46
+ _NetworkManager_networkEventManager.set(this, new NetworkEventManager_1.NetworkEventManager());
47
+ _NetworkManager_extraHTTPHeaders.set(this, {});
48
+ _NetworkManager_attemptedAuthentications.set(this, new Set());
49
+ __classPrivateFieldSet(this, _NetworkManager_client, client, "f");
50
+ __classPrivateFieldSet(this, _NetworkManager_frameManager, frameManager, "f");
51
+ __classPrivateFieldGet(this, _NetworkManager_client, "f").on('Fetch.requestPaused', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onRequestPaused).bind(this));
52
+ __classPrivateFieldGet(this, _NetworkManager_client, "f").on('Fetch.authRequired', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onAuthRequired).bind(this));
53
+ __classPrivateFieldGet(this, _NetworkManager_client, "f").on('Network.requestWillBeSent', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onRequestWillBeSent).bind(this));
54
+ __classPrivateFieldGet(this, _NetworkManager_client, "f").on('Network.requestServedFromCache', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onRequestServedFromCache).bind(this));
55
+ __classPrivateFieldGet(this, _NetworkManager_client, "f").on('Network.responseReceived', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onResponseReceived).bind(this));
56
+ __classPrivateFieldGet(this, _NetworkManager_client, "f").on('Network.loadingFinished', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onLoadingFinished).bind(this));
57
+ __classPrivateFieldGet(this, _NetworkManager_client, "f").on('Network.loadingFailed', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onLoadingFailed).bind(this));
58
+ __classPrivateFieldGet(this, _NetworkManager_client, "f").on('Network.responseReceivedExtraInfo', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onResponseReceivedExtraInfo).bind(this));
59
+ }
60
+ async initialize() {
61
+ await __classPrivateFieldGet(this, _NetworkManager_client, "f").send('Network.enable');
62
+ }
63
+ async setExtraHTTPHeaders(extraHTTPHeaders) {
64
+ __classPrivateFieldSet(this, _NetworkManager_extraHTTPHeaders, {}, "f");
65
+ for (const key of Object.keys(extraHTTPHeaders)) {
66
+ const value = extraHTTPHeaders[key];
67
+ (0, assert_1.assert)((0, util_1.isString)(value), `Expected value of header "${key}" to be String, but "${typeof value}" is found.`);
68
+ __classPrivateFieldGet(this, _NetworkManager_extraHTTPHeaders, "f")[key.toLowerCase()] = value;
69
+ }
70
+ await __classPrivateFieldGet(this, _NetworkManager_client, "f").send('Network.setExtraHTTPHeaders', {
71
+ headers: __classPrivateFieldGet(this, _NetworkManager_extraHTTPHeaders, "f"),
72
+ });
73
+ }
74
+ extraHTTPHeaders() {
75
+ return { ...__classPrivateFieldGet(this, _NetworkManager_extraHTTPHeaders, "f") };
76
+ }
77
+ numRequestsInProgress() {
78
+ return __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").numRequestsInProgress();
79
+ }
80
+ }
81
+ exports.NetworkManager = NetworkManager;
82
+ _NetworkManager_client = new WeakMap(), _NetworkManager_frameManager = new WeakMap(), _NetworkManager_networkEventManager = new WeakMap(), _NetworkManager_extraHTTPHeaders = new WeakMap(), _NetworkManager_attemptedAuthentications = new WeakMap(), _NetworkManager_instances = new WeakSet(), _NetworkManager_onRequestWillBeSent = function _NetworkManager_onRequestWillBeSent(event) {
83
+ __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onRequest).call(this, event, undefined);
84
+ }, _NetworkManager_onAuthRequired = function _NetworkManager_onAuthRequired(event) {
85
+ let response = 'Default';
86
+ if (__classPrivateFieldGet(this, _NetworkManager_attemptedAuthentications, "f").has(event.requestId)) {
87
+ response = 'CancelAuth';
88
+ }
89
+ const { username, password } = {
90
+ username: undefined,
91
+ password: undefined,
92
+ };
93
+ __classPrivateFieldGet(this, _NetworkManager_client, "f")
94
+ .send('Fetch.continueWithAuth', {
95
+ requestId: event.requestId,
96
+ authChallengeResponse: { response, username, password },
97
+ })
98
+ .catch(() => undefined);
99
+ }, _NetworkManager_onRequestPaused = function _NetworkManager_onRequestPaused(event) {
100
+ const { networkId: networkRequestId, requestId: fetchRequestId } = event;
101
+ if (!networkRequestId) {
102
+ return;
103
+ }
104
+ const requestWillBeSentEvent = (() => {
105
+ const _requestWillBeSentEvent = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequestWillBeSent(networkRequestId);
106
+ // redirect requests have the same `requestId`,
107
+ if (_requestWillBeSentEvent &&
108
+ (_requestWillBeSentEvent.request.url !== event.request.url ||
109
+ _requestWillBeSentEvent.request.method !== event.request.method)) {
110
+ __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").forgetRequestWillBeSent(networkRequestId);
111
+ return;
112
+ }
113
+ return _requestWillBeSentEvent;
114
+ })();
115
+ if (requestWillBeSentEvent) {
116
+ __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_patchRequestEventHeaders).call(this, requestWillBeSentEvent, event);
117
+ __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onRequest).call(this, requestWillBeSentEvent, fetchRequestId);
118
+ }
119
+ else {
120
+ __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").storeRequestPaused(networkRequestId, event);
121
+ }
122
+ }, _NetworkManager_patchRequestEventHeaders = function _NetworkManager_patchRequestEventHeaders(requestWillBeSentEvent, requestPausedEvent) {
123
+ requestWillBeSentEvent.request.headers = {
124
+ ...requestWillBeSentEvent.request.headers,
125
+ // includes extra headers, like: Accept, Origin
126
+ ...requestPausedEvent.request.headers,
127
+ };
128
+ }, _NetworkManager_onRequest = function _NetworkManager_onRequest(event, fetchRequestId) {
129
+ if (event.redirectResponse) {
130
+ // We want to emit a response and requestfinished for the
131
+ // redirectResponse, but we can't do so unless we have a
132
+ // responseExtraInfo ready to pair it up with. If we don't have any
133
+ // responseExtraInfos saved in our queue, they we have to wait until
134
+ // the next one to emit response and requestfinished, *and* we should
135
+ // also wait to emit this Request too because it should come after the
136
+ // response/requestfinished.
137
+ let redirectResponseExtraInfo = null;
138
+ if (event.redirectHasExtraInfo) {
139
+ redirectResponseExtraInfo = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f")
140
+ .responseExtraInfo(event.requestId)
141
+ .shift();
142
+ if (!redirectResponseExtraInfo) {
143
+ __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").queueRedirectInfo(event.requestId, {
144
+ event,
145
+ fetchRequestId,
146
+ });
147
+ return;
148
+ }
149
+ }
150
+ const _request = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequest(event.requestId);
151
+ // If we connect late to the target, we could have missed the
152
+ // requestWillBeSent event.
153
+ if (_request) {
154
+ __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_handleRequestRedirect).call(this, _request, event.redirectResponse, redirectResponseExtraInfo);
155
+ }
156
+ }
157
+ const frame = event.frameId
158
+ ? __classPrivateFieldGet(this, _NetworkManager_frameManager, "f").frame(event.frameId)
159
+ : null;
160
+ const request = new HTTPRequest_1.HTTPRequest(frame, event);
161
+ __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").storeRequest(event.requestId, request);
162
+ this.emit(exports.NetworkManagerEmittedEvents.Request, request);
163
+ }, _NetworkManager_onRequestServedFromCache = function _NetworkManager_onRequestServedFromCache(event) {
164
+ const request = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequest(event.requestId);
165
+ if (request) {
166
+ request._fromMemoryCache = true;
167
+ }
168
+ }, _NetworkManager_handleRequestRedirect = function _NetworkManager_handleRequestRedirect(request, responsePayload, extraInfo) {
169
+ const response = new HTTPResponse_1.HTTPResponse(responsePayload, extraInfo);
170
+ request._response = response;
171
+ response._resolveBody(new Error('Response body is unavailable for redirect responses'));
172
+ __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_forgetRequest).call(this, request, false);
173
+ }, _NetworkManager_emitResponseEvent = function _NetworkManager_emitResponseEvent(responseReceived, extraInfo) {
174
+ const request = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequest(responseReceived.requestId);
175
+ // FileUpload sends a response without a matching request.
176
+ if (!request) {
177
+ return;
178
+ }
179
+ const extraInfos = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").responseExtraInfo(responseReceived.requestId);
180
+ if (extraInfos.length) {
181
+ console.log(new Error('Unexpected extraInfo events for request ' +
182
+ responseReceived.requestId));
183
+ }
184
+ const response = new HTTPResponse_1.HTTPResponse(responseReceived.response, extraInfo);
185
+ request._response = response;
186
+ }, _NetworkManager_onResponseReceived = function _NetworkManager_onResponseReceived(event) {
187
+ const request = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequest(event.requestId);
188
+ let extraInfo = null;
189
+ if (request && !request._fromMemoryCache && event.hasExtraInfo) {
190
+ extraInfo = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f")
191
+ .responseExtraInfo(event.requestId)
192
+ .shift();
193
+ if (!extraInfo) {
194
+ // Wait until we get the corresponding ExtraInfo event.
195
+ __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").queueEventGroup(event.requestId, {
196
+ responseReceivedEvent: event,
197
+ });
198
+ return;
199
+ }
200
+ }
201
+ __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_emitResponseEvent).call(this, event, extraInfo);
202
+ }, _NetworkManager_onResponseReceivedExtraInfo = function _NetworkManager_onResponseReceivedExtraInfo(event) {
203
+ // We may have skipped a redirect response/request pair due to waiting for
204
+ // this ExtraInfo event. If so, continue that work now that we have the
205
+ // request.
206
+ const redirectInfo = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").takeQueuedRedirectInfo(event.requestId);
207
+ if (redirectInfo) {
208
+ __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").responseExtraInfo(event.requestId).push(event);
209
+ __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onRequest).call(this, redirectInfo.event, redirectInfo.fetchRequestId);
210
+ return;
211
+ }
212
+ // We may have skipped response and loading events because we didn't have
213
+ // this ExtraInfo event yet. If so, emit those events now.
214
+ const queuedEvents = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getQueuedEventGroup(event.requestId);
215
+ if (queuedEvents) {
216
+ __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").forgetQueuedEventGroup(event.requestId);
217
+ __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_emitResponseEvent).call(this, queuedEvents.responseReceivedEvent, event);
218
+ if (queuedEvents.loadingFinishedEvent) {
219
+ __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_emitLoadingFinished).call(this, queuedEvents.loadingFinishedEvent);
220
+ }
221
+ if (queuedEvents.loadingFailedEvent) {
222
+ __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_emitLoadingFailed).call(this, queuedEvents.loadingFailedEvent);
223
+ }
224
+ return;
225
+ }
226
+ // Wait until we get another event that can use this ExtraInfo event.
227
+ __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").responseExtraInfo(event.requestId).push(event);
228
+ }, _NetworkManager_forgetRequest = function _NetworkManager_forgetRequest(request, events) {
229
+ const requestId = request._requestId;
230
+ __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").forgetRequest(requestId);
231
+ if (events) {
232
+ __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").forget(requestId);
233
+ }
234
+ }, _NetworkManager_onLoadingFinished = function _NetworkManager_onLoadingFinished(event) {
235
+ // If the response event for this request is still waiting on a
236
+ // corresponding ExtraInfo event, then wait to emit this event too.
237
+ const queuedEvents = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getQueuedEventGroup(event.requestId);
238
+ if (queuedEvents) {
239
+ queuedEvents.loadingFinishedEvent = event;
240
+ }
241
+ else {
242
+ __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_emitLoadingFinished).call(this, event);
243
+ }
244
+ }, _NetworkManager_emitLoadingFinished = function _NetworkManager_emitLoadingFinished(event) {
245
+ var _a;
246
+ const request = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequest(event.requestId);
247
+ // For certain requestIds we never receive requestWillBeSent event.
248
+ // @see https://crbug.com/750469
249
+ if (!request) {
250
+ return;
251
+ }
252
+ // Under certain conditions we never get the Network.responseReceived
253
+ // event from protocol. @see https://crbug.com/883475
254
+ if (request.response()) {
255
+ (_a = request.response()) === null || _a === void 0 ? void 0 : _a._resolveBody(null);
256
+ }
257
+ __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_forgetRequest).call(this, request, true);
258
+ }, _NetworkManager_onLoadingFailed = function _NetworkManager_onLoadingFailed(event) {
259
+ // If the response event for this request is still waiting on a
260
+ // corresponding ExtraInfo event, then wait to emit this event too.
261
+ const queuedEvents = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getQueuedEventGroup(event.requestId);
262
+ if (queuedEvents) {
263
+ queuedEvents.loadingFailedEvent = event;
264
+ }
265
+ else {
266
+ __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_emitLoadingFailed).call(this, event);
267
+ }
268
+ }, _NetworkManager_emitLoadingFailed = function _NetworkManager_emitLoadingFailed(event) {
269
+ const request = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequest(event.requestId);
270
+ // For certain requestIds we never receive requestWillBeSent event.
271
+ // @see https://crbug.com/750469
272
+ if (!request) {
273
+ return;
274
+ }
275
+ const response = request.response();
276
+ if (response) {
277
+ response._resolveBody(null);
278
+ }
279
+ __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_forgetRequest).call(this, request, true);
280
+ };
@@ -0,0 +1,17 @@
1
+ import NodeWebSocket from 'ws';
2
+ interface ConnectionTransport {
3
+ send(message: string): void;
4
+ close(): void;
5
+ onmessage?: (message: string) => void;
6
+ onclose?: () => void;
7
+ }
8
+ export declare class NodeWebSocketTransport implements ConnectionTransport {
9
+ #private;
10
+ static create(urlString: string): Promise<NodeWebSocketTransport>;
11
+ onmessage?: (message: string) => void;
12
+ onclose?: () => void;
13
+ constructor(ws: NodeWebSocket);
14
+ send(message: string): void;
15
+ close(): void;
16
+ }
17
+ export {};
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
+ if (kind === "m") throw new TypeError("Private method is not writable");
4
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
+ };
8
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ var _NodeWebSocketTransport_ws;
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.NodeWebSocketTransport = void 0;
19
+ /**
20
+ * Copyright 2018 Google Inc. All rights reserved.
21
+ *
22
+ * Licensed under the Apache License, Version 2.0 (the "License");
23
+ * you may not use this file except in compliance with the License.
24
+ * You may obtain a copy of the License at
25
+ *
26
+ * http://www.apache.org/licenses/LICENSE-2.0
27
+ *
28
+ * Unless required by applicable law or agreed to in writing, software
29
+ * distributed under the License is distributed on an "AS IS" BASIS,
30
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31
+ * See the License for the specific language governing permissions and
32
+ * limitations under the License.
33
+ */
34
+ const dns_1 = require("dns");
35
+ const url_1 = require("url");
36
+ const ws_1 = __importDefault(require("ws"));
37
+ class NodeWebSocketTransport {
38
+ constructor(ws) {
39
+ _NodeWebSocketTransport_ws.set(this, void 0);
40
+ __classPrivateFieldSet(this, _NodeWebSocketTransport_ws, ws, "f");
41
+ __classPrivateFieldGet(this, _NodeWebSocketTransport_ws, "f").addEventListener('message', (event) => {
42
+ if (this.onmessage) {
43
+ this.onmessage.call(null, event.data);
44
+ }
45
+ });
46
+ __classPrivateFieldGet(this, _NodeWebSocketTransport_ws, "f").addEventListener('close', () => {
47
+ if (this.onclose) {
48
+ this.onclose.call(null);
49
+ }
50
+ });
51
+ // Silently ignore all errors - we don't know what to do with them.
52
+ __classPrivateFieldGet(this, _NodeWebSocketTransport_ws, "f").addEventListener('error', () => undefined);
53
+ }
54
+ static async create(urlString) {
55
+ // Starting in Node 17, IPv6 is favoured over IPv4 due to a change
56
+ // in a default option:
57
+ // - https://github.com/nodejs/node/issues/40537,
58
+ // Due to this, for Firefox, we must parse and resolve the `localhost` hostname
59
+ // manually with the previous behavior according to:
60
+ // - https://nodejs.org/api/dns.html#dnslookuphostname-options-callback
61
+ // because of https://bugzilla.mozilla.org/show_bug.cgi?id=1769994.
62
+ const url = new url_1.URL(urlString);
63
+ if (url.hostname === 'localhost') {
64
+ const { address } = await dns_1.promises.lookup(url.hostname, { verbatim: false });
65
+ url.hostname = address;
66
+ }
67
+ return new Promise((resolve, reject) => {
68
+ const ws = new ws_1.default(url, [], {
69
+ followRedirects: true,
70
+ perMessageDeflate: false,
71
+ maxPayload: 256 * 1024 * 1024,
72
+ headers: {
73
+ 'User-Agent': `Remotion CLI`,
74
+ },
75
+ });
76
+ ws.addEventListener('open', () => {
77
+ return resolve(new NodeWebSocketTransport(ws));
78
+ });
79
+ ws.addEventListener('error', reject);
80
+ });
81
+ }
82
+ send(message) {
83
+ __classPrivateFieldGet(this, _NodeWebSocketTransport_ws, "f").send(message);
84
+ }
85
+ close() {
86
+ __classPrivateFieldGet(this, _NodeWebSocketTransport_ws, "f").close();
87
+ }
88
+ }
89
+ exports.NodeWebSocketTransport = NodeWebSocketTransport;
90
+ _NodeWebSocketTransport_ws = new WeakMap();
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Copyright 2017 Google Inc. All rights reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { CDPSession } from './Connection';
17
+ import { ConsoleMessage } from './ConsoleMessage';
18
+ import { EvaluateFn, EvaluateFnReturnType, EvaluateHandleFn, SerializableOrJSHandle, UnwrapPromiseLike } from './EvalTypes';
19
+ import { EventEmitter } from './EventEmitter';
20
+ import { Frame } from './FrameManager';
21
+ import { HTTPResponse } from './HTTPResponse';
22
+ import { JSHandle } from './JSHandle';
23
+ import { PuppeteerLifeCycleEvent } from './LifecycleWatcher';
24
+ import { Viewport } from './PuppeteerViewport';
25
+ import { Target } from './Target';
26
+ import { TaskQueue } from './TaskQueue';
27
+ interface WaitForOptions {
28
+ timeout?: number;
29
+ waitUntil?: PuppeteerLifeCycleEvent | PuppeteerLifeCycleEvent[];
30
+ }
31
+ interface PageEventObject {
32
+ console: ConsoleMessage;
33
+ error: Error;
34
+ }
35
+ export declare class Page extends EventEmitter {
36
+ #private;
37
+ static _create(client: CDPSession, target: Target, defaultViewport: Viewport): Promise<Page>;
38
+ screenshotTaskQueue: TaskQueue;
39
+ constructor(client: CDPSession, target: Target);
40
+ /**
41
+ * Listen to page events.
42
+ */
43
+ on<K extends keyof PageEventObject>(eventName: K, handler: (event: PageEventObject[K]) => void): EventEmitter;
44
+ once<K extends keyof PageEventObject>(eventName: K, handler: (event: PageEventObject[K]) => void): EventEmitter;
45
+ off<K extends keyof PageEventObject>(eventName: K, handler: (event: PageEventObject[K]) => void): EventEmitter;
46
+ /**
47
+ * @returns A target this page was created from.
48
+ */
49
+ target(): Target;
50
+ _client(): CDPSession;
51
+ /**
52
+ * @returns The page's main frame.
53
+ * @remarks
54
+ * Page is guaranteed to have a main frame which persists during navigations.
55
+ */
56
+ mainFrame(): Frame;
57
+ setViewport(viewport: Viewport): Promise<void>;
58
+ setDefaultNavigationTimeout(timeout: number): void;
59
+ setDefaultTimeout(timeout: number): void;
60
+ evaluateHandle<HandlerType extends JSHandle = JSHandle>(pageFunction: EvaluateHandleFn, ...args: SerializableOrJSHandle[]): Promise<HandlerType>;
61
+ url(): string;
62
+ goto(url: string, options?: WaitForOptions & {
63
+ referer?: string;
64
+ }): Promise<HTTPResponse | null>;
65
+ bringToFront(): Promise<void>;
66
+ evaluate<T extends EvaluateFn>(pageFunction: T, ...args: SerializableOrJSHandle[]): Promise<UnwrapPromiseLike<EvaluateFnReturnType<T>>>;
67
+ evaluateOnNewDocument(pageFunction: Function | string, ...args: unknown[]): Promise<void>;
68
+ close(options?: {
69
+ runBeforeUnload?: boolean;
70
+ }): Promise<void>;
71
+ isClosed(): boolean;
72
+ waitForFunction(pageFunction: Function | string, ...args: SerializableOrJSHandle[]): Promise<JSHandle>;
73
+ }
74
+ export {};