@checkly/playwright-core 1.41.2-beta.0
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/LICENSE +202 -0
- package/NOTICE +5 -0
- package/README.md +3 -0
- package/ThirdPartyNotices.txt +1513 -0
- package/bin/PrintDeps.exe +0 -0
- package/bin/README.md +2 -0
- package/bin/install_media_pack.ps1 +5 -0
- package/bin/reinstall_chrome_beta_linux.sh +40 -0
- package/bin/reinstall_chrome_beta_mac.sh +13 -0
- package/bin/reinstall_chrome_beta_win.ps1 +23 -0
- package/bin/reinstall_chrome_stable_linux.sh +40 -0
- package/bin/reinstall_chrome_stable_mac.sh +12 -0
- package/bin/reinstall_chrome_stable_win.ps1 +23 -0
- package/bin/reinstall_msedge_beta_linux.sh +40 -0
- package/bin/reinstall_msedge_beta_mac.sh +11 -0
- package/bin/reinstall_msedge_beta_win.ps1 +22 -0
- package/bin/reinstall_msedge_dev_linux.sh +40 -0
- package/bin/reinstall_msedge_dev_mac.sh +11 -0
- package/bin/reinstall_msedge_dev_win.ps1 +22 -0
- package/bin/reinstall_msedge_stable_linux.sh +40 -0
- package/bin/reinstall_msedge_stable_mac.sh +11 -0
- package/bin/reinstall_msedge_stable_win.ps1 +23 -0
- package/browsers.json +64 -0
- package/cli.js +17 -0
- package/index.d.ts +17 -0
- package/index.js +33 -0
- package/index.mjs +28 -0
- package/lib/androidServerImpl.js +69 -0
- package/lib/browserServerImpl.js +92 -0
- package/lib/cli/driver.js +97 -0
- package/lib/cli/program.js +582 -0
- package/lib/cli/programWithTestStub.js +67 -0
- package/lib/client/accessibility.js +50 -0
- package/lib/client/android.js +473 -0
- package/lib/client/api.js +272 -0
- package/lib/client/artifact.js +79 -0
- package/lib/client/browser.js +145 -0
- package/lib/client/browserContext.js +509 -0
- package/lib/client/browserType.js +233 -0
- package/lib/client/cdpSession.js +53 -0
- package/lib/client/channelOwner.js +229 -0
- package/lib/client/clientHelper.js +57 -0
- package/lib/client/clientInstrumentation.js +40 -0
- package/lib/client/connection.js +327 -0
- package/lib/client/consoleMessage.js +55 -0
- package/lib/client/coverage.js +41 -0
- package/lib/client/dialog.js +57 -0
- package/lib/client/download.js +62 -0
- package/lib/client/electron.js +130 -0
- package/lib/client/elementHandle.js +291 -0
- package/lib/client/errors.js +77 -0
- package/lib/client/events.js +93 -0
- package/lib/client/fetch.js +343 -0
- package/lib/client/fileChooser.js +45 -0
- package/lib/client/frame.js +506 -0
- package/lib/client/harRouter.js +93 -0
- package/lib/client/input.js +111 -0
- package/lib/client/jsHandle.js +123 -0
- package/lib/client/jsonPipe.js +35 -0
- package/lib/client/localUtils.js +35 -0
- package/lib/client/locator.js +432 -0
- package/lib/client/network.js +601 -0
- package/lib/client/page.js +707 -0
- package/lib/client/playwright.js +74 -0
- package/lib/client/selectors.js +67 -0
- package/lib/client/stream.js +54 -0
- package/lib/client/tracing.js +135 -0
- package/lib/client/types.js +24 -0
- package/lib/client/video.js +51 -0
- package/lib/client/waiter.js +158 -0
- package/lib/client/webError.js +37 -0
- package/lib/client/worker.js +71 -0
- package/lib/client/writableStream.js +54 -0
- package/lib/common/socksProxy.js +569 -0
- package/lib/common/timeoutSettings.js +73 -0
- package/lib/common/types.js +5 -0
- package/lib/generated/consoleApiSource.js +7 -0
- package/lib/generated/injectedScriptSource.js +7 -0
- package/lib/generated/recorderSource.js +7 -0
- package/lib/generated/utilityScriptSource.js +7 -0
- package/lib/image_tools/colorUtils.js +98 -0
- package/lib/image_tools/compare.js +108 -0
- package/lib/image_tools/imageChannel.js +70 -0
- package/lib/image_tools/stats.js +102 -0
- package/lib/inProcessFactory.js +54 -0
- package/lib/inprocess.js +20 -0
- package/lib/outofprocess.js +67 -0
- package/lib/protocol/debug.js +27 -0
- package/lib/protocol/serializers.js +172 -0
- package/lib/protocol/transport.js +82 -0
- package/lib/protocol/validator.js +2599 -0
- package/lib/protocol/validatorPrimitives.js +139 -0
- package/lib/remote/playwrightConnection.js +274 -0
- package/lib/remote/playwrightServer.js +110 -0
- package/lib/server/accessibility.js +62 -0
- package/lib/server/android/android.js +441 -0
- package/lib/server/android/backendAdb.js +172 -0
- package/lib/server/artifact.js +104 -0
- package/lib/server/browser.js +129 -0
- package/lib/server/browserContext.js +609 -0
- package/lib/server/browserType.js +300 -0
- package/lib/server/chromium/appIcon.png +0 -0
- package/lib/server/chromium/chromium.js +346 -0
- package/lib/server/chromium/chromiumSwitches.js +41 -0
- package/lib/server/chromium/crAccessibility.js +237 -0
- package/lib/server/chromium/crBrowser.js +521 -0
- package/lib/server/chromium/crConnection.js +228 -0
- package/lib/server/chromium/crCoverage.js +246 -0
- package/lib/server/chromium/crDevTools.js +104 -0
- package/lib/server/chromium/crDragDrop.js +144 -0
- package/lib/server/chromium/crExecutionContext.js +156 -0
- package/lib/server/chromium/crInput.js +171 -0
- package/lib/server/chromium/crNetworkManager.js +723 -0
- package/lib/server/chromium/crPage.js +1173 -0
- package/lib/server/chromium/crPdf.js +147 -0
- package/lib/server/chromium/crProtocolHelper.js +131 -0
- package/lib/server/chromium/crServiceWorker.js +115 -0
- package/lib/server/chromium/defaultFontFamilies.js +145 -0
- package/lib/server/chromium/videoRecorder.js +155 -0
- package/lib/server/console.js +59 -0
- package/lib/server/cookieStore.js +112 -0
- package/lib/server/debugController.js +236 -0
- package/lib/server/debugger.js +132 -0
- package/lib/server/deviceDescriptors.js +21 -0
- package/lib/server/deviceDescriptorsSource.json +1549 -0
- package/lib/server/dialog.js +70 -0
- package/lib/server/dispatchers/androidDispatcher.js +193 -0
- package/lib/server/dispatchers/artifactDispatcher.js +118 -0
- package/lib/server/dispatchers/browserContextDispatcher.js +306 -0
- package/lib/server/dispatchers/browserDispatcher.js +170 -0
- package/lib/server/dispatchers/browserTypeDispatcher.js +55 -0
- package/lib/server/dispatchers/cdpSessionDispatcher.js +48 -0
- package/lib/server/dispatchers/debugControllerDispatcher.js +103 -0
- package/lib/server/dispatchers/dialogDispatcher.js +44 -0
- package/lib/server/dispatchers/dispatcher.js +400 -0
- package/lib/server/dispatchers/electronDispatcher.js +80 -0
- package/lib/server/dispatchers/elementHandlerDispatcher.js +228 -0
- package/lib/server/dispatchers/frameDispatcher.js +287 -0
- package/lib/server/dispatchers/jsHandleDispatcher.js +102 -0
- package/lib/server/dispatchers/jsonPipeDispatcher.js +61 -0
- package/lib/server/dispatchers/localUtilsDispatcher.js +399 -0
- package/lib/server/dispatchers/networkDispatchers.js +221 -0
- package/lib/server/dispatchers/pageDispatcher.js +363 -0
- package/lib/server/dispatchers/playwrightDispatcher.js +105 -0
- package/lib/server/dispatchers/selectorsDispatcher.js +36 -0
- package/lib/server/dispatchers/streamDispatcher.js +62 -0
- package/lib/server/dispatchers/tracingDispatcher.js +54 -0
- package/lib/server/dispatchers/writableStreamDispatcher.js +55 -0
- package/lib/server/dom.js +808 -0
- package/lib/server/download.js +53 -0
- package/lib/server/electron/electron.js +254 -0
- package/lib/server/electron/loader.js +57 -0
- package/lib/server/errors.js +68 -0
- package/lib/server/fetch.js +611 -0
- package/lib/server/fileChooser.js +42 -0
- package/lib/server/fileUploadUtils.js +71 -0
- package/lib/server/firefox/ffAccessibility.js +215 -0
- package/lib/server/firefox/ffBrowser.js +447 -0
- package/lib/server/firefox/ffConnection.js +168 -0
- package/lib/server/firefox/ffExecutionContext.js +138 -0
- package/lib/server/firefox/ffInput.js +150 -0
- package/lib/server/firefox/ffNetworkManager.js +231 -0
- package/lib/server/firefox/ffPage.js +558 -0
- package/lib/server/firefox/firefox.js +91 -0
- package/lib/server/formData.js +75 -0
- package/lib/server/frameSelectors.js +171 -0
- package/lib/server/frames.js +1597 -0
- package/lib/server/har/harRecorder.js +139 -0
- package/lib/server/har/harTracer.js +539 -0
- package/lib/server/helper.js +103 -0
- package/lib/server/index.js +96 -0
- package/lib/server/input.js +301 -0
- package/lib/server/instrumentation.js +74 -0
- package/lib/server/isomorphic/utilityScriptSerializers.js +212 -0
- package/lib/server/javascript.js +305 -0
- package/lib/server/launchApp.js +90 -0
- package/lib/server/macEditingCommands.js +139 -0
- package/lib/server/network.js +607 -0
- package/lib/server/page.js +793 -0
- package/lib/server/pipeTransport.js +85 -0
- package/lib/server/playwright.js +82 -0
- package/lib/server/progress.js +102 -0
- package/lib/server/protocolError.js +49 -0
- package/lib/server/recorder/codeGenerator.js +153 -0
- package/lib/server/recorder/csharp.js +310 -0
- package/lib/server/recorder/java.js +216 -0
- package/lib/server/recorder/javascript.js +229 -0
- package/lib/server/recorder/jsonl.js +47 -0
- package/lib/server/recorder/language.js +44 -0
- package/lib/server/recorder/python.js +275 -0
- package/lib/server/recorder/recorderActions.js +5 -0
- package/lib/server/recorder/recorderApp.js +181 -0
- package/lib/server/recorder/recorderUtils.js +48 -0
- package/lib/server/recorder/utils.js +45 -0
- package/lib/server/recorder.js +700 -0
- package/lib/server/registry/browserFetcher.js +168 -0
- package/lib/server/registry/dependencies.js +322 -0
- package/lib/server/registry/index.js +925 -0
- package/lib/server/registry/nativeDeps.js +383 -0
- package/lib/server/registry/oopDownloadBrowserMain.js +138 -0
- package/lib/server/screenshotter.js +354 -0
- package/lib/server/selectors.js +73 -0
- package/lib/server/socksInterceptor.js +100 -0
- package/lib/server/trace/recorder/snapshotter.js +168 -0
- package/lib/server/trace/recorder/snapshotterInjected.js +493 -0
- package/lib/server/trace/recorder/tracing.js +552 -0
- package/lib/server/trace/test/inMemorySnapshotter.js +93 -0
- package/lib/server/trace/viewer/traceViewer.js +229 -0
- package/lib/server/transport.js +191 -0
- package/lib/server/types.js +24 -0
- package/lib/server/usKeyboardLayout.js +555 -0
- package/lib/server/webkit/webkit.js +87 -0
- package/lib/server/webkit/wkAccessibility.js +194 -0
- package/lib/server/webkit/wkBrowser.js +328 -0
- package/lib/server/webkit/wkConnection.js +173 -0
- package/lib/server/webkit/wkExecutionContext.js +146 -0
- package/lib/server/webkit/wkInput.js +169 -0
- package/lib/server/webkit/wkInterceptableRequest.js +158 -0
- package/lib/server/webkit/wkPage.js +1198 -0
- package/lib/server/webkit/wkProvisionalPage.js +59 -0
- package/lib/server/webkit/wkWorkers.js +104 -0
- package/lib/third_party/diff_match_patch.js +2222 -0
- package/lib/third_party/pixelmatch.js +255 -0
- package/lib/utils/ascii.js +31 -0
- package/lib/utils/comparators.js +171 -0
- package/lib/utils/crypto.js +33 -0
- package/lib/utils/debug.js +46 -0
- package/lib/utils/debugLogger.js +89 -0
- package/lib/utils/env.js +47 -0
- package/lib/utils/eventsHelper.js +38 -0
- package/lib/utils/fileUtils.js +66 -0
- package/lib/utils/glob.js +83 -0
- package/lib/utils/happy-eyeballs.js +154 -0
- package/lib/utils/headers.js +52 -0
- package/lib/utils/hostPlatform.js +124 -0
- package/lib/utils/httpServer.js +195 -0
- package/lib/utils/index.js +324 -0
- package/lib/utils/isomorphic/cssParser.js +250 -0
- package/lib/utils/isomorphic/cssTokenizer.js +979 -0
- package/lib/utils/isomorphic/locatorGenerators.js +651 -0
- package/lib/utils/isomorphic/locatorParser.js +179 -0
- package/lib/utils/isomorphic/locatorUtils.js +62 -0
- package/lib/utils/isomorphic/selectorParser.js +397 -0
- package/lib/utils/isomorphic/stringUtils.js +107 -0
- package/lib/utils/isomorphic/traceUtils.js +39 -0
- package/lib/utils/linuxUtils.js +78 -0
- package/lib/utils/manualPromise.js +109 -0
- package/lib/utils/mimeType.js +29 -0
- package/lib/utils/multimap.js +75 -0
- package/lib/utils/network.js +189 -0
- package/lib/utils/processLauncher.js +248 -0
- package/lib/utils/profiler.js +53 -0
- package/lib/utils/rtti.js +41 -0
- package/lib/utils/semaphore.js +51 -0
- package/lib/utils/spawnAsync.js +45 -0
- package/lib/utils/stackTrace.js +123 -0
- package/lib/utils/task.js +58 -0
- package/lib/utils/time.js +37 -0
- package/lib/utils/timeoutRunner.js +131 -0
- package/lib/utils/traceUtils.js +44 -0
- package/lib/utils/userAgent.js +105 -0
- package/lib/utils/wsServer.js +125 -0
- package/lib/utils/zipFile.js +75 -0
- package/lib/utils/zones.js +99 -0
- package/lib/utilsBundle.js +81 -0
- package/lib/utilsBundleImpl/index.js +51 -0
- package/lib/utilsBundleImpl/xdg-open +1066 -0
- package/lib/vite/htmlReport/index.html +66 -0
- package/lib/vite/recorder/assets/codeMirrorModule-Hs9-1ZG4.css +1 -0
- package/lib/vite/recorder/assets/codeMirrorModule-I9ks4y7D.js +24 -0
- package/lib/vite/recorder/assets/codicon-zGuYmc9o.ttf +0 -0
- package/lib/vite/recorder/assets/index-ljsTwXtJ.css +1 -0
- package/lib/vite/recorder/assets/index-yg8ypzl6.js +47 -0
- package/lib/vite/recorder/index.html +29 -0
- package/lib/vite/recorder/playwright-logo.svg +9 -0
- package/lib/vite/traceViewer/assets/codeMirrorModule-GluP1cQ1.js +24 -0
- package/lib/vite/traceViewer/assets/codeMirrorModule-fqJB1XDu.js +24 -0
- package/lib/vite/traceViewer/assets/codeMirrorModule-y3M3aAqy.js +24 -0
- package/lib/vite/traceViewer/assets/wsPort-Rvwd4WC-.js +69 -0
- package/lib/vite/traceViewer/assets/wsPort-dlD7vDkY.js +69 -0
- package/lib/vite/traceViewer/assets/wsPort-qOE2NWrO.js +69 -0
- package/lib/vite/traceViewer/assets/xtermModule-Yt6xwiJ_.js +9 -0
- package/lib/vite/traceViewer/codeMirrorModule.Hs9-1ZG4.css +1 -0
- package/lib/vite/traceViewer/codicon.zGuYmc9o.ttf +0 -0
- package/lib/vite/traceViewer/index.-g_5lMbJ.css +1 -0
- package/lib/vite/traceViewer/index.4X7zDysg.js +2 -0
- package/lib/vite/traceViewer/index.HkJgzlGy.js +2 -0
- package/lib/vite/traceViewer/index.html +26 -0
- package/lib/vite/traceViewer/index.kRjx5sAJ.js +2 -0
- package/lib/vite/traceViewer/playwright-logo.svg +9 -0
- package/lib/vite/traceViewer/snapshot.html +21 -0
- package/lib/vite/traceViewer/sw.bundle.js +4 -0
- package/lib/vite/traceViewer/uiMode.1Wcp_Kto.js +10 -0
- package/lib/vite/traceViewer/uiMode.GTNzARcV.js +10 -0
- package/lib/vite/traceViewer/uiMode.html +17 -0
- package/lib/vite/traceViewer/uiMode.pWy0Re7G.css +1 -0
- package/lib/vite/traceViewer/uiMode.zV-7Lf9v.js +10 -0
- package/lib/vite/traceViewer/wsPort.kSgQKQ0y.css +1 -0
- package/lib/vite/traceViewer/xtermModule.0lwXJFHT.css +32 -0
- package/lib/zipBundle.js +25 -0
- package/lib/zipBundleImpl.js +5 -0
- package/package.json +43 -0
- package/types/protocol.d.ts +20304 -0
- package/types/structs.d.ts +45 -0
- package/types/types.d.ts +20626 -0
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ConnectedBrowserDispatcher = exports.BrowserDispatcher = void 0;
|
|
7
|
+
var _browser = require("../browser");
|
|
8
|
+
var _browserContextDispatcher = require("./browserContextDispatcher");
|
|
9
|
+
var _cdpSessionDispatcher = require("./cdpSessionDispatcher");
|
|
10
|
+
var _dispatcher = require("./dispatcher");
|
|
11
|
+
var _browserContext = require("../browserContext");
|
|
12
|
+
var _selectors = require("../selectors");
|
|
13
|
+
var _artifactDispatcher = require("./artifactDispatcher");
|
|
14
|
+
/**
|
|
15
|
+
* Copyright (c) Microsoft Corporation.
|
|
16
|
+
*
|
|
17
|
+
* Licensed under the Apache License, Version 2.0 (the 'License");
|
|
18
|
+
* you may not use this file except in compliance with the License.
|
|
19
|
+
* You may obtain a copy of the License at
|
|
20
|
+
*
|
|
21
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
22
|
+
*
|
|
23
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
24
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
25
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
26
|
+
* See the License for the specific language governing permissions and
|
|
27
|
+
* limitations under the License.
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
class BrowserDispatcher extends _dispatcher.Dispatcher {
|
|
31
|
+
constructor(scope, browser) {
|
|
32
|
+
super(scope, browser, 'Browser', {
|
|
33
|
+
version: browser.version(),
|
|
34
|
+
name: browser.options.name
|
|
35
|
+
});
|
|
36
|
+
this._type_Browser = true;
|
|
37
|
+
this.addObjectListener(_browser.Browser.Events.Disconnected, () => this._didClose());
|
|
38
|
+
}
|
|
39
|
+
_didClose() {
|
|
40
|
+
this._dispatchEvent('close');
|
|
41
|
+
this._dispose();
|
|
42
|
+
}
|
|
43
|
+
async newContext(params, metadata) {
|
|
44
|
+
const context = await this._object.newContext(metadata, params);
|
|
45
|
+
return {
|
|
46
|
+
context: new _browserContextDispatcher.BrowserContextDispatcher(this, context)
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
async newContextForReuse(params, metadata) {
|
|
50
|
+
return await newContextForReuse(this._object, this, params, null, metadata);
|
|
51
|
+
}
|
|
52
|
+
async stopPendingOperations(params, metadata) {
|
|
53
|
+
await this._object.stopPendingOperations(params.reason);
|
|
54
|
+
}
|
|
55
|
+
async close(params, metadata) {
|
|
56
|
+
metadata.potentiallyClosesScope = true;
|
|
57
|
+
await this._object.close(params);
|
|
58
|
+
}
|
|
59
|
+
async killForTests(_, metadata) {
|
|
60
|
+
metadata.potentiallyClosesScope = true;
|
|
61
|
+
await this._object.killForTests();
|
|
62
|
+
}
|
|
63
|
+
async defaultUserAgentForTest() {
|
|
64
|
+
return {
|
|
65
|
+
userAgent: this._object.userAgent()
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
async newBrowserCDPSession() {
|
|
69
|
+
if (!this._object.options.isChromium) throw new Error(`CDP session is only available in Chromium`);
|
|
70
|
+
const crBrowser = this._object;
|
|
71
|
+
return {
|
|
72
|
+
session: new _cdpSessionDispatcher.CDPSessionDispatcher(this, await crBrowser.newBrowserCDPSession())
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
async startTracing(params) {
|
|
76
|
+
if (!this._object.options.isChromium) throw new Error(`Tracing is only available in Chromium`);
|
|
77
|
+
const crBrowser = this._object;
|
|
78
|
+
await crBrowser.startTracing(params.page ? params.page._object : undefined, params);
|
|
79
|
+
}
|
|
80
|
+
async stopTracing() {
|
|
81
|
+
if (!this._object.options.isChromium) throw new Error(`Tracing is only available in Chromium`);
|
|
82
|
+
const crBrowser = this._object;
|
|
83
|
+
return {
|
|
84
|
+
artifact: _artifactDispatcher.ArtifactDispatcher.from(this, await crBrowser.stopTracing())
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
// This class implements multiplexing browser dispatchers over a single Browser instance.
|
|
90
|
+
exports.BrowserDispatcher = BrowserDispatcher;
|
|
91
|
+
class ConnectedBrowserDispatcher extends _dispatcher.Dispatcher {
|
|
92
|
+
constructor(scope, browser) {
|
|
93
|
+
super(scope, browser, 'Browser', {
|
|
94
|
+
version: browser.version(),
|
|
95
|
+
name: browser.options.name
|
|
96
|
+
});
|
|
97
|
+
// When we have a remotely-connected browser, each client gets a fresh Selector instance,
|
|
98
|
+
// so that two clients do not interfere between each other.
|
|
99
|
+
this._type_Browser = true;
|
|
100
|
+
this._contexts = new Set();
|
|
101
|
+
this.selectors = void 0;
|
|
102
|
+
this.selectors = new _selectors.Selectors();
|
|
103
|
+
}
|
|
104
|
+
async newContext(params, metadata) {
|
|
105
|
+
if (params.recordVideo) params.recordVideo.dir = this._object.options.artifactsDir;
|
|
106
|
+
const context = await this._object.newContext(metadata, params);
|
|
107
|
+
this._contexts.add(context);
|
|
108
|
+
context.setSelectors(this.selectors);
|
|
109
|
+
context.on(_browserContext.BrowserContext.Events.Close, () => this._contexts.delete(context));
|
|
110
|
+
return {
|
|
111
|
+
context: new _browserContextDispatcher.BrowserContextDispatcher(this, context)
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
async newContextForReuse(params, metadata) {
|
|
115
|
+
return await newContextForReuse(this._object, this, params, this.selectors, metadata);
|
|
116
|
+
}
|
|
117
|
+
async stopPendingOperations(params, metadata) {
|
|
118
|
+
await this._object.stopPendingOperations(params.reason);
|
|
119
|
+
}
|
|
120
|
+
async close() {
|
|
121
|
+
// Client should not send us Browser.close.
|
|
122
|
+
}
|
|
123
|
+
async killForTests() {
|
|
124
|
+
// Client should not send us Browser.killForTests.
|
|
125
|
+
}
|
|
126
|
+
async defaultUserAgentForTest() {
|
|
127
|
+
throw new Error('Client should not send us Browser.defaultUserAgentForTest');
|
|
128
|
+
}
|
|
129
|
+
async newBrowserCDPSession() {
|
|
130
|
+
if (!this._object.options.isChromium) throw new Error(`CDP session is only available in Chromium`);
|
|
131
|
+
const crBrowser = this._object;
|
|
132
|
+
return {
|
|
133
|
+
session: new _cdpSessionDispatcher.CDPSessionDispatcher(this, await crBrowser.newBrowserCDPSession())
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
async startTracing(params) {
|
|
137
|
+
if (!this._object.options.isChromium) throw new Error(`Tracing is only available in Chromium`);
|
|
138
|
+
const crBrowser = this._object;
|
|
139
|
+
await crBrowser.startTracing(params.page ? params.page._object : undefined, params);
|
|
140
|
+
}
|
|
141
|
+
async stopTracing() {
|
|
142
|
+
if (!this._object.options.isChromium) throw new Error(`Tracing is only available in Chromium`);
|
|
143
|
+
const crBrowser = this._object;
|
|
144
|
+
return {
|
|
145
|
+
artifact: _artifactDispatcher.ArtifactDispatcher.from(this, await crBrowser.stopTracing())
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
async cleanupContexts() {
|
|
149
|
+
await Promise.all(Array.from(this._contexts).map(context => context.close({
|
|
150
|
+
reason: 'Global context cleanup (connection terminated)'
|
|
151
|
+
})));
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
exports.ConnectedBrowserDispatcher = ConnectedBrowserDispatcher;
|
|
155
|
+
async function newContextForReuse(browser, scope, params, selectors, metadata) {
|
|
156
|
+
const {
|
|
157
|
+
context,
|
|
158
|
+
needsReset
|
|
159
|
+
} = await browser.newContextForReuse(params, metadata);
|
|
160
|
+
if (needsReset) {
|
|
161
|
+
const oldContextDispatcher = (0, _dispatcher.existingDispatcher)(context);
|
|
162
|
+
if (oldContextDispatcher) oldContextDispatcher._dispose();
|
|
163
|
+
await context.resetForReuse(metadata, params);
|
|
164
|
+
}
|
|
165
|
+
if (selectors) context.setSelectors(selectors);
|
|
166
|
+
const contextDispatcher = new _browserContextDispatcher.BrowserContextDispatcher(scope, context);
|
|
167
|
+
return {
|
|
168
|
+
context: contextDispatcher
|
|
169
|
+
};
|
|
170
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.BrowserTypeDispatcher = void 0;
|
|
7
|
+
var _browserDispatcher = require("./browserDispatcher");
|
|
8
|
+
var _dispatcher = require("./dispatcher");
|
|
9
|
+
var _browserContextDispatcher = require("./browserContextDispatcher");
|
|
10
|
+
/**
|
|
11
|
+
* Copyright (c) Microsoft Corporation.
|
|
12
|
+
*
|
|
13
|
+
* Licensed under the Apache License, Version 2.0 (the 'License");
|
|
14
|
+
* you may not use this file except in compliance with the License.
|
|
15
|
+
* You may obtain a copy of the License at
|
|
16
|
+
*
|
|
17
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
18
|
+
*
|
|
19
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
20
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
21
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
22
|
+
* See the License for the specific language governing permissions and
|
|
23
|
+
* limitations under the License.
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
class BrowserTypeDispatcher extends _dispatcher.Dispatcher {
|
|
27
|
+
constructor(scope, browserType) {
|
|
28
|
+
super(scope, browserType, 'BrowserType', {
|
|
29
|
+
executablePath: browserType.executablePath(),
|
|
30
|
+
name: browserType.name()
|
|
31
|
+
});
|
|
32
|
+
this._type_BrowserType = true;
|
|
33
|
+
}
|
|
34
|
+
async launch(params, metadata) {
|
|
35
|
+
const browser = await this._object.launch(metadata, params);
|
|
36
|
+
return {
|
|
37
|
+
browser: new _browserDispatcher.BrowserDispatcher(this, browser)
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
async launchPersistentContext(params, metadata) {
|
|
41
|
+
const browserContext = await this._object.launchPersistentContext(metadata, params.userDataDir, params);
|
|
42
|
+
return {
|
|
43
|
+
context: new _browserContextDispatcher.BrowserContextDispatcher(this, browserContext)
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
async connectOverCDP(params, metadata) {
|
|
47
|
+
const browser = await this._object.connectOverCDP(metadata, params.endpointURL, params, params.timeout);
|
|
48
|
+
const browserDispatcher = new _browserDispatcher.BrowserDispatcher(this, browser);
|
|
49
|
+
return {
|
|
50
|
+
browser: browserDispatcher,
|
|
51
|
+
defaultContext: browser._defaultContext ? new _browserContextDispatcher.BrowserContextDispatcher(browserDispatcher, browser._defaultContext) : undefined
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
exports.BrowserTypeDispatcher = BrowserTypeDispatcher;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.CDPSessionDispatcher = void 0;
|
|
7
|
+
var _crConnection = require("../chromium/crConnection");
|
|
8
|
+
var _dispatcher = require("./dispatcher");
|
|
9
|
+
/**
|
|
10
|
+
* Copyright (c) Microsoft Corporation.
|
|
11
|
+
*
|
|
12
|
+
* Licensed under the Apache License, Version 2.0 (the 'License");
|
|
13
|
+
* you may not use this file except in compliance with the License.
|
|
14
|
+
* You may obtain a copy of the License at
|
|
15
|
+
*
|
|
16
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
17
|
+
*
|
|
18
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
19
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
20
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
21
|
+
* See the License for the specific language governing permissions and
|
|
22
|
+
* limitations under the License.
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
class CDPSessionDispatcher extends _dispatcher.Dispatcher {
|
|
26
|
+
constructor(scope, cdpSession) {
|
|
27
|
+
super(scope, cdpSession, 'CDPSession', {});
|
|
28
|
+
this._type_CDPSession = true;
|
|
29
|
+
this.addObjectListener(_crConnection.CDPSession.Events.Event, ({
|
|
30
|
+
method,
|
|
31
|
+
params
|
|
32
|
+
}) => this._dispatchEvent('event', {
|
|
33
|
+
method,
|
|
34
|
+
params
|
|
35
|
+
}));
|
|
36
|
+
this.addObjectListener(_crConnection.CDPSession.Events.Closed, () => this._dispose());
|
|
37
|
+
}
|
|
38
|
+
async send(params) {
|
|
39
|
+
return {
|
|
40
|
+
result: await this._object.send(params.method, params.params)
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
async detach(_, metadata) {
|
|
44
|
+
metadata.potentiallyClosesScope = true;
|
|
45
|
+
await this._object.detach();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.CDPSessionDispatcher = CDPSessionDispatcher;
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.DebugControllerDispatcher = void 0;
|
|
7
|
+
var _utils = require("../../utils");
|
|
8
|
+
var _debugController = require("../debugController");
|
|
9
|
+
var _dispatcher = require("./dispatcher");
|
|
10
|
+
/**
|
|
11
|
+
* Copyright (c) Microsoft Corporation.
|
|
12
|
+
*
|
|
13
|
+
* Licensed under the Apache License, Version 2.0 (the 'License");
|
|
14
|
+
* you may not use this file except in compliance with the License.
|
|
15
|
+
* You may obtain a copy of the License at
|
|
16
|
+
*
|
|
17
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
18
|
+
*
|
|
19
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
20
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
21
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
22
|
+
* See the License for the specific language governing permissions and
|
|
23
|
+
* limitations under the License.
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
class DebugControllerDispatcher extends _dispatcher.Dispatcher {
|
|
27
|
+
constructor(connection, debugController) {
|
|
28
|
+
super(connection, debugController, 'DebugController', {});
|
|
29
|
+
this._type_DebugController = void 0;
|
|
30
|
+
this._listeners = void 0;
|
|
31
|
+
this._type_DebugController = true;
|
|
32
|
+
this._listeners = [_utils.eventsHelper.addEventListener(this._object, _debugController.DebugController.Events.StateChanged, params => {
|
|
33
|
+
this._dispatchEvent('stateChanged', params);
|
|
34
|
+
}), _utils.eventsHelper.addEventListener(this._object, _debugController.DebugController.Events.InspectRequested, ({
|
|
35
|
+
selector,
|
|
36
|
+
locator
|
|
37
|
+
}) => {
|
|
38
|
+
this._dispatchEvent('inspectRequested', {
|
|
39
|
+
selector,
|
|
40
|
+
locator
|
|
41
|
+
});
|
|
42
|
+
}), _utils.eventsHelper.addEventListener(this._object, _debugController.DebugController.Events.SourceChanged, ({
|
|
43
|
+
text,
|
|
44
|
+
header,
|
|
45
|
+
footer,
|
|
46
|
+
actions
|
|
47
|
+
}) => {
|
|
48
|
+
this._dispatchEvent('sourceChanged', {
|
|
49
|
+
text,
|
|
50
|
+
header,
|
|
51
|
+
footer,
|
|
52
|
+
actions
|
|
53
|
+
});
|
|
54
|
+
}), _utils.eventsHelper.addEventListener(this._object, _debugController.DebugController.Events.Paused, ({
|
|
55
|
+
paused
|
|
56
|
+
}) => {
|
|
57
|
+
this._dispatchEvent('paused', {
|
|
58
|
+
paused
|
|
59
|
+
});
|
|
60
|
+
}), _utils.eventsHelper.addEventListener(this._object, _debugController.DebugController.Events.SetModeRequested, ({
|
|
61
|
+
mode
|
|
62
|
+
}) => {
|
|
63
|
+
this._dispatchEvent('setModeRequested', {
|
|
64
|
+
mode
|
|
65
|
+
});
|
|
66
|
+
})];
|
|
67
|
+
}
|
|
68
|
+
async initialize(params) {
|
|
69
|
+
this._object.initialize(params.codegenId, params.sdkLanguage);
|
|
70
|
+
}
|
|
71
|
+
async setReportStateChanged(params) {
|
|
72
|
+
this._object.setReportStateChanged(params.enabled);
|
|
73
|
+
}
|
|
74
|
+
async resetForReuse() {
|
|
75
|
+
await this._object.resetForReuse();
|
|
76
|
+
}
|
|
77
|
+
async navigate(params) {
|
|
78
|
+
await this._object.navigate(params.url);
|
|
79
|
+
}
|
|
80
|
+
async setRecorderMode(params) {
|
|
81
|
+
await this._object.setRecorderMode(params);
|
|
82
|
+
}
|
|
83
|
+
async highlight(params) {
|
|
84
|
+
await this._object.highlight(params.selector);
|
|
85
|
+
}
|
|
86
|
+
async hideHighlight() {
|
|
87
|
+
await this._object.hideHighlight();
|
|
88
|
+
}
|
|
89
|
+
async resume() {
|
|
90
|
+
await this._object.resume();
|
|
91
|
+
}
|
|
92
|
+
async kill() {
|
|
93
|
+
await this._object.kill();
|
|
94
|
+
}
|
|
95
|
+
async closeAllBrowsers() {
|
|
96
|
+
await this._object.closeAllBrowsers();
|
|
97
|
+
}
|
|
98
|
+
_onDispose() {
|
|
99
|
+
_utils.eventsHelper.removeEventListeners(this._listeners);
|
|
100
|
+
this._object.dispose();
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
exports.DebugControllerDispatcher = DebugControllerDispatcher;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.DialogDispatcher = void 0;
|
|
7
|
+
var _dispatcher = require("./dispatcher");
|
|
8
|
+
var _pageDispatcher = require("./pageDispatcher");
|
|
9
|
+
/**
|
|
10
|
+
* Copyright (c) Microsoft Corporation.
|
|
11
|
+
*
|
|
12
|
+
* Licensed under the Apache License, Version 2.0 (the 'License");
|
|
13
|
+
* you may not use this file except in compliance with the License.
|
|
14
|
+
* You may obtain a copy of the License at
|
|
15
|
+
*
|
|
16
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
17
|
+
*
|
|
18
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
19
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
20
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
21
|
+
* See the License for the specific language governing permissions and
|
|
22
|
+
* limitations under the License.
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
class DialogDispatcher extends _dispatcher.Dispatcher {
|
|
26
|
+
constructor(scope, dialog) {
|
|
27
|
+
const page = _pageDispatcher.PageDispatcher.fromNullable(scope, dialog.page().initializedOrUndefined());
|
|
28
|
+
// Prefer scoping to the page, unless we don't have one.
|
|
29
|
+
super(page || scope, dialog, 'Dialog', {
|
|
30
|
+
page,
|
|
31
|
+
type: dialog.type(),
|
|
32
|
+
message: dialog.message(),
|
|
33
|
+
defaultValue: dialog.defaultValue()
|
|
34
|
+
});
|
|
35
|
+
this._type_Dialog = true;
|
|
36
|
+
}
|
|
37
|
+
async accept(params) {
|
|
38
|
+
await this._object.accept(params.promptText);
|
|
39
|
+
}
|
|
40
|
+
async dismiss() {
|
|
41
|
+
await this._object.dismiss();
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.DialogDispatcher = DialogDispatcher;
|