@remotion/renderer 3.0.22 → 3.0.25
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.
- package/dist/assets/calculate-asset-positions.d.ts +2 -2
- package/dist/assets/convert-assets-to-file-urls.d.ts +2 -2
- package/dist/assets/download-and-map-assets-to-file.d.ts +1 -1
- package/dist/assets/ffmpeg-volume-expression.d.ts +1 -1
- package/dist/assets/flatten-volume-array.d.ts +1 -1
- package/dist/assets/get-audio-channels.d.ts +1 -1
- package/dist/assets/types.d.ts +1 -1
- package/dist/browser/Browser.d.ts +5 -159
- package/dist/browser/Browser.js +5 -190
- package/dist/browser/BrowserConnector.d.ts +1 -1
- package/dist/browser/BrowserFetcher.d.ts +3 -3
- package/dist/browser/BrowserFetcher.js +38 -20
- package/dist/browser/BrowserRunner.d.ts +2 -2
- package/dist/browser/BrowserRunner.js +1 -1
- package/dist/browser/Connection.d.ts +2 -9
- package/dist/browser/Connection.js +3 -23
- package/dist/browser/ConsoleMessage.d.ts +1 -1
- package/dist/browser/DOMWorld.d.ts +5 -6
- package/dist/browser/DOMWorld.js +2 -18
- package/dist/browser/EvalTypes.d.ts +1 -1
- package/dist/browser/EventEmitter.d.ts +1 -48
- package/dist/browser/EventEmitter.js +0 -49
- package/dist/browser/ExecutionContext.d.ts +6 -5
- package/dist/browser/FrameManager.d.ts +9 -13
- package/dist/browser/FrameManager.js +3 -19
- package/dist/browser/HTTPRequest.d.ts +2 -2
- package/dist/browser/HTTPResponse.d.ts +0 -1
- package/dist/browser/HTTPResponse.js +2 -9
- package/dist/browser/JSHandle.d.ts +3 -4
- package/dist/browser/JSHandle.js +0 -3
- package/dist/browser/LaunchOptions.d.ts +2 -81
- package/dist/browser/Launcher.d.ts +2 -2
- package/dist/browser/Launcher.js +21 -119
- package/dist/browser/LifecycleWatcher.d.ts +4 -4
- package/dist/browser/LifecycleWatcher.js +4 -17
- package/dist/browser/NetworkEventManager.d.ts +1 -3
- package/dist/browser/NetworkEventManager.js +0 -47
- package/dist/browser/NetworkManager.d.ts +1 -3
- package/dist/browser/NetworkManager.js +3 -35
- package/dist/browser/Page.d.ts +7 -9
- package/dist/browser/PuppeteerNode.d.ts +7 -56
- package/dist/browser/PuppeteerNode.js +4 -58
- package/dist/browser/Target.d.ts +3 -3
- package/dist/browser/assert.d.ts +0 -20
- package/dist/browser/assert.js +0 -20
- package/dist/browser/create-browser-fetcher.d.ts +1 -1
- package/dist/browser/create-browser-fetcher.js +3 -11
- package/dist/browser/util.d.ts +2 -2
- package/dist/browser/util.js +1 -1
- package/dist/browser-log.d.ts +1 -1
- package/dist/calculate-ffmpeg-filters.d.ts +1 -1
- package/dist/calculate-sar-dar-pixels.d.ts +9 -0
- package/dist/calculate-sar-dar-pixels.js +19 -0
- package/dist/can-use-parallel-encoding.d.ts +1 -1
- package/dist/combine-videos.d.ts +1 -1
- package/dist/convert-to-pcm.d.ts +1 -1
- package/dist/create-silent-audio.d.ts +1 -1
- package/dist/cycle-browser-tabs.d.ts +1 -1
- package/dist/delay-render-embedded-stack.d.ts +1 -1
- package/dist/ensure-presentation-timestamp.d.ts +1 -1
- package/dist/ensure-presentation-timestamp.js +1 -1
- package/dist/error-handling/handle-javascript-exception.d.ts +2 -2
- package/dist/error-handling/handle-javascript-exception.js +2 -2
- package/dist/error-handling/symbolicate-error.d.ts +1 -1
- package/dist/error-handling/symbolicateable-error.d.ts +1 -1
- package/dist/extract-frame-from-video.d.ts +3 -4
- package/dist/extract-frame-from-video.js +26 -14
- package/dist/get-audio-codec-name.d.ts +1 -1
- package/dist/get-browser-instance.d.ts +4 -3
- package/dist/get-codec-name.d.ts +1 -1
- package/dist/get-compositions.d.ts +4 -4
- package/dist/get-compositions.js +2 -2
- package/dist/get-duration-from-frame-range.d.ts +1 -1
- package/dist/get-extension-from-codec.d.ts +1 -1
- package/dist/get-frame-to-render.d.ts +1 -1
- package/dist/get-local-browser-executable.d.ts +1 -1
- package/dist/get-local-browser-executable.js +7 -5
- package/dist/get-prores-profile-name.d.ts +1 -1
- package/dist/get-video-info.d.ts +8 -0
- package/dist/get-video-info.js +50 -0
- package/dist/image-format.d.ts +1 -1
- package/dist/is-vp9-video.d.ts +1 -1
- package/dist/last-frame-from-video-cache.d.ts +3 -2
- package/dist/merge-audio-track.d.ts +1 -1
- package/dist/offthread-video-server.d.ts +3 -3
- package/dist/open-browser.d.ts +5 -3
- package/dist/open-browser.js +8 -8
- package/dist/prepare-server.d.ts +2 -2
- package/dist/preprocess-audio-track.d.ts +2 -2
- package/dist/prespawn-ffmpeg.d.ts +2 -2
- package/dist/provide-screenshot.d.ts +4 -4
- package/dist/provide-screenshot.js +0 -1
- package/dist/puppeteer-evaluate.d.ts +1 -1
- package/dist/puppeteer-evaluate.js +3 -4
- package/dist/puppeteer-screenshot.d.ts +3 -2
- package/dist/puppeteer-screenshot.js +2 -4
- package/dist/render-frames.d.ts +9 -9
- package/dist/render-frames.js +18 -10
- package/dist/render-media.d.ts +8 -8
- package/dist/render-still.d.ts +6 -6
- package/dist/screenshot-dom-element.d.ts +6 -7
- package/dist/screenshot-dom-element.js +3 -6
- package/dist/screenshot-task.d.ts +3 -2
- package/dist/screenshot-task.js +3 -5
- package/dist/seek-to-frame.d.ts +2 -2
- package/dist/serve-handler/index.d.ts +1 -1
- package/dist/serve-handler/index.js +0 -1
- package/dist/serve-static.d.ts +2 -2
- package/dist/set-props-and-env.d.ts +1 -1
- package/dist/set-props-and-env.js +3 -0
- package/dist/stitch-frames-to-video.d.ts +3 -3
- package/dist/stringify-ffmpeg-filter.d.ts +2 -2
- package/dist/stringify-ffmpeg-filter.js +3 -0
- package/dist/symbolicate-stacktrace.d.ts +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/validate-even-dimensions-with-codec.d.ts +1 -1
- package/dist/validate-output-filename.d.ts +1 -1
- package/package.json +10 -6
|
@@ -25,7 +25,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
25
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
26
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
27
27
|
};
|
|
28
|
-
var _FrameManager_instances, _FrameManager_page, _FrameManager_networkManager, _FrameManager_timeoutSettings, _FrameManager_frames, _FrameManager_contextIdToContext, _FrameManager_isolatedWorlds, _FrameManager_mainFrame, _FrameManager_client, _FrameManager_onAttachedToTarget, _FrameManager_onDetachedFromTarget, _FrameManager_onLifecycleEvent, _FrameManager_onFrameStartedLoading, _FrameManager_onFrameStoppedLoading, _FrameManager_handleFrameTree, _FrameManager_onFrameAttached, _FrameManager_onFrameNavigated, _FrameManager_onFrameNavigatedWithinDocument, _FrameManager_onFrameDetached, _FrameManager_onExecutionContextCreated, _FrameManager_onExecutionContextDestroyed, _FrameManager_onExecutionContextsCleared, _FrameManager_removeFramesRecursively, _Frame_parentFrame, _Frame_url,
|
|
28
|
+
var _FrameManager_instances, _FrameManager_page, _FrameManager_networkManager, _FrameManager_timeoutSettings, _FrameManager_frames, _FrameManager_contextIdToContext, _FrameManager_isolatedWorlds, _FrameManager_mainFrame, _FrameManager_client, _FrameManager_onAttachedToTarget, _FrameManager_onDetachedFromTarget, _FrameManager_onLifecycleEvent, _FrameManager_onFrameStartedLoading, _FrameManager_onFrameStoppedLoading, _FrameManager_handleFrameTree, _FrameManager_onFrameAttached, _FrameManager_onFrameNavigated, _FrameManager_onFrameNavigatedWithinDocument, _FrameManager_onFrameDetached, _FrameManager_onExecutionContextCreated, _FrameManager_onExecutionContextDestroyed, _FrameManager_onExecutionContextsCleared, _FrameManager_removeFramesRecursively, _Frame_parentFrame, _Frame_url, _Frame_client;
|
|
29
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
30
|
exports.Frame = exports.FrameManager = exports.FrameManagerEmittedEvents = void 0;
|
|
31
31
|
const assert_1 = require("./assert");
|
|
@@ -147,7 +147,7 @@ class FrameManager extends EventEmitter_1.EventEmitter {
|
|
|
147
147
|
return __classPrivateFieldGet(this, _FrameManager_networkManager, "f");
|
|
148
148
|
}
|
|
149
149
|
async navigateFrame(frame, url, options = {}) {
|
|
150
|
-
const { referer =
|
|
150
|
+
const { referer = undefined, waitUntil = 'load', timeout = __classPrivateFieldGet(this, _FrameManager_timeoutSettings, "f").navigationTimeout(), } = options;
|
|
151
151
|
const watcher = new LifecycleWatcher_1.LifecycleWatcher(this, frame, waitUntil, timeout);
|
|
152
152
|
let error = await Promise.race([
|
|
153
153
|
navigate(__classPrivateFieldGet(this, _FrameManager_client, "f"), url, referer, frame._id),
|
|
@@ -413,7 +413,6 @@ class Frame {
|
|
|
413
413
|
constructor(frameManager, parentFrame, frameId, client) {
|
|
414
414
|
_Frame_parentFrame.set(this, void 0);
|
|
415
415
|
_Frame_url.set(this, '');
|
|
416
|
-
_Frame_detached.set(this, false);
|
|
417
416
|
_Frame_client.set(this, void 0);
|
|
418
417
|
this._loaderId = '';
|
|
419
418
|
this._hasStartedLoading = false;
|
|
@@ -422,7 +421,6 @@ class Frame {
|
|
|
422
421
|
__classPrivateFieldSet(this, _Frame_parentFrame, parentFrame !== null && parentFrame !== void 0 ? parentFrame : null, "f");
|
|
423
422
|
__classPrivateFieldSet(this, _Frame_url, '', "f");
|
|
424
423
|
this._id = frameId;
|
|
425
|
-
__classPrivateFieldSet(this, _Frame_detached, false, "f");
|
|
426
424
|
this._loaderId = '';
|
|
427
425
|
this._childFrames = new Set();
|
|
428
426
|
if (__classPrivateFieldGet(this, _Frame_parentFrame, "f")) {
|
|
@@ -456,27 +454,15 @@ class Frame {
|
|
|
456
454
|
evaluate(pageFunction, ...args) {
|
|
457
455
|
return this._mainWorld.evaluate(pageFunction, ...args);
|
|
458
456
|
}
|
|
459
|
-
name() {
|
|
460
|
-
return this._name || '';
|
|
461
|
-
}
|
|
462
457
|
url() {
|
|
463
458
|
return __classPrivateFieldGet(this, _Frame_url, "f");
|
|
464
459
|
}
|
|
465
|
-
parentFrame() {
|
|
466
|
-
return __classPrivateFieldGet(this, _Frame_parentFrame, "f");
|
|
467
|
-
}
|
|
468
460
|
childFrames() {
|
|
469
461
|
return Array.from(this._childFrames);
|
|
470
462
|
}
|
|
471
|
-
isDetached() {
|
|
472
|
-
return __classPrivateFieldGet(this, _Frame_detached, "f");
|
|
473
|
-
}
|
|
474
463
|
waitForFunction(pageFunction, ...args) {
|
|
475
464
|
return this._mainWorld.waitForFunction(pageFunction, ...args);
|
|
476
465
|
}
|
|
477
|
-
title() {
|
|
478
|
-
return this._secondaryWorld.title();
|
|
479
|
-
}
|
|
480
466
|
_navigated(framePayload) {
|
|
481
467
|
this._name = framePayload.name;
|
|
482
468
|
__classPrivateFieldSet(this, _Frame_url, `${framePayload.url}${framePayload.urlFragment || ''}`, "f");
|
|
@@ -492,14 +478,12 @@ class Frame {
|
|
|
492
478
|
this._lifecycleEvents.add(name);
|
|
493
479
|
}
|
|
494
480
|
_onLoadingStopped() {
|
|
495
|
-
this._lifecycleEvents.add('DOMContentLoaded');
|
|
496
481
|
this._lifecycleEvents.add('load');
|
|
497
482
|
}
|
|
498
483
|
_onLoadingStarted() {
|
|
499
484
|
this._hasStartedLoading = true;
|
|
500
485
|
}
|
|
501
486
|
_detach() {
|
|
502
|
-
__classPrivateFieldSet(this, _Frame_detached, true, "f");
|
|
503
487
|
this._mainWorld._detach();
|
|
504
488
|
this._secondaryWorld._detach();
|
|
505
489
|
if (__classPrivateFieldGet(this, _Frame_parentFrame, "f")) {
|
|
@@ -509,4 +493,4 @@ class Frame {
|
|
|
509
493
|
}
|
|
510
494
|
}
|
|
511
495
|
exports.Frame = Frame;
|
|
512
|
-
_Frame_parentFrame = new WeakMap(), _Frame_url = new WeakMap(),
|
|
496
|
+
_Frame_parentFrame = new WeakMap(), _Frame_url = new WeakMap(), _Frame_client = new WeakMap();
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import type { Protocol } from 'devtools-protocol';
|
|
17
|
-
import { Frame } from './FrameManager';
|
|
18
|
-
import { HTTPResponse } from './HTTPResponse';
|
|
17
|
+
import type { Frame } from './FrameManager';
|
|
18
|
+
import type { HTTPResponse } from './HTTPResponse';
|
|
19
19
|
export declare class HTTPRequest {
|
|
20
20
|
#private;
|
|
21
21
|
_requestId: string;
|
|
@@ -17,6 +17,5 @@ import type { Protocol } from 'devtools-protocol';
|
|
|
17
17
|
export declare class HTTPResponse {
|
|
18
18
|
#private;
|
|
19
19
|
constructor(responsePayload: Protocol.Network.Response, extraInfo: Protocol.Network.ResponseReceivedExtraInfoEvent | null);
|
|
20
|
-
_resolveBody(err: Error | null): void;
|
|
21
20
|
status(): number;
|
|
22
21
|
}
|
|
@@ -10,24 +10,17 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
10
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
11
|
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
12
|
};
|
|
13
|
-
var
|
|
13
|
+
var _HTTPResponse_status;
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.HTTPResponse = void 0;
|
|
16
16
|
class HTTPResponse {
|
|
17
17
|
constructor(responsePayload, extraInfo) {
|
|
18
|
-
_HTTPResponse_bodyLoadedPromiseFulfill.set(this, () => undefined);
|
|
19
18
|
_HTTPResponse_status.set(this, void 0);
|
|
20
19
|
__classPrivateFieldSet(this, _HTTPResponse_status, extraInfo ? extraInfo.statusCode : responsePayload.status, "f");
|
|
21
20
|
}
|
|
22
|
-
_resolveBody(err) {
|
|
23
|
-
if (err) {
|
|
24
|
-
return __classPrivateFieldGet(this, _HTTPResponse_bodyLoadedPromiseFulfill, "f").call(this, err);
|
|
25
|
-
}
|
|
26
|
-
return __classPrivateFieldGet(this, _HTTPResponse_bodyLoadedPromiseFulfill, "f").call(this);
|
|
27
|
-
}
|
|
28
21
|
status() {
|
|
29
22
|
return __classPrivateFieldGet(this, _HTTPResponse_status, "f");
|
|
30
23
|
}
|
|
31
24
|
}
|
|
32
25
|
exports.HTTPResponse = HTTPResponse;
|
|
33
|
-
|
|
26
|
+
_HTTPResponse_status = new WeakMap();
|
|
@@ -14,13 +14,12 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import type { Protocol } from 'devtools-protocol';
|
|
17
|
-
import { CDPSession } from './Connection';
|
|
18
|
-
import { EvaluateHandleFn, SerializableOrJSHandle } from './EvalTypes';
|
|
19
|
-
import { ExecutionContext } from './ExecutionContext';
|
|
17
|
+
import type { CDPSession } from './Connection';
|
|
18
|
+
import type { EvaluateHandleFn, SerializableOrJSHandle } from './EvalTypes';
|
|
19
|
+
import type { ExecutionContext } from './ExecutionContext';
|
|
20
20
|
export declare function _createJSHandle(context: ExecutionContext, remoteObject: Protocol.Runtime.RemoteObject): JSHandle;
|
|
21
21
|
export declare class JSHandle {
|
|
22
22
|
#private;
|
|
23
|
-
get _client(): CDPSession;
|
|
24
23
|
get _disposed(): boolean;
|
|
25
24
|
get _remoteObject(): Protocol.Runtime.RemoteObject;
|
|
26
25
|
get _context(): ExecutionContext;
|
package/dist/browser/JSHandle.js
CHANGED
|
@@ -47,9 +47,6 @@ class JSHandle {
|
|
|
47
47
|
__classPrivateFieldSet(this, _JSHandle_client, client, "f");
|
|
48
48
|
__classPrivateFieldSet(this, _JSHandle_remoteObject, remoteObject, "f");
|
|
49
49
|
}
|
|
50
|
-
get _client() {
|
|
51
|
-
return __classPrivateFieldGet(this, _JSHandle_client, "f");
|
|
52
|
-
}
|
|
53
50
|
get _disposed() {
|
|
54
51
|
return __classPrivateFieldGet(this, _JSHandle_disposed, "f");
|
|
55
52
|
}
|
|
@@ -13,105 +13,26 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import { BrowserConnectOptions } from './BrowserConnector';
|
|
17
|
-
import { Product } from './Product';
|
|
16
|
+
import type { BrowserConnectOptions } from './BrowserConnector';
|
|
17
|
+
import type { Product } from './Product';
|
|
18
18
|
export interface BrowserLaunchArgumentOptions {
|
|
19
|
-
/**
|
|
20
|
-
* Whether to run the browser in headless mode.
|
|
21
|
-
* @defaultValue true
|
|
22
|
-
*/
|
|
23
19
|
headless?: boolean | 'chrome';
|
|
24
|
-
/**
|
|
25
|
-
* Path to a user data directory.
|
|
26
|
-
* {@link https://chromium.googlesource.com/chromium/src/+/refs/heads/main/docs/user_data_dir.md | see the Chromium docs}
|
|
27
|
-
* for more info.
|
|
28
|
-
*/
|
|
29
20
|
userDataDir?: string;
|
|
30
|
-
/**
|
|
31
|
-
* Whether to auto-open a DevTools panel for each tab. If this is set to
|
|
32
|
-
* `true`, then `headless` will be forced to `false`.
|
|
33
|
-
* @defaultValue `false`
|
|
34
|
-
*/
|
|
35
21
|
devtools?: boolean;
|
|
36
|
-
/**
|
|
37
|
-
*
|
|
38
|
-
*/
|
|
39
22
|
debuggingPort?: number;
|
|
40
|
-
/**
|
|
41
|
-
* Additional command line arguments to pass to the browser instance.
|
|
42
|
-
*/
|
|
43
23
|
args: string[];
|
|
44
24
|
}
|
|
45
25
|
export declare type ChromeReleaseChannel = 'chrome' | 'chrome-beta' | 'chrome-canary' | 'chrome-dev';
|
|
46
26
|
export interface LaunchOptions {
|
|
47
|
-
/**
|
|
48
|
-
* Chrome Release Channel
|
|
49
|
-
*/
|
|
50
|
-
channel?: ChromeReleaseChannel;
|
|
51
|
-
/**
|
|
52
|
-
* Path to a browser executable to use instead of the bundled Chromium. Note
|
|
53
|
-
* that Puppeteer is only guaranteed to work with the bundled Chromium, so use
|
|
54
|
-
* this setting at your own risk.
|
|
55
|
-
*/
|
|
56
27
|
executablePath?: string;
|
|
57
|
-
/**
|
|
58
|
-
* If `true`, do not use `puppeteer.defaultArgs()` when creating a browser. If
|
|
59
|
-
* an array is provided, these args will be filtered out. Use this with care -
|
|
60
|
-
* you probably want the default arguments Puppeteer uses.
|
|
61
|
-
* @defaultValue false
|
|
62
|
-
*/
|
|
63
|
-
ignoreDefaultArgs?: boolean | string[];
|
|
64
|
-
/**
|
|
65
|
-
* Close the browser process on `Ctrl+C`.
|
|
66
|
-
* @defaultValue `true`
|
|
67
|
-
*/
|
|
68
28
|
handleSIGINT?: boolean;
|
|
69
|
-
/**
|
|
70
|
-
* Close the browser process on `SIGTERM`.
|
|
71
|
-
* @defaultValue `true`
|
|
72
|
-
*/
|
|
73
29
|
handleSIGTERM?: boolean;
|
|
74
|
-
/**
|
|
75
|
-
* Close the browser process on `SIGHUP`.
|
|
76
|
-
* @defaultValue `true`
|
|
77
|
-
*/
|
|
78
30
|
handleSIGHUP?: boolean;
|
|
79
|
-
/**
|
|
80
|
-
* Maximum time in milliseconds to wait for the browser to start.
|
|
81
|
-
* Pass `0` to disable the timeout.
|
|
82
|
-
* @defaultValue 30000 (30 seconds).
|
|
83
|
-
*/
|
|
84
31
|
timeout?: number;
|
|
85
|
-
/**
|
|
86
|
-
* If true, pipes the browser process stdout and stderr to `process.stdout`
|
|
87
|
-
* and `process.stderr`.
|
|
88
|
-
* @defaultValue false
|
|
89
|
-
*/
|
|
90
32
|
dumpio?: boolean;
|
|
91
|
-
/**
|
|
92
|
-
* Specify environment variables that will be visible to the browser.
|
|
93
|
-
* @defaultValue The contents of `process.env`.
|
|
94
|
-
*/
|
|
95
33
|
env?: Record<string, string | undefined>;
|
|
96
|
-
/**
|
|
97
|
-
* Connect to a browser over a pipe instead of a WebSocket.
|
|
98
|
-
* @defaultValue false
|
|
99
|
-
*/
|
|
100
34
|
pipe?: boolean;
|
|
101
|
-
/**
|
|
102
|
-
* Which browser to launch.
|
|
103
|
-
* @defaultValue `chrome`
|
|
104
|
-
*/
|
|
105
35
|
product?: Product;
|
|
106
|
-
/**
|
|
107
|
-
* {@link https://searchfox.org/mozilla-release/source/modules/libpref/init/all.js | Additional preferences } that can be passed when launching with Firefox.
|
|
108
|
-
*/
|
|
109
36
|
extraPrefsFirefox?: Record<string, unknown>;
|
|
110
|
-
/**
|
|
111
|
-
* Whether to wait for the initial page to be ready.
|
|
112
|
-
* Useful when a user explicitly disables that (e.g. `--no-startup-window` for Chrome).
|
|
113
|
-
* @defaultValue true
|
|
114
|
-
*/
|
|
115
|
-
waitForInitialPage?: boolean;
|
|
116
37
|
}
|
|
117
38
|
export declare type PuppeteerNodeLaunchOptions = BrowserLaunchArgumentOptions & LaunchOptions & BrowserConnectOptions;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Browser } from './Browser';
|
|
2
|
-
import { PuppeteerNodeLaunchOptions } from './LaunchOptions';
|
|
3
|
-
import { Product } from './Product';
|
|
2
|
+
import type { PuppeteerNodeLaunchOptions } from './LaunchOptions';
|
|
3
|
+
import type { Product } from './Product';
|
|
4
4
|
export interface ProductLauncher {
|
|
5
5
|
launch(object: PuppeteerNodeLaunchOptions): Promise<Browser>;
|
|
6
6
|
executablePath: (path?: any) => string;
|
package/dist/browser/Launcher.js
CHANGED
|
@@ -56,7 +56,7 @@ class ChromeLauncher {
|
|
|
56
56
|
this._preferredRevision = preferredRevision;
|
|
57
57
|
}
|
|
58
58
|
async launch(options) {
|
|
59
|
-
const { args = [], dumpio = false,
|
|
59
|
+
const { args = [], dumpio = false, executablePath, pipe = false, env = process.env, handleSIGINT = true, handleSIGTERM = true, handleSIGHUP = true, defaultViewport, timeout = 30000, debuggingPort, } = options;
|
|
60
60
|
const chromeArguments = args;
|
|
61
61
|
if (!chromeArguments.some((argument) => {
|
|
62
62
|
return argument.startsWith('--remote-debugging-');
|
|
@@ -83,12 +83,7 @@ class ChromeLauncher {
|
|
|
83
83
|
(0, assert_1.assert)(typeof userDataDir === 'string', '`--user-data-dir` is malformed');
|
|
84
84
|
isTempUserDataDir = false;
|
|
85
85
|
let chromeExecutable = executablePath;
|
|
86
|
-
if (
|
|
87
|
-
// executablePath is detected by channel, so it should not be specified by user.
|
|
88
|
-
(0, assert_1.assert)(!chromeExecutable, '`executablePath` must not be specified when `channel` is given.');
|
|
89
|
-
chromeExecutable = executablePathForChannel(channel);
|
|
90
|
-
}
|
|
91
|
-
else if (!chromeExecutable) {
|
|
86
|
+
if (!chromeExecutable) {
|
|
92
87
|
const { missingText, executablePath: exPath } = resolveExecutablePath(this);
|
|
93
88
|
if (missingText) {
|
|
94
89
|
throw new Error(missingText);
|
|
@@ -120,7 +115,6 @@ class ChromeLauncher {
|
|
|
120
115
|
connection,
|
|
121
116
|
contextIds: [],
|
|
122
117
|
defaultViewport,
|
|
123
|
-
process: runner.proc,
|
|
124
118
|
closeCallback: runner.close.bind(runner),
|
|
125
119
|
});
|
|
126
120
|
}
|
|
@@ -128,23 +122,18 @@ class ChromeLauncher {
|
|
|
128
122
|
runner.kill();
|
|
129
123
|
throw error;
|
|
130
124
|
}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
throw error;
|
|
140
|
-
}
|
|
125
|
+
try {
|
|
126
|
+
await browser.waitForTarget((t) => {
|
|
127
|
+
return t.type() === 'page';
|
|
128
|
+
}, { timeout });
|
|
129
|
+
}
|
|
130
|
+
catch (error) {
|
|
131
|
+
await browser.close();
|
|
132
|
+
throw error;
|
|
141
133
|
}
|
|
142
134
|
return browser;
|
|
143
135
|
}
|
|
144
|
-
executablePath(
|
|
145
|
-
if (channel) {
|
|
146
|
-
return executablePathForChannel(channel);
|
|
147
|
-
}
|
|
136
|
+
executablePath() {
|
|
148
137
|
const results = resolveExecutablePath(this);
|
|
149
138
|
return results.executablePath;
|
|
150
139
|
}
|
|
@@ -157,19 +146,9 @@ class FirefoxLauncher {
|
|
|
157
146
|
this._preferredRevision = preferredRevision;
|
|
158
147
|
}
|
|
159
148
|
async launch(options) {
|
|
160
|
-
const {
|
|
149
|
+
const { dumpio = false, executablePath = null, env = process.env, handleSIGINT = true, handleSIGTERM = true, handleSIGHUP = true, defaultViewport, timeout = 30000, extraPrefsFirefox = {}, debuggingPort = null, } = options;
|
|
161
150
|
const firefoxArguments = [];
|
|
162
|
-
|
|
163
|
-
firefoxArguments.push(...this.defaultArgs(options));
|
|
164
|
-
}
|
|
165
|
-
else if (Array.isArray(ignoreDefaultArgs)) {
|
|
166
|
-
firefoxArguments.push(...this.defaultArgs(options).filter((arg) => {
|
|
167
|
-
return !ignoreDefaultArgs.includes(arg);
|
|
168
|
-
}));
|
|
169
|
-
}
|
|
170
|
-
else {
|
|
171
|
-
firefoxArguments.push(...args);
|
|
172
|
-
}
|
|
151
|
+
firefoxArguments.push(...this.defaultArgs(options));
|
|
173
152
|
if (!firefoxArguments.some((argument) => {
|
|
174
153
|
return argument.startsWith('--remote-debugging-');
|
|
175
154
|
})) {
|
|
@@ -234,7 +213,6 @@ class FirefoxLauncher {
|
|
|
234
213
|
connection,
|
|
235
214
|
contextIds: [],
|
|
236
215
|
defaultViewport,
|
|
237
|
-
process: runner.proc,
|
|
238
216
|
closeCallback: runner.close.bind(runner),
|
|
239
217
|
});
|
|
240
218
|
}
|
|
@@ -242,16 +220,14 @@ class FirefoxLauncher {
|
|
|
242
220
|
runner.kill();
|
|
243
221
|
throw error;
|
|
244
222
|
}
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
throw error;
|
|
254
|
-
}
|
|
223
|
+
try {
|
|
224
|
+
await browser.waitForTarget((t) => {
|
|
225
|
+
return t.type() === 'page';
|
|
226
|
+
}, { timeout });
|
|
227
|
+
}
|
|
228
|
+
catch (error) {
|
|
229
|
+
await browser.close();
|
|
230
|
+
throw error;
|
|
255
231
|
}
|
|
256
232
|
return browser;
|
|
257
233
|
}
|
|
@@ -494,80 +470,6 @@ class FirefoxLauncher {
|
|
|
494
470
|
return temporaryProfilePath;
|
|
495
471
|
}
|
|
496
472
|
}
|
|
497
|
-
function executablePathForChannel(channel) {
|
|
498
|
-
const platform = os.platform();
|
|
499
|
-
let chromePath;
|
|
500
|
-
switch (platform) {
|
|
501
|
-
case 'win32':
|
|
502
|
-
switch (channel) {
|
|
503
|
-
case 'chrome':
|
|
504
|
-
chromePath = `${process.env.PROGRAMFILES}\\Google\\Chrome\\Application\\chrome.exe`;
|
|
505
|
-
break;
|
|
506
|
-
case 'chrome-beta':
|
|
507
|
-
chromePath = `${process.env.PROGRAMFILES}\\Google\\Chrome Beta\\Application\\chrome.exe`;
|
|
508
|
-
break;
|
|
509
|
-
case 'chrome-canary':
|
|
510
|
-
chromePath = `${process.env.PROGRAMFILES}\\Google\\Chrome SxS\\Application\\chrome.exe`;
|
|
511
|
-
break;
|
|
512
|
-
case 'chrome-dev':
|
|
513
|
-
chromePath = `${process.env.PROGRAMFILES}\\Google\\Chrome Dev\\Application\\chrome.exe`;
|
|
514
|
-
break;
|
|
515
|
-
default:
|
|
516
|
-
throw new Error('unknown chrome release channel');
|
|
517
|
-
}
|
|
518
|
-
break;
|
|
519
|
-
case 'darwin':
|
|
520
|
-
switch (channel) {
|
|
521
|
-
case 'chrome':
|
|
522
|
-
chromePath =
|
|
523
|
-
'/Applications/Google Chrome.app/Contents/MacOS/Google Chrome';
|
|
524
|
-
break;
|
|
525
|
-
case 'chrome-beta':
|
|
526
|
-
chromePath =
|
|
527
|
-
'/Applications/Google Chrome Beta.app/Contents/MacOS/Google Chrome Beta';
|
|
528
|
-
break;
|
|
529
|
-
case 'chrome-canary':
|
|
530
|
-
chromePath =
|
|
531
|
-
'/Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary';
|
|
532
|
-
break;
|
|
533
|
-
case 'chrome-dev':
|
|
534
|
-
chromePath =
|
|
535
|
-
'/Applications/Google Chrome Dev.app/Contents/MacOS/Google Chrome Dev';
|
|
536
|
-
break;
|
|
537
|
-
default:
|
|
538
|
-
throw new Error('unknown chrome release channel');
|
|
539
|
-
}
|
|
540
|
-
break;
|
|
541
|
-
case 'linux':
|
|
542
|
-
switch (channel) {
|
|
543
|
-
case 'chrome':
|
|
544
|
-
chromePath = '/opt/google/chrome/chrome';
|
|
545
|
-
break;
|
|
546
|
-
case 'chrome-beta':
|
|
547
|
-
chromePath = '/opt/google/chrome-beta/chrome';
|
|
548
|
-
break;
|
|
549
|
-
case 'chrome-dev':
|
|
550
|
-
chromePath = '/opt/google/chrome-unstable/chrome';
|
|
551
|
-
break;
|
|
552
|
-
default:
|
|
553
|
-
throw new Error('unknown chrome release channel');
|
|
554
|
-
}
|
|
555
|
-
break;
|
|
556
|
-
default:
|
|
557
|
-
throw new Error('unknown OS');
|
|
558
|
-
}
|
|
559
|
-
if (!chromePath) {
|
|
560
|
-
throw new Error(`Unable to detect browser executable path for '${channel}' on ${platform}.`);
|
|
561
|
-
}
|
|
562
|
-
// Check if Chrome exists and is accessible.
|
|
563
|
-
try {
|
|
564
|
-
fs.accessSync(chromePath);
|
|
565
|
-
}
|
|
566
|
-
catch (error) {
|
|
567
|
-
throw new Error(`Could not find Google Chrome executable for channel '${channel}' at '${chromePath}'.`);
|
|
568
|
-
}
|
|
569
|
-
return chromePath;
|
|
570
|
-
}
|
|
571
473
|
function resolveExecutablePath(launcher) {
|
|
572
474
|
const { product, _preferredRevision } = launcher;
|
|
573
475
|
const browserFetcher = new BrowserFetcher_1.BrowserFetcher({
|
|
@@ -14,12 +14,12 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import { TimeoutError } from './Errors';
|
|
17
|
-
import { Frame, FrameManager } from './FrameManager';
|
|
18
|
-
import { HTTPResponse } from './HTTPResponse';
|
|
19
|
-
export declare type PuppeteerLifeCycleEvent = 'load'
|
|
17
|
+
import type { Frame, FrameManager } from './FrameManager';
|
|
18
|
+
import type { HTTPResponse } from './HTTPResponse';
|
|
19
|
+
export declare type PuppeteerLifeCycleEvent = 'load';
|
|
20
20
|
export declare class LifecycleWatcher {
|
|
21
21
|
#private;
|
|
22
|
-
constructor(frameManager: FrameManager, frame: Frame, waitUntil: PuppeteerLifeCycleEvent
|
|
22
|
+
constructor(frameManager: FrameManager, frame: Frame, waitUntil: PuppeteerLifeCycleEvent, timeout: number);
|
|
23
23
|
navigationResponse(): HTTPResponse | null;
|
|
24
24
|
sameDocumentNavigationPromise(): Promise<Error | undefined>;
|
|
25
25
|
newDocumentNavigationPromise(): Promise<Error | undefined>;
|
|
@@ -34,12 +34,7 @@ const Errors_1 = require("./Errors");
|
|
|
34
34
|
const FrameManager_1 = require("./FrameManager");
|
|
35
35
|
const NetworkManager_1 = require("./NetworkManager");
|
|
36
36
|
const util_1 = require("./util");
|
|
37
|
-
const puppeteerToProtocolLifecycle = new Map([
|
|
38
|
-
['load', 'load'],
|
|
39
|
-
['domcontentloaded', 'DOMContentLoaded'],
|
|
40
|
-
['networkidle0', 'networkIdle'],
|
|
41
|
-
['networkidle2', 'networkAlmostIdle'],
|
|
42
|
-
]);
|
|
37
|
+
const puppeteerToProtocolLifecycle = new Map([['load', 'load']]);
|
|
43
38
|
const noop = () => undefined;
|
|
44
39
|
class LifecycleWatcher {
|
|
45
40
|
constructor(frameManager, frame, waitUntil, timeout) {
|
|
@@ -71,17 +66,9 @@ class LifecycleWatcher {
|
|
|
71
66
|
_LifecycleWatcher_hasSameDocumentNavigation.set(this, void 0);
|
|
72
67
|
_LifecycleWatcher_newDocumentNavigation.set(this, void 0);
|
|
73
68
|
_LifecycleWatcher_swapped.set(this, void 0);
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
else if (typeof waitUntil === 'string') {
|
|
78
|
-
waitUntil = [waitUntil];
|
|
79
|
-
}
|
|
80
|
-
__classPrivateFieldSet(this, _LifecycleWatcher_expectedLifecycle, waitUntil.map((value) => {
|
|
81
|
-
const protocolEvent = puppeteerToProtocolLifecycle.get(value);
|
|
82
|
-
(0, assert_1.assert)(protocolEvent, 'Unknown value for options.waitUntil: ' + value);
|
|
83
|
-
return protocolEvent;
|
|
84
|
-
}), "f");
|
|
69
|
+
const protocolEvent = puppeteerToProtocolLifecycle.get(waitUntil);
|
|
70
|
+
(0, assert_1.assert)(protocolEvent, 'Unknown value for options.waitUntil: ' + waitUntil);
|
|
71
|
+
__classPrivateFieldSet(this, _LifecycleWatcher_expectedLifecycle, [waitUntil], "f");
|
|
85
72
|
__classPrivateFieldSet(this, _LifecycleWatcher_frameManager, frameManager, "f");
|
|
86
73
|
__classPrivateFieldSet(this, _LifecycleWatcher_frame, frame, "f");
|
|
87
74
|
__classPrivateFieldSet(this, _LifecycleWatcher_timeout, timeout, "f");
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Protocol } from 'devtools-protocol';
|
|
2
|
-
import { HTTPRequest } from './HTTPRequest';
|
|
2
|
+
import type { HTTPRequest } from './HTTPRequest';
|
|
3
3
|
declare type QueuedEventGroup = {
|
|
4
4
|
responseReceivedEvent: Protocol.Network.ResponseReceivedEvent;
|
|
5
5
|
loadingFinishedEvent?: Protocol.Network.LoadingFinishedEvent;
|
|
@@ -22,8 +22,6 @@ export declare class NetworkEventManager {
|
|
|
22
22
|
storeRequestWillBeSent(networkRequestId: NetworkRequestId, event: Protocol.Network.RequestWillBeSentEvent): void;
|
|
23
23
|
getRequestWillBeSent(networkRequestId: NetworkRequestId): Protocol.Network.RequestWillBeSentEvent | undefined;
|
|
24
24
|
forgetRequestWillBeSent(networkRequestId: NetworkRequestId): void;
|
|
25
|
-
getRequestPaused(networkRequestId: NetworkRequestId): Protocol.Fetch.RequestPausedEvent | undefined;
|
|
26
|
-
forgetRequestPaused(networkRequestId: NetworkRequestId): void;
|
|
27
25
|
storeRequestPaused(networkRequestId: NetworkRequestId, event: Protocol.Fetch.RequestPausedEvent): void;
|
|
28
26
|
getRequest(networkRequestId: NetworkRequestId): HTTPRequest | undefined;
|
|
29
27
|
storeRequest(networkRequestId: NetworkRequestId, request: HTTPRequest): void;
|
|
@@ -9,50 +9,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
9
9
|
exports.NetworkEventManager = void 0;
|
|
10
10
|
class NetworkEventManager {
|
|
11
11
|
constructor() {
|
|
12
|
-
/*
|
|
13
|
-
* There are four possible orders of events:
|
|
14
|
-
* A. `_onRequestWillBeSent`
|
|
15
|
-
* B. `_onRequestWillBeSent`, `_onRequestPaused`
|
|
16
|
-
* C. `_onRequestPaused`, `_onRequestWillBeSent`
|
|
17
|
-
* D. `_onRequestPaused`, `_onRequestWillBeSent`, `_onRequestPaused`,
|
|
18
|
-
* `_onRequestWillBeSent`, `_onRequestPaused`, `_onRequestPaused`
|
|
19
|
-
* (see crbug.com/1196004)
|
|
20
|
-
*
|
|
21
|
-
* For `_onRequest` we need the event from `_onRequestWillBeSent` and
|
|
22
|
-
* optionally the `interceptionId` from `_onRequestPaused`.
|
|
23
|
-
*
|
|
24
|
-
* If request interception is disabled, call `_onRequest` once per call to
|
|
25
|
-
* `_onRequestWillBeSent`.
|
|
26
|
-
* If request interception is enabled, call `_onRequest` once per call to
|
|
27
|
-
* `_onRequestPaused` (once per `interceptionId`).
|
|
28
|
-
*
|
|
29
|
-
* Events are stored to allow for subsequent events to call `_onRequest`.
|
|
30
|
-
*
|
|
31
|
-
* Note that (chains of) redirect requests have the same `requestId` (!) as
|
|
32
|
-
* the original request. We have to anticipate series of events like these:
|
|
33
|
-
* A. `_onRequestWillBeSent`,
|
|
34
|
-
* `_onRequestWillBeSent`, ...
|
|
35
|
-
* B. `_onRequestWillBeSent`, `_onRequestPaused`,
|
|
36
|
-
* `_onRequestWillBeSent`, `_onRequestPaused`, ...
|
|
37
|
-
* C. `_onRequestWillBeSent`, `_onRequestPaused`,
|
|
38
|
-
* `_onRequestPaused`, `_onRequestWillBeSent`, ...
|
|
39
|
-
* D. `_onRequestPaused`, `_onRequestWillBeSent`,
|
|
40
|
-
* `_onRequestPaused`, `_onRequestWillBeSent`, `_onRequestPaused`,
|
|
41
|
-
* `_onRequestWillBeSent`, `_onRequestPaused`, `_onRequestPaused`, ...
|
|
42
|
-
* (see crbug.com/1196004)
|
|
43
|
-
*/
|
|
44
12
|
_NetworkEventManager_requestWillBeSentMap.set(this, new Map());
|
|
45
13
|
_NetworkEventManager_requestPausedMap.set(this, new Map());
|
|
46
14
|
_NetworkEventManager_httpRequestsMap.set(this, new Map());
|
|
47
|
-
/*
|
|
48
|
-
* The below maps are used to reconcile Network.responseReceivedExtraInfo
|
|
49
|
-
* events with their corresponding request. Each response and redirect
|
|
50
|
-
* response gets an ExtraInfo event, and we don't know which will come first.
|
|
51
|
-
* This means that we have to store a Response or an ExtraInfo for each
|
|
52
|
-
* response, and emit the event when we get both of them. In addition, to
|
|
53
|
-
* handle redirects, we have to make them Arrays to represent the chain of
|
|
54
|
-
* events.
|
|
55
|
-
*/
|
|
56
15
|
_NetworkEventManager_responseReceivedExtraInfoMap.set(this, new Map());
|
|
57
16
|
_NetworkEventManager_queuedRedirectInfoMap.set(this, new Map());
|
|
58
17
|
_NetworkEventManager_queuedEventGroupMap.set(this, new Map());
|
|
@@ -96,12 +55,6 @@ class NetworkEventManager {
|
|
|
96
55
|
forgetRequestWillBeSent(networkRequestId) {
|
|
97
56
|
__classPrivateFieldGet(this, _NetworkEventManager_requestWillBeSentMap, "f").delete(networkRequestId);
|
|
98
57
|
}
|
|
99
|
-
getRequestPaused(networkRequestId) {
|
|
100
|
-
return __classPrivateFieldGet(this, _NetworkEventManager_requestPausedMap, "f").get(networkRequestId);
|
|
101
|
-
}
|
|
102
|
-
forgetRequestPaused(networkRequestId) {
|
|
103
|
-
__classPrivateFieldGet(this, _NetworkEventManager_requestPausedMap, "f").delete(networkRequestId);
|
|
104
|
-
}
|
|
105
58
|
storeRequestPaused(networkRequestId, event) {
|
|
106
59
|
__classPrivateFieldGet(this, _NetworkEventManager_requestPausedMap, "f").set(networkRequestId, event);
|
|
107
60
|
}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import type { ProtocolMapping } from 'devtools-protocol/types/protocol-mapping';
|
|
17
17
|
import { EventEmitter } from './EventEmitter';
|
|
18
|
-
import { Frame } from './FrameManager';
|
|
18
|
+
import type { Frame } from './FrameManager';
|
|
19
19
|
export declare const NetworkManagerEmittedEvents: {
|
|
20
20
|
readonly Request: symbol;
|
|
21
21
|
};
|
|
@@ -29,8 +29,6 @@ export declare class NetworkManager extends EventEmitter {
|
|
|
29
29
|
#private;
|
|
30
30
|
constructor(client: CDPSession, frameManager: FrameManager);
|
|
31
31
|
initialize(): Promise<void>;
|
|
32
|
-
setExtraHTTPHeaders(extraHTTPHeaders: Record<string, string>): Promise<void>;
|
|
33
|
-
extraHTTPHeaders(): Record<string, string>;
|
|
34
32
|
numRequestsInProgress(): number;
|
|
35
33
|
}
|
|
36
34
|
export {};
|