@checkly/playwright-core 1.48.22 → 1.51.11-beta.1
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/ThirdPartyNotices.txt +60 -48
- package/bin/reinstall_chrome_beta_linux.sh +10 -8
- package/bin/reinstall_chrome_stable_linux.sh +10 -8
- package/bin/reinstall_msedge_beta_linux.sh +17 -9
- package/bin/reinstall_msedge_dev_linux.sh +17 -9
- package/bin/reinstall_msedge_stable_linux.sh +17 -9
- package/browsers.json +33 -12
- package/index.js +0 -1
- package/lib/androidServerImpl.js +5 -5
- package/lib/browserServerImpl.js +18 -9
- package/lib/checkly/secretsFilter.js +1 -1
- package/lib/cli/driver.js +6 -6
- package/lib/cli/program.js +38 -43
- package/lib/cli/programWithTestStub.js +2 -1
- package/lib/client/android.js +37 -58
- package/lib/client/artifact.js +4 -7
- package/lib/client/browser.js +10 -15
- package/lib/client/browserContext.js +69 -62
- package/lib/client/browserType.js +30 -64
- package/lib/client/channelOwner.js +53 -68
- package/lib/client/clientHelper.js +4 -6
- package/lib/client/clientInstrumentation.js +2 -0
- package/lib/client/clientStackTrace.js +65 -0
- package/lib/client/connection.js +48 -41
- package/lib/client/consoleMessage.js +4 -7
- package/lib/client/electron.js +10 -10
- package/lib/client/elementHandle.js +32 -33
- package/lib/client/errors.js +2 -2
- package/lib/client/eventEmitter.js +5 -8
- package/lib/client/fetch.js +61 -62
- package/lib/client/fileUtils.js +31 -0
- package/lib/client/frame.js +22 -23
- package/lib/client/harRouter.js +7 -9
- package/lib/client/jsHandle.js +3 -4
- package/lib/client/localUtils.js +24 -0
- package/lib/client/locator.js +27 -13
- package/lib/client/network.js +44 -37
- package/lib/client/page.js +50 -41
- package/lib/client/platform.js +71 -0
- package/lib/client/playwright.js +21 -1
- package/lib/client/selectors.js +8 -2
- package/lib/client/stream.js +2 -21
- package/lib/client/timeoutSettings.js +65 -0
- package/lib/client/tracing.js +29 -7
- package/lib/client/video.js +2 -2
- package/lib/client/waiter.js +19 -16
- package/lib/client/webSocket.js +106 -0
- package/lib/client/worker.js +4 -4
- package/lib/client/writableStream.js +2 -21
- package/lib/generated/consoleApiSource.js +1 -1
- package/lib/generated/injectedScriptSource.js +1 -1
- package/lib/generated/pollingRecorderSource.js +1 -1
- package/lib/generated/recorderSource.js +7 -0
- package/lib/generated/webSocketMockSource.js +1 -1
- package/lib/inProcessFactory.js +8 -3
- package/lib/outofprocess.js +12 -8
- package/lib/protocol/debug.js +1 -1
- package/lib/protocol/validator.js +77 -11
- package/lib/protocol/validatorPrimitives.js +1 -2
- package/lib/remote/playwrightConnection.js +21 -12
- package/lib/remote/playwrightServer.js +22 -8
- package/lib/server/android/android.js +17 -14
- package/lib/server/android/backendAdb.js +14 -14
- package/lib/server/artifact.js +3 -3
- package/lib/server/bidi/bidiBrowser.js +11 -8
- package/lib/server/bidi/bidiChromium.js +5 -4
- package/lib/server/bidi/bidiConnection.js +1 -3
- package/lib/server/bidi/bidiExecutionContext.js +71 -25
- package/lib/server/bidi/bidiFirefox.js +4 -3
- package/lib/server/bidi/bidiInput.js +11 -12
- package/lib/server/bidi/bidiNetworkManager.js +11 -12
- package/lib/server/bidi/bidiOverCdp.js +2 -2
- package/lib/server/bidi/bidiPage.js +39 -66
- package/lib/server/bidi/third_party/bidiKeyboard.js +9 -7
- package/lib/server/bidi/third_party/firefoxPrefs.js +19 -3
- package/lib/server/browser.js +2 -2
- package/lib/server/browserContext.js +60 -55
- package/lib/server/browserType.js +22 -18
- package/lib/server/callLog.js +79 -0
- package/lib/server/chromium/chromium.js +20 -16
- package/lib/server/chromium/chromiumSwitches.js +32 -9
- package/lib/server/chromium/crBrowser.js +25 -24
- package/lib/server/chromium/crConnection.js +2 -2
- package/lib/server/chromium/crCoverage.js +1 -1
- package/lib/server/chromium/crDevTools.js +1 -1
- package/lib/server/chromium/crDragDrop.js +1 -1
- package/lib/server/chromium/crExecutionContext.js +26 -35
- package/lib/server/chromium/crInput.js +17 -6
- package/lib/server/chromium/crNetworkManager.js +3 -3
- package/lib/server/chromium/crPage.js +43 -55
- package/lib/server/chromium/crPdf.js +1 -1
- package/lib/server/chromium/crProtocolHelper.js +3 -3
- package/lib/server/chromium/crServiceWorker.js +2 -2
- package/lib/server/chromium/videoRecorder.js +2 -2
- package/lib/server/clock.js +1 -1
- package/lib/server/codegen/csharp.js +21 -16
- package/lib/server/codegen/java.js +17 -9
- package/lib/server/codegen/javascript.js +37 -7
- package/lib/server/codegen/jsonl.js +1 -1
- package/lib/server/codegen/languages.js +2 -2
- package/lib/server/codegen/python.js +14 -17
- package/lib/server/debugController.js +23 -45
- package/lib/server/debugger.js +1 -1
- package/lib/server/deviceDescriptors.js +1 -1
- package/lib/server/deviceDescriptorsSource.json +131 -131
- package/lib/server/dispatchers/androidDispatcher.js +14 -3
- package/lib/server/dispatchers/artifactDispatcher.js +3 -3
- package/lib/server/dispatchers/browserContextDispatcher.js +21 -32
- package/lib/server/dispatchers/browserTypeDispatcher.js +1 -1
- package/lib/server/dispatchers/cdpSessionDispatcher.js +1 -1
- package/lib/server/dispatchers/debugControllerDispatcher.js +5 -3
- package/lib/server/dispatchers/dispatcher.js +27 -25
- package/lib/server/dispatchers/electronDispatcher.js +3 -3
- package/lib/server/dispatchers/elementHandlerDispatcher.js +7 -2
- package/lib/server/dispatchers/frameDispatcher.js +9 -3
- package/lib/server/dispatchers/jsonPipeDispatcher.js +2 -2
- package/lib/server/dispatchers/localUtilsDispatcher.js +25 -291
- package/lib/server/dispatchers/networkDispatchers.js +3 -3
- package/lib/server/dispatchers/pageDispatcher.js +10 -8
- package/lib/server/dispatchers/playwrightDispatcher.js +5 -5
- package/lib/server/dispatchers/streamDispatcher.js +4 -3
- package/lib/server/dispatchers/tracingDispatcher.js +10 -0
- package/lib/server/dispatchers/webSocketRouteDispatcher.js +18 -18
- package/lib/server/dispatchers/writableStreamDispatcher.js +5 -6
- package/lib/server/dom.js +102 -48
- package/lib/server/download.js +1 -1
- package/lib/server/electron/electron.js +17 -16
- package/lib/server/errors.js +1 -1
- package/lib/server/fetch.js +49 -33
- package/lib/server/fileUploadUtils.js +7 -4
- package/lib/server/firefox/ffBrowser.js +17 -9
- package/lib/server/firefox/ffConnection.js +1 -1
- package/lib/server/firefox/ffExecutionContext.js +25 -29
- package/lib/server/firefox/ffInput.js +15 -4
- package/lib/server/firefox/ffNetworkManager.js +3 -3
- package/lib/server/firefox/ffPage.js +29 -50
- package/lib/server/firefox/firefox.js +7 -9
- package/lib/server/frameSelectors.js +1 -1
- package/lib/server/frames.js +65 -55
- package/lib/server/har/harRecorder.js +4 -4
- package/lib/server/har/harTracer.js +8 -9
- package/lib/server/harBackend.js +157 -0
- package/lib/server/helper.js +2 -2
- package/lib/server/index.js +1 -14
- package/lib/server/input.js +3 -4
- package/lib/server/instrumentation.js +2 -2
- package/lib/server/isomorphic/utilityScriptSerializers.js +3 -0
- package/lib/server/javascript.js +26 -33
- package/lib/server/launchApp.js +7 -7
- package/lib/server/localUtils.js +203 -0
- package/lib/server/network.js +5 -5
- package/lib/server/page.js +76 -37
- package/lib/server/pipeTransport.js +1 -1
- package/lib/server/playwright.js +5 -5
- package/lib/server/progress.js +1 -4
- package/lib/server/protocolError.js +1 -1
- package/lib/server/recorder/chat.js +177 -0
- package/lib/server/recorder/codeGenerator.js +154 -0
- package/lib/server/recorder/contextRecorder.js +9 -18
- package/lib/server/recorder/csharp.js +311 -0
- package/lib/server/recorder/java.js +249 -0
- package/lib/server/recorder/javascript.js +230 -0
- package/lib/server/recorder/jsonl.js +48 -0
- package/lib/server/recorder/language.js +45 -0
- package/lib/server/recorder/python.js +276 -0
- package/lib/server/recorder/recorderActions.js +6 -0
- package/lib/server/recorder/recorderApp.js +25 -28
- package/lib/server/recorder/recorderCollection.js +9 -21
- package/lib/server/recorder/recorderInTraceViewer.js +1 -1
- package/lib/server/recorder/recorderRunner.js +7 -3
- package/lib/server/recorder/recorderUtils.js +5 -28
- package/lib/server/recorder/throttledFile.js +3 -4
- package/lib/server/recorder/utils.js +46 -0
- package/lib/server/recorder.js +83 -43
- package/lib/server/registry/browserFetcher.js +10 -8
- package/lib/server/registry/dependencies.js +20 -20
- package/lib/server/registry/index.js +215 -61
- package/lib/server/registry/nativeDeps.js +10 -4
- package/lib/server/registry/oopDownloadBrowserMain.js +3 -3
- package/lib/server/screenshotter.js +1 -1
- package/lib/server/selectors.js +3 -3
- package/lib/server/socksClientCertificatesInterceptor.js +8 -8
- package/lib/server/socksInterceptor.js +8 -5
- package/lib/server/storageScript.js +160 -0
- package/lib/server/timeoutSettings.js +74 -0
- package/lib/server/trace/recorder/snapshotter.js +10 -20
- package/lib/server/trace/recorder/snapshotterInjected.js +26 -1
- package/lib/server/trace/recorder/tracing.js +108 -45
- package/lib/server/trace/test/inMemorySnapshotter.js +6 -6
- package/lib/server/trace/viewer/traceViewer.js +21 -7
- package/lib/server/transport.js +3 -2
- package/lib/server/utils/ascii.js +31 -0
- package/lib/server/utils/comparators.js +159 -0
- package/lib/server/utils/crypto.js +171 -0
- package/lib/server/utils/debug.js +38 -0
- package/lib/server/utils/debugLogger.js +93 -0
- package/lib/server/utils/env.js +53 -0
- package/lib/server/utils/eventsHelper.js +38 -0
- package/lib/server/utils/expectUtils.js +33 -0
- package/lib/server/utils/fileUtils.js +204 -0
- package/lib/server/utils/happyEyeballs.js +207 -0
- package/lib/server/utils/hostPlatform.js +145 -0
- package/lib/server/utils/httpServer.js +233 -0
- package/lib/server/utils/image_tools/colorUtils.js +98 -0
- package/lib/server/utils/image_tools/compare.js +108 -0
- package/lib/server/utils/image_tools/imageChannel.js +70 -0
- package/lib/server/utils/image_tools/stats.js +102 -0
- package/lib/server/utils/linuxUtils.js +58 -0
- package/lib/server/utils/network.js +160 -0
- package/lib/server/utils/nodePlatform.js +140 -0
- package/lib/server/utils/pipeTransport.js +82 -0
- package/lib/server/utils/processLauncher.js +248 -0
- package/lib/server/utils/profiler.js +52 -0
- package/lib/server/utils/socksProxy.js +570 -0
- package/lib/server/utils/spawnAsync.js +45 -0
- package/lib/server/utils/task.js +58 -0
- package/lib/server/utils/userAgent.js +91 -0
- package/lib/server/utils/wsServer.js +128 -0
- package/lib/server/utils/zipFile.js +75 -0
- package/lib/server/utils/zones.js +54 -0
- package/lib/server/webkit/webkit.js +4 -4
- package/lib/server/webkit/wkBrowser.js +10 -10
- package/lib/server/webkit/wkConnection.js +1 -1
- package/lib/server/webkit/wkExecutionContext.js +26 -30
- package/lib/server/webkit/wkInput.js +17 -7
- package/lib/server/webkit/wkInterceptableRequest.js +2 -2
- package/lib/server/webkit/wkPage.js +80 -66
- package/lib/server/webkit/wkProvisionalPage.js +1 -1
- package/lib/server/webkit/wkWorkers.js +2 -2
- package/lib/utils/fileUtils.js +1 -1
- package/lib/utils/glob.js +84 -0
- package/lib/utils/isomorphic/ariaSnapshot.js +392 -0
- package/lib/utils/isomorphic/assert.js +25 -0
- package/lib/utils/isomorphic/colors.js +65 -0
- package/lib/utils/isomorphic/cssParser.js +5 -5
- package/lib/utils/isomorphic/headers.js +52 -0
- package/lib/utils/isomorphic/locatorGenerators.js +38 -8
- package/lib/utils/isomorphic/locatorParser.js +19 -13
- package/lib/utils/isomorphic/manualPromise.js +107 -0
- package/lib/utils/isomorphic/mimeType.js +11 -3
- package/lib/utils/isomorphic/multimap.js +73 -0
- package/lib/utils/isomorphic/rtti.js +41 -0
- package/lib/utils/isomorphic/semaphore.js +51 -0
- package/lib/utils/isomorphic/stackTrace.js +169 -0
- package/lib/utils/isomorphic/stringUtils.js +31 -1
- package/lib/utils/isomorphic/time.js +25 -0
- package/lib/utils/isomorphic/timeoutRunner.js +66 -0
- package/lib/utils/isomorphic/traceUtils.js +23 -0
- package/lib/utils/isomorphic/types.js +5 -0
- package/lib/utils/isomorphic/urlMatch.js +7 -5
- package/lib/utils/mimeType.js +30 -0
- package/lib/utils/stackTrace.js +1 -1
- package/lib/utils.js +447 -0
- package/lib/utilsBundle.js +4 -29
- package/lib/utilsBundleImpl/index.js +188 -33
- package/lib/vite/htmlReport/index.html +20 -17
- package/lib/vite/recorder/assets/codeMirrorModule-B9YMkrwa.js +24 -0
- package/lib/vite/recorder/assets/index-ELPgmkwA.js +184 -0
- package/lib/vite/recorder/assets/{index-BW-aOBcL.css → index-eHBmevrY.css} +1 -1
- package/lib/vite/recorder/index.html +2 -2
- package/lib/vite/traceViewer/assets/codeMirrorModule-gU1OOCQO.js +24 -0
- package/lib/vite/traceViewer/assets/defaultSettingsView-B5n_FjMx.js +1 -0
- package/lib/vite/traceViewer/assets/inspectorTab-6Tru8Mn_.js +235 -0
- package/lib/vite/traceViewer/assets/workbench-B_Nj4NA2.js +25 -0
- package/lib/vite/traceViewer/assets/{xtermModule-BeNbaIVa.js → xtermModule-BoAIEibi.js} +7 -7
- package/lib/vite/traceViewer/defaultSettingsView.CO3FR0CX.css +1 -0
- package/lib/vite/traceViewer/{embedded.BkvOrz5Z.js → embedded.DpNPH6mk.js} +2 -2
- package/lib/vite/traceViewer/embedded.html +6 -6
- package/lib/vite/traceViewer/index.CuE3SYGw.js +2 -0
- package/lib/vite/traceViewer/index.html +27 -9
- package/lib/vite/traceViewer/inspectorTab.CXDulcFG.css +1 -0
- package/lib/vite/traceViewer/{recorder.DNMfnSiu.js → recorder.BD-uZJs7.js} +2 -2
- package/lib/vite/traceViewer/recorder.html +4 -4
- package/lib/vite/traceViewer/sw.bundle.js +3 -3
- package/lib/vite/traceViewer/{uiMode.CAYqod-m.css → uiMode.BatfzHMG.css} +1 -1
- package/lib/vite/traceViewer/uiMode.DHrNgddz.js +5 -0
- package/lib/vite/traceViewer/uiMode.html +8 -7
- package/lib/vite/traceViewer/workbench.B9vIAzH9.css +1 -0
- package/lib/zipBundleImpl.js +4 -4
- package/package.json +7 -7
- package/types/protocol.d.ts +820 -153
- package/types/types.d.ts +285 -82
- package/bin/PrintDeps.exe +0 -0
- package/bin/README.md +0 -2
- package/lib/vite/recorder/assets/codeMirrorModule-d0KhC1qL.js +0 -24
- package/lib/vite/recorder/assets/index-Bxxcmxlu.js +0 -42
- package/lib/vite/traceViewer/assets/codeMirrorModule-pBPtArIT.js +0 -24
- package/lib/vite/traceViewer/assets/codeMirrorModule-tzBrK1V4.js +0 -24
- package/lib/vite/traceViewer/assets/inspectorTab-BuJ3wAX_.js +0 -64
- package/lib/vite/traceViewer/assets/inspectorTab-Soeeuvzv.js +0 -64
- package/lib/vite/traceViewer/assets/testServerConnection-DeE2kSzz.js +0 -1
- package/lib/vite/traceViewer/assets/workbench-DdmJ9AJV.js +0 -9
- package/lib/vite/traceViewer/assets/workbench-lypYlf00.js +0 -9
- package/lib/vite/traceViewer/embedded.DInvAijy.js +0 -2
- package/lib/vite/traceViewer/index.Dha3cgqs.js +0 -2
- package/lib/vite/traceViewer/index._Iolt-uE.js +0 -2
- package/lib/vite/traceViewer/inspectorTab.DLjBDrQR.css +0 -1
- package/lib/vite/traceViewer/recorder.DTSaNaly.js +0 -2
- package/lib/vite/traceViewer/uiMode.BM7yhjzl.js +0 -5
- package/lib/vite/traceViewer/uiMode.Cr1tvTWS.js +0 -5
- package/lib/vite/traceViewer/workbench.DlsCx8k5.css +0 -1
- /package/lib/vite/recorder/assets/{codeMirrorModule-ez37Vkbh.css → codeMirrorModule-C3UTv-Ge.css} +0 -0
- /package/lib/vite/traceViewer/{codeMirrorModule.ez37Vkbh.css → codeMirrorModule.C3UTv-Ge.css} +0 -0
- /package/lib/vite/traceViewer/{embedded.w7WN2u1R.css → embedded.mLhjB5IF.css} +0 -0
- /package/lib/vite/traceViewer/{index.CrbWWHbf.css → index.CFOW-Ezb.css} +0 -0
- /package/lib/vite/traceViewer/{recorder.B_SY1GJM.css → recorder.tn0RQdqM.css} +0 -0
- /package/lib/vite/traceViewer/{xtermModule.DSXBckUd.css → xtermModule.Beg8tuEN.css} +0 -0
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.Network = exports.BidiBrowserContext = exports.BidiBrowser = void 0;
|
|
7
|
-
var _eventsHelper = require("
|
|
7
|
+
var _eventsHelper = require("../utils/eventsHelper");
|
|
8
8
|
var _browser = require("../browser");
|
|
9
9
|
var _browserContext = require("../browserContext");
|
|
10
10
|
var network = _interopRequireWildcard(require("../network"));
|
|
@@ -13,7 +13,7 @@ var _bidiNetworkManager = require("./bidiNetworkManager");
|
|
|
13
13
|
var _bidiPage = require("./bidiPage");
|
|
14
14
|
var bidi = _interopRequireWildcard(require("./third_party/bidiProtocol"));
|
|
15
15
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
16
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u &&
|
|
16
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
17
17
|
/**
|
|
18
18
|
* Copyright (c) Microsoft Corporation.
|
|
19
19
|
*
|
|
@@ -80,8 +80,8 @@ class BidiBrowser extends _browser.Browser {
|
|
|
80
80
|
browser._defaultContext = new BidiBrowserContext(browser, undefined, options.persistent);
|
|
81
81
|
await browser._defaultContext._initialize();
|
|
82
82
|
// Create default page as we cannot get access to the existing one.
|
|
83
|
-
const
|
|
84
|
-
await
|
|
83
|
+
const page = await browser._defaultContext.doCreateNewPage();
|
|
84
|
+
await page.waitForInitializedOrError();
|
|
85
85
|
}
|
|
86
86
|
return browser;
|
|
87
87
|
}
|
|
@@ -129,6 +129,8 @@ class BidiBrowser extends _browser.Browser {
|
|
|
129
129
|
if (!parentFrame) continue;
|
|
130
130
|
page._session.addFrameBrowsingContext(event.context);
|
|
131
131
|
page._page._frameManager.frameAttached(event.context, parentFrameId);
|
|
132
|
+
const frame = page._page._frameManager.frame(event.context);
|
|
133
|
+
if (frame) frame._url = event.url;
|
|
132
134
|
return;
|
|
133
135
|
}
|
|
134
136
|
return;
|
|
@@ -139,6 +141,7 @@ class BidiBrowser extends _browser.Browser {
|
|
|
139
141
|
const session = this._connection.createMainFrameBrowsingContextSession(event.context);
|
|
140
142
|
const opener = event.originalOpener && this._bidiPages.get(event.originalOpener);
|
|
141
143
|
const page = new _bidiPage.BidiPage(context, session, opener || null);
|
|
144
|
+
page._page.mainFrame()._url = event.url;
|
|
142
145
|
this._bidiPages.set(event.context, page);
|
|
143
146
|
}
|
|
144
147
|
_onBrowsingContextDestroyed(event) {
|
|
@@ -173,10 +176,10 @@ class BidiBrowserContext extends _browserContext.BrowserContext {
|
|
|
173
176
|
_bidiPages() {
|
|
174
177
|
return [...this._browser._bidiPages.values()].filter(bidiPage => bidiPage._browserContext === this);
|
|
175
178
|
}
|
|
176
|
-
|
|
177
|
-
return this._bidiPages().map(bidiPage => bidiPage.
|
|
179
|
+
possiblyUninitializedPages() {
|
|
180
|
+
return this._bidiPages().map(bidiPage => bidiPage._page);
|
|
178
181
|
}
|
|
179
|
-
async
|
|
182
|
+
async doCreateNewPage() {
|
|
180
183
|
(0, _browserContext.assertBrowserContextIsNotOwned)(this);
|
|
181
184
|
const {
|
|
182
185
|
context
|
|
@@ -184,7 +187,7 @@ class BidiBrowserContext extends _browserContext.BrowserContext {
|
|
|
184
187
|
type: bidi.BrowsingContext.CreateType.Window,
|
|
185
188
|
userContext: this._browserContextId
|
|
186
189
|
});
|
|
187
|
-
return this._browser._bidiPages.get(context);
|
|
190
|
+
return this._browser._bidiPages.get(context)._page;
|
|
188
191
|
}
|
|
189
192
|
async doGetCookies(urls) {
|
|
190
193
|
const {
|
|
@@ -6,11 +6,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.BidiChromium = void 0;
|
|
7
7
|
var _os = _interopRequireDefault(require("os"));
|
|
8
8
|
var _utils = require("../../utils");
|
|
9
|
+
var _ascii = require("../utils/ascii");
|
|
9
10
|
var _browserType = require("../browserType");
|
|
10
|
-
var _chromiumSwitches = require("../chromium/chromiumSwitches");
|
|
11
11
|
var _bidiBrowser = require("./bidiBrowser");
|
|
12
12
|
var _bidiConnection = require("./bidiConnection");
|
|
13
|
-
|
|
13
|
+
var _chromiumSwitches = require("../chromium/chromiumSwitches");
|
|
14
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
15
|
/**
|
|
15
16
|
* Copyright (c) Microsoft Corporation.
|
|
16
17
|
*
|
|
@@ -42,7 +43,7 @@ class BidiChromium extends _browserType.BrowserType {
|
|
|
42
43
|
}
|
|
43
44
|
doRewriteStartupLog(error) {
|
|
44
45
|
if (!error.logs) return error;
|
|
45
|
-
if (error.logs.includes('Missing X server')) error.logs = '\n' + (0,
|
|
46
|
+
if (error.logs.includes('Missing X server')) error.logs = '\n' + (0, _ascii.wrapInASCIIBox)(_browserType.kNoXServerRunningError, 1);
|
|
46
47
|
// These error messages are taken from Chromium source code as of July, 2020:
|
|
47
48
|
// https://github.com/chromium/chromium/blob/70565f67e79f79e17663ad1337dc6e63ee207ce9/content/browser/zygote_host/zygote_host_impl_linux.cc
|
|
48
49
|
if (!error.logs.includes('crbug.com/357670') && !error.logs.includes('No usable sandbox!') && !error.logs.includes('crbug.com/638180')) return error;
|
|
@@ -89,7 +90,7 @@ class BidiChromium extends _browserType.BrowserType {
|
|
|
89
90
|
}
|
|
90
91
|
if (options.devtools) chromeArguments.push('--auto-open-devtools-for-tabs');
|
|
91
92
|
if (options.headless) {
|
|
92
|
-
|
|
93
|
+
chromeArguments.push('--headless');
|
|
93
94
|
chromeArguments.push('--hide-scrollbars', '--mute-audio', '--blink-settings=primaryHoverType=2,availableHoverTypes=2,primaryPointerType=4,availablePointerTypes=4');
|
|
94
95
|
}
|
|
95
96
|
if (options.chromiumSandbox !== true) chromeArguments.push('--no-sandbox');
|
|
@@ -5,8 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.kBrowserCloseMessageId = exports.BidiSession = exports.BidiConnection = void 0;
|
|
7
7
|
var _events = require("events");
|
|
8
|
-
var
|
|
9
|
-
var _debugLogger = require("../../utils/debugLogger");
|
|
8
|
+
var _debugLogger = require("../utils/debugLogger");
|
|
10
9
|
var _helper = require("../helper");
|
|
11
10
|
var _protocolError = require("../protocolError");
|
|
12
11
|
/**
|
|
@@ -197,7 +196,6 @@ class BidiSession extends _events.EventEmitter {
|
|
|
197
196
|
}
|
|
198
197
|
} else if (object.id) {
|
|
199
198
|
// Response might come after session has been disposed and rejected all callbacks.
|
|
200
|
-
(0, _utils.assert)(this.isDisposed());
|
|
201
199
|
} else {
|
|
202
200
|
Promise.resolve().then(() => this.emit(object.method, object.params));
|
|
203
201
|
}
|
|
@@ -4,13 +4,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.BidiExecutionContext = void 0;
|
|
7
|
+
exports.createHandle = createHandle;
|
|
8
|
+
var _utils = require("../../utils");
|
|
7
9
|
var _utilityScriptSerializers = require("../isomorphic/utilityScriptSerializers");
|
|
8
10
|
var js = _interopRequireWildcard(require("../javascript"));
|
|
11
|
+
var dom = _interopRequireWildcard(require("../dom"));
|
|
9
12
|
var _bidiDeserializer = require("./third_party/bidiDeserializer");
|
|
10
13
|
var bidi = _interopRequireWildcard(require("./third_party/bidiProtocol"));
|
|
11
14
|
var _bidiSerializer = require("./third_party/bidiSerializer");
|
|
12
15
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
13
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u &&
|
|
16
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
14
17
|
/**
|
|
15
18
|
* Copyright (c) Microsoft Corporation.
|
|
16
19
|
*
|
|
@@ -59,7 +62,7 @@ class BidiExecutionContext {
|
|
|
59
62
|
if (response.type === 'exception') throw new js.JavaScriptErrorInEvaluate(response.exceptionDetails.text + '\nFull val: ' + JSON.stringify(response.exceptionDetails));
|
|
60
63
|
throw new js.JavaScriptErrorInEvaluate('Unexpected response type: ' + JSON.stringify(response));
|
|
61
64
|
}
|
|
62
|
-
async rawEvaluateHandle(expression) {
|
|
65
|
+
async rawEvaluateHandle(context, expression) {
|
|
63
66
|
const response = await this._session.send('script.evaluate', {
|
|
64
67
|
expression,
|
|
65
68
|
target: this._target,
|
|
@@ -73,23 +76,20 @@ class BidiExecutionContext {
|
|
|
73
76
|
userActivation: true
|
|
74
77
|
});
|
|
75
78
|
if (response.type === 'success') {
|
|
76
|
-
if ('handle' in response.result) return response.result
|
|
79
|
+
if ('handle' in response.result) return createHandle(context, response.result);
|
|
77
80
|
throw new js.JavaScriptErrorInEvaluate('Cannot get handle: ' + JSON.stringify(response.result));
|
|
78
81
|
}
|
|
79
82
|
if (response.type === 'exception') throw new js.JavaScriptErrorInEvaluate(response.exceptionDetails.text + '\nFull val: ' + JSON.stringify(response.exceptionDetails));
|
|
80
83
|
throw new js.JavaScriptErrorInEvaluate('Unexpected response type: ' + JSON.stringify(response));
|
|
81
84
|
}
|
|
82
|
-
|
|
83
|
-
throw new Error('Method not implemented.');
|
|
84
|
-
}
|
|
85
|
-
async evaluateWithArguments(functionDeclaration, returnByValue, utilityScript, values, objectIds) {
|
|
85
|
+
async evaluateWithArguments(functionDeclaration, returnByValue, utilityScript, values, handles) {
|
|
86
86
|
const response = await this._session.send('script.callFunction', {
|
|
87
87
|
functionDeclaration,
|
|
88
88
|
target: this._target,
|
|
89
89
|
arguments: [{
|
|
90
90
|
handle: utilityScript._objectId
|
|
91
|
-
}, ...values.map(_bidiSerializer.BidiSerializer.serialize), ...
|
|
92
|
-
handle
|
|
91
|
+
}, ...values.map(_bidiSerializer.BidiSerializer.serialize), ...handles.map(handle => ({
|
|
92
|
+
handle: handle._objectId
|
|
93
93
|
}))],
|
|
94
94
|
resultOwnership: returnByValue ? undefined : bidi.Script.ResultOwnership.Root,
|
|
95
95
|
// Necessary for the handle to be returned.
|
|
@@ -103,34 +103,72 @@ class BidiExecutionContext {
|
|
|
103
103
|
if (response.type === 'exception') throw new js.JavaScriptErrorInEvaluate(response.exceptionDetails.text + '\nFull val: ' + JSON.stringify(response.exceptionDetails));
|
|
104
104
|
if (response.type === 'success') {
|
|
105
105
|
if (returnByValue) return (0, _utilityScriptSerializers.parseEvaluationResultValue)(_bidiDeserializer.BidiDeserializer.deserialize(response.result));
|
|
106
|
-
|
|
107
|
-
return utilityScript._context.createHandle({
|
|
108
|
-
objectId,
|
|
109
|
-
...response.result
|
|
110
|
-
});
|
|
106
|
+
return createHandle(utilityScript._context, response.result);
|
|
111
107
|
}
|
|
112
108
|
throw new js.JavaScriptErrorInEvaluate('Unexpected response type: ' + JSON.stringify(response));
|
|
113
109
|
}
|
|
114
|
-
async getProperties(
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
110
|
+
async getProperties(handle) {
|
|
111
|
+
const names = await handle.evaluate(object => {
|
|
112
|
+
const names = [];
|
|
113
|
+
const descriptors = Object.getOwnPropertyDescriptors(object);
|
|
114
|
+
for (const name in descriptors) {
|
|
115
|
+
var _descriptors$name;
|
|
116
|
+
if ((_descriptors$name = descriptors[name]) !== null && _descriptors$name !== void 0 && _descriptors$name.enumerable) names.push(name);
|
|
117
|
+
}
|
|
118
|
+
return names;
|
|
119
|
+
});
|
|
120
|
+
const values = await Promise.all(names.map(name => handle.evaluateHandle((object, name) => object[name], name)));
|
|
121
|
+
const map = new Map();
|
|
122
|
+
for (let i = 0; i < names.length; i++) map.set(names[i], values[i]);
|
|
123
|
+
return map;
|
|
120
124
|
}
|
|
121
|
-
async releaseHandle(
|
|
125
|
+
async releaseHandle(handle) {
|
|
126
|
+
if (!handle._objectId) return;
|
|
122
127
|
await this._session.send('script.disown', {
|
|
123
128
|
target: this._target,
|
|
124
|
-
handles: [
|
|
129
|
+
handles: [handle._objectId]
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
async nodeIdForElementHandle(handle) {
|
|
133
|
+
const shared = await this._remoteValueForReference({
|
|
134
|
+
handle: handle._objectId
|
|
135
|
+
});
|
|
136
|
+
// TODO: store sharedId in the handle.
|
|
137
|
+
if (!('sharedId' in shared)) throw new Error('Element is not a node');
|
|
138
|
+
return {
|
|
139
|
+
sharedId: shared.sharedId
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
async remoteObjectForNodeId(context, nodeId) {
|
|
143
|
+
const result = await this._remoteValueForReference(nodeId, true);
|
|
144
|
+
if (!('handle' in result)) throw new Error('Can\'t get remote object for nodeId');
|
|
145
|
+
return createHandle(context, result);
|
|
146
|
+
}
|
|
147
|
+
async contentFrameIdForFrame(handle) {
|
|
148
|
+
const contentWindow = await this._rawCallFunction('e => e.contentWindow', {
|
|
149
|
+
handle: handle._objectId
|
|
125
150
|
});
|
|
151
|
+
if ((contentWindow === null || contentWindow === void 0 ? void 0 : contentWindow.type) === 'window') return contentWindow.value.context;
|
|
152
|
+
return null;
|
|
126
153
|
}
|
|
127
|
-
async
|
|
154
|
+
async frameIdForWindowHandle(handle) {
|
|
155
|
+
if (!handle._objectId) throw new Error('JSHandle is not a DOM node handle');
|
|
156
|
+
const contentWindow = await this._remoteValueForReference({
|
|
157
|
+
handle: handle._objectId
|
|
158
|
+
});
|
|
159
|
+
if (contentWindow.type === 'window') return contentWindow.value.context;
|
|
160
|
+
return null;
|
|
161
|
+
}
|
|
162
|
+
async _remoteValueForReference(reference, createHandle) {
|
|
163
|
+
return await this._rawCallFunction('e => e', reference, createHandle);
|
|
164
|
+
}
|
|
165
|
+
async _rawCallFunction(functionDeclaration, arg, createHandle) {
|
|
128
166
|
const response = await this._session.send('script.callFunction', {
|
|
129
167
|
functionDeclaration,
|
|
130
168
|
target: this._target,
|
|
131
169
|
arguments: [arg],
|
|
132
|
-
|
|
133
|
-
|
|
170
|
+
// "Root" is necessary for the handle to be returned.
|
|
171
|
+
resultOwnership: createHandle ? bidi.Script.ResultOwnership.Root : bidi.Script.ResultOwnership.None,
|
|
134
172
|
serializationOptions: {
|
|
135
173
|
maxObjectDepth: 0,
|
|
136
174
|
maxDomDepth: 0
|
|
@@ -156,4 +194,12 @@ function remoteObjectValue(remoteObject) {
|
|
|
156
194
|
if (remoteObject.type === 'number' && typeof remoteObject.value === 'string') return js.parseUnserializableValue(remoteObject.value);
|
|
157
195
|
if ('value' in remoteObject) return remoteObject.value;
|
|
158
196
|
return undefined;
|
|
197
|
+
}
|
|
198
|
+
function createHandle(context, remoteObject) {
|
|
199
|
+
if (remoteObject.type === 'node') {
|
|
200
|
+
(0, _utils.assert)(context instanceof dom.FrameExecutionContext);
|
|
201
|
+
return new dom.ElementHandle(context, remoteObject.handle);
|
|
202
|
+
}
|
|
203
|
+
const objectId = 'handle' in remoteObject ? remoteObject.handle : undefined;
|
|
204
|
+
return new js.JSHandle(context, remoteObject.type, renderPreview(remoteObject), objectId, remoteObjectValue(remoteObject));
|
|
159
205
|
}
|
|
@@ -7,11 +7,12 @@ exports.BidiFirefox = void 0;
|
|
|
7
7
|
var _os = _interopRequireDefault(require("os"));
|
|
8
8
|
var _path = _interopRequireDefault(require("path"));
|
|
9
9
|
var _utils = require("../../utils");
|
|
10
|
+
var _ascii = require("../utils/ascii");
|
|
10
11
|
var _browserType = require("../browserType");
|
|
11
12
|
var _bidiBrowser = require("./bidiBrowser");
|
|
12
13
|
var _bidiConnection = require("./bidiConnection");
|
|
13
14
|
var _firefoxPrefs = require("./third_party/firefoxPrefs");
|
|
14
|
-
function _interopRequireDefault(
|
|
15
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
16
|
/**
|
|
16
17
|
* Copyright (c) Microsoft Corporation.
|
|
17
18
|
*
|
|
@@ -39,8 +40,8 @@ class BidiFirefox extends _browserType.BrowserType {
|
|
|
39
40
|
doRewriteStartupLog(error) {
|
|
40
41
|
if (!error.logs) return error;
|
|
41
42
|
// https://github.com/microsoft/playwright/issues/6500
|
|
42
|
-
if (error.logs.includes(`as root in a regular user's session is not supported.`)) error.logs = '\n' + (0,
|
|
43
|
-
if (error.logs.includes('no DISPLAY environment variable specified')) error.logs = '\n' + (0,
|
|
43
|
+
if (error.logs.includes(`as root in a regular user's session is not supported.`)) error.logs = '\n' + (0, _ascii.wrapInASCIIBox)(`Firefox is unable to launch if the $HOME folder isn't owned by the current user.\nWorkaround: Set the HOME=/root environment variable${process.env.GITHUB_ACTION ? ' in your GitHub Actions workflow file' : ''} when running Playwright.`, 1);
|
|
44
|
+
if (error.logs.includes('no DISPLAY environment variable specified')) error.logs = '\n' + (0, _ascii.wrapInASCIIBox)(_browserType.kNoXServerRunningError, 1);
|
|
44
45
|
return error;
|
|
45
46
|
}
|
|
46
47
|
amendEnvironment(env, userDataDir, executable, browserArguments) {
|
|
@@ -4,10 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.RawTouchscreenImpl = exports.RawMouseImpl = exports.RawKeyboardImpl = void 0;
|
|
7
|
-
var
|
|
7
|
+
var _input = require("../input");
|
|
8
8
|
var _bidiKeyboard = require("./third_party/bidiKeyboard");
|
|
9
|
+
var bidi = _interopRequireWildcard(require("./third_party/bidiProtocol"));
|
|
9
10
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
10
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u &&
|
|
11
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
11
12
|
/**
|
|
12
13
|
* Copyright (c) Microsoft Corporation.
|
|
13
14
|
*
|
|
@@ -32,20 +33,21 @@ class RawKeyboardImpl {
|
|
|
32
33
|
setSession(session) {
|
|
33
34
|
this._session = session;
|
|
34
35
|
}
|
|
35
|
-
async keydown(modifiers,
|
|
36
|
+
async keydown(modifiers, keyName, description, autoRepeat) {
|
|
37
|
+
keyName = (0, _input.resolveSmartModifierString)(keyName);
|
|
36
38
|
const actions = [];
|
|
37
39
|
actions.push({
|
|
38
40
|
type: 'keyDown',
|
|
39
|
-
value: (0, _bidiKeyboard.getBidiKeyValue)(
|
|
41
|
+
value: (0, _bidiKeyboard.getBidiKeyValue)(keyName)
|
|
40
42
|
});
|
|
41
|
-
// TODO: add modifiers?
|
|
42
43
|
await this._performActions(actions);
|
|
43
44
|
}
|
|
44
|
-
async keyup(modifiers,
|
|
45
|
+
async keyup(modifiers, keyName, description) {
|
|
46
|
+
keyName = (0, _input.resolveSmartModifierString)(keyName);
|
|
45
47
|
const actions = [];
|
|
46
48
|
actions.push({
|
|
47
49
|
type: 'keyUp',
|
|
48
|
-
value: (0, _bidiKeyboard.getBidiKeyValue)(
|
|
50
|
+
value: (0, _bidiKeyboard.getBidiKeyValue)(keyName)
|
|
49
51
|
});
|
|
50
52
|
await this._performActions(actions);
|
|
51
53
|
}
|
|
@@ -82,9 +84,6 @@ class RawMouseImpl {
|
|
|
82
84
|
this._session = session;
|
|
83
85
|
}
|
|
84
86
|
async move(x, y, button, buttons, modifiers, forClick) {
|
|
85
|
-
// Bidi throws when x/y are not integers.
|
|
86
|
-
x = Math.round(x);
|
|
87
|
-
y = Math.round(y);
|
|
88
87
|
await this._performActions([{
|
|
89
88
|
type: 'pointerMove',
|
|
90
89
|
x,
|
|
@@ -105,8 +104,8 @@ class RawMouseImpl {
|
|
|
105
104
|
}
|
|
106
105
|
async wheel(x, y, buttons, modifiers, deltaX, deltaY) {
|
|
107
106
|
// Bidi throws when x/y are not integers.
|
|
108
|
-
x = Math.
|
|
109
|
-
y = Math.
|
|
107
|
+
x = Math.floor(x);
|
|
108
|
+
y = Math.floor(y);
|
|
110
109
|
await this._session.send('input.performActions', {
|
|
111
110
|
context: this._session.sessionId,
|
|
112
111
|
actions: [{
|
|
@@ -5,12 +5,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.BidiNetworkManager = void 0;
|
|
7
7
|
exports.bidiBytesValueToString = bidiBytesValueToString;
|
|
8
|
-
var _eventsHelper = require("
|
|
8
|
+
var _eventsHelper = require("../utils/eventsHelper");
|
|
9
|
+
var _cookieStore = require("../cookieStore");
|
|
9
10
|
var network = _interopRequireWildcard(require("../network"));
|
|
10
11
|
var bidi = _interopRequireWildcard(require("./third_party/bidiProtocol"));
|
|
11
|
-
var _cookieStore = require("../cookieStore");
|
|
12
12
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
13
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u &&
|
|
13
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
14
14
|
/**
|
|
15
15
|
* Copyright (c) Microsoft Corporation.
|
|
16
16
|
*
|
|
@@ -57,10 +57,12 @@ class BidiNetworkManager {
|
|
|
57
57
|
if (param.intercepts) {
|
|
58
58
|
// We do not support intercepting redirects.
|
|
59
59
|
if (redirectedFrom) {
|
|
60
|
-
var _redirectedFrom$_orig;
|
|
60
|
+
var _redirectedFrom$_orig, _redirectedFrom$_orig2;
|
|
61
|
+
let params = {};
|
|
62
|
+
if ((_redirectedFrom$_orig = redirectedFrom._originalRequestRoute) !== null && _redirectedFrom$_orig !== void 0 && _redirectedFrom$_orig._alreadyContinuedHeaders) params = toBidiRequestHeaders((_redirectedFrom$_orig2 = redirectedFrom._originalRequestRoute._alreadyContinuedHeaders) !== null && _redirectedFrom$_orig2 !== void 0 ? _redirectedFrom$_orig2 : []);
|
|
61
63
|
this._session.sendMayFail('network.continueRequest', {
|
|
62
64
|
request: param.request.request,
|
|
63
|
-
...
|
|
65
|
+
...params
|
|
64
66
|
});
|
|
65
67
|
} else {
|
|
66
68
|
route = new BidiRouteImpl(this._session, param.request.request);
|
|
@@ -80,10 +82,10 @@ class BidiNetworkManager {
|
|
|
80
82
|
const startTime = timings.requestTime;
|
|
81
83
|
function relativeToStart(time) {
|
|
82
84
|
if (!time) return -1;
|
|
83
|
-
return
|
|
85
|
+
return time - startTime;
|
|
84
86
|
}
|
|
85
87
|
const timing = {
|
|
86
|
-
startTime: startTime
|
|
88
|
+
startTime: startTime,
|
|
87
89
|
requestStart: relativeToStart(timings.requestStart),
|
|
88
90
|
responseStart: relativeToStart(timings.responseStart),
|
|
89
91
|
domainLookupStart: relativeToStart(timings.dnsStart),
|
|
@@ -111,7 +113,7 @@ class BidiNetworkManager {
|
|
|
111
113
|
|
|
112
114
|
// Keep redirected requests in the map for future reference as redirectedFrom.
|
|
113
115
|
const isRedirected = response.status() >= 300 && response.status() <= 399;
|
|
114
|
-
const responseEndTime = params.request.timings.responseEnd
|
|
116
|
+
const responseEndTime = params.request.timings.responseEnd - response.timing().startTime;
|
|
115
117
|
if (isRedirected) {
|
|
116
118
|
response._requestFinished(responseEndTime);
|
|
117
119
|
} else {
|
|
@@ -287,11 +289,8 @@ function fromBidiHeaders(bidiHeaders) {
|
|
|
287
289
|
}
|
|
288
290
|
function toBidiRequestHeaders(allHeaders) {
|
|
289
291
|
const bidiHeaders = toBidiHeaders(allHeaders);
|
|
290
|
-
const cookies = bidiHeaders.filter(h => h.name.toLowerCase() === 'cookie');
|
|
291
|
-
const headers = bidiHeaders.filter(h => h.name.toLowerCase() !== 'cookie');
|
|
292
292
|
return {
|
|
293
|
-
|
|
294
|
-
headers
|
|
293
|
+
headers: bidiHeaders
|
|
295
294
|
};
|
|
296
295
|
}
|
|
297
296
|
function toBidiResponseHeaders(headers) {
|
|
@@ -6,9 +6,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.connectBidiOverCdp = connectBidiOverCdp;
|
|
7
7
|
var bidiMapper = _interopRequireWildcard(require("chromium-bidi/lib/cjs/bidiMapper/BidiMapper"));
|
|
8
8
|
var bidiCdpConnection = _interopRequireWildcard(require("chromium-bidi/lib/cjs/cdp/CdpConnection"));
|
|
9
|
-
var _debugLogger = require("
|
|
9
|
+
var _debugLogger = require("../utils/debugLogger");
|
|
10
10
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
11
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u &&
|
|
11
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
12
12
|
/**
|
|
13
13
|
* Copyright (c) Microsoft Corporation.
|
|
14
14
|
*
|