rebrowser-playwright-core 1.52.0 → 1.64.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 +7 -1554
- package/bin/install_webkit_wsl.ps1 +33 -0
- package/bin/reinstall_chrome_beta_linux.sh +1 -1
- package/bin/reinstall_chrome_beta_mac.sh +1 -1
- package/bin/reinstall_chrome_stable_linux.sh +1 -1
- package/bin/reinstall_chrome_stable_mac.sh +1 -1
- package/bin/reinstall_msedge_beta_linux.sh +1 -1
- package/bin/reinstall_msedge_beta_mac.sh +1 -1
- package/bin/reinstall_msedge_dev_linux.sh +1 -1
- package/bin/reinstall_msedge_dev_mac.sh +1 -1
- package/bin/reinstall_msedge_stable_linux.sh +1 -1
- package/bin/reinstall_msedge_stable_mac.sh +1 -1
- package/browsers.json +16 -44
- package/cli.js +5 -1
- package/index.js +2 -17
- package/lib/bootstrap.js +149 -0
- package/lib/coreBundle.js +78218 -0
- package/lib/entry/cliDaemon.js +5 -0
- package/lib/entry/dashboardApp.js +3 -0
- package/lib/entry/mcp.js +10 -0
- package/lib/entry/oopBrowserDownload.js +3 -0
- package/lib/{server/deviceDescriptors.js → package.js} +18 -7
- package/lib/server/electron/loader.js +108 -14
- package/lib/serverRegistry.js +1939 -0
- package/lib/serverRegistry.js.LICENSE +65 -0
- package/lib/tools/cli-client/channelSessions.js +141 -0
- package/lib/tools/cli-client/cli.js +7 -0
- package/lib/tools/cli-client/help.json +808 -0
- package/lib/tools/cli-client/minimist.js +128 -0
- package/lib/tools/cli-client/output.js +352 -0
- package/lib/tools/cli-client/program.js +422 -0
- package/lib/tools/cli-client/registry.js +180 -0
- package/lib/tools/cli-client/session.js +261 -0
- package/lib/tools/dashboard/appIcon.png +0 -0
- package/lib/tools/skills/playwright-cli/SKILL.md +493 -0
- package/lib/tools/skills/playwright-cli/references/element-attributes.md +23 -0
- package/lib/tools/skills/playwright-cli/references/playwright-tests.md +39 -0
- package/lib/tools/skills/playwright-cli/references/pr-attachments.md +60 -0
- package/lib/tools/skills/playwright-cli/references/request-mocking.md +87 -0
- package/lib/tools/skills/playwright-cli/references/running-code.md +245 -0
- package/lib/tools/skills/playwright-cli/references/session-management.md +227 -0
- package/lib/tools/skills/playwright-cli/references/storage-state.md +275 -0
- package/lib/tools/skills/playwright-cli/references/test-generation.md +433 -0
- package/lib/tools/skills/playwright-cli/references/tracing.md +139 -0
- package/lib/tools/skills/playwright-cli/references/video-recording.md +216 -0
- package/lib/tools/skills/playwright-component-testing/SKILL.md +136 -0
- package/lib/tools/skills/playwright-component-testing/references/gallery-spec.md +144 -0
- package/lib/tools/skills/playwright-component-testing/references/migration.md +89 -0
- package/lib/tools/skills/playwright-component-testing/references/react.md +69 -0
- package/lib/tools/skills/playwright-component-testing/references/typing.md +173 -0
- package/lib/tools/skills/playwright-component-testing/references/vue.md +77 -0
- package/lib/tools/skills/playwright-trace/SKILL.md +174 -0
- package/lib/tools/utils/extension.js +112 -0
- package/lib/tools/utils/socketConnection.js +108 -0
- package/lib/utilsBundle.js +86038 -66
- package/lib/utilsBundle.js.LICENSE +1890 -0
- package/lib/vite/dashboard/assets/codeMirrorModule--QdMvsKi.css +1 -0
- package/lib/vite/dashboard/assets/codeMirrorModule-CQ8RZGBm.js +32 -0
- package/lib/vite/dashboard/assets/codicon-DCmgc-ay.ttf +0 -0
- package/lib/vite/dashboard/assets/firefox-1bWoP6pv.svg +1 -0
- package/lib/vite/dashboard/assets/firefox-beta-k3eOH_eK.svg +1 -0
- package/lib/vite/dashboard/assets/firefox-nightly-Cp5nfeDT.svg +1 -0
- package/lib/vite/dashboard/assets/index-AwgwcYie.css +1 -0
- package/lib/vite/dashboard/assets/index-hRvO4yU2.js +12 -0
- package/lib/vite/dashboard/assets/safari-na3_-uQk.svg +1 -0
- package/lib/vite/dashboard/index.html +29 -0
- package/lib/vite/dashboard/playwright-logo.svg +24 -0
- package/lib/vite/htmlReport/index.html +2 -61
- package/lib/vite/htmlReport/report.css +2 -0
- package/lib/vite/htmlReport/report.js +32 -0
- package/lib/vite/recorder/assets/codeMirrorModule--QdMvsKi.css +1 -0
- package/lib/vite/recorder/assets/codeMirrorModule-DK72OMRi.js +32 -0
- package/lib/vite/recorder/assets/index-BZpYJZ-P.css +1 -0
- package/lib/vite/recorder/assets/index-Cn0mmDuv.js +129 -0
- package/lib/vite/recorder/index.html +3 -3
- package/lib/vite/traceViewer/assets/codeMirrorModule-BEB2e8M3.js +32 -0
- package/lib/vite/traceViewer/assets/defaultSettingsView-D-g2vrvf.js +184 -0
- package/lib/vite/traceViewer/assets/urlMatch-L3liM589.js +1 -0
- package/lib/vite/traceViewer/assets/xtermModule-B794rD2Z.js +7 -0
- package/lib/vite/traceViewer/codeMirrorModule.-QdMvsKi.css +1 -0
- package/lib/vite/traceViewer/defaultSettingsView.C8BeHuxd.css +1 -0
- package/lib/vite/traceViewer/index.B_TqY17P.css +1 -0
- package/lib/vite/traceViewer/index.html +9 -8
- package/lib/vite/traceViewer/index.oNry3Hjv.js +1 -0
- package/lib/vite/traceViewer/manifest.webmanifest +16 -0
- package/lib/vite/traceViewer/snapshot.B_Jk1wbt.js +1 -0
- package/lib/vite/traceViewer/snapshot.html +4 -15
- package/lib/vite/traceViewer/sw.bundle.js +4 -3
- package/lib/vite/traceViewer/uiMode.CYwC_gH1.js +5 -0
- package/lib/vite/traceViewer/uiMode.CyMfwkXJ.css +1 -0
- package/lib/vite/traceViewer/uiMode.html +6 -5
- package/lib/vite/traceViewer/xtermModule.kHJ-D0s7.css +1 -0
- package/lib/webp_codec.LICENSE +173 -0
- package/lib/webp_codec.wasm +0 -0
- package/lib/{utilsBundleImpl/xdg-open → xdg-open} +338 -137
- package/package.json +6 -16
- package/types/protocol.d.ts +10495 -8030
- package/types/structs.d.ts +8 -1
- package/types/types.d.ts +9256 -4825
- package/lib/androidServerImpl.js +0 -63
- package/lib/browserServerImpl.js +0 -88
- package/lib/cli/driver.js +0 -97
- package/lib/cli/program.js +0 -567
- package/lib/cli/programWithTestStub.js +0 -74
- package/lib/client/accessibility.js +0 -49
- package/lib/client/android.js +0 -365
- package/lib/client/api.js +0 -137
- package/lib/client/artifact.js +0 -79
- package/lib/client/browser.js +0 -136
- package/lib/client/browserContext.js +0 -539
- package/lib/client/browserType.js +0 -193
- package/lib/client/cdpSession.js +0 -51
- package/lib/client/channelOwner.js +0 -205
- package/lib/client/clientHelper.js +0 -64
- package/lib/client/clientInstrumentation.js +0 -55
- package/lib/client/clientStackTrace.js +0 -69
- package/lib/client/clock.js +0 -68
- package/lib/client/connection.js +0 -318
- package/lib/client/consoleMessage.js +0 -55
- package/lib/client/coverage.js +0 -44
- package/lib/client/dialog.js +0 -56
- package/lib/client/download.js +0 -62
- package/lib/client/electron.js +0 -133
- package/lib/client/elementHandle.js +0 -284
- package/lib/client/errors.js +0 -77
- package/lib/client/eventEmitter.js +0 -314
- package/lib/client/events.js +0 -98
- package/lib/client/fetch.js +0 -367
- package/lib/client/fileChooser.js +0 -46
- package/lib/client/fileUtils.js +0 -34
- package/lib/client/frame.js +0 -386
- package/lib/client/harRouter.js +0 -87
- package/lib/client/input.js +0 -82
- package/lib/client/jsHandle.js +0 -105
- package/lib/client/jsonPipe.js +0 -39
- package/lib/client/localUtils.js +0 -61
- package/lib/client/locator.js +0 -362
- package/lib/client/network.js +0 -751
- package/lib/client/page.js +0 -709
- package/lib/client/platform.js +0 -74
- package/lib/client/playwright.js +0 -85
- package/lib/client/selectors.js +0 -75
- package/lib/client/stream.js +0 -39
- package/lib/client/timeoutSettings.js +0 -75
- package/lib/client/tracing.js +0 -114
- package/lib/client/types.js +0 -28
- package/lib/client/video.js +0 -59
- package/lib/client/waiter.js +0 -142
- package/lib/client/webError.js +0 -39
- package/lib/client/webSocket.js +0 -111
- package/lib/client/worker.js +0 -63
- package/lib/client/writableStream.js +0 -39
- package/lib/generated/clockSource.js +0 -28
- package/lib/generated/consoleApiSource.js +0 -28
- package/lib/generated/injectedScriptSource.js +0 -28
- package/lib/generated/pollingRecorderSource.js +0 -28
- package/lib/generated/utilityScriptSource.js +0 -28
- package/lib/generated/webSocketMockSource.js +0 -378
- package/lib/inProcessFactory.js +0 -59
- package/lib/inprocess.js +0 -3
- package/lib/outofprocess.js +0 -78
- package/lib/protocol/debug.js +0 -211
- package/lib/protocol/serializers.js +0 -192
- package/lib/protocol/validator.js +0 -2825
- package/lib/protocol/validatorPrimitives.js +0 -179
- package/lib/remote/playwrightConnection.js +0 -266
- package/lib/remote/playwrightServer.js +0 -139
- package/lib/server/accessibility.js +0 -69
- package/lib/server/android/android.js +0 -451
- package/lib/server/android/backendAdb.js +0 -179
- package/lib/server/artifact.js +0 -127
- package/lib/server/bidi/bidiBrowser.js +0 -380
- package/lib/server/bidi/bidiChromium.js +0 -152
- package/lib/server/bidi/bidiConnection.js +0 -187
- package/lib/server/bidi/bidiExecutionContext.js +0 -220
- package/lib/server/bidi/bidiFirefox.js +0 -112
- package/lib/server/bidi/bidiInput.js +0 -146
- package/lib/server/bidi/bidiNetworkManager.js +0 -320
- package/lib/server/bidi/bidiOverCdp.js +0 -102
- package/lib/server/bidi/bidiPage.js +0 -530
- package/lib/server/bidi/bidiPdf.js +0 -106
- package/lib/server/bidi/third_party/bidiCommands.d.js +0 -22
- package/lib/server/bidi/third_party/bidiDeserializer.js +0 -98
- package/lib/server/bidi/third_party/bidiKeyboard.js +0 -256
- package/lib/server/bidi/third_party/bidiProtocol.js +0 -152
- package/lib/server/bidi/third_party/bidiSerializer.js +0 -148
- package/lib/server/bidi/third_party/firefoxPrefs.js +0 -259
- package/lib/server/browser.js +0 -140
- package/lib/server/browserContext.js +0 -650
- package/lib/server/browserType.js +0 -326
- package/lib/server/callLog.js +0 -82
- package/lib/server/chromium/chromium.js +0 -376
- package/lib/server/chromium/chromiumSwitches.js +0 -101
- package/lib/server/chromium/crAccessibility.js +0 -263
- package/lib/server/chromium/crBrowser.js +0 -498
- package/lib/server/chromium/crConnection.js +0 -324
- package/lib/server/chromium/crCoverage.js +0 -232
- package/lib/server/chromium/crDevTools.js +0 -117
- package/lib/server/chromium/crDragDrop.js +0 -126
- package/lib/server/chromium/crExecutionContext.js +0 -145
- package/lib/server/chromium/crInput.js +0 -184
- package/lib/server/chromium/crNetworkManager.js +0 -666
- package/lib/server/chromium/crPage.js +0 -1055
- package/lib/server/chromium/crPdf.js +0 -121
- package/lib/server/chromium/crProtocolHelper.js +0 -145
- package/lib/server/chromium/crServiceWorker.js +0 -130
- package/lib/server/chromium/defaultFontFamilies.js +0 -162
- package/lib/server/chromium/protocol.d.js +0 -16
- package/lib/server/chromium/videoRecorder.js +0 -121
- package/lib/server/clock.js +0 -137
- package/lib/server/codegen/csharp.js +0 -329
- package/lib/server/codegen/java.js +0 -270
- package/lib/server/codegen/javascript.js +0 -268
- package/lib/server/codegen/jsonl.js +0 -51
- package/lib/server/codegen/language.js +0 -111
- package/lib/server/codegen/languages.js +0 -68
- package/lib/server/codegen/python.js +0 -277
- package/lib/server/codegen/types.js +0 -16
- package/lib/server/console.js +0 -53
- package/lib/server/cookieStore.js +0 -204
- package/lib/server/debugController.js +0 -185
- package/lib/server/debugger.js +0 -136
- package/lib/server/deviceDescriptorsSource.json +0 -1669
- package/lib/server/dialog.js +0 -72
- package/lib/server/dispatchers/androidDispatcher.js +0 -293
- package/lib/server/dispatchers/artifactDispatcher.js +0 -118
- package/lib/server/dispatchers/browserContextDispatcher.js +0 -328
- package/lib/server/dispatchers/browserDispatcher.js +0 -151
- package/lib/server/dispatchers/browserTypeDispatcher.js +0 -55
- package/lib/server/dispatchers/cdpSessionDispatcher.js +0 -44
- package/lib/server/dispatchers/debugControllerDispatcher.js +0 -87
- package/lib/server/dispatchers/dialogDispatcher.js +0 -47
- package/lib/server/dispatchers/dispatcher.js +0 -346
- package/lib/server/dispatchers/electronDispatcher.js +0 -90
- package/lib/server/dispatchers/elementHandlerDispatcher.js +0 -191
- package/lib/server/dispatchers/frameDispatcher.js +0 -224
- package/lib/server/dispatchers/jsHandleDispatcher.js +0 -80
- package/lib/server/dispatchers/jsonPipeDispatcher.js +0 -58
- package/lib/server/dispatchers/localUtilsDispatcher.js +0 -155
- package/lib/server/dispatchers/networkDispatchers.js +0 -204
- package/lib/server/dispatchers/pageDispatcher.js +0 -328
- package/lib/server/dispatchers/playwrightDispatcher.js +0 -100
- package/lib/server/dispatchers/selectorsDispatcher.js +0 -40
- package/lib/server/dispatchers/streamDispatcher.js +0 -60
- package/lib/server/dispatchers/tracingDispatcher.js +0 -59
- package/lib/server/dispatchers/webSocketRouteDispatcher.js +0 -154
- package/lib/server/dispatchers/writableStreamDispatcher.js +0 -73
- package/lib/server/dom.js +0 -869
- package/lib/server/download.js +0 -70
- package/lib/server/electron/electron.js +0 -277
- package/lib/server/errors.js +0 -69
- package/lib/server/fetch.js +0 -640
- package/lib/server/fileChooser.js +0 -43
- package/lib/server/fileUploadUtils.js +0 -84
- package/lib/server/firefox/ffAccessibility.js +0 -238
- package/lib/server/firefox/ffBrowser.js +0 -404
- package/lib/server/firefox/ffConnection.js +0 -147
- package/lib/server/firefox/ffExecutionContext.js +0 -149
- package/lib/server/firefox/ffInput.js +0 -159
- package/lib/server/firefox/ffNetworkManager.js +0 -254
- package/lib/server/firefox/ffPage.js +0 -501
- package/lib/server/firefox/firefox.js +0 -106
- package/lib/server/firefox/protocol.d.js +0 -16
- package/lib/server/formData.js +0 -147
- package/lib/server/frameSelectors.js +0 -137
- package/lib/server/frames.js +0 -1555
- package/lib/server/har/harRecorder.js +0 -147
- package/lib/server/har/harTracer.js +0 -606
- package/lib/server/harBackend.js +0 -157
- package/lib/server/helper.js +0 -100
- package/lib/server/index.js +0 -61
- package/lib/server/input.js +0 -280
- package/lib/server/instrumentation.js +0 -75
- package/lib/server/javascript.js +0 -299
- package/lib/server/launchApp.js +0 -110
- package/lib/server/localUtils.js +0 -211
- package/lib/server/macEditingCommands.js +0 -143
- package/lib/server/network.js +0 -583
- package/lib/server/page.js +0 -790
- package/lib/server/pageBinding.js +0 -88
- package/lib/server/pipeTransport.js +0 -89
- package/lib/server/playwright.js +0 -81
- package/lib/server/progress.js +0 -104
- package/lib/server/protocolError.js +0 -52
- package/lib/server/recorder/chat.js +0 -161
- package/lib/server/recorder/contextRecorder.js +0 -286
- package/lib/server/recorder/recorderApp.js +0 -184
- package/lib/server/recorder/recorderCollection.js +0 -116
- package/lib/server/recorder/recorderFrontend.js +0 -16
- package/lib/server/recorder/recorderRunner.js +0 -135
- package/lib/server/recorder/recorderUtils.js +0 -100
- package/lib/server/recorder/throttledFile.js +0 -57
- package/lib/server/recorder.js +0 -360
- package/lib/server/registry/browserFetcher.js +0 -175
- package/lib/server/registry/dependencies.js +0 -371
- package/lib/server/registry/index.js +0 -1271
- package/lib/server/registry/nativeDeps.js +0 -1105
- package/lib/server/registry/oopDownloadBrowserMain.js +0 -120
- package/lib/server/screenshotter.js +0 -332
- package/lib/server/selectors.js +0 -112
- package/lib/server/socksClientCertificatesInterceptor.js +0 -321
- package/lib/server/socksInterceptor.js +0 -95
- package/lib/server/storageScript.js +0 -154
- package/lib/server/timeoutSettings.js +0 -89
- package/lib/server/trace/recorder/snapshotter.js +0 -143
- package/lib/server/trace/recorder/snapshotterInjected.js +0 -539
- package/lib/server/trace/recorder/tracing.js +0 -593
- package/lib/server/trace/test/inMemorySnapshotter.js +0 -87
- package/lib/server/trace/viewer/traceViewer.js +0 -249
- package/lib/server/transport.js +0 -183
- package/lib/server/types.js +0 -28
- package/lib/server/usKeyboardLayout.js +0 -145
- package/lib/server/utils/ascii.js +0 -44
- package/lib/server/utils/comparators.js +0 -161
- package/lib/server/utils/crypto.js +0 -216
- package/lib/server/utils/debug.js +0 -47
- package/lib/server/utils/debugLogger.js +0 -114
- package/lib/server/utils/env.js +0 -68
- package/lib/server/utils/eventsHelper.js +0 -39
- package/lib/server/utils/expectUtils.js +0 -38
- package/lib/server/utils/fileUtils.js +0 -191
- package/lib/server/utils/happyEyeballs.js +0 -207
- package/lib/server/utils/hostPlatform.js +0 -109
- package/lib/server/utils/httpServer.js +0 -218
- package/lib/server/utils/image_tools/colorUtils.js +0 -89
- package/lib/server/utils/image_tools/compare.js +0 -109
- package/lib/server/utils/image_tools/imageChannel.js +0 -78
- package/lib/server/utils/image_tools/stats.js +0 -102
- package/lib/server/utils/linuxUtils.js +0 -71
- package/lib/server/utils/network.js +0 -217
- package/lib/server/utils/nodePlatform.js +0 -148
- package/lib/server/utils/pipeTransport.js +0 -84
- package/lib/server/utils/processLauncher.js +0 -238
- package/lib/server/utils/profiler.js +0 -65
- package/lib/server/utils/socksProxy.js +0 -511
- package/lib/server/utils/spawnAsync.js +0 -41
- package/lib/server/utils/task.js +0 -51
- package/lib/server/utils/userAgent.js +0 -98
- package/lib/server/utils/wsServer.js +0 -132
- package/lib/server/utils/zipFile.js +0 -74
- package/lib/server/utils/zones.js +0 -57
- package/lib/server/webkit/protocol.d.js +0 -16
- package/lib/server/webkit/webkit.js +0 -100
- package/lib/server/webkit/wkAccessibility.js +0 -237
- package/lib/server/webkit/wkBrowser.js +0 -312
- package/lib/server/webkit/wkConnection.js +0 -149
- package/lib/server/webkit/wkExecutionContext.js +0 -153
- package/lib/server/webkit/wkInput.js +0 -181
- package/lib/server/webkit/wkInterceptableRequest.js +0 -169
- package/lib/server/webkit/wkPage.js +0 -1114
- package/lib/server/webkit/wkProvisionalPage.js +0 -83
- package/lib/server/webkit/wkWorkers.js +0 -104
- package/lib/third_party/pixelmatch.js +0 -255
- package/lib/utils/isomorphic/ariaSnapshot.js +0 -384
- package/lib/utils/isomorphic/assert.js +0 -31
- package/lib/utils/isomorphic/builtins.js +0 -90
- package/lib/utils/isomorphic/colors.js +0 -72
- package/lib/utils/isomorphic/cssParser.js +0 -246
- package/lib/utils/isomorphic/cssTokenizer.js +0 -1051
- package/lib/utils/isomorphic/headers.js +0 -53
- package/lib/utils/isomorphic/locatorGenerators.js +0 -655
- package/lib/utils/isomorphic/locatorParser.js +0 -176
- package/lib/utils/isomorphic/locatorUtils.js +0 -81
- package/lib/utils/isomorphic/manualPromise.js +0 -115
- package/lib/utils/isomorphic/mimeType.js +0 -460
- package/lib/utils/isomorphic/multimap.js +0 -81
- package/lib/utils/isomorphic/rtti.js +0 -43
- package/lib/utils/isomorphic/selectorParser.js +0 -387
- package/lib/utils/isomorphic/semaphore.js +0 -54
- package/lib/utils/isomorphic/stackTrace.js +0 -158
- package/lib/utils/isomorphic/stringUtils.js +0 -176
- package/lib/utils/isomorphic/time.js +0 -44
- package/lib/utils/isomorphic/timeoutRunner.js +0 -67
- package/lib/utils/isomorphic/traceUtils.js +0 -59
- package/lib/utils/isomorphic/types.js +0 -16
- package/lib/utils/isomorphic/urlMatch.js +0 -167
- package/lib/utils/isomorphic/utilityScriptSerializers.js +0 -248
- package/lib/utils.js +0 -101
- package/lib/utilsBundleImpl/index.js +0 -208
- package/lib/vite/recorder/assets/codeMirrorModule-C3UTv-Ge.css +0 -1
- package/lib/vite/recorder/assets/codeMirrorModule-DVQi6prl.js +0 -24
- package/lib/vite/recorder/assets/index-97EUAAbk.js +0 -184
- package/lib/vite/recorder/assets/index-eHBmevrY.css +0 -1
- package/lib/vite/traceViewer/assets/codeMirrorModule-DwAiTpyC.js +0 -24
- package/lib/vite/traceViewer/assets/defaultSettingsView-DkkRvn5X.js +0 -265
- package/lib/vite/traceViewer/assets/xtermModule-BoAIEibi.js +0 -9
- package/lib/vite/traceViewer/codeMirrorModule.C3UTv-Ge.css +0 -1
- package/lib/vite/traceViewer/defaultSettingsView.QdHITyLI.css +0 -1
- package/lib/vite/traceViewer/index.CFOW-Ezb.css +0 -1
- package/lib/vite/traceViewer/index.DvtSwn6E.js +0 -2
- package/lib/vite/traceViewer/uiMode.BatfzHMG.css +0 -1
- package/lib/vite/traceViewer/uiMode.Sdytl9wc.js +0 -5
- package/lib/vite/traceViewer/xtermModule.Beg8tuEN.css +0 -32
- package/lib/zipBundle.js +0 -34
- package/lib/zipBundleImpl.js +0 -5
|
@@ -1,376 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __export = (target, all) => {
|
|
9
|
-
for (var name in all)
|
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
-
};
|
|
12
|
-
var __copyProps = (to, from, except, desc) => {
|
|
13
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
-
for (let key of __getOwnPropNames(from))
|
|
15
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
-
}
|
|
18
|
-
return to;
|
|
19
|
-
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
-
mod
|
|
27
|
-
));
|
|
28
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
var chromium_exports = {};
|
|
30
|
-
__export(chromium_exports, {
|
|
31
|
-
Chromium: () => Chromium
|
|
32
|
-
});
|
|
33
|
-
module.exports = __toCommonJS(chromium_exports);
|
|
34
|
-
var import_fs = __toESM(require("fs"));
|
|
35
|
-
var import_os = __toESM(require("os"));
|
|
36
|
-
var import_path = __toESM(require("path"));
|
|
37
|
-
var import_chromiumSwitches = require("./chromiumSwitches");
|
|
38
|
-
var import_crBrowser = require("./crBrowser");
|
|
39
|
-
var import_crConnection = require("./crConnection");
|
|
40
|
-
var import_timeoutSettings = require("../timeoutSettings");
|
|
41
|
-
var import_utils = require("../../utils");
|
|
42
|
-
var import_ascii = require("../utils/ascii");
|
|
43
|
-
var import_debugLogger = require("../utils/debugLogger");
|
|
44
|
-
var import_manualPromise = require("../../utils/isomorphic/manualPromise");
|
|
45
|
-
var import_network = require("../utils/network");
|
|
46
|
-
var import_userAgent = require("../utils/userAgent");
|
|
47
|
-
var import_browserContext = require("../browserContext");
|
|
48
|
-
var import_browserType = require("../browserType");
|
|
49
|
-
var import_browserType2 = require("../browserType");
|
|
50
|
-
var import_helper = require("../helper");
|
|
51
|
-
var import_registry = require("../registry");
|
|
52
|
-
var import_transport = require("../transport");
|
|
53
|
-
var import_crDevTools = require("./crDevTools");
|
|
54
|
-
var import_browser = require("../browser");
|
|
55
|
-
var import_fileUtils = require("../utils/fileUtils");
|
|
56
|
-
var import_processLauncher = require("../utils/processLauncher");
|
|
57
|
-
var import_progress = require("../progress");
|
|
58
|
-
const ARTIFACTS_FOLDER = import_path.default.join(import_os.default.tmpdir(), "playwright-artifacts-");
|
|
59
|
-
class Chromium extends import_browserType.BrowserType {
|
|
60
|
-
constructor(parent) {
|
|
61
|
-
super(parent, "chromium");
|
|
62
|
-
if ((0, import_utils.debugMode)())
|
|
63
|
-
this._devtools = this._createDevTools();
|
|
64
|
-
}
|
|
65
|
-
async connectOverCDP(metadata, endpointURL, options) {
|
|
66
|
-
const controller = new import_progress.ProgressController(metadata, this);
|
|
67
|
-
controller.setLogName("browser");
|
|
68
|
-
return controller.run(async (progress) => {
|
|
69
|
-
return await this._connectOverCDPInternal(progress, endpointURL, options);
|
|
70
|
-
}, import_timeoutSettings.TimeoutSettings.timeout(options));
|
|
71
|
-
}
|
|
72
|
-
async _connectOverCDPInternal(progress, endpointURL, options, onClose) {
|
|
73
|
-
let headersMap;
|
|
74
|
-
if (options.headers)
|
|
75
|
-
headersMap = (0, import_utils.headersArrayToObject)(options.headers, false);
|
|
76
|
-
if (!headersMap)
|
|
77
|
-
headersMap = { "User-Agent": (0, import_userAgent.getUserAgent)() };
|
|
78
|
-
else if (headersMap && !Object.keys(headersMap).some((key) => key.toLowerCase() === "user-agent"))
|
|
79
|
-
headersMap["User-Agent"] = (0, import_userAgent.getUserAgent)();
|
|
80
|
-
const artifactsDir = await import_fs.default.promises.mkdtemp(ARTIFACTS_FOLDER);
|
|
81
|
-
const wsEndpoint = await urlToWSEndpoint(progress, endpointURL, headersMap);
|
|
82
|
-
progress.throwIfAborted();
|
|
83
|
-
const chromeTransport = await import_transport.WebSocketTransport.connect(progress, wsEndpoint, { headers: headersMap });
|
|
84
|
-
const cleanedUp = new import_manualPromise.ManualPromise();
|
|
85
|
-
const doCleanup = async () => {
|
|
86
|
-
await (0, import_fileUtils.removeFolders)([artifactsDir]);
|
|
87
|
-
await onClose?.();
|
|
88
|
-
cleanedUp.resolve();
|
|
89
|
-
};
|
|
90
|
-
const doClose = async () => {
|
|
91
|
-
await chromeTransport.closeAndWait();
|
|
92
|
-
await cleanedUp;
|
|
93
|
-
};
|
|
94
|
-
const browserProcess = { close: doClose, kill: doClose };
|
|
95
|
-
const persistent = { noDefaultViewport: true };
|
|
96
|
-
const browserOptions = {
|
|
97
|
-
slowMo: options.slowMo,
|
|
98
|
-
name: "chromium",
|
|
99
|
-
isChromium: true,
|
|
100
|
-
persistent,
|
|
101
|
-
browserProcess,
|
|
102
|
-
protocolLogger: import_helper.helper.debugProtocolLogger(),
|
|
103
|
-
browserLogsCollector: new import_debugLogger.RecentLogsCollector(),
|
|
104
|
-
artifactsDir,
|
|
105
|
-
downloadsPath: options.downloadsPath || artifactsDir,
|
|
106
|
-
tracesDir: options.tracesDir || artifactsDir,
|
|
107
|
-
originalLaunchOptions: {}
|
|
108
|
-
};
|
|
109
|
-
(0, import_browserContext.validateBrowserContextOptions)(persistent, browserOptions);
|
|
110
|
-
progress.throwIfAborted();
|
|
111
|
-
const browser = await import_crBrowser.CRBrowser.connect(this.attribution.playwright, chromeTransport, browserOptions);
|
|
112
|
-
browser._isCollocatedWithServer = false;
|
|
113
|
-
browser.on(import_browser.Browser.Events.Disconnected, doCleanup);
|
|
114
|
-
return browser;
|
|
115
|
-
}
|
|
116
|
-
_createDevTools() {
|
|
117
|
-
const directory = import_registry.registry.findExecutable("chromium").directory;
|
|
118
|
-
return directory ? new import_crDevTools.CRDevTools(import_path.default.join(directory, "devtools-preferences.json")) : void 0;
|
|
119
|
-
}
|
|
120
|
-
async connectToTransport(transport, options) {
|
|
121
|
-
let devtools = this._devtools;
|
|
122
|
-
if (options.__testHookForDevTools) {
|
|
123
|
-
devtools = this._createDevTools();
|
|
124
|
-
await options.__testHookForDevTools(devtools);
|
|
125
|
-
}
|
|
126
|
-
return import_crBrowser.CRBrowser.connect(this.attribution.playwright, transport, options, devtools);
|
|
127
|
-
}
|
|
128
|
-
doRewriteStartupLog(error) {
|
|
129
|
-
if (!error.logs)
|
|
130
|
-
return error;
|
|
131
|
-
if (error.logs.includes("Missing X server"))
|
|
132
|
-
error.logs = "\n" + (0, import_ascii.wrapInASCIIBox)(import_browserType.kNoXServerRunningError, 1);
|
|
133
|
-
if (!error.logs.includes("crbug.com/357670") && !error.logs.includes("No usable sandbox!") && !error.logs.includes("crbug.com/638180"))
|
|
134
|
-
return error;
|
|
135
|
-
error.logs = [
|
|
136
|
-
`Chromium sandboxing failed!`,
|
|
137
|
-
`================================`,
|
|
138
|
-
`To avoid the sandboxing issue, do either of the following:`,
|
|
139
|
-
` - (preferred): Configure your environment to support sandboxing`,
|
|
140
|
-
` - (alternative): Launch Chromium without sandbox using 'chromiumSandbox: false' option`,
|
|
141
|
-
`================================`,
|
|
142
|
-
``
|
|
143
|
-
].join("\n");
|
|
144
|
-
return error;
|
|
145
|
-
}
|
|
146
|
-
amendEnvironment(env, userDataDir, executable, browserArguments) {
|
|
147
|
-
return env;
|
|
148
|
-
}
|
|
149
|
-
attemptToGracefullyCloseBrowser(transport) {
|
|
150
|
-
const message = { method: "Browser.close", id: import_crConnection.kBrowserCloseMessageId, params: {} };
|
|
151
|
-
transport.send(message);
|
|
152
|
-
}
|
|
153
|
-
async _launchWithSeleniumHub(progress, hubUrl, options) {
|
|
154
|
-
await this._createArtifactDirs(options);
|
|
155
|
-
if (!hubUrl.endsWith("/"))
|
|
156
|
-
hubUrl = hubUrl + "/";
|
|
157
|
-
const args = this._innerDefaultArgs(options);
|
|
158
|
-
args.push("--remote-debugging-port=0");
|
|
159
|
-
const isEdge = options.channel && options.channel.startsWith("msedge");
|
|
160
|
-
let desiredCapabilities = {
|
|
161
|
-
"browserName": isEdge ? "MicrosoftEdge" : "chrome",
|
|
162
|
-
[isEdge ? "ms:edgeOptions" : "goog:chromeOptions"]: { args }
|
|
163
|
-
};
|
|
164
|
-
if (process.env.SELENIUM_REMOTE_CAPABILITIES) {
|
|
165
|
-
const remoteCapabilities = parseSeleniumRemoteParams({ name: "capabilities", value: process.env.SELENIUM_REMOTE_CAPABILITIES }, progress);
|
|
166
|
-
if (remoteCapabilities)
|
|
167
|
-
desiredCapabilities = { ...desiredCapabilities, ...remoteCapabilities };
|
|
168
|
-
}
|
|
169
|
-
let headers = {};
|
|
170
|
-
if (process.env.SELENIUM_REMOTE_HEADERS) {
|
|
171
|
-
const remoteHeaders = parseSeleniumRemoteParams({ name: "headers", value: process.env.SELENIUM_REMOTE_HEADERS }, progress);
|
|
172
|
-
if (remoteHeaders)
|
|
173
|
-
headers = remoteHeaders;
|
|
174
|
-
}
|
|
175
|
-
progress.log(`<selenium> connecting to ${hubUrl}`);
|
|
176
|
-
const response = await (0, import_network.fetchData)({
|
|
177
|
-
url: hubUrl + "session",
|
|
178
|
-
method: "POST",
|
|
179
|
-
headers: {
|
|
180
|
-
"Content-Type": "application/json; charset=utf-8",
|
|
181
|
-
...headers
|
|
182
|
-
},
|
|
183
|
-
data: JSON.stringify({
|
|
184
|
-
capabilities: { alwaysMatch: desiredCapabilities }
|
|
185
|
-
}),
|
|
186
|
-
timeout: progress.timeUntilDeadline()
|
|
187
|
-
}, seleniumErrorHandler);
|
|
188
|
-
const value = JSON.parse(response).value;
|
|
189
|
-
const sessionId = value.sessionId;
|
|
190
|
-
progress.log(`<selenium> connected to sessionId=${sessionId}`);
|
|
191
|
-
const disconnectFromSelenium = async () => {
|
|
192
|
-
progress.log(`<selenium> disconnecting from sessionId=${sessionId}`);
|
|
193
|
-
await (0, import_network.fetchData)({
|
|
194
|
-
url: hubUrl + "session/" + sessionId,
|
|
195
|
-
method: "DELETE",
|
|
196
|
-
headers
|
|
197
|
-
}).catch((error) => progress.log(`<error disconnecting from selenium>: ${error}`));
|
|
198
|
-
progress.log(`<selenium> disconnected from sessionId=${sessionId}`);
|
|
199
|
-
import_processLauncher.gracefullyCloseSet.delete(disconnectFromSelenium);
|
|
200
|
-
};
|
|
201
|
-
import_processLauncher.gracefullyCloseSet.add(disconnectFromSelenium);
|
|
202
|
-
try {
|
|
203
|
-
const capabilities = value.capabilities;
|
|
204
|
-
let endpointURL;
|
|
205
|
-
if (capabilities["se:cdp"]) {
|
|
206
|
-
progress.log(`<selenium> using selenium v4`);
|
|
207
|
-
const endpointURLString = addProtocol(capabilities["se:cdp"]);
|
|
208
|
-
endpointURL = new URL(endpointURLString);
|
|
209
|
-
if (endpointURL.hostname === "localhost" || endpointURL.hostname === "127.0.0.1")
|
|
210
|
-
endpointURL.hostname = new URL(hubUrl).hostname;
|
|
211
|
-
progress.log(`<selenium> retrieved endpoint ${endpointURL.toString()} for sessionId=${sessionId}`);
|
|
212
|
-
} else {
|
|
213
|
-
progress.log(`<selenium> using selenium v3`);
|
|
214
|
-
const maybeChromeOptions = capabilities["goog:chromeOptions"];
|
|
215
|
-
const chromeOptions = maybeChromeOptions && typeof maybeChromeOptions === "object" ? maybeChromeOptions : void 0;
|
|
216
|
-
const debuggerAddress = chromeOptions && typeof chromeOptions.debuggerAddress === "string" ? chromeOptions.debuggerAddress : void 0;
|
|
217
|
-
const chromeOptionsURL = typeof maybeChromeOptions === "string" ? maybeChromeOptions : void 0;
|
|
218
|
-
const endpointURLString = addProtocol(debuggerAddress || chromeOptionsURL).replace("localhost", "127.0.0.1");
|
|
219
|
-
progress.log(`<selenium> retrieved endpoint ${endpointURLString} for sessionId=${sessionId}`);
|
|
220
|
-
endpointURL = new URL(endpointURLString);
|
|
221
|
-
if (endpointURL.hostname === "localhost" || endpointURL.hostname === "127.0.0.1") {
|
|
222
|
-
const sessionInfoUrl = new URL(hubUrl).origin + "/grid/api/testsession?session=" + sessionId;
|
|
223
|
-
try {
|
|
224
|
-
const sessionResponse = await (0, import_network.fetchData)({
|
|
225
|
-
url: sessionInfoUrl,
|
|
226
|
-
method: "GET",
|
|
227
|
-
timeout: progress.timeUntilDeadline(),
|
|
228
|
-
headers
|
|
229
|
-
}, seleniumErrorHandler);
|
|
230
|
-
const proxyId = JSON.parse(sessionResponse).proxyId;
|
|
231
|
-
endpointURL.hostname = new URL(proxyId).hostname;
|
|
232
|
-
progress.log(`<selenium> resolved endpoint ip ${endpointURL.toString()} for sessionId=${sessionId}`);
|
|
233
|
-
} catch (e) {
|
|
234
|
-
progress.log(`<selenium> unable to resolve endpoint ip for sessionId=${sessionId}, running in standalone?`);
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
return await this._connectOverCDPInternal(progress, endpointURL.toString(), {
|
|
239
|
-
...options,
|
|
240
|
-
headers: (0, import_utils.headersObjectToArray)(headers)
|
|
241
|
-
}, disconnectFromSelenium);
|
|
242
|
-
} catch (e) {
|
|
243
|
-
await disconnectFromSelenium();
|
|
244
|
-
throw e;
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
defaultArgs(options, isPersistent, userDataDir) {
|
|
248
|
-
const chromeArguments = this._innerDefaultArgs(options);
|
|
249
|
-
chromeArguments.push(`--user-data-dir=${userDataDir}`);
|
|
250
|
-
if (options.useWebSocket)
|
|
251
|
-
chromeArguments.push("--remote-debugging-port=0");
|
|
252
|
-
else
|
|
253
|
-
chromeArguments.push("--remote-debugging-pipe");
|
|
254
|
-
if (isPersistent)
|
|
255
|
-
chromeArguments.push("about:blank");
|
|
256
|
-
else
|
|
257
|
-
chromeArguments.push("--no-startup-window");
|
|
258
|
-
return chromeArguments;
|
|
259
|
-
}
|
|
260
|
-
_innerDefaultArgs(options) {
|
|
261
|
-
const { args = [] } = options;
|
|
262
|
-
const userDataDirArg = args.find((arg) => arg.startsWith("--user-data-dir"));
|
|
263
|
-
if (userDataDirArg)
|
|
264
|
-
throw this._createUserDataDirArgMisuseError("--user-data-dir");
|
|
265
|
-
if (args.find((arg) => arg.startsWith("--remote-debugging-pipe")))
|
|
266
|
-
throw new Error("Playwright manages remote debugging connection itself.");
|
|
267
|
-
if (args.find((arg) => !arg.startsWith("-")))
|
|
268
|
-
throw new Error("Arguments can not specify page to be opened");
|
|
269
|
-
const chromeArguments = [...import_chromiumSwitches.chromiumSwitches];
|
|
270
|
-
if (import_os.default.platform() === "darwin") {
|
|
271
|
-
chromeArguments.push("--enable-use-zoom-for-dsf=false");
|
|
272
|
-
if (options.headless && (!options.channel || options.channel === "chromium-headless-shell"))
|
|
273
|
-
chromeArguments.push("--use-angle");
|
|
274
|
-
}
|
|
275
|
-
if (options.devtools)
|
|
276
|
-
chromeArguments.push("--auto-open-devtools-for-tabs");
|
|
277
|
-
if (options.headless) {
|
|
278
|
-
chromeArguments.push("--headless");
|
|
279
|
-
chromeArguments.push(
|
|
280
|
-
"--hide-scrollbars",
|
|
281
|
-
"--mute-audio",
|
|
282
|
-
"--blink-settings=primaryHoverType=2,availableHoverTypes=2,primaryPointerType=4,availablePointerTypes=4"
|
|
283
|
-
);
|
|
284
|
-
}
|
|
285
|
-
if (options.chromiumSandbox !== true)
|
|
286
|
-
chromeArguments.push("--no-sandbox");
|
|
287
|
-
const proxy = options.proxyOverride || options.proxy;
|
|
288
|
-
if (proxy) {
|
|
289
|
-
const proxyURL = new URL(proxy.server);
|
|
290
|
-
const isSocks = proxyURL.protocol === "socks5:";
|
|
291
|
-
if (isSocks && !this.attribution.playwright.options.socksProxyPort) {
|
|
292
|
-
chromeArguments.push(`--host-resolver-rules="MAP * ~NOTFOUND , EXCLUDE ${proxyURL.hostname}"`);
|
|
293
|
-
}
|
|
294
|
-
chromeArguments.push(`--proxy-server=${proxy.server}`);
|
|
295
|
-
const proxyBypassRules = [];
|
|
296
|
-
if (this.attribution.playwright.options.socksProxyPort)
|
|
297
|
-
proxyBypassRules.push("<-loopback>");
|
|
298
|
-
if (proxy.bypass)
|
|
299
|
-
proxyBypassRules.push(...proxy.bypass.split(",").map((t) => t.trim()).map((t) => t.startsWith(".") ? "*" + t : t));
|
|
300
|
-
if (!process.env.PLAYWRIGHT_DISABLE_FORCED_CHROMIUM_PROXIED_LOOPBACK && !proxyBypassRules.includes("<-loopback>"))
|
|
301
|
-
proxyBypassRules.push("<-loopback>");
|
|
302
|
-
if (proxyBypassRules.length > 0)
|
|
303
|
-
chromeArguments.push(`--proxy-bypass-list=${proxyBypassRules.join(";")}`);
|
|
304
|
-
}
|
|
305
|
-
chromeArguments.push(...args);
|
|
306
|
-
return chromeArguments;
|
|
307
|
-
}
|
|
308
|
-
readyState(options) {
|
|
309
|
-
if (options.useWebSocket || options.args?.some((a) => a.startsWith("--remote-debugging-port")))
|
|
310
|
-
return new ChromiumReadyState();
|
|
311
|
-
return void 0;
|
|
312
|
-
}
|
|
313
|
-
getExecutableName(options) {
|
|
314
|
-
if (options.channel)
|
|
315
|
-
return options.channel;
|
|
316
|
-
return options.headless ? "chromium-headless-shell" : "chromium";
|
|
317
|
-
}
|
|
318
|
-
}
|
|
319
|
-
class ChromiumReadyState extends import_browserType2.BrowserReadyState {
|
|
320
|
-
onBrowserOutput(message) {
|
|
321
|
-
const match = message.match(/DevTools listening on (.*)/);
|
|
322
|
-
if (match)
|
|
323
|
-
this._wsEndpoint.resolve(match[1]);
|
|
324
|
-
}
|
|
325
|
-
}
|
|
326
|
-
async function urlToWSEndpoint(progress, endpointURL, headers) {
|
|
327
|
-
if (endpointURL.startsWith("ws"))
|
|
328
|
-
return endpointURL;
|
|
329
|
-
progress.log(`<ws preparing> retrieving websocket url from ${endpointURL}`);
|
|
330
|
-
const httpURL = endpointURL.endsWith("/") ? `${endpointURL}json/version/` : `${endpointURL}/json/version/`;
|
|
331
|
-
const json = await (0, import_network.fetchData)(
|
|
332
|
-
{
|
|
333
|
-
url: httpURL,
|
|
334
|
-
headers
|
|
335
|
-
},
|
|
336
|
-
async (_, resp) => new Error(`Unexpected status ${resp.statusCode} when connecting to ${httpURL}.
|
|
337
|
-
This does not look like a DevTools server, try connecting via ws://.`)
|
|
338
|
-
);
|
|
339
|
-
return JSON.parse(json).webSocketDebuggerUrl;
|
|
340
|
-
}
|
|
341
|
-
async function seleniumErrorHandler(params, response) {
|
|
342
|
-
const body = await streamToString(response);
|
|
343
|
-
let message = body;
|
|
344
|
-
try {
|
|
345
|
-
const json = JSON.parse(body);
|
|
346
|
-
message = json.value.localizedMessage || json.value.message;
|
|
347
|
-
} catch (e) {
|
|
348
|
-
}
|
|
349
|
-
return new Error(`Error connecting to Selenium at ${params.url}: ${message}`);
|
|
350
|
-
}
|
|
351
|
-
function addProtocol(url) {
|
|
352
|
-
if (!["ws://", "wss://", "http://", "https://"].some((protocol) => url.startsWith(protocol)))
|
|
353
|
-
return "http://" + url;
|
|
354
|
-
return url;
|
|
355
|
-
}
|
|
356
|
-
function streamToString(stream) {
|
|
357
|
-
return new Promise((resolve, reject) => {
|
|
358
|
-
const chunks = [];
|
|
359
|
-
stream.on("data", (chunk) => chunks.push(Buffer.from(chunk)));
|
|
360
|
-
stream.on("error", reject);
|
|
361
|
-
stream.on("end", () => resolve(Buffer.concat(chunks).toString("utf8")));
|
|
362
|
-
});
|
|
363
|
-
}
|
|
364
|
-
function parseSeleniumRemoteParams(env, progress) {
|
|
365
|
-
try {
|
|
366
|
-
const parsed = JSON.parse(env.value);
|
|
367
|
-
progress.log(`<selenium> using additional ${env.name} "${env.value}"`);
|
|
368
|
-
return parsed;
|
|
369
|
-
} catch (e) {
|
|
370
|
-
progress.log(`<selenium> ignoring additional ${env.name} "${env.value}": ${e}`);
|
|
371
|
-
}
|
|
372
|
-
}
|
|
373
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
374
|
-
0 && (module.exports = {
|
|
375
|
-
Chromium
|
|
376
|
-
});
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var chromiumSwitches_exports = {};
|
|
20
|
-
__export(chromiumSwitches_exports, {
|
|
21
|
-
chromiumSwitches: () => chromiumSwitches
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(chromiumSwitches_exports);
|
|
24
|
-
const disabledFeatures = [
|
|
25
|
-
// See https://github.com/microsoft/playwright/pull/10380
|
|
26
|
-
"AcceptCHFrame",
|
|
27
|
-
// See https://github.com/microsoft/playwright/pull/10679
|
|
28
|
-
"AutoExpandDetailsElement",
|
|
29
|
-
// See https://github.com/microsoft/playwright/issues/14047
|
|
30
|
-
"AvoidUnnecessaryBeforeUnloadCheckSync",
|
|
31
|
-
// See https://github.com/microsoft/playwright/pull/12992
|
|
32
|
-
"CertificateTransparencyComponentUpdater",
|
|
33
|
-
// This makes Page.frameScheduledNavigation arrive much later after a click,
|
|
34
|
-
// making our navigation auto-wait after click not working.
|
|
35
|
-
// Can be removed once we deperecate noWaitAfter.
|
|
36
|
-
// See https://github.com/microsoft/playwright/pull/34372.
|
|
37
|
-
"DeferRendererTasksAfterInput",
|
|
38
|
-
"DestroyProfileOnBrowserClose",
|
|
39
|
-
// See https://github.com/microsoft/playwright/pull/13854
|
|
40
|
-
"DialMediaRouteProvider",
|
|
41
|
-
// Chromium is disabling manifest version 2. Allow testing it as long as Chromium can actually run it.
|
|
42
|
-
// Disabled in https://chromium-review.googlesource.com/c/chromium/src/+/6265903.
|
|
43
|
-
"ExtensionManifestV2Disabled",
|
|
44
|
-
"GlobalMediaControls",
|
|
45
|
-
// See https://github.com/microsoft/playwright/pull/27605
|
|
46
|
-
"HttpsUpgrades",
|
|
47
|
-
"ImprovedCookieControls",
|
|
48
|
-
"LazyFrameLoading",
|
|
49
|
-
// Hides the Lens feature in the URL address bar. Its not working in unofficial builds.
|
|
50
|
-
"LensOverlay",
|
|
51
|
-
// See https://github.com/microsoft/playwright/pull/8162
|
|
52
|
-
"MediaRouter",
|
|
53
|
-
// See https://github.com/microsoft/playwright/issues/28023
|
|
54
|
-
"PaintHolding",
|
|
55
|
-
// See https://github.com/microsoft/playwright/issues/32230
|
|
56
|
-
"ThirdPartyStoragePartitioning",
|
|
57
|
-
// See https://github.com/microsoft/playwright/issues/16126
|
|
58
|
-
"Translate"
|
|
59
|
-
];
|
|
60
|
-
const chromiumSwitches = [
|
|
61
|
-
"--disable-field-trial-config",
|
|
62
|
-
// https://source.chromium.org/chromium/chromium/src/+/main:testing/variations/README.md
|
|
63
|
-
"--disable-background-networking",
|
|
64
|
-
"--disable-background-timer-throttling",
|
|
65
|
-
"--disable-backgrounding-occluded-windows",
|
|
66
|
-
"--disable-back-forward-cache",
|
|
67
|
-
// Avoids surprises like main request not being intercepted during page.goBack().
|
|
68
|
-
"--disable-breakpad",
|
|
69
|
-
"--disable-client-side-phishing-detection",
|
|
70
|
-
"--disable-component-extensions-with-background-pages",
|
|
71
|
-
"--disable-component-update",
|
|
72
|
-
// Avoids unneeded network activity after startup.
|
|
73
|
-
"--no-default-browser-check",
|
|
74
|
-
"--disable-default-apps",
|
|
75
|
-
"--disable-dev-shm-usage",
|
|
76
|
-
"--disable-extensions",
|
|
77
|
-
"--disable-features=" + disabledFeatures.join(","),
|
|
78
|
-
"--allow-pre-commit-input",
|
|
79
|
-
"--disable-hang-monitor",
|
|
80
|
-
"--disable-ipc-flooding-protection",
|
|
81
|
-
"--disable-popup-blocking",
|
|
82
|
-
"--disable-prompt-on-repost",
|
|
83
|
-
"--disable-renderer-backgrounding",
|
|
84
|
-
"--force-color-profile=srgb",
|
|
85
|
-
"--metrics-recording-only",
|
|
86
|
-
"--no-first-run",
|
|
87
|
-
"--enable-automation",
|
|
88
|
-
"--password-store=basic",
|
|
89
|
-
"--use-mock-keychain",
|
|
90
|
-
// See https://chromium-review.googlesource.com/c/chromium/src/+/2436773
|
|
91
|
-
"--no-service-autorun",
|
|
92
|
-
"--export-tagged-pdf",
|
|
93
|
-
// https://chromium-review.googlesource.com/c/chromium/src/+/4853540
|
|
94
|
-
"--disable-search-engine-choice-screen",
|
|
95
|
-
// https://issues.chromium.org/41491762
|
|
96
|
-
"--unsafely-disable-devtools-self-xss-warnings"
|
|
97
|
-
];
|
|
98
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
99
|
-
0 && (module.exports = {
|
|
100
|
-
chromiumSwitches
|
|
101
|
-
});
|