@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
|
@@ -60,28 +60,25 @@ const http = __importStar(require("http"));
|
|
|
60
60
|
const https = __importStar(require("https"));
|
|
61
61
|
const os = __importStar(require("os"));
|
|
62
62
|
const path = __importStar(require("path"));
|
|
63
|
+
const util = __importStar(require("util"));
|
|
63
64
|
const extract_zip_1 = __importDefault(require("extract-zip"));
|
|
64
65
|
const URL = __importStar(require("url"));
|
|
65
66
|
const util_1 = require("util");
|
|
66
67
|
const assert_1 = require("./assert");
|
|
67
68
|
const delete_directory_1 = require("../delete-directory");
|
|
68
69
|
const get_download_destination_1 = require("./get-download-destination");
|
|
70
|
+
const { PUPPETEER_EXPERIMENTAL_CHROMIUM_MAC_ARM } = process.env;
|
|
69
71
|
const downloadURLs = {
|
|
70
72
|
chrome: {
|
|
71
73
|
linux: '%s/chromium-browser-snapshots/Linux_x64/%d/%s.zip',
|
|
72
|
-
linux_arm: '%s/chromium-browser-snapshots/Linux_x64/%d/%s.zip',
|
|
73
74
|
mac: '%s/chromium-browser-snapshots/Mac/%d/%s.zip',
|
|
74
|
-
mac_arm: '
|
|
75
|
+
mac_arm: '%s/chromium-browser-snapshots/Mac_Arm/%d/%s.zip',
|
|
75
76
|
win32: '%s/chromium-browser-snapshots/Win/%d/%s.zip',
|
|
76
77
|
win64: '%s/chromium-browser-snapshots/Win_x64/%d/%s.zip',
|
|
77
78
|
},
|
|
78
79
|
firefox: {
|
|
79
80
|
linux: '%s/firefox-%s.en-US.%s-x86_64.tar.bz2',
|
|
80
|
-
// TODO
|
|
81
|
-
linux_arm: '%s/firefox-%s.en-US.%s-x86_64.tar.bz2',
|
|
82
81
|
mac: '%s/firefox-%s.en-US.%s.dmg',
|
|
83
|
-
// TODO
|
|
84
|
-
mac_arm: '%s/firefox-%s.en-US.%s.dmg',
|
|
85
82
|
win32: '%s/firefox-%s.en-US.%s.zip',
|
|
86
83
|
win64: '%s/firefox-%s.en-US.%s.zip',
|
|
87
84
|
},
|
|
@@ -100,7 +97,6 @@ function archiveName(product, platform, revision) {
|
|
|
100
97
|
switch (product) {
|
|
101
98
|
case 'chrome':
|
|
102
99
|
switch (platform) {
|
|
103
|
-
case 'linux_arm':
|
|
104
100
|
case 'linux':
|
|
105
101
|
return 'chrome-linux';
|
|
106
102
|
case 'mac_arm':
|
|
@@ -121,12 +117,27 @@ function archiveName(product, platform, revision) {
|
|
|
121
117
|
throw new Error('unknown browser');
|
|
122
118
|
}
|
|
123
119
|
}
|
|
124
|
-
function _downloadURL(product, platform) {
|
|
125
|
-
const url = downloadURLs[product][platform];
|
|
120
|
+
function _downloadURL(product, platform, host, revision) {
|
|
121
|
+
const url = util.format(downloadURLs[product][platform], host, revision, archiveName(product, platform, revision));
|
|
126
122
|
return url;
|
|
127
123
|
}
|
|
128
|
-
|
|
129
|
-
|
|
124
|
+
function handleArm64() {
|
|
125
|
+
let exists = fs.existsSync('/usr/bin/chromium-browser');
|
|
126
|
+
if (exists) {
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
exists = fs.existsSync('/usr/bin/chromium');
|
|
130
|
+
if (exists) {
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
console.error('The chromium binary is not available for arm64.' +
|
|
134
|
+
'\nIf you are on Ubuntu, you can install with: ' +
|
|
135
|
+
'\n\n sudo apt install chromium\n' +
|
|
136
|
+
'\n\n sudo apt install chromium-browser\n');
|
|
137
|
+
throw new Error();
|
|
138
|
+
}
|
|
139
|
+
const readdirAsync = (0, util_1.promisify)(fs.readdir.bind(fs));
|
|
140
|
+
const mkdirAsync = (0, util_1.promisify)(fs.mkdir.bind(fs));
|
|
130
141
|
const unlinkAsync = (0, util_1.promisify)(fs.unlink.bind(fs));
|
|
131
142
|
const chmodAsync = (0, util_1.promisify)(fs.chmod.bind(fs));
|
|
132
143
|
function existsAsync(filePath) {
|
|
@@ -157,7 +168,9 @@ class BrowserFetcher {
|
|
|
157
168
|
case 'darwin':
|
|
158
169
|
switch (__classPrivateFieldGet(this, _BrowserFetcher_product, "f")) {
|
|
159
170
|
case 'chrome':
|
|
160
|
-
__classPrivateFieldSet(this, _BrowserFetcher_platform, os.arch() === 'arm64'
|
|
171
|
+
__classPrivateFieldSet(this, _BrowserFetcher_platform, os.arch() === 'arm64' && PUPPETEER_EXPERIMENTAL_CHROMIUM_MAC_ARM
|
|
172
|
+
? 'mac_arm'
|
|
173
|
+
: 'mac', "f");
|
|
161
174
|
break;
|
|
162
175
|
case 'firefox':
|
|
163
176
|
__classPrivateFieldSet(this, _BrowserFetcher_platform, 'mac', "f");
|
|
@@ -167,7 +180,7 @@ class BrowserFetcher {
|
|
|
167
180
|
}
|
|
168
181
|
break;
|
|
169
182
|
case 'linux':
|
|
170
|
-
__classPrivateFieldSet(this, _BrowserFetcher_platform,
|
|
183
|
+
__classPrivateFieldSet(this, _BrowserFetcher_platform, 'linux', "f");
|
|
171
184
|
break;
|
|
172
185
|
case 'win32':
|
|
173
186
|
__classPrivateFieldSet(this, _BrowserFetcher_platform, os.arch() === 'x64' ? 'win64' : 'win32', "f");
|
|
@@ -206,8 +219,8 @@ class BrowserFetcher {
|
|
|
206
219
|
* @returns A promise that resolves to `true` if the revision could be downloaded
|
|
207
220
|
* from the host.
|
|
208
221
|
*/
|
|
209
|
-
canDownload() {
|
|
210
|
-
const url = _downloadURL(__classPrivateFieldGet(this, _BrowserFetcher_product, "f"), __classPrivateFieldGet(this, _BrowserFetcher_platform, "f"));
|
|
222
|
+
canDownload(revision) {
|
|
223
|
+
const url = _downloadURL(__classPrivateFieldGet(this, _BrowserFetcher_product, "f"), __classPrivateFieldGet(this, _BrowserFetcher_platform, "f"), __classPrivateFieldGet(this, _BrowserFetcher_downloadHost, "f"), revision);
|
|
211
224
|
return new Promise((resolve) => {
|
|
212
225
|
const request = httpRequest(url, 'HEAD', (response) => {
|
|
213
226
|
resolve(response.statusCode === 200);
|
|
@@ -229,7 +242,7 @@ class BrowserFetcher {
|
|
|
229
242
|
* and extracted.
|
|
230
243
|
*/
|
|
231
244
|
async download(revision, progressCallback = () => undefined) {
|
|
232
|
-
const url = _downloadURL(__classPrivateFieldGet(this, _BrowserFetcher_product, "f"), __classPrivateFieldGet(this, _BrowserFetcher_platform, "f"));
|
|
245
|
+
const url = _downloadURL(__classPrivateFieldGet(this, _BrowserFetcher_product, "f"), __classPrivateFieldGet(this, _BrowserFetcher_platform, "f"), __classPrivateFieldGet(this, _BrowserFetcher_downloadHost, "f"), revision);
|
|
233
246
|
const fileName = url.split('/').pop();
|
|
234
247
|
(0, assert_1.assert)(fileName, `A malformed download URL was found: ${url}.`);
|
|
235
248
|
const archivePath = path.join(__classPrivateFieldGet(this, _BrowserFetcher_downloadsFolder, "f"), fileName);
|
|
@@ -242,6 +255,11 @@ class BrowserFetcher {
|
|
|
242
255
|
recursive: true,
|
|
243
256
|
});
|
|
244
257
|
}
|
|
258
|
+
// Use system Chromium builds on Linux ARM devices
|
|
259
|
+
if (os.platform() !== 'darwin' && os.arch() === 'arm64') {
|
|
260
|
+
handleArm64();
|
|
261
|
+
return;
|
|
262
|
+
}
|
|
245
263
|
try {
|
|
246
264
|
await _downloadFile(url, archivePath, progressCallback);
|
|
247
265
|
await install(archivePath, outputPath);
|
|
@@ -301,9 +319,9 @@ class BrowserFetcher {
|
|
|
301
319
|
let executablePath = '';
|
|
302
320
|
if (__classPrivateFieldGet(this, _BrowserFetcher_product, "f") === 'chrome') {
|
|
303
321
|
if (__classPrivateFieldGet(this, _BrowserFetcher_platform, "f") === 'mac' || __classPrivateFieldGet(this, _BrowserFetcher_platform, "f") === 'mac_arm') {
|
|
304
|
-
executablePath = path.join(folderPath, '
|
|
322
|
+
executablePath = path.join(folderPath, archiveName(__classPrivateFieldGet(this, _BrowserFetcher_product, "f"), __classPrivateFieldGet(this, _BrowserFetcher_platform, "f"), revision), 'Chromium.app', 'Contents', 'MacOS', 'Chromium');
|
|
305
323
|
}
|
|
306
|
-
else if (__classPrivateFieldGet(this, _BrowserFetcher_platform, "f") === 'linux'
|
|
324
|
+
else if (__classPrivateFieldGet(this, _BrowserFetcher_platform, "f") === 'linux') {
|
|
307
325
|
executablePath = path.join(folderPath, archiveName(__classPrivateFieldGet(this, _BrowserFetcher_product, "f"), __classPrivateFieldGet(this, _BrowserFetcher_platform, "f"), revision), 'chrome');
|
|
308
326
|
}
|
|
309
327
|
else if (__classPrivateFieldGet(this, _BrowserFetcher_platform, "f") === 'win32' || __classPrivateFieldGet(this, _BrowserFetcher_platform, "f") === 'win64') {
|
|
@@ -317,7 +335,7 @@ class BrowserFetcher {
|
|
|
317
335
|
if (__classPrivateFieldGet(this, _BrowserFetcher_platform, "f") === 'mac' || __classPrivateFieldGet(this, _BrowserFetcher_platform, "f") === 'mac_arm') {
|
|
318
336
|
executablePath = path.join(folderPath, 'Firefox Nightly.app', 'Contents', 'MacOS', 'firefox');
|
|
319
337
|
}
|
|
320
|
-
else if (__classPrivateFieldGet(this, _BrowserFetcher_platform, "f") === 'linux'
|
|
338
|
+
else if (__classPrivateFieldGet(this, _BrowserFetcher_platform, "f") === 'linux') {
|
|
321
339
|
executablePath = path.join(folderPath, 'firefox', 'firefox');
|
|
322
340
|
}
|
|
323
341
|
else if (__classPrivateFieldGet(this, _BrowserFetcher_platform, "f") === 'win32' || __classPrivateFieldGet(this, _BrowserFetcher_platform, "f") === 'win64') {
|
|
@@ -330,7 +348,7 @@ class BrowserFetcher {
|
|
|
330
348
|
else {
|
|
331
349
|
throw new Error('Unsupported product: ' + __classPrivateFieldGet(this, _BrowserFetcher_product, "f"));
|
|
332
350
|
}
|
|
333
|
-
const url = _downloadURL(__classPrivateFieldGet(this, _BrowserFetcher_product, "f"), __classPrivateFieldGet(this, _BrowserFetcher_platform, "f"));
|
|
351
|
+
const url = _downloadURL(__classPrivateFieldGet(this, _BrowserFetcher_product, "f"), __classPrivateFieldGet(this, _BrowserFetcher_platform, "f"), __classPrivateFieldGet(this, _BrowserFetcher_downloadHost, "f"), revision);
|
|
334
352
|
const local = fs.existsSync(folderPath);
|
|
335
353
|
return {
|
|
336
354
|
revision,
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
/// <reference types="node" />
|
|
17
17
|
import * as childProcess from 'child_process';
|
|
18
18
|
import { Connection } from './Connection';
|
|
19
|
-
import { LaunchOptions } from './LaunchOptions';
|
|
20
|
-
import { Product } from './Product';
|
|
19
|
+
import type { LaunchOptions } from './LaunchOptions';
|
|
20
|
+
import type { Product } from './Product';
|
|
21
21
|
export declare class BrowserRunner {
|
|
22
22
|
#private;
|
|
23
23
|
proc?: childProcess.ChildProcess;
|
|
@@ -236,7 +236,7 @@ class BrowserRunner {
|
|
|
236
236
|
const { timeout, preferredRevision } = options;
|
|
237
237
|
const browserWSEndpoint = await waitForWSEndpoint(this.proc, timeout, preferredRevision);
|
|
238
238
|
const transport = await NodeWebSocketTransport_1.NodeWebSocketTransport.create(browserWSEndpoint);
|
|
239
|
-
this.connection = new Connection_1.Connection(
|
|
239
|
+
this.connection = new Connection_1.Connection(transport);
|
|
240
240
|
return this.connection;
|
|
241
241
|
}
|
|
242
242
|
}
|
|
@@ -1,18 +1,12 @@
|
|
|
1
1
|
import type { Protocol } from 'devtools-protocol';
|
|
2
2
|
import type { ProtocolMapping } from 'devtools-protocol/types/protocol-mapping';
|
|
3
3
|
import { EventEmitter } from './EventEmitter';
|
|
4
|
-
import { NodeWebSocketTransport } from './NodeWebSocketTransport';
|
|
4
|
+
import type { NodeWebSocketTransport } from './NodeWebSocketTransport';
|
|
5
5
|
export declare class Connection extends EventEmitter {
|
|
6
6
|
#private;
|
|
7
|
-
constructor(
|
|
7
|
+
constructor(transport: NodeWebSocketTransport);
|
|
8
8
|
static fromSession(session: CDPSession): Connection | undefined;
|
|
9
|
-
get _closed(): boolean;
|
|
10
|
-
/**
|
|
11
|
-
* @param sessionId - The session id
|
|
12
|
-
* @returns The current CDP session if it exists
|
|
13
|
-
*/
|
|
14
9
|
session(sessionId: string): CDPSession | null;
|
|
15
|
-
url(): string;
|
|
16
10
|
send<T extends keyof ProtocolMapping.Commands>(method: T, ...paramArgs: ProtocolMapping.Commands[T]['paramsType']): Promise<ProtocolMapping.Commands[T]['returnType']>;
|
|
17
11
|
_rawSend(message: Record<string, unknown>): number;
|
|
18
12
|
dispose(): void;
|
|
@@ -42,7 +36,6 @@ export declare class CDPSession extends EventEmitter {
|
|
|
42
36
|
connection(): Connection | undefined;
|
|
43
37
|
send<T extends keyof ProtocolMapping.Commands>(method: T, ...paramArgs: ProtocolMapping.Commands[T]['paramsType']): Promise<ProtocolMapping.Commands[T]['returnType']>;
|
|
44
38
|
_onMessage(object: CDPSessionOnMessageObject): void;
|
|
45
|
-
detach(): Promise<void>;
|
|
46
39
|
_onClosed(): void;
|
|
47
40
|
id(): string;
|
|
48
41
|
}
|
|
@@ -10,7 +10,7 @@ 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 _Connection_instances,
|
|
13
|
+
var _Connection_instances, _Connection_transport, _Connection_lastId, _Connection_sessions, _Connection_closed, _Connection_callbacks, _Connection_onMessage, _Connection_onClose, _CDPSession_sessionId, _CDPSession_targetType, _CDPSession_callbacks, _CDPSession_connection;
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.CDPSession = exports.CDPSessionEmittedEvents = exports.Connection = void 0;
|
|
16
16
|
/**
|
|
@@ -35,16 +35,14 @@ const ConnectionEmittedEvents = {
|
|
|
35
35
|
Disconnected: Symbol('Connection.Disconnected'),
|
|
36
36
|
};
|
|
37
37
|
class Connection extends EventEmitter_1.EventEmitter {
|
|
38
|
-
constructor(
|
|
38
|
+
constructor(transport) {
|
|
39
39
|
super();
|
|
40
40
|
_Connection_instances.add(this);
|
|
41
|
-
_Connection_url.set(this, void 0);
|
|
42
41
|
_Connection_transport.set(this, void 0);
|
|
43
42
|
_Connection_lastId.set(this, 0);
|
|
44
43
|
_Connection_sessions.set(this, new Map());
|
|
45
44
|
_Connection_closed.set(this, false);
|
|
46
45
|
_Connection_callbacks.set(this, new Map());
|
|
47
|
-
__classPrivateFieldSet(this, _Connection_url, url, "f");
|
|
48
46
|
__classPrivateFieldSet(this, _Connection_transport, transport, "f");
|
|
49
47
|
__classPrivateFieldGet(this, _Connection_transport, "f").onmessage = __classPrivateFieldGet(this, _Connection_instances, "m", _Connection_onMessage).bind(this);
|
|
50
48
|
__classPrivateFieldGet(this, _Connection_transport, "f").onclose = __classPrivateFieldGet(this, _Connection_instances, "m", _Connection_onClose).bind(this);
|
|
@@ -52,19 +50,9 @@ class Connection extends EventEmitter_1.EventEmitter {
|
|
|
52
50
|
static fromSession(session) {
|
|
53
51
|
return session.connection();
|
|
54
52
|
}
|
|
55
|
-
get _closed() {
|
|
56
|
-
return __classPrivateFieldGet(this, _Connection_closed, "f");
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* @param sessionId - The session id
|
|
60
|
-
* @returns The current CDP session if it exists
|
|
61
|
-
*/
|
|
62
53
|
session(sessionId) {
|
|
63
54
|
return __classPrivateFieldGet(this, _Connection_sessions, "f").get(sessionId) || null;
|
|
64
55
|
}
|
|
65
|
-
url() {
|
|
66
|
-
return __classPrivateFieldGet(this, _Connection_url, "f");
|
|
67
|
-
}
|
|
68
56
|
send(method, ...paramArgs) {
|
|
69
57
|
// There is only ever 1 param arg passed, but the Protocol defines it as an
|
|
70
58
|
// array of 0 or 1 items See this comment:
|
|
@@ -111,7 +99,7 @@ class Connection extends EventEmitter_1.EventEmitter {
|
|
|
111
99
|
}
|
|
112
100
|
}
|
|
113
101
|
exports.Connection = Connection;
|
|
114
|
-
|
|
102
|
+
_Connection_transport = new WeakMap(), _Connection_lastId = new WeakMap(), _Connection_sessions = new WeakMap(), _Connection_closed = new WeakMap(), _Connection_callbacks = new WeakMap(), _Connection_instances = new WeakSet(), _Connection_onMessage = function _Connection_onMessage(message) {
|
|
115
103
|
const object = JSON.parse(message);
|
|
116
104
|
if (object.method === 'Target.attachedToTarget') {
|
|
117
105
|
const { sessionId } = object.params;
|
|
@@ -226,14 +214,6 @@ class CDPSession extends EventEmitter_1.EventEmitter {
|
|
|
226
214
|
this.emit(object.method, object.params);
|
|
227
215
|
}
|
|
228
216
|
}
|
|
229
|
-
async detach() {
|
|
230
|
-
if (!__classPrivateFieldGet(this, _CDPSession_connection, "f")) {
|
|
231
|
-
throw new Error(`Session already detached. Most likely the ${__classPrivateFieldGet(this, _CDPSession_targetType, "f")} has been closed.`);
|
|
232
|
-
}
|
|
233
|
-
await __classPrivateFieldGet(this, _CDPSession_connection, "f").send('Target.detachFromTarget', {
|
|
234
|
-
sessionId: __classPrivateFieldGet(this, _CDPSession_sessionId, "f"),
|
|
235
|
-
});
|
|
236
|
-
}
|
|
237
217
|
_onClosed() {
|
|
238
218
|
for (const callback of __classPrivateFieldGet(this, _CDPSession_callbacks, "f").values()) {
|
|
239
219
|
callback.reject(rewriteError(callback.error, `Protocol error (${callback.method}): Target closed. https://www.remotion.dev/docs/target-closed`));
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import { JSHandle } from './JSHandle';
|
|
16
|
+
import type { JSHandle } from './JSHandle';
|
|
17
17
|
export interface ConsoleMessageLocation {
|
|
18
18
|
url?: string;
|
|
19
19
|
lineNumber?: number;
|
|
@@ -13,11 +13,11 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import { EvaluateFn, EvaluateFnReturnType, EvaluateHandleFn, SerializableOrJSHandle, UnwrapPromiseLike } from './EvalTypes';
|
|
17
|
-
import { ExecutionContext } from './ExecutionContext';
|
|
18
|
-
import { Frame } from './FrameManager';
|
|
19
|
-
import {
|
|
20
|
-
import { TimeoutSettings } from './TimeoutSettings';
|
|
16
|
+
import type { EvaluateFn, EvaluateFnReturnType, EvaluateHandleFn, SerializableOrJSHandle, UnwrapPromiseLike } from './EvalTypes';
|
|
17
|
+
import type { ExecutionContext } from './ExecutionContext';
|
|
18
|
+
import type { Frame } from './FrameManager';
|
|
19
|
+
import type { JSHandle } from './JSHandle';
|
|
20
|
+
import type { TimeoutSettings } from './TimeoutSettings';
|
|
21
21
|
export declare class DOMWorld {
|
|
22
22
|
#private;
|
|
23
23
|
get _waitTasks(): Set<WaitTask>;
|
|
@@ -29,7 +29,6 @@ export declare class DOMWorld {
|
|
|
29
29
|
executionContext(): Promise<ExecutionContext>;
|
|
30
30
|
evaluateHandle<HandlerType extends JSHandle = JSHandle>(pageFunction: EvaluateHandleFn, ...args: SerializableOrJSHandle[]): Promise<HandlerType>;
|
|
31
31
|
evaluate<T extends EvaluateFn>(pageFunction: T, ...args: SerializableOrJSHandle[]): Promise<UnwrapPromiseLike<EvaluateFnReturnType<T>>>;
|
|
32
|
-
_document(): Promise<ElementHandle>;
|
|
33
32
|
waitForFunction(pageFunction: Function | string, ...args: SerializableOrJSHandle[]): Promise<JSHandle>;
|
|
34
33
|
title(): Promise<string>;
|
|
35
34
|
}
|
package/dist/browser/DOMWorld.js
CHANGED
|
@@ -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 _DOMWorld_frame, _DOMWorld_timeoutSettings,
|
|
28
|
+
var _DOMWorld_frame, _DOMWorld_timeoutSettings, _DOMWorld_contextPromise, _DOMWorld_contextResolveCallback, _DOMWorld_detached, _DOMWorld_waitTasks, _WaitTask_instances, _WaitTask_domWorld, _WaitTask_timeout, _WaitTask_predicateBody, _WaitTask_args, _WaitTask_runCount, _WaitTask_resolve, _WaitTask_reject, _WaitTask_timeoutTimer, _WaitTask_terminated, _WaitTask_cleanup;
|
|
29
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
30
|
exports.DOMWorld = void 0;
|
|
31
31
|
const assert_1 = require("./assert");
|
|
@@ -35,7 +35,6 @@ class DOMWorld {
|
|
|
35
35
|
constructor(frame, timeoutSettings) {
|
|
36
36
|
_DOMWorld_frame.set(this, void 0);
|
|
37
37
|
_DOMWorld_timeoutSettings.set(this, void 0);
|
|
38
|
-
_DOMWorld_documentPromise.set(this, null);
|
|
39
38
|
_DOMWorld_contextPromise.set(this, null);
|
|
40
39
|
_DOMWorld_contextResolveCallback.set(this, null);
|
|
41
40
|
_DOMWorld_detached.set(this, false);
|
|
@@ -63,7 +62,6 @@ class DOMWorld {
|
|
|
63
62
|
}
|
|
64
63
|
}
|
|
65
64
|
else {
|
|
66
|
-
__classPrivateFieldSet(this, _DOMWorld_documentPromise, null, "f");
|
|
67
65
|
__classPrivateFieldSet(this, _DOMWorld_contextPromise, new Promise((fulfill) => {
|
|
68
66
|
__classPrivateFieldSet(this, _DOMWorld_contextResolveCallback, fulfill, "f");
|
|
69
67
|
}), "f");
|
|
@@ -95,20 +93,6 @@ class DOMWorld {
|
|
|
95
93
|
const context = await this.executionContext();
|
|
96
94
|
return context.evaluate(pageFunction, ...args);
|
|
97
95
|
}
|
|
98
|
-
_document() {
|
|
99
|
-
if (__classPrivateFieldGet(this, _DOMWorld_documentPromise, "f")) {
|
|
100
|
-
return __classPrivateFieldGet(this, _DOMWorld_documentPromise, "f");
|
|
101
|
-
}
|
|
102
|
-
__classPrivateFieldSet(this, _DOMWorld_documentPromise, this.executionContext().then(async (context) => {
|
|
103
|
-
const document = await context.evaluateHandle('document');
|
|
104
|
-
const element = document.asElement();
|
|
105
|
-
if (element === null) {
|
|
106
|
-
throw new Error('Document is null');
|
|
107
|
-
}
|
|
108
|
-
return element;
|
|
109
|
-
}), "f");
|
|
110
|
-
return __classPrivateFieldGet(this, _DOMWorld_documentPromise, "f");
|
|
111
|
-
}
|
|
112
96
|
waitForFunction(pageFunction, ...args) {
|
|
113
97
|
const timeout = __classPrivateFieldGet(this, _DOMWorld_timeoutSettings, "f").timeout();
|
|
114
98
|
const waitTaskOptions = {
|
|
@@ -128,7 +112,7 @@ class DOMWorld {
|
|
|
128
112
|
}
|
|
129
113
|
}
|
|
130
114
|
exports.DOMWorld = DOMWorld;
|
|
131
|
-
_DOMWorld_frame = new WeakMap(), _DOMWorld_timeoutSettings = new WeakMap(),
|
|
115
|
+
_DOMWorld_frame = new WeakMap(), _DOMWorld_timeoutSettings = new WeakMap(), _DOMWorld_contextPromise = new WeakMap(), _DOMWorld_contextResolveCallback = new WeakMap(), _DOMWorld_detached = new WeakMap(), _DOMWorld_waitTasks = new WeakMap();
|
|
132
116
|
const noop = () => undefined;
|
|
133
117
|
class WaitTask {
|
|
134
118
|
constructor(options) {
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import { JSHandle } from './JSHandle';
|
|
16
|
+
import type { JSHandle } from './JSHandle';
|
|
17
17
|
export declare type EvaluateFn<T = any, U = any, V = any> = string | ((arg1: T, ...args: U[]) => V);
|
|
18
18
|
export declare type UnwrapPromiseLike<T> = T extends PromiseLike<infer U> ? U : T;
|
|
19
19
|
export declare type EvaluateFnReturnType<T extends EvaluateFn> = T extends (...args: any[]) => infer R ? R : any;
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { EventType, Handler } from './mitt';
|
|
1
|
+
import type { EventType, Handler } from './mitt';
|
|
2
2
|
export interface CommonEventEmitter {
|
|
3
3
|
on(event: EventType, handler: Handler): CommonEventEmitter;
|
|
4
4
|
off(event: EventType, handler: Handler): CommonEventEmitter;
|
|
5
5
|
addListener(event: EventType, handler: Handler): CommonEventEmitter;
|
|
6
|
-
removeListener(event: EventType, handler: Handler): CommonEventEmitter;
|
|
7
6
|
emit(event: EventType, eventData?: unknown): boolean;
|
|
8
7
|
once(event: EventType, handler: Handler): CommonEventEmitter;
|
|
9
8
|
listenerCount(event: string): number;
|
|
@@ -13,58 +12,12 @@ export declare class EventEmitter implements CommonEventEmitter {
|
|
|
13
12
|
private emitter;
|
|
14
13
|
private eventsMap;
|
|
15
14
|
constructor();
|
|
16
|
-
/**
|
|
17
|
-
* Bind an event listener to fire when an event occurs.
|
|
18
|
-
* @param event - the event type you'd like to listen to. Can be a string or symbol.
|
|
19
|
-
* @param handler - the function to be called when the event occurs.
|
|
20
|
-
* @returns `this` to enable you to chain method calls.
|
|
21
|
-
*/
|
|
22
15
|
on(event: EventType, handler: Handler): EventEmitter;
|
|
23
|
-
/**
|
|
24
|
-
* Remove an event listener from firing.
|
|
25
|
-
* @param event - the event type you'd like to stop listening to.
|
|
26
|
-
* @param handler - the function that should be removed.
|
|
27
|
-
* @returns `this` to enable you to chain method calls.
|
|
28
|
-
*/
|
|
29
16
|
off(event: EventType, handler: Handler): EventEmitter;
|
|
30
|
-
/**
|
|
31
|
-
* Remove an event listener.
|
|
32
|
-
* @deprecated please use {@link EventEmitter.off} instead.
|
|
33
|
-
*/
|
|
34
|
-
removeListener(event: EventType, handler: Handler): EventEmitter;
|
|
35
|
-
/**
|
|
36
|
-
* Add an event listener.
|
|
37
|
-
* @deprecated please use {@link EventEmitter.on} instead.
|
|
38
|
-
*/
|
|
39
17
|
addListener(event: EventType, handler: Handler): EventEmitter;
|
|
40
|
-
/**
|
|
41
|
-
* Emit an event and call any associated listeners.
|
|
42
|
-
*
|
|
43
|
-
* @param event - the event you'd like to emit
|
|
44
|
-
* @param eventData - any data you'd like to emit with the event
|
|
45
|
-
* @returns `true` if there are any listeners, `false` if there are not.
|
|
46
|
-
*/
|
|
47
18
|
emit(event: EventType, eventData?: unknown): boolean;
|
|
48
|
-
/**
|
|
49
|
-
* Like `on` but the listener will only be fired once and then it will be removed.
|
|
50
|
-
* @param event - the event you'd like to listen to
|
|
51
|
-
* @param handler - the handler function to run when the event occurs
|
|
52
|
-
* @returns `this` to enable you to chain method calls.
|
|
53
|
-
*/
|
|
54
19
|
once(event: EventType, handler: Handler): EventEmitter;
|
|
55
|
-
/**
|
|
56
|
-
* Gets the number of listeners for a given event.
|
|
57
|
-
*
|
|
58
|
-
* @param event - the event to get the listener count for
|
|
59
|
-
* @returns the number of listeners bound to the given event
|
|
60
|
-
*/
|
|
61
20
|
listenerCount(event: EventType): number;
|
|
62
|
-
/**
|
|
63
|
-
* Removes all listeners. If given an event argument, it will remove only
|
|
64
|
-
* listeners for that event.
|
|
65
|
-
* @param event - the event to remove listeners for.
|
|
66
|
-
* @returns `this` to enable you to chain method calls.
|
|
67
|
-
*/
|
|
68
21
|
removeAllListeners(event?: EventType): EventEmitter;
|
|
69
22
|
private eventListenersCount;
|
|
70
23
|
}
|
|
@@ -10,59 +10,22 @@ class EventEmitter {
|
|
|
10
10
|
this.eventsMap = new Map();
|
|
11
11
|
this.emitter = (0, mitt_1.default)(this.eventsMap);
|
|
12
12
|
}
|
|
13
|
-
/**
|
|
14
|
-
* Bind an event listener to fire when an event occurs.
|
|
15
|
-
* @param event - the event type you'd like to listen to. Can be a string or symbol.
|
|
16
|
-
* @param handler - the function to be called when the event occurs.
|
|
17
|
-
* @returns `this` to enable you to chain method calls.
|
|
18
|
-
*/
|
|
19
13
|
on(event, handler) {
|
|
20
14
|
this.emitter.on(event, handler);
|
|
21
15
|
return this;
|
|
22
16
|
}
|
|
23
|
-
/**
|
|
24
|
-
* Remove an event listener from firing.
|
|
25
|
-
* @param event - the event type you'd like to stop listening to.
|
|
26
|
-
* @param handler - the function that should be removed.
|
|
27
|
-
* @returns `this` to enable you to chain method calls.
|
|
28
|
-
*/
|
|
29
17
|
off(event, handler) {
|
|
30
18
|
this.emitter.off(event, handler);
|
|
31
19
|
return this;
|
|
32
20
|
}
|
|
33
|
-
/**
|
|
34
|
-
* Remove an event listener.
|
|
35
|
-
* @deprecated please use {@link EventEmitter.off} instead.
|
|
36
|
-
*/
|
|
37
|
-
removeListener(event, handler) {
|
|
38
|
-
this.off(event, handler);
|
|
39
|
-
return this;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Add an event listener.
|
|
43
|
-
* @deprecated please use {@link EventEmitter.on} instead.
|
|
44
|
-
*/
|
|
45
21
|
addListener(event, handler) {
|
|
46
22
|
this.on(event, handler);
|
|
47
23
|
return this;
|
|
48
24
|
}
|
|
49
|
-
/**
|
|
50
|
-
* Emit an event and call any associated listeners.
|
|
51
|
-
*
|
|
52
|
-
* @param event - the event you'd like to emit
|
|
53
|
-
* @param eventData - any data you'd like to emit with the event
|
|
54
|
-
* @returns `true` if there are any listeners, `false` if there are not.
|
|
55
|
-
*/
|
|
56
25
|
emit(event, eventData) {
|
|
57
26
|
this.emitter.emit(event, eventData);
|
|
58
27
|
return this.eventListenersCount(event) > 0;
|
|
59
28
|
}
|
|
60
|
-
/**
|
|
61
|
-
* Like `on` but the listener will only be fired once and then it will be removed.
|
|
62
|
-
* @param event - the event you'd like to listen to
|
|
63
|
-
* @param handler - the handler function to run when the event occurs
|
|
64
|
-
* @returns `this` to enable you to chain method calls.
|
|
65
|
-
*/
|
|
66
29
|
once(event, handler) {
|
|
67
30
|
const onceHandler = (eventData) => {
|
|
68
31
|
handler(eventData);
|
|
@@ -70,21 +33,9 @@ class EventEmitter {
|
|
|
70
33
|
};
|
|
71
34
|
return this.on(event, onceHandler);
|
|
72
35
|
}
|
|
73
|
-
/**
|
|
74
|
-
* Gets the number of listeners for a given event.
|
|
75
|
-
*
|
|
76
|
-
* @param event - the event to get the listener count for
|
|
77
|
-
* @returns the number of listeners bound to the given event
|
|
78
|
-
*/
|
|
79
36
|
listenerCount(event) {
|
|
80
37
|
return this.eventListenersCount(event);
|
|
81
38
|
}
|
|
82
|
-
/**
|
|
83
|
-
* Removes all listeners. If given an event argument, it will remove only
|
|
84
|
-
* listeners for that event.
|
|
85
|
-
* @param event - the event to remove listeners for.
|
|
86
|
-
* @returns `this` to enable you to chain method calls.
|
|
87
|
-
*/
|
|
88
39
|
removeAllListeners(event) {
|
|
89
40
|
if (event) {
|
|
90
41
|
this.eventsMap.delete(event);
|
|
@@ -14,11 +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 { DOMWorld } from './DOMWorld';
|
|
19
|
-
import { EvaluateHandleFn, SerializableOrJSHandle } from './EvalTypes';
|
|
20
|
-
import { Frame } from './FrameManager';
|
|
21
|
-
import { ElementHandle
|
|
17
|
+
import type { CDPSession } from './Connection';
|
|
18
|
+
import type { DOMWorld } from './DOMWorld';
|
|
19
|
+
import type { EvaluateHandleFn, SerializableOrJSHandle } from './EvalTypes';
|
|
20
|
+
import type { Frame } from './FrameManager';
|
|
21
|
+
import type { ElementHandle } from './JSHandle';
|
|
22
|
+
import { JSHandle } from './JSHandle';
|
|
22
23
|
export declare const EVALUATION_SCRIPT_URL = "pptr://__puppeteer_evaluation_script__";
|
|
23
24
|
export declare class ExecutionContext {
|
|
24
25
|
#private;
|
|
@@ -14,17 +14,17 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import type { Protocol } from 'devtools-protocol';
|
|
17
|
-
import { CDPSession } from './Connection';
|
|
17
|
+
import type { CDPSession } from './Connection';
|
|
18
18
|
import { DOMWorld } from './DOMWorld';
|
|
19
|
-
import { EvaluateFn, EvaluateFnReturnType, EvaluateHandleFn, SerializableOrJSHandle, UnwrapPromiseLike } from './EvalTypes';
|
|
19
|
+
import type { EvaluateFn, EvaluateFnReturnType, EvaluateHandleFn, SerializableOrJSHandle, UnwrapPromiseLike } from './EvalTypes';
|
|
20
20
|
import { EventEmitter } from './EventEmitter';
|
|
21
21
|
import { ExecutionContext } from './ExecutionContext';
|
|
22
|
-
import { HTTPResponse } from './HTTPResponse';
|
|
23
|
-
import { JSHandle } from './JSHandle';
|
|
24
|
-
import { PuppeteerLifeCycleEvent } from './LifecycleWatcher';
|
|
22
|
+
import type { HTTPResponse } from './HTTPResponse';
|
|
23
|
+
import type { JSHandle } from './JSHandle';
|
|
24
|
+
import type { PuppeteerLifeCycleEvent } from './LifecycleWatcher';
|
|
25
25
|
import { NetworkManager } from './NetworkManager';
|
|
26
|
-
import { Page } from './Page';
|
|
27
|
-
import { TimeoutSettings } from './TimeoutSettings';
|
|
26
|
+
import type { Page } from './Page';
|
|
27
|
+
import type { TimeoutSettings } from './TimeoutSettings';
|
|
28
28
|
export declare const FrameManagerEmittedEvents: {
|
|
29
29
|
FrameNavigated: symbol;
|
|
30
30
|
FrameDetached: symbol;
|
|
@@ -45,7 +45,7 @@ export declare class FrameManager extends EventEmitter {
|
|
|
45
45
|
navigateFrame(frame: Frame, url: string, options?: {
|
|
46
46
|
referer?: string;
|
|
47
47
|
timeout?: number;
|
|
48
|
-
waitUntil?: PuppeteerLifeCycleEvent
|
|
48
|
+
waitUntil?: PuppeteerLifeCycleEvent;
|
|
49
49
|
}): Promise<HTTPResponse | null>;
|
|
50
50
|
page(): Page;
|
|
51
51
|
mainFrame(): Frame;
|
|
@@ -71,7 +71,7 @@ export declare class Frame {
|
|
|
71
71
|
goto(url: string, options?: {
|
|
72
72
|
referer?: string;
|
|
73
73
|
timeout?: number;
|
|
74
|
-
waitUntil?: PuppeteerLifeCycleEvent
|
|
74
|
+
waitUntil?: PuppeteerLifeCycleEvent;
|
|
75
75
|
}): Promise<HTTPResponse | null>;
|
|
76
76
|
_client(): CDPSession;
|
|
77
77
|
/**
|
|
@@ -80,13 +80,9 @@ export declare class Frame {
|
|
|
80
80
|
executionContext(): Promise<ExecutionContext>;
|
|
81
81
|
evaluateHandle<HandlerType extends JSHandle = JSHandle>(pageFunction: EvaluateHandleFn, ...args: SerializableOrJSHandle[]): Promise<HandlerType>;
|
|
82
82
|
evaluate<T extends EvaluateFn>(pageFunction: T, ...args: SerializableOrJSHandle[]): Promise<UnwrapPromiseLike<EvaluateFnReturnType<T>>>;
|
|
83
|
-
name(): string;
|
|
84
83
|
url(): string;
|
|
85
|
-
parentFrame(): Frame | null;
|
|
86
84
|
childFrames(): Frame[];
|
|
87
|
-
isDetached(): boolean;
|
|
88
85
|
waitForFunction(pageFunction: Function | string, ...args: SerializableOrJSHandle[]): Promise<JSHandle>;
|
|
89
|
-
title(): Promise<string>;
|
|
90
86
|
_navigated(framePayload: Protocol.Page.Frame): void;
|
|
91
87
|
_navigatedWithinDocument(url: string): void;
|
|
92
88
|
_onLifecycleEvent(loaderId: string, name: string): void;
|