@remotion/renderer 3.0.23 → 3.0.26
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/abort.d.ts +7 -0
- package/dist/abort.js +20 -0
- package/dist/assets/download-and-map-assets-to-file.d.ts +21 -8
- package/dist/assets/download-and-map-assets-to-file.js +68 -42
- package/dist/assets/download-file.d.ts +10 -5
- package/dist/assets/download-file.js +18 -5
- package/dist/assets/ffmpeg-volume-expression.d.ts +1 -2
- package/dist/assets/ffmpeg-volume-expression.js +2 -3
- package/dist/browser/Browser.d.ts +10 -159
- package/dist/browser/Browser.js +7 -191
- package/dist/browser/BrowserConnector.d.ts +1 -8
- package/dist/browser/BrowserConnector.js +0 -32
- package/dist/browser/BrowserFetcher.d.ts +1 -1
- package/dist/browser/BrowserFetcher.js +8 -10
- package/dist/browser/BrowserRunner.d.ts +2 -2
- package/dist/browser/BrowserRunner.js +1 -1
- package/dist/browser/Connection.d.ts +4 -11
- package/dist/browser/Connection.js +5 -25
- package/dist/browser/ConsoleMessage.d.ts +4 -28
- package/dist/browser/ConsoleMessage.js +5 -32
- package/dist/browser/DOMWorld.d.ts +9 -7
- package/dist/browser/DOMWorld.js +12 -20
- 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 +7 -8
- package/dist/browser/ExecutionContext.js +0 -16
- package/dist/browser/FrameManager.d.ts +12 -15
- package/dist/browser/FrameManager.js +5 -21
- package/dist/browser/HTTPRequest.d.ts +4 -18
- package/dist/browser/HTTPRequest.js +3 -48
- package/dist/browser/HTTPResponse.d.ts +2 -81
- package/dist/browser/HTTPResponse.js +3 -173
- package/dist/browser/JSHandle.d.ts +4 -5
- 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 +2 -4
- package/dist/browser/NetworkEventManager.js +0 -47
- package/dist/browser/NetworkManager.d.ts +1 -3
- package/dist/browser/NetworkManager.js +6 -42
- package/dist/browser/NodeWebSocketTransport.d.ts +8 -2
- package/dist/browser/NodeWebSocketTransport.js +1 -1
- package/dist/browser/{page.d.ts → Page.d.ts} +12 -16
- package/dist/browser/{page.js → Page.js} +20 -14
- package/dist/browser/PuppeteerNode.d.ts +7 -59
- package/dist/browser/PuppeteerNode.js +4 -66
- package/dist/browser/Target.d.ts +4 -4
- package/dist/browser/Target.js +1 -1
- 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 +4 -25
- package/dist/browser/util.d.ts +5 -4
- package/dist/browser/util.js +11 -3
- package/dist/browser-log.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/cancel.d.ts +7 -0
- package/dist/cancel.js +25 -0
- package/dist/ensure-faststart.d.ts +1 -0
- package/dist/ensure-faststart.js +14 -0
- package/dist/error-handling/handle-javascript-exception.d.ts +1 -1
- package/dist/error-handling/handle-javascript-exception.js +2 -2
- package/dist/extract-frame-from-video.d.ts +2 -2
- package/dist/extract-frame-from-video.js +26 -14
- package/dist/faststart/atom.d.ts +35 -0
- package/dist/faststart/atom.js +138 -0
- package/dist/faststart/index.d.ts +0 -0
- package/dist/faststart/index.js +1 -0
- package/dist/faststart/options.d.ts +6 -0
- package/dist/faststart/options.js +2 -0
- package/dist/faststart/qt-faststart.d.ts +18 -0
- package/dist/faststart/qt-faststart.js +66 -0
- package/dist/faststart/update-chunk-offsets.d.ts +10 -0
- package/dist/faststart/update-chunk-offsets.js +114 -0
- package/dist/faststart/util.d.ts +9 -0
- package/dist/faststart/util.js +34 -0
- package/dist/get-browser-instance.d.ts +2 -1
- package/dist/get-compositions.d.ts +1 -1
- package/dist/get-compositions.js +3 -3
- package/dist/get-local-browser-executable.js +7 -5
- package/dist/get-port.js +5 -14
- package/dist/get-video-info.d.ts +8 -0
- package/dist/get-video-info.js +50 -0
- package/dist/index.d.ts +14 -6
- package/dist/index.js +3 -0
- package/dist/last-frame-from-video-cache.d.ts +3 -1
- package/dist/offthread/index.d.ts +0 -0
- package/dist/offthread/index.js +1 -0
- package/dist/offthread-video-server.js +2 -6
- package/dist/open-browser.d.ts +4 -2
- package/dist/open-browser.js +8 -8
- package/dist/prepare-server.js +5 -2
- package/dist/provide-screenshot.d.ts +4 -3
- package/dist/provide-screenshot.js +0 -1
- package/dist/puppeteer-evaluate.d.ts +1 -1
- package/dist/puppeteer-evaluate.js +3 -3
- package/dist/puppeteer-screenshot.d.ts +4 -2
- package/dist/puppeteer-screenshot.js +2 -4
- package/dist/render-frames.d.ts +2 -2
- package/dist/render-frames.js +50 -47
- package/dist/render-gif.d.ts +2 -0
- package/dist/render-gif.js +242 -0
- package/dist/render-media.d.ts +4 -3
- package/dist/render-media.js +8 -3
- package/dist/render-still.d.ts +1 -1
- package/dist/screenshot-dom-element.d.ts +6 -6
- package/dist/screenshot-dom-element.js +3 -6
- package/dist/screenshot-task.d.ts +3 -1
- package/dist/screenshot-task.js +3 -5
- package/dist/seek-to-frame.d.ts +2 -2
- package/dist/seek-to-frame.js +2 -2
- package/dist/set-props-and-env.d.ts +1 -1
- package/dist/set-props-and-env.js +3 -0
- package/dist/should-use-vp9-decoder.d.ts +0 -0
- package/dist/should-use-vp9-decoder.js +1 -0
- package/dist/stitch-frames-to-gif.d.ts +8 -0
- package/dist/stitch-frames-to-gif.js +128 -0
- package/dist/stitch-frames-to-video.d.ts +4 -3
- package/dist/stitch-frames-to-video.js +31 -13
- package/dist/stringify-ffmpeg-filter.d.ts +1 -1
- package/dist/stringify-ffmpeg-filter.js +9 -7
- package/dist/validate-offthreadvideo-image-format.d.ts +1 -0
- package/dist/validate-offthreadvideo-image-format.js +15 -0
- package/dist/wait-for-symbolication-error-to-be-done.d.ts +3 -0
- package/dist/wait-for-symbolication-error-to-be-done.js +34 -0
- package/package.json +9 -5
- package/dist/assets/calculate-asset-positions.d.ts.map +0 -1
- package/dist/assets/calculate-asset-positions.js.map +0 -1
- package/dist/assets/calculate-atempo.d.ts.map +0 -1
- package/dist/assets/calculate-atempo.js.map +0 -1
- package/dist/assets/convert-assets-to-file-urls.d.ts.map +0 -1
- package/dist/assets/convert-assets-to-file-urls.js.map +0 -1
- package/dist/assets/download-and-map-assets-to-file.d.ts.map +0 -1
- package/dist/assets/download-and-map-assets-to-file.js.map +0 -1
- package/dist/assets/download-file.d.ts.map +0 -1
- package/dist/assets/download-file.js.map +0 -1
- package/dist/assets/ffmpeg-volume-expression.d.ts.map +0 -1
- package/dist/assets/ffmpeg-volume-expression.js.map +0 -1
- package/dist/assets/flatten-volume-array.d.ts.map +0 -1
- package/dist/assets/flatten-volume-array.js.map +0 -1
- package/dist/assets/get-audio-channels.d.ts.map +0 -1
- package/dist/assets/get-audio-channels.js.map +0 -1
- package/dist/assets/read-file.d.ts.map +0 -1
- package/dist/assets/read-file.js.map +0 -1
- package/dist/assets/round-volume-to-avoid-stack-overflow.d.ts.map +0 -1
- package/dist/assets/round-volume-to-avoid-stack-overflow.js.map +0 -1
- package/dist/assets/sanitize-filename.d.ts.map +0 -1
- package/dist/assets/sanitize-filename.js.map +0 -1
- package/dist/assets/sanitize-filepath.d.ts.map +0 -1
- package/dist/assets/sanitize-filepath.js.map +0 -1
- package/dist/assets/truncate-utf8-bytes.d.ts.map +0 -1
- package/dist/assets/truncate-utf8-bytes.js.map +0 -1
- package/dist/assets/types.d.ts.map +0 -1
- package/dist/assets/types.js.map +0 -1
- package/dist/browser/Accessibility.d.ts +0 -175
- package/dist/browser/Accessibility.js +0 -423
- package/dist/browser/AriaQueryHandler.d.ts +0 -20
- package/dist/browser/AriaQueryHandler.js +0 -108
- package/dist/browser/Coverage.d.ts +0 -180
- package/dist/browser/Coverage.js +0 -371
- package/dist/browser/Debug.d.ts +0 -19
- package/dist/browser/Debug.js +0 -42
- package/dist/browser/DeviceDescriptors.d.ts +0 -40
- package/dist/browser/DeviceDescriptors.js +0 -1407
- package/dist/browser/FileChooser.d.ts +0 -56
- package/dist/browser/FileChooser.js +0 -86
- package/dist/browser/Input.d.ts +0 -355
- package/dist/browser/Input.js +0 -592
- package/dist/browser/NetworkConditions.d.ts +0 -26
- package/dist/browser/NetworkConditions.js +0 -33
- package/dist/browser/PDFOptions.d.ts +0 -165
- package/dist/browser/PDFOptions.js +0 -34
- package/dist/browser/PipeTransport.d.ts +0 -10
- package/dist/browser/PipeTransport.js +0 -86
- package/dist/browser/Puppeteer.d.ts +0 -35
- package/dist/browser/Puppeteer.js +0 -17
- package/dist/browser/QueryHandler.d.ts +0 -64
- package/dist/browser/QueryHandler.js +0 -183
- package/dist/browser/SecurityDetails.d.ts +0 -55
- package/dist/browser/SecurityDetails.js +0 -95
- package/dist/browser/Tracing.d.ts +0 -45
- package/dist/browser/Tracing.js +0 -136
- package/dist/browser/USKeyboardLayout.d.ts +0 -39
- package/dist/browser/USKeyboardLayout.js +0 -406
- package/dist/browser/WebWorker.d.ts +0 -96
- package/dist/browser/WebWorker.js +0 -122
- package/dist/browser/dialog.d.ts +0 -70
- package/dist/browser/dialog.js +0 -114
- package/dist/browser/fetch.d.ts +0 -16
- package/dist/browser/fetch.js +0 -46
- package/dist/browser/find-up.d.ts +0 -4
- package/dist/browser/find-up.js +0 -85
- package/dist/browser/pkg-dir.d.ts +0 -3
- package/dist/browser/pkg-dir.js +0 -13
- package/dist/browser-log.d.ts.map +0 -1
- package/dist/browser-log.js.map +0 -1
- package/dist/calculate-ffmpeg-filters.d.ts.map +0 -1
- package/dist/calculate-ffmpeg-filters.js.map +0 -1
- package/dist/can-use-parallel-encoding.d.ts.map +0 -1
- package/dist/can-use-parallel-encoding.js.map +0 -1
- package/dist/chunk.d.ts.map +0 -1
- package/dist/chunk.js.map +0 -1
- package/dist/combine-videos.d.ts.map +0 -1
- package/dist/combine-videos.js.map +0 -1
- package/dist/convert-to-pcm.d.ts.map +0 -1
- package/dist/convert-to-pcm.js.map +0 -1
- package/dist/create-ffmpeg-complex-filter.d.ts.map +0 -1
- package/dist/create-ffmpeg-complex-filter.js.map +0 -1
- package/dist/create-ffmpeg-merge-filter.d.ts.map +0 -1
- package/dist/create-ffmpeg-merge-filter.js.map +0 -1
- package/dist/create-silent-audio.d.ts.map +0 -1
- package/dist/create-silent-audio.js.map +0 -1
- package/dist/cycle-browser-tabs.d.ts.map +0 -1
- package/dist/cycle-browser-tabs.js.map +0 -1
- package/dist/delay-render-embedded-stack.d.ts.map +0 -1
- package/dist/delay-render-embedded-stack.js.map +0 -1
- package/dist/delete-directory.d.ts.map +0 -1
- package/dist/delete-directory.js.map +0 -1
- package/dist/ensure-frames-in-order.d.ts.map +0 -1
- package/dist/ensure-frames-in-order.js.map +0 -1
- package/dist/ensure-output-directory.d.ts.map +0 -1
- package/dist/ensure-output-directory.js.map +0 -1
- package/dist/error-handling/handle-javascript-exception.d.ts.map +0 -1
- package/dist/error-handling/handle-javascript-exception.js.map +0 -1
- package/dist/error-handling/symbolicate-error.d.ts.map +0 -1
- package/dist/error-handling/symbolicate-error.js.map +0 -1
- package/dist/error-handling/symbolicateable-error.d.ts.map +0 -1
- package/dist/error-handling/symbolicateable-error.js.map +0 -1
- package/dist/ffmpeg-filter-file.d.ts.map +0 -1
- package/dist/ffmpeg-filter-file.js.map +0 -1
- package/dist/ffmpeg-flags.d.ts.map +0 -1
- package/dist/ffmpeg-flags.js.map +0 -1
- package/dist/get-audio-codec-name.d.ts.map +0 -1
- package/dist/get-audio-codec-name.js.map +0 -1
- package/dist/get-browser-instance.d.ts.map +0 -1
- package/dist/get-browser-instance.js.map +0 -1
- package/dist/get-codec-name.d.ts.map +0 -1
- package/dist/get-codec-name.js.map +0 -1
- package/dist/get-compositions.d.ts.map +0 -1
- package/dist/get-compositions.js.map +0 -1
- package/dist/get-concurrency.d.ts.map +0 -1
- package/dist/get-concurrency.js.map +0 -1
- package/dist/get-duration-from-frame-range.d.ts.map +0 -1
- package/dist/get-duration-from-frame-range.js.map +0 -1
- package/dist/get-extension-from-codec.d.ts.map +0 -1
- package/dist/get-extension-from-codec.js.map +0 -1
- package/dist/get-frame-to-render.d.ts.map +0 -1
- package/dist/get-frame-to-render.js.map +0 -1
- package/dist/get-local-browser-executable.d.ts.map +0 -1
- package/dist/get-local-browser-executable.js.map +0 -1
- package/dist/get-port.d.ts.map +0 -1
- package/dist/get-port.js.map +0 -1
- package/dist/get-prores-profile-name.d.ts.map +0 -1
- package/dist/get-prores-profile-name.js.map +0 -1
- package/dist/image-format.d.ts.map +0 -1
- package/dist/image-format.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/is-serve-url.d.ts.map +0 -1
- package/dist/is-serve-url.js.map +0 -1
- package/dist/legacy-webpack-config.d.ts.map +0 -1
- package/dist/legacy-webpack-config.js.map +0 -1
- package/dist/make-assets-download-dir.d.ts.map +0 -1
- package/dist/make-assets-download-dir.js.map +0 -1
- package/dist/merge-audio-track.d.ts.map +0 -1
- package/dist/merge-audio-track.js.map +0 -1
- package/dist/normalize-serve-url.d.ts.map +0 -1
- package/dist/normalize-serve-url.js.map +0 -1
- package/dist/open-browser.d.ts.map +0 -1
- package/dist/open-browser.js.map +0 -1
- package/dist/p-limit.d.ts.map +0 -1
- package/dist/p-limit.js.map +0 -1
- package/dist/parse-browser-error-stack.d.ts.map +0 -1
- package/dist/parse-browser-error-stack.js.map +0 -1
- package/dist/parse-ffmpeg-progress.d.ts.map +0 -1
- package/dist/parse-ffmpeg-progress.js.map +0 -1
- package/dist/pool.d.ts.map +0 -1
- package/dist/pool.js.map +0 -1
- package/dist/prepare-server.d.ts.map +0 -1
- package/dist/prepare-server.js.map +0 -1
- package/dist/preprocess-audio-track.d.ts.map +0 -1
- package/dist/preprocess-audio-track.js.map +0 -1
- package/dist/prespawn-ffmpeg.d.ts.map +0 -1
- package/dist/prespawn-ffmpeg.js.map +0 -1
- package/dist/provide-screenshot.d.ts.map +0 -1
- package/dist/provide-screenshot.js.map +0 -1
- package/dist/puppeteer-evaluate.d.ts.map +0 -1
- package/dist/puppeteer-evaluate.js.map +0 -1
- package/dist/puppeteer-screenshot.d.ts.map +0 -1
- package/dist/puppeteer-screenshot.js.map +0 -1
- package/dist/render-frames.d.ts.map +0 -1
- package/dist/render-frames.js.map +0 -1
- package/dist/render-media.d.ts.map +0 -1
- package/dist/render-media.js.map +0 -1
- package/dist/render-still.d.ts.map +0 -1
- package/dist/render-still.js.map +0 -1
- package/dist/resolve-asset-src.d.ts.map +0 -1
- package/dist/resolve-asset-src.js.map +0 -1
- package/dist/sample-rate.d.ts.map +0 -1
- package/dist/sample-rate.js.map +0 -1
- package/dist/screenshot-dom-element.d.ts.map +0 -1
- package/dist/screenshot-dom-element.js.map +0 -1
- package/dist/screenshot-task.d.ts.map +0 -1
- package/dist/screenshot-task.js.map +0 -1
- package/dist/seek-to-frame.d.ts.map +0 -1
- package/dist/seek-to-frame.js.map +0 -1
- package/dist/serve-static.d.ts.map +0 -1
- package/dist/serve-static.js.map +0 -1
- package/dist/set-props-and-env.d.ts.map +0 -1
- package/dist/set-props-and-env.js.map +0 -1
- package/dist/stitch-frames-to-video.d.ts.map +0 -1
- package/dist/stitch-frames-to-video.js.map +0 -1
- package/dist/stringify-ffmpeg-filter.d.ts.map +0 -1
- package/dist/stringify-ffmpeg-filter.js.map +0 -1
- package/dist/symbolicate-stacktrace.d.ts.map +0 -1
- package/dist/symbolicate-stacktrace.js.map +0 -1
- package/dist/tmp-dir.d.ts.map +0 -1
- package/dist/tmp-dir.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/validate-even-dimensions-with-codec.d.ts.map +0 -1
- package/dist/validate-even-dimensions-with-codec.js.map +0 -1
- package/dist/validate-ffmpeg.d.ts.map +0 -1
- package/dist/validate-ffmpeg.js.map +0 -1
- package/dist/validate-puppeteer-timeout.d.ts.map +0 -1
- package/dist/validate-puppeteer-timeout.js.map +0 -1
- package/dist/validate-scale.d.ts.map +0 -1
- package/dist/validate-scale.js.map +0 -1
|
@@ -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
|
-
import { Protocol } from 'devtools-protocol';
|
|
2
|
-
import { HTTPRequest } from './HTTPRequest';
|
|
1
|
+
import type { Protocol } from 'devtools-protocol';
|
|
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 {};
|
|
@@ -25,15 +25,13 @@ 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 _NetworkManager_instances, _NetworkManager_client, _NetworkManager_frameManager, _NetworkManager_networkEventManager,
|
|
28
|
+
var _NetworkManager_instances, _NetworkManager_client, _NetworkManager_frameManager, _NetworkManager_networkEventManager, _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
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
30
|
exports.NetworkManager = exports.NetworkManagerEmittedEvents = void 0;
|
|
31
|
-
const assert_1 = require("./assert");
|
|
32
31
|
const EventEmitter_1 = require("./EventEmitter");
|
|
33
32
|
const HTTPRequest_1 = require("./HTTPRequest");
|
|
34
33
|
const HTTPResponse_1 = require("./HTTPResponse");
|
|
35
34
|
const NetworkEventManager_1 = require("./NetworkEventManager");
|
|
36
|
-
const util_1 = require("./util");
|
|
37
35
|
exports.NetworkManagerEmittedEvents = {
|
|
38
36
|
Request: Symbol('NetworkManager.Request'),
|
|
39
37
|
};
|
|
@@ -44,8 +42,6 @@ class NetworkManager extends EventEmitter_1.EventEmitter {
|
|
|
44
42
|
_NetworkManager_client.set(this, void 0);
|
|
45
43
|
_NetworkManager_frameManager.set(this, void 0);
|
|
46
44
|
_NetworkManager_networkEventManager.set(this, new NetworkEventManager_1.NetworkEventManager());
|
|
47
|
-
_NetworkManager_extraHTTPHeaders.set(this, {});
|
|
48
|
-
_NetworkManager_attemptedAuthentications.set(this, new Set());
|
|
49
45
|
__classPrivateFieldSet(this, _NetworkManager_client, client, "f");
|
|
50
46
|
__classPrivateFieldSet(this, _NetworkManager_frameManager, frameManager, "f");
|
|
51
47
|
__classPrivateFieldGet(this, _NetworkManager_client, "f").on('Fetch.requestPaused', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onRequestPaused).bind(this));
|
|
@@ -60,32 +56,15 @@ class NetworkManager extends EventEmitter_1.EventEmitter {
|
|
|
60
56
|
async initialize() {
|
|
61
57
|
await __classPrivateFieldGet(this, _NetworkManager_client, "f").send('Network.enable');
|
|
62
58
|
}
|
|
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
59
|
numRequestsInProgress() {
|
|
78
60
|
return __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").numRequestsInProgress();
|
|
79
61
|
}
|
|
80
62
|
}
|
|
81
63
|
exports.NetworkManager = NetworkManager;
|
|
82
|
-
_NetworkManager_client = new WeakMap(), _NetworkManager_frameManager = new WeakMap(), _NetworkManager_networkEventManager = new WeakMap(),
|
|
64
|
+
_NetworkManager_client = new WeakMap(), _NetworkManager_frameManager = new WeakMap(), _NetworkManager_networkEventManager = new WeakMap(), _NetworkManager_instances = new WeakSet(), _NetworkManager_onRequestWillBeSent = function _NetworkManager_onRequestWillBeSent(event) {
|
|
83
65
|
__classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onRequest).call(this, event, undefined);
|
|
84
66
|
}, _NetworkManager_onAuthRequired = function _NetworkManager_onAuthRequired(event) {
|
|
85
|
-
|
|
86
|
-
if (__classPrivateFieldGet(this, _NetworkManager_attemptedAuthentications, "f").has(event.requestId)) {
|
|
87
|
-
response = 'CancelAuth';
|
|
88
|
-
}
|
|
67
|
+
const response = 'Default';
|
|
89
68
|
const { username, password } = {
|
|
90
69
|
username: undefined,
|
|
91
70
|
password: undefined,
|
|
@@ -126,7 +105,6 @@ _NetworkManager_client = new WeakMap(), _NetworkManager_frameManager = new WeakM
|
|
|
126
105
|
...requestPausedEvent.request.headers,
|
|
127
106
|
};
|
|
128
107
|
}, _NetworkManager_onRequest = function _NetworkManager_onRequest(event, fetchRequestId) {
|
|
129
|
-
let redirectChain = [];
|
|
130
108
|
if (event.redirectResponse) {
|
|
131
109
|
// We want to emit a response and requestfinished for the
|
|
132
110
|
// redirectResponse, but we can't do so unless we have a
|
|
@@ -153,13 +131,12 @@ _NetworkManager_client = new WeakMap(), _NetworkManager_frameManager = new WeakM
|
|
|
153
131
|
// requestWillBeSent event.
|
|
154
132
|
if (_request) {
|
|
155
133
|
__classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_handleRequestRedirect).call(this, _request, event.redirectResponse, redirectResponseExtraInfo);
|
|
156
|
-
redirectChain = _request._redirectChain;
|
|
157
134
|
}
|
|
158
135
|
}
|
|
159
136
|
const frame = event.frameId
|
|
160
137
|
? __classPrivateFieldGet(this, _NetworkManager_frameManager, "f").frame(event.frameId)
|
|
161
138
|
: null;
|
|
162
|
-
const request = new HTTPRequest_1.HTTPRequest(frame, event
|
|
139
|
+
const request = new HTTPRequest_1.HTTPRequest(frame, event);
|
|
163
140
|
__classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").storeRequest(event.requestId, request);
|
|
164
141
|
this.emit(exports.NetworkManagerEmittedEvents.Request, request);
|
|
165
142
|
}, _NetworkManager_onRequestServedFromCache = function _NetworkManager_onRequestServedFromCache(event) {
|
|
@@ -168,10 +145,8 @@ _NetworkManager_client = new WeakMap(), _NetworkManager_frameManager = new WeakM
|
|
|
168
145
|
request._fromMemoryCache = true;
|
|
169
146
|
}
|
|
170
147
|
}, _NetworkManager_handleRequestRedirect = function _NetworkManager_handleRequestRedirect(request, responsePayload, extraInfo) {
|
|
171
|
-
const response = new HTTPResponse_1.HTTPResponse(
|
|
148
|
+
const response = new HTTPResponse_1.HTTPResponse(responsePayload, extraInfo);
|
|
172
149
|
request._response = response;
|
|
173
|
-
request._redirectChain.push(request);
|
|
174
|
-
response._resolveBody(new Error('Response body is unavailable for redirect responses'));
|
|
175
150
|
__classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_forgetRequest).call(this, request, false);
|
|
176
151
|
}, _NetworkManager_emitResponseEvent = function _NetworkManager_emitResponseEvent(responseReceived, extraInfo) {
|
|
177
152
|
const request = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequest(responseReceived.requestId);
|
|
@@ -184,7 +159,7 @@ _NetworkManager_client = new WeakMap(), _NetworkManager_frameManager = new WeakM
|
|
|
184
159
|
console.log(new Error('Unexpected extraInfo events for request ' +
|
|
185
160
|
responseReceived.requestId));
|
|
186
161
|
}
|
|
187
|
-
const response = new HTTPResponse_1.HTTPResponse(
|
|
162
|
+
const response = new HTTPResponse_1.HTTPResponse(responseReceived.response, extraInfo);
|
|
188
163
|
request._response = response;
|
|
189
164
|
}, _NetworkManager_onResponseReceived = function _NetworkManager_onResponseReceived(event) {
|
|
190
165
|
const request = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequest(event.requestId);
|
|
@@ -245,18 +220,12 @@ _NetworkManager_client = new WeakMap(), _NetworkManager_frameManager = new WeakM
|
|
|
245
220
|
__classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_emitLoadingFinished).call(this, event);
|
|
246
221
|
}
|
|
247
222
|
}, _NetworkManager_emitLoadingFinished = function _NetworkManager_emitLoadingFinished(event) {
|
|
248
|
-
var _a;
|
|
249
223
|
const request = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequest(event.requestId);
|
|
250
224
|
// For certain requestIds we never receive requestWillBeSent event.
|
|
251
225
|
// @see https://crbug.com/750469
|
|
252
226
|
if (!request) {
|
|
253
227
|
return;
|
|
254
228
|
}
|
|
255
|
-
// Under certain conditions we never get the Network.responseReceived
|
|
256
|
-
// event from protocol. @see https://crbug.com/883475
|
|
257
|
-
if (request.response()) {
|
|
258
|
-
(_a = request.response()) === null || _a === void 0 ? void 0 : _a._resolveBody(null);
|
|
259
|
-
}
|
|
260
229
|
__classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_forgetRequest).call(this, request, true);
|
|
261
230
|
}, _NetworkManager_onLoadingFailed = function _NetworkManager_onLoadingFailed(event) {
|
|
262
231
|
// If the response event for this request is still waiting on a
|
|
@@ -275,10 +244,5 @@ _NetworkManager_client = new WeakMap(), _NetworkManager_frameManager = new WeakM
|
|
|
275
244
|
if (!request) {
|
|
276
245
|
return;
|
|
277
246
|
}
|
|
278
|
-
request._failureText = event.errorText;
|
|
279
|
-
const response = request.response();
|
|
280
|
-
if (response) {
|
|
281
|
-
response._resolveBody(null);
|
|
282
|
-
}
|
|
283
247
|
__classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_forgetRequest).call(this, request, true);
|
|
284
248
|
};
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
import NodeWebSocket from 'ws';
|
|
2
|
-
|
|
2
|
+
interface ConnectionTransport {
|
|
3
|
+
send(message: string): void;
|
|
4
|
+
close(): void;
|
|
5
|
+
onmessage?: (message: string) => void;
|
|
6
|
+
onclose?: () => void;
|
|
7
|
+
}
|
|
3
8
|
export declare class NodeWebSocketTransport implements ConnectionTransport {
|
|
4
9
|
#private;
|
|
5
10
|
static create(urlString: string): Promise<NodeWebSocketTransport>;
|
|
6
|
-
onmessage?: (message:
|
|
11
|
+
onmessage?: (message: string) => void;
|
|
7
12
|
onclose?: () => void;
|
|
8
13
|
constructor(ws: NodeWebSocket);
|
|
9
14
|
send(message: string): void;
|
|
10
15
|
close(): void;
|
|
11
16
|
}
|
|
17
|
+
export {};
|
|
@@ -52,7 +52,7 @@ class NodeWebSocketTransport {
|
|
|
52
52
|
__classPrivateFieldGet(this, _NodeWebSocketTransport_ws, "f").addEventListener('error', () => undefined);
|
|
53
53
|
}
|
|
54
54
|
static async create(urlString) {
|
|
55
|
-
//
|
|
55
|
+
// Starting in Node 17, IPv6 is favoured over IPv4 due to a change
|
|
56
56
|
// in a default option:
|
|
57
57
|
// - https://github.com/nodejs/node/issues/40537,
|
|
58
58
|
// Due to this, for Firefox, we must parse and resolve the `localhost` hostname
|
|
@@ -13,24 +13,19 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import {
|
|
16
|
+
import type { Browser } from './Browser';
|
|
17
|
+
import type { CDPSession } from './Connection';
|
|
17
18
|
import { ConsoleMessage } from './ConsoleMessage';
|
|
18
|
-
import { EvaluateFn, EvaluateFnReturnType, EvaluateHandleFn, SerializableOrJSHandle, UnwrapPromiseLike } from './EvalTypes';
|
|
19
|
+
import type { EvaluateFn, EvaluateFnReturnType, EvaluateHandleFn, SerializableOrJSHandle, UnwrapPromiseLike } from './EvalTypes';
|
|
19
20
|
import { EventEmitter } from './EventEmitter';
|
|
20
|
-
import { Frame } from './FrameManager';
|
|
21
|
-
import { HTTPResponse } from './HTTPResponse';
|
|
22
|
-
import { JSHandle } from './JSHandle';
|
|
23
|
-
import {
|
|
24
|
-
import {
|
|
25
|
-
import { Target } from './Target';
|
|
21
|
+
import type { Frame } from './FrameManager';
|
|
22
|
+
import type { HTTPResponse } from './HTTPResponse';
|
|
23
|
+
import type { JSHandle } from './JSHandle';
|
|
24
|
+
import type { Viewport } from './PuppeteerViewport';
|
|
25
|
+
import type { Target } from './Target';
|
|
26
26
|
import { TaskQueue } from './TaskQueue';
|
|
27
27
|
interface WaitForOptions {
|
|
28
28
|
timeout?: number;
|
|
29
|
-
waitUntil?: PuppeteerLifeCycleEvent | PuppeteerLifeCycleEvent[];
|
|
30
|
-
}
|
|
31
|
-
export declare const enum PageEmittedEvents {
|
|
32
|
-
Console = "console",
|
|
33
|
-
Error = "error"
|
|
34
29
|
}
|
|
35
30
|
interface PageEventObject {
|
|
36
31
|
console: ConsoleMessage;
|
|
@@ -38,9 +33,10 @@ interface PageEventObject {
|
|
|
38
33
|
}
|
|
39
34
|
export declare class Page extends EventEmitter {
|
|
40
35
|
#private;
|
|
41
|
-
static _create(client: CDPSession, target: Target, defaultViewport: Viewport): Promise<Page>;
|
|
36
|
+
static _create(client: CDPSession, target: Target, defaultViewport: Viewport, browser: Browser): Promise<Page>;
|
|
37
|
+
browser: Browser;
|
|
42
38
|
screenshotTaskQueue: TaskQueue;
|
|
43
|
-
constructor(client: CDPSession, target: Target);
|
|
39
|
+
constructor(client: CDPSession, target: Target, browser: Browser);
|
|
44
40
|
/**
|
|
45
41
|
* Listen to page events.
|
|
46
42
|
*/
|
|
@@ -73,6 +69,6 @@ export declare class Page extends EventEmitter {
|
|
|
73
69
|
runBeforeUnload?: boolean;
|
|
74
70
|
}): Promise<void>;
|
|
75
71
|
isClosed(): boolean;
|
|
76
|
-
waitForFunction(pageFunction: Function | string, ...args: SerializableOrJSHandle[]): Promise<JSHandle>;
|
|
72
|
+
waitForFunction(browser: Browser, pageFunction: Function | string, ...args: SerializableOrJSHandle[]): Promise<JSHandle>;
|
|
77
73
|
}
|
|
78
74
|
export {};
|
|
@@ -25,13 +25,11 @@ 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 _Page_instances, _Page_closed, _Page_client, _Page_target, _Page_timeoutSettings, _Page_frameManager,
|
|
28
|
+
var _Page_instances, _Page_closed, _Page_client, _Page_target, _Page_timeoutSettings, _Page_frameManager, _Page_pageBindings, _Page_initialize, _Page_onTargetCrashed, _Page_onLogEntryAdded, _Page_onConsoleAPI, _Page_onBindingCalled, _Page_addConsoleMessage;
|
|
29
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
30
|
exports.Page = void 0;
|
|
31
|
-
const console_1 = require("console");
|
|
32
31
|
const assert_1 = require("./assert");
|
|
33
32
|
const ConsoleMessage_1 = require("./ConsoleMessage");
|
|
34
|
-
const EmulationManager_1 = require("./EmulationManager");
|
|
35
33
|
const EventEmitter_1 = require("./EventEmitter");
|
|
36
34
|
const FrameManager_1 = require("./FrameManager");
|
|
37
35
|
const JSHandle_1 = require("./JSHandle");
|
|
@@ -39,7 +37,7 @@ const TaskQueue_1 = require("./TaskQueue");
|
|
|
39
37
|
const TimeoutSettings_1 = require("./TimeoutSettings");
|
|
40
38
|
const util_1 = require("./util");
|
|
41
39
|
class Page extends EventEmitter_1.EventEmitter {
|
|
42
|
-
constructor(client, target) {
|
|
40
|
+
constructor(client, target, browser) {
|
|
43
41
|
super();
|
|
44
42
|
_Page_instances.add(this);
|
|
45
43
|
_Page_closed.set(this, false);
|
|
@@ -47,13 +45,12 @@ class Page extends EventEmitter_1.EventEmitter {
|
|
|
47
45
|
_Page_target.set(this, void 0);
|
|
48
46
|
_Page_timeoutSettings.set(this, new TimeoutSettings_1.TimeoutSettings());
|
|
49
47
|
_Page_frameManager.set(this, void 0);
|
|
50
|
-
_Page_emulationManager.set(this, void 0);
|
|
51
48
|
_Page_pageBindings.set(this, new Map());
|
|
52
49
|
__classPrivateFieldSet(this, _Page_client, client, "f");
|
|
53
50
|
__classPrivateFieldSet(this, _Page_target, target, "f");
|
|
54
51
|
__classPrivateFieldSet(this, _Page_frameManager, new FrameManager_1.FrameManager(client, this, __classPrivateFieldGet(this, _Page_timeoutSettings, "f")), "f");
|
|
55
|
-
__classPrivateFieldSet(this, _Page_emulationManager, new EmulationManager_1.EmulationManager(client), "f");
|
|
56
52
|
this.screenshotTaskQueue = new TaskQueue_1.TaskQueue();
|
|
53
|
+
this.browser = browser;
|
|
57
54
|
client.on('Target.attachedToTarget', (event) => {
|
|
58
55
|
switch (event.targetInfo.type) {
|
|
59
56
|
case 'iframe':
|
|
@@ -71,7 +68,7 @@ class Page extends EventEmitter_1.EventEmitter {
|
|
|
71
68
|
.send('Target.detachFromTarget', {
|
|
72
69
|
sessionId: event.sessionId,
|
|
73
70
|
})
|
|
74
|
-
.catch(() => console.log(
|
|
71
|
+
.catch((err) => console.log(err));
|
|
75
72
|
}
|
|
76
73
|
});
|
|
77
74
|
client.on('Runtime.consoleAPICalled', (event) => {
|
|
@@ -87,8 +84,8 @@ class Page extends EventEmitter_1.EventEmitter {
|
|
|
87
84
|
return __classPrivateFieldGet(this, _Page_instances, "m", _Page_onLogEntryAdded).call(this, event);
|
|
88
85
|
});
|
|
89
86
|
}
|
|
90
|
-
static async _create(client, target, defaultViewport) {
|
|
91
|
-
const page = new Page(client, target);
|
|
87
|
+
static async _create(client, target, defaultViewport, browser) {
|
|
88
|
+
const page = new Page(client, target, browser);
|
|
92
89
|
await __classPrivateFieldGet(page, _Page_instances, "m", _Page_initialize).call(page);
|
|
93
90
|
await page.setViewport(defaultViewport);
|
|
94
91
|
return page;
|
|
@@ -127,8 +124,17 @@ class Page extends EventEmitter_1.EventEmitter {
|
|
|
127
124
|
mainFrame() {
|
|
128
125
|
return __classPrivateFieldGet(this, _Page_frameManager, "f").mainFrame();
|
|
129
126
|
}
|
|
130
|
-
|
|
131
|
-
|
|
127
|
+
setViewport(viewport) {
|
|
128
|
+
return __classPrivateFieldGet(this, _Page_client, "f").send('Emulation.setDeviceMetricsOverride', {
|
|
129
|
+
mobile: false,
|
|
130
|
+
width: viewport.width,
|
|
131
|
+
height: viewport.height,
|
|
132
|
+
deviceScaleFactor: viewport.deviceScaleFactor,
|
|
133
|
+
screenOrientation: {
|
|
134
|
+
angle: 0,
|
|
135
|
+
type: 'portraitPrimary',
|
|
136
|
+
},
|
|
137
|
+
});
|
|
132
138
|
}
|
|
133
139
|
setDefaultNavigationTimeout(timeout) {
|
|
134
140
|
__classPrivateFieldGet(this, _Page_timeoutSettings, "f").setDefaultNavigationTimeout(timeout);
|
|
@@ -175,12 +181,12 @@ class Page extends EventEmitter_1.EventEmitter {
|
|
|
175
181
|
isClosed() {
|
|
176
182
|
return __classPrivateFieldGet(this, _Page_closed, "f");
|
|
177
183
|
}
|
|
178
|
-
waitForFunction(pageFunction, ...args) {
|
|
179
|
-
return this.mainFrame().waitForFunction(pageFunction, ...args);
|
|
184
|
+
waitForFunction(browser, pageFunction, ...args) {
|
|
185
|
+
return this.mainFrame().waitForFunction(browser, pageFunction, ...args);
|
|
180
186
|
}
|
|
181
187
|
}
|
|
182
188
|
exports.Page = Page;
|
|
183
|
-
_Page_closed = new WeakMap(), _Page_client = new WeakMap(), _Page_target = new WeakMap(), _Page_timeoutSettings = new WeakMap(), _Page_frameManager = new WeakMap(),
|
|
189
|
+
_Page_closed = new WeakMap(), _Page_client = new WeakMap(), _Page_target = new WeakMap(), _Page_timeoutSettings = new WeakMap(), _Page_frameManager = new WeakMap(), _Page_pageBindings = new WeakMap(), _Page_instances = new WeakSet(), _Page_initialize = async function _Page_initialize() {
|
|
184
190
|
await Promise.all([
|
|
185
191
|
__classPrivateFieldGet(this, _Page_frameManager, "f").initialize(),
|
|
186
192
|
__classPrivateFieldGet(this, _Page_client, "f").send('Target.setAutoAttach', {
|
|
@@ -13,12 +13,13 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import { Browser } from './Browser';
|
|
17
|
-
import { BrowserConnectOptions
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
16
|
+
import type { Browser } from './Browser';
|
|
17
|
+
import type { BrowserConnectOptions } from './BrowserConnector';
|
|
18
|
+
import type { BrowserFetcherOptions } from './BrowserFetcher';
|
|
19
|
+
import { BrowserFetcher } from './BrowserFetcher';
|
|
20
|
+
import type { ProductLauncher } from './Launcher';
|
|
21
|
+
import type { BrowserLaunchArgumentOptions, LaunchOptions } from './LaunchOptions';
|
|
22
|
+
import type { Product } from './Product';
|
|
22
23
|
interface PuppeteerLaunchOptions extends LaunchOptions, BrowserLaunchArgumentOptions, BrowserConnectOptions {
|
|
23
24
|
product?: Product;
|
|
24
25
|
extraPrefsFirefox?: Record<string, unknown>;
|
|
@@ -30,63 +31,10 @@ export declare class PuppeteerNode {
|
|
|
30
31
|
preferredRevision: string;
|
|
31
32
|
productName?: Product;
|
|
32
33
|
});
|
|
33
|
-
connect(options: ConnectToBrowserOptions & {
|
|
34
|
-
product: Product;
|
|
35
|
-
}): Promise<Browser>;
|
|
36
|
-
get _productName(): Product | undefined;
|
|
37
|
-
set _productName(name: Product | undefined);
|
|
38
|
-
/**
|
|
39
|
-
* Launches puppeteer and launches a browser instance with given arguments
|
|
40
|
-
* and options when specified.
|
|
41
|
-
*
|
|
42
|
-
* @remarks
|
|
43
|
-
*
|
|
44
|
-
* @example
|
|
45
|
-
* You can use `ignoreDefaultArgs` to filter out `--mute-audio` from default arguments:
|
|
46
|
-
* ```js
|
|
47
|
-
* const browser = await puppeteer.launch({
|
|
48
|
-
* ignoreDefaultArgs: ['--mute-audio']
|
|
49
|
-
* });
|
|
50
|
-
* ```
|
|
51
|
-
*
|
|
52
|
-
* **NOTE** Puppeteer can also be used to control the Chrome browser,
|
|
53
|
-
* but it works best with the version of Chromium it is bundled with.
|
|
54
|
-
* There is no guarantee it will work with any other version.
|
|
55
|
-
* Use `executablePath` option with extreme caution.
|
|
56
|
-
* If Google Chrome (rather than Chromium) is preferred, a {@link https://www.google.com/chrome/browser/canary.html | Chrome Canary} or {@link https://www.chromium.org/getting-involved/dev-channel | Dev Channel} build is suggested.
|
|
57
|
-
* In `puppeteer.launch([options])`, any mention of Chromium also applies to Chrome.
|
|
58
|
-
* See {@link https://www.howtogeek.com/202825/what%E2%80%99s-the-difference-between-chromium-and-chrome/ | this article} for a description of the differences between Chromium and Chrome. {@link https://chromium.googlesource.com/chromium/src/+/lkgr/docs/chromium_browser_vs_google_chrome.md | This article} describes some differences for Linux users.
|
|
59
|
-
*
|
|
60
|
-
* @param options - Set of configurable options to set on the browser.
|
|
61
|
-
* @returns Promise which resolves to browser instance.
|
|
62
|
-
*/
|
|
63
34
|
launch(options: PuppeteerLaunchOptions): Promise<Browser>;
|
|
64
|
-
/**
|
|
65
|
-
* @remarks
|
|
66
|
-
*
|
|
67
|
-
* **NOTE** `puppeteer.executablePath()` is affected by the `PUPPETEER_EXECUTABLE_PATH`
|
|
68
|
-
* and `PUPPETEER_CHROMIUM_REVISION` environment variables.
|
|
69
|
-
*
|
|
70
|
-
* @returns A path where Puppeteer expects to find the bundled browser.
|
|
71
|
-
* The browser binary might not be there if the download was skipped with
|
|
72
|
-
* the `PUPPETEER_SKIP_DOWNLOAD` environment variable.
|
|
73
|
-
*/
|
|
74
35
|
executablePath(channel?: string): string;
|
|
75
36
|
get _launcher(): ProductLauncher;
|
|
76
|
-
/**
|
|
77
|
-
* The name of the browser that is under automation (`"chrome"` or `"firefox"`)
|
|
78
|
-
*
|
|
79
|
-
* @remarks
|
|
80
|
-
* The product is set by the `PUPPETEER_PRODUCT` environment variable or the `product`
|
|
81
|
-
* option in `puppeteer.launch([options])` and defaults to `chrome`.
|
|
82
|
-
* Firefox support is experimental.
|
|
83
|
-
*/
|
|
84
37
|
get product(): string;
|
|
85
|
-
/**
|
|
86
|
-
* @param options - Set of configurable options to specify the settings
|
|
87
|
-
* of the BrowserFetcher.
|
|
88
|
-
* @returns A new BrowserFetcher instance.
|
|
89
|
-
*/
|
|
90
38
|
createBrowserFetcher(options: BrowserFetcherOptions): BrowserFetcher;
|
|
91
39
|
}
|
|
92
40
|
export {};
|
|
@@ -31,7 +31,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
31
31
|
var _PuppeteerNode_lazyLauncher, _PuppeteerNode_productName;
|
|
32
32
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
33
33
|
exports.PuppeteerNode = void 0;
|
|
34
|
-
const BrowserConnector_1 = require("./BrowserConnector");
|
|
35
34
|
const BrowserFetcher_1 = require("./BrowserFetcher");
|
|
36
35
|
const Launcher_1 = __importDefault(require("./Launcher"));
|
|
37
36
|
const revisions_1 = require("./revisions");
|
|
@@ -42,71 +41,23 @@ class PuppeteerNode {
|
|
|
42
41
|
const { preferredRevision, productName } = settings;
|
|
43
42
|
__classPrivateFieldSet(this, _PuppeteerNode_productName, productName, "f");
|
|
44
43
|
this._preferredRevision = preferredRevision;
|
|
45
|
-
this.connect = this.connect.bind(this);
|
|
46
44
|
this.launch = this.launch.bind(this);
|
|
47
45
|
this.executablePath = this.executablePath.bind(this);
|
|
48
46
|
this.createBrowserFetcher = this.createBrowserFetcher.bind(this);
|
|
49
47
|
}
|
|
50
|
-
connect(options) {
|
|
51
|
-
if (options.product) {
|
|
52
|
-
this._productName = options.product;
|
|
53
|
-
}
|
|
54
|
-
return (0, BrowserConnector_1._connectToBrowser)(options);
|
|
55
|
-
}
|
|
56
|
-
get _productName() {
|
|
57
|
-
return __classPrivateFieldGet(this, _PuppeteerNode_productName, "f");
|
|
58
|
-
}
|
|
59
|
-
set _productName(name) {
|
|
60
|
-
__classPrivateFieldSet(this, _PuppeteerNode_productName, name, "f");
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Launches puppeteer and launches a browser instance with given arguments
|
|
64
|
-
* and options when specified.
|
|
65
|
-
*
|
|
66
|
-
* @remarks
|
|
67
|
-
*
|
|
68
|
-
* @example
|
|
69
|
-
* You can use `ignoreDefaultArgs` to filter out `--mute-audio` from default arguments:
|
|
70
|
-
* ```js
|
|
71
|
-
* const browser = await puppeteer.launch({
|
|
72
|
-
* ignoreDefaultArgs: ['--mute-audio']
|
|
73
|
-
* });
|
|
74
|
-
* ```
|
|
75
|
-
*
|
|
76
|
-
* **NOTE** Puppeteer can also be used to control the Chrome browser,
|
|
77
|
-
* but it works best with the version of Chromium it is bundled with.
|
|
78
|
-
* There is no guarantee it will work with any other version.
|
|
79
|
-
* Use `executablePath` option with extreme caution.
|
|
80
|
-
* If Google Chrome (rather than Chromium) is preferred, a {@link https://www.google.com/chrome/browser/canary.html | Chrome Canary} or {@link https://www.chromium.org/getting-involved/dev-channel | Dev Channel} build is suggested.
|
|
81
|
-
* In `puppeteer.launch([options])`, any mention of Chromium also applies to Chrome.
|
|
82
|
-
* See {@link https://www.howtogeek.com/202825/what%E2%80%99s-the-difference-between-chromium-and-chrome/ | this article} for a description of the differences between Chromium and Chrome. {@link https://chromium.googlesource.com/chromium/src/+/lkgr/docs/chromium_browser_vs_google_chrome.md | This article} describes some differences for Linux users.
|
|
83
|
-
*
|
|
84
|
-
* @param options - Set of configurable options to set on the browser.
|
|
85
|
-
* @returns Promise which resolves to browser instance.
|
|
86
|
-
*/
|
|
87
48
|
launch(options) {
|
|
88
49
|
if (options.product) {
|
|
89
|
-
this
|
|
50
|
+
__classPrivateFieldSet(this, _PuppeteerNode_productName, options.product, "f");
|
|
90
51
|
}
|
|
91
52
|
return this._launcher.launch(options);
|
|
92
53
|
}
|
|
93
|
-
/**
|
|
94
|
-
* @remarks
|
|
95
|
-
*
|
|
96
|
-
* **NOTE** `puppeteer.executablePath()` is affected by the `PUPPETEER_EXECUTABLE_PATH`
|
|
97
|
-
* and `PUPPETEER_CHROMIUM_REVISION` environment variables.
|
|
98
|
-
*
|
|
99
|
-
* @returns A path where Puppeteer expects to find the bundled browser.
|
|
100
|
-
* The browser binary might not be there if the download was skipped with
|
|
101
|
-
* the `PUPPETEER_SKIP_DOWNLOAD` environment variable.
|
|
102
|
-
*/
|
|
103
54
|
executablePath(channel) {
|
|
104
55
|
return this._launcher.executablePath(channel);
|
|
105
56
|
}
|
|
106
57
|
get _launcher() {
|
|
107
58
|
if (!__classPrivateFieldGet(this, _PuppeteerNode_lazyLauncher, "f") ||
|
|
108
|
-
__classPrivateFieldGet(this, _PuppeteerNode_lazyLauncher, "f").product !== this
|
|
109
|
-
switch (this
|
|
59
|
+
__classPrivateFieldGet(this, _PuppeteerNode_lazyLauncher, "f").product !== __classPrivateFieldGet(this, _PuppeteerNode_productName, "f")) {
|
|
60
|
+
switch (__classPrivateFieldGet(this, _PuppeteerNode_productName, "f")) {
|
|
110
61
|
case 'firefox':
|
|
111
62
|
this._preferredRevision = revisions_1.PUPPETEER_REVISIONS.firefox;
|
|
112
63
|
break;
|
|
@@ -115,26 +66,13 @@ class PuppeteerNode {
|
|
|
115
66
|
this._preferredRevision = revisions_1.PUPPETEER_REVISIONS.chromium;
|
|
116
67
|
}
|
|
117
68
|
// eslint-disable-next-line new-cap
|
|
118
|
-
__classPrivateFieldSet(this, _PuppeteerNode_lazyLauncher, (0, Launcher_1.default)(this._preferredRevision, this
|
|
69
|
+
__classPrivateFieldSet(this, _PuppeteerNode_lazyLauncher, (0, Launcher_1.default)(this._preferredRevision, __classPrivateFieldGet(this, _PuppeteerNode_productName, "f")), "f");
|
|
119
70
|
}
|
|
120
71
|
return __classPrivateFieldGet(this, _PuppeteerNode_lazyLauncher, "f");
|
|
121
72
|
}
|
|
122
|
-
/**
|
|
123
|
-
* The name of the browser that is under automation (`"chrome"` or `"firefox"`)
|
|
124
|
-
*
|
|
125
|
-
* @remarks
|
|
126
|
-
* The product is set by the `PUPPETEER_PRODUCT` environment variable or the `product`
|
|
127
|
-
* option in `puppeteer.launch([options])` and defaults to `chrome`.
|
|
128
|
-
* Firefox support is experimental.
|
|
129
|
-
*/
|
|
130
73
|
get product() {
|
|
131
74
|
return this._launcher.product;
|
|
132
75
|
}
|
|
133
|
-
/**
|
|
134
|
-
* @param options - Set of configurable options to specify the settings
|
|
135
|
-
* of the BrowserFetcher.
|
|
136
|
-
* @returns A new BrowserFetcher instance.
|
|
137
|
-
*/
|
|
138
76
|
createBrowserFetcher(options) {
|
|
139
77
|
return new BrowserFetcher_1.BrowserFetcher(options);
|
|
140
78
|
}
|