@stablyai/internal-playwright-core 0.1.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 +1134 -0
- package/bin/install_media_pack.ps1 +5 -0
- package/bin/install_webkit_wsl.ps1 +35 -0
- package/bin/reinstall_chrome_beta_linux.sh +42 -0
- package/bin/reinstall_chrome_beta_mac.sh +13 -0
- package/bin/reinstall_chrome_beta_win.ps1 +24 -0
- package/bin/reinstall_chrome_stable_linux.sh +42 -0
- package/bin/reinstall_chrome_stable_mac.sh +12 -0
- package/bin/reinstall_chrome_stable_win.ps1 +24 -0
- package/bin/reinstall_msedge_beta_linux.sh +48 -0
- package/bin/reinstall_msedge_beta_mac.sh +11 -0
- package/bin/reinstall_msedge_beta_win.ps1 +23 -0
- package/bin/reinstall_msedge_dev_linux.sh +48 -0
- package/bin/reinstall_msedge_dev_mac.sh +11 -0
- package/bin/reinstall_msedge_dev_win.ps1 +23 -0
- package/bin/reinstall_msedge_stable_linux.sh +48 -0
- package/bin/reinstall_msedge_stable_mac.sh +11 -0
- package/bin/reinstall_msedge_stable_win.ps1 +24 -0
- package/browsers.json +80 -0
- package/cli.js +18 -0
- package/index.d.ts +17 -0
- package/index.js +32 -0
- package/index.mjs +28 -0
- package/lib/androidServerImpl.js +65 -0
- package/lib/browserServerImpl.js +120 -0
- package/lib/cli/cli.js +58 -0
- package/lib/cli/driver.js +97 -0
- package/lib/cli/program.js +634 -0
- package/lib/cli/programWithTestStub.js +74 -0
- package/lib/client/accessibility.js +49 -0
- package/lib/client/android.js +361 -0
- package/lib/client/api.js +137 -0
- package/lib/client/artifact.js +79 -0
- package/lib/client/browser.js +163 -0
- package/lib/client/browserContext.js +529 -0
- package/lib/client/browserType.js +184 -0
- package/lib/client/cdpSession.js +51 -0
- package/lib/client/channelOwner.js +194 -0
- package/lib/client/clientHelper.js +64 -0
- package/lib/client/clientInstrumentation.js +55 -0
- package/lib/client/clientStackTrace.js +69 -0
- package/lib/client/clock.js +68 -0
- package/lib/client/connection.js +314 -0
- package/lib/client/consoleMessage.js +54 -0
- package/lib/client/coverage.js +44 -0
- package/lib/client/dialog.js +56 -0
- package/lib/client/download.js +62 -0
- package/lib/client/electron.js +138 -0
- package/lib/client/elementHandle.js +281 -0
- package/lib/client/errors.js +77 -0
- package/lib/client/eventEmitter.js +314 -0
- package/lib/client/events.js +99 -0
- package/lib/client/fetch.js +369 -0
- package/lib/client/fileChooser.js +46 -0
- package/lib/client/fileUtils.js +34 -0
- package/lib/client/frame.js +408 -0
- package/lib/client/harRouter.js +87 -0
- package/lib/client/input.js +84 -0
- package/lib/client/jsHandle.js +109 -0
- package/lib/client/jsonPipe.js +39 -0
- package/lib/client/localUtils.js +60 -0
- package/lib/client/locator.js +368 -0
- package/lib/client/network.js +747 -0
- package/lib/client/page.js +721 -0
- package/lib/client/platform.js +74 -0
- package/lib/client/playwright.js +71 -0
- package/lib/client/selectors.js +55 -0
- package/lib/client/stream.js +39 -0
- package/lib/client/timeoutSettings.js +79 -0
- package/lib/client/tracing.js +117 -0
- package/lib/client/types.js +28 -0
- package/lib/client/video.js +59 -0
- package/lib/client/waiter.js +142 -0
- package/lib/client/webError.js +39 -0
- package/lib/client/webSocket.js +93 -0
- package/lib/client/worker.js +63 -0
- package/lib/client/writableStream.js +39 -0
- package/lib/common/debugLogger.js +90 -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/bindingsControllerSource.js +28 -0
- package/lib/generated/clockSource.js +28 -0
- package/lib/generated/consoleApiSource.js +28 -0
- package/lib/generated/injectedScriptSource.js +28 -0
- package/lib/generated/pollingRecorderSource.js +28 -0
- package/lib/generated/recorderSource.js +28 -0
- package/lib/generated/storageScriptSource.js +28 -0
- package/lib/generated/utilityScriptSource.js +28 -0
- package/lib/generated/webSocketMockSource.js +336 -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 +60 -0
- package/lib/index.js +19 -0
- package/lib/inprocess.js +3 -0
- package/lib/outofprocess.js +76 -0
- package/lib/protocol/debug.js +27 -0
- package/lib/protocol/serializers.js +192 -0
- package/lib/protocol/transport.js +82 -0
- package/lib/protocol/validator.js +2919 -0
- package/lib/protocol/validatorPrimitives.js +193 -0
- package/lib/remote/playwrightConnection.js +129 -0
- package/lib/remote/playwrightServer.js +335 -0
- package/lib/server/accessibility.js +69 -0
- package/lib/server/android/android.js +465 -0
- package/lib/server/android/backendAdb.js +177 -0
- package/lib/server/artifact.js +127 -0
- package/lib/server/bidi/bidiBrowser.js +490 -0
- package/lib/server/bidi/bidiChromium.js +153 -0
- package/lib/server/bidi/bidiConnection.js +212 -0
- package/lib/server/bidi/bidiExecutionContext.js +221 -0
- package/lib/server/bidi/bidiFirefox.js +130 -0
- package/lib/server/bidi/bidiInput.js +146 -0
- package/lib/server/bidi/bidiNetworkManager.js +383 -0
- package/lib/server/bidi/bidiOverCdp.js +102 -0
- package/lib/server/bidi/bidiPage.js +552 -0
- package/lib/server/bidi/bidiPdf.js +106 -0
- package/lib/server/bidi/third_party/bidiCommands.d.js +22 -0
- package/lib/server/bidi/third_party/bidiDeserializer.js +98 -0
- package/lib/server/bidi/third_party/bidiKeyboard.js +256 -0
- package/lib/server/bidi/third_party/bidiProtocol.js +24 -0
- package/lib/server/bidi/third_party/bidiProtocolCore.js +179 -0
- package/lib/server/bidi/third_party/bidiProtocolPermissions.js +42 -0
- package/lib/server/bidi/third_party/bidiSerializer.js +148 -0
- package/lib/server/bidi/third_party/firefoxPrefs.js +259 -0
- package/lib/server/browser.js +149 -0
- package/lib/server/browserContext.js +695 -0
- package/lib/server/browserType.js +328 -0
- package/lib/server/callLog.js +82 -0
- package/lib/server/chromium/appIcon.png +0 -0
- package/lib/server/chromium/chromium.js +402 -0
- package/lib/server/chromium/chromiumSwitches.js +95 -0
- package/lib/server/chromium/crAccessibility.js +263 -0
- package/lib/server/chromium/crBrowser.js +501 -0
- package/lib/server/chromium/crConnection.js +202 -0
- package/lib/server/chromium/crCoverage.js +235 -0
- package/lib/server/chromium/crDevTools.js +113 -0
- package/lib/server/chromium/crDragDrop.js +131 -0
- package/lib/server/chromium/crExecutionContext.js +146 -0
- package/lib/server/chromium/crInput.js +187 -0
- package/lib/server/chromium/crNetworkManager.js +666 -0
- package/lib/server/chromium/crPage.js +1069 -0
- package/lib/server/chromium/crPdf.js +121 -0
- package/lib/server/chromium/crProtocolHelper.js +145 -0
- package/lib/server/chromium/crServiceWorker.js +123 -0
- package/lib/server/chromium/defaultFontFamilies.js +162 -0
- package/lib/server/chromium/protocol.d.js +16 -0
- package/lib/server/chromium/videoRecorder.js +113 -0
- package/lib/server/clock.js +149 -0
- package/lib/server/codegen/csharp.js +327 -0
- package/lib/server/codegen/java.js +274 -0
- package/lib/server/codegen/javascript.js +270 -0
- package/lib/server/codegen/jsonl.js +52 -0
- package/lib/server/codegen/language.js +132 -0
- package/lib/server/codegen/languages.js +68 -0
- package/lib/server/codegen/python.js +279 -0
- package/lib/server/codegen/types.js +16 -0
- package/lib/server/console.js +53 -0
- package/lib/server/cookieStore.js +206 -0
- package/lib/server/debugController.js +191 -0
- package/lib/server/debugger.js +119 -0
- package/lib/server/deviceDescriptors.js +39 -0
- package/lib/server/deviceDescriptorsSource.json +1779 -0
- package/lib/server/dialog.js +116 -0
- package/lib/server/dispatchers/androidDispatcher.js +325 -0
- package/lib/server/dispatchers/artifactDispatcher.js +118 -0
- package/lib/server/dispatchers/browserContextDispatcher.js +364 -0
- package/lib/server/dispatchers/browserDispatcher.js +118 -0
- package/lib/server/dispatchers/browserTypeDispatcher.js +64 -0
- package/lib/server/dispatchers/cdpSessionDispatcher.js +44 -0
- package/lib/server/dispatchers/debugControllerDispatcher.js +78 -0
- package/lib/server/dispatchers/dialogDispatcher.js +47 -0
- package/lib/server/dispatchers/dispatcher.js +371 -0
- package/lib/server/dispatchers/electronDispatcher.js +89 -0
- package/lib/server/dispatchers/elementHandlerDispatcher.js +181 -0
- package/lib/server/dispatchers/frameDispatcher.js +227 -0
- package/lib/server/dispatchers/jsHandleDispatcher.js +85 -0
- package/lib/server/dispatchers/jsonPipeDispatcher.js +58 -0
- package/lib/server/dispatchers/localUtilsDispatcher.js +149 -0
- package/lib/server/dispatchers/networkDispatchers.js +213 -0
- package/lib/server/dispatchers/pageDispatcher.js +401 -0
- package/lib/server/dispatchers/playwrightDispatcher.js +108 -0
- package/lib/server/dispatchers/selectorsDispatcher.js +36 -0
- package/lib/server/dispatchers/streamDispatcher.js +67 -0
- package/lib/server/dispatchers/tracingDispatcher.js +68 -0
- package/lib/server/dispatchers/webSocketRouteDispatcher.js +165 -0
- package/lib/server/dispatchers/writableStreamDispatcher.js +79 -0
- package/lib/server/dom.js +806 -0
- package/lib/server/download.js +70 -0
- package/lib/server/electron/electron.js +270 -0
- package/lib/server/electron/loader.js +29 -0
- package/lib/server/errors.js +69 -0
- package/lib/server/fetch.js +621 -0
- package/lib/server/fileChooser.js +43 -0
- package/lib/server/fileUploadUtils.js +84 -0
- package/lib/server/firefox/ffAccessibility.js +238 -0
- package/lib/server/firefox/ffBrowser.js +428 -0
- package/lib/server/firefox/ffConnection.js +147 -0
- package/lib/server/firefox/ffExecutionContext.js +150 -0
- package/lib/server/firefox/ffInput.js +159 -0
- package/lib/server/firefox/ffNetworkManager.js +256 -0
- package/lib/server/firefox/ffPage.js +503 -0
- package/lib/server/firefox/firefox.js +116 -0
- package/lib/server/firefox/protocol.d.js +16 -0
- package/lib/server/formData.js +147 -0
- package/lib/server/frameSelectors.js +156 -0
- package/lib/server/frames.js +1502 -0
- package/lib/server/har/harRecorder.js +147 -0
- package/lib/server/har/harTracer.js +607 -0
- package/lib/server/harBackend.js +157 -0
- package/lib/server/helper.js +96 -0
- package/lib/server/index.js +58 -0
- package/lib/server/input.js +273 -0
- package/lib/server/instrumentation.js +69 -0
- package/lib/server/isomorphic/utilityScriptSerializers.js +212 -0
- package/lib/server/javascript.js +291 -0
- package/lib/server/launchApp.js +128 -0
- package/lib/server/localUtils.js +218 -0
- package/lib/server/macEditingCommands.js +143 -0
- package/lib/server/network.js +629 -0
- package/lib/server/page.js +871 -0
- package/lib/server/pipeTransport.js +89 -0
- package/lib/server/playwright.js +69 -0
- package/lib/server/progress.js +112 -0
- package/lib/server/protocolError.js +52 -0
- package/lib/server/recorder/chat.js +161 -0
- package/lib/server/recorder/codeGenerator.js +153 -0
- package/lib/server/recorder/csharp.js +310 -0
- package/lib/server/recorder/java.js +248 -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 +276 -0
- package/lib/server/recorder/recorderActions.js +5 -0
- package/lib/server/recorder/recorderApp.js +387 -0
- package/lib/server/recorder/recorderRunner.js +138 -0
- package/lib/server/recorder/recorderSignalProcessor.js +83 -0
- package/lib/server/recorder/recorderUtils.js +157 -0
- package/lib/server/recorder/throttledFile.js +57 -0
- package/lib/server/recorder/utils.js +45 -0
- package/lib/server/recorder.js +499 -0
- package/lib/server/registry/browserFetcher.js +175 -0
- package/lib/server/registry/dependencies.js +371 -0
- package/lib/server/registry/index.js +1331 -0
- package/lib/server/registry/nativeDeps.js +1280 -0
- package/lib/server/registry/oopDownloadBrowserMain.js +120 -0
- package/lib/server/screenshotter.js +333 -0
- package/lib/server/selectors.js +112 -0
- package/lib/server/socksClientCertificatesInterceptor.js +383 -0
- package/lib/server/socksInterceptor.js +95 -0
- package/lib/server/stably/ai-tools/http-request.js +70 -0
- package/lib/server/stably/ai-tools/stablyApiCaller.js +137 -0
- package/lib/server/stably/autohealing/elementHandleFromCoordinates.js +64 -0
- package/lib/server/stably/autohealing/healingService.js +228 -0
- package/lib/server/stably/autohealing/screenshotFrame.js +41 -0
- package/lib/server/stably/constants.js +31 -0
- package/lib/server/trace/recorder/snapshotter.js +147 -0
- package/lib/server/trace/recorder/snapshotterInjected.js +541 -0
- package/lib/server/trace/recorder/tracing.js +602 -0
- package/lib/server/trace/test/inMemorySnapshotter.js +87 -0
- package/lib/server/trace/viewer/traceViewer.js +240 -0
- package/lib/server/transport.js +181 -0
- package/lib/server/types.js +28 -0
- package/lib/server/usKeyboardLayout.js +145 -0
- package/lib/server/utils/ascii.js +44 -0
- package/lib/server/utils/comparators.js +161 -0
- package/lib/server/utils/crypto.js +216 -0
- package/lib/server/utils/debug.js +42 -0
- package/lib/server/utils/debugLogger.js +122 -0
- package/lib/server/utils/env.js +73 -0
- package/lib/server/utils/eventsHelper.js +39 -0
- package/lib/server/utils/expectUtils.js +38 -0
- package/lib/server/utils/fileUtils.js +191 -0
- package/lib/server/utils/happyEyeballs.js +207 -0
- package/lib/server/utils/hostPlatform.js +111 -0
- package/lib/server/utils/httpServer.js +218 -0
- package/lib/server/utils/image_tools/colorUtils.js +89 -0
- package/lib/server/utils/image_tools/compare.js +109 -0
- package/lib/server/utils/image_tools/imageChannel.js +78 -0
- package/lib/server/utils/image_tools/stats.js +102 -0
- package/lib/server/utils/linuxUtils.js +71 -0
- package/lib/server/utils/network.js +233 -0
- package/lib/server/utils/nodePlatform.js +148 -0
- package/lib/server/utils/pipeTransport.js +84 -0
- package/lib/server/utils/processLauncher.js +241 -0
- package/lib/server/utils/profiler.js +65 -0
- package/lib/server/utils/socksProxy.js +511 -0
- package/lib/server/utils/spawnAsync.js +41 -0
- package/lib/server/utils/task.js +51 -0
- package/lib/server/utils/userAgent.js +98 -0
- package/lib/server/utils/wsServer.js +121 -0
- package/lib/server/utils/zipFile.js +74 -0
- package/lib/server/utils/zones.js +57 -0
- package/lib/server/webkit/protocol.d.js +16 -0
- package/lib/server/webkit/webkit.js +119 -0
- package/lib/server/webkit/wkAccessibility.js +237 -0
- package/lib/server/webkit/wkBrowser.js +339 -0
- package/lib/server/webkit/wkConnection.js +149 -0
- package/lib/server/webkit/wkExecutionContext.js +154 -0
- package/lib/server/webkit/wkInput.js +181 -0
- package/lib/server/webkit/wkInterceptableRequest.js +169 -0
- package/lib/server/webkit/wkPage.js +1134 -0
- package/lib/server/webkit/wkProvisionalPage.js +83 -0
- package/lib/server/webkit/wkWorkers.js +104 -0
- package/lib/server/webkit/wsl/webkit-wsl-transport-client.js +74 -0
- package/lib/server/webkit/wsl/webkit-wsl-transport-server.js +113 -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 +49 -0
- package/lib/utils/eventsHelper.js +38 -0
- package/lib/utils/fileUtils.js +205 -0
- package/lib/utils/glob.js +83 -0
- package/lib/utils/happy-eyeballs.js +160 -0
- package/lib/utils/headers.js +52 -0
- package/lib/utils/hostPlatform.js +128 -0
- package/lib/utils/httpServer.js +236 -0
- package/lib/utils/index.js +346 -0
- package/lib/utils/isomorphic/ariaSnapshot.js +392 -0
- package/lib/utils/isomorphic/assert.js +31 -0
- package/lib/utils/isomorphic/colors.js +72 -0
- package/lib/utils/isomorphic/cssParser.js +245 -0
- package/lib/utils/isomorphic/cssTokenizer.js +1051 -0
- package/lib/utils/isomorphic/headers.js +53 -0
- package/lib/utils/isomorphic/locatorGenerators.js +673 -0
- package/lib/utils/isomorphic/locatorParser.js +176 -0
- package/lib/utils/isomorphic/locatorUtils.js +81 -0
- package/lib/utils/isomorphic/manualPromise.js +114 -0
- package/lib/utils/isomorphic/mimeType.js +459 -0
- package/lib/utils/isomorphic/multimap.js +80 -0
- package/lib/utils/isomorphic/protocolFormatter.js +78 -0
- package/lib/utils/isomorphic/protocolMetainfo.js +321 -0
- package/lib/utils/isomorphic/rtti.js +43 -0
- package/lib/utils/isomorphic/selectorParser.js +386 -0
- package/lib/utils/isomorphic/semaphore.js +54 -0
- package/lib/utils/isomorphic/stackTrace.js +158 -0
- package/lib/utils/isomorphic/stringUtils.js +155 -0
- package/lib/utils/isomorphic/time.js +49 -0
- package/lib/utils/isomorphic/timeoutRunner.js +66 -0
- package/lib/utils/isomorphic/traceUtils.js +58 -0
- package/lib/utils/isomorphic/types.js +16 -0
- package/lib/utils/isomorphic/urlMatch.js +176 -0
- package/lib/utils/isomorphic/utilityScriptSerializers.js +251 -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 +188 -0
- package/lib/utils/processLauncher.js +248 -0
- package/lib/utils/profiler.js +53 -0
- package/lib/utils/rtti.js +44 -0
- package/lib/utils/semaphore.js +51 -0
- package/lib/utils/spawnAsync.js +45 -0
- package/lib/utils/stackTrace.js +121 -0
- package/lib/utils/task.js +58 -0
- package/lib/utils/time.js +37 -0
- package/lib/utils/timeoutRunner.js +66 -0
- package/lib/utils/traceUtils.js +44 -0
- package/lib/utils/userAgent.js +105 -0
- package/lib/utils/wsServer.js +127 -0
- package/lib/utils/zipFile.js +75 -0
- package/lib/utils/zones.js +62 -0
- package/lib/utils.js +107 -0
- package/lib/utilsBundle.js +109 -0
- package/lib/utilsBundleImpl/index.js +218 -0
- package/lib/utilsBundleImpl/xdg-open +1066 -0
- package/lib/vite/htmlReport/index.html +84 -0
- package/lib/vite/recorder/assets/codeMirrorModule-C3UTv-Ge.css +1 -0
- package/lib/vite/recorder/assets/codeMirrorModule-RJCXzfmE.js +24 -0
- package/lib/vite/recorder/assets/codicon-DCmgc-ay.ttf +0 -0
- package/lib/vite/recorder/assets/index-Ri0uHF7I.css +1 -0
- package/lib/vite/recorder/assets/index-Y-X2TGJv.js +193 -0
- package/lib/vite/recorder/index.html +29 -0
- package/lib/vite/recorder/playwright-logo.svg +9 -0
- package/lib/vite/traceViewer/assets/codeMirrorModule-Bhnc5o2x.js +24 -0
- package/lib/vite/traceViewer/assets/defaultSettingsView-ClwvkA2N.js +265 -0
- package/lib/vite/traceViewer/assets/xtermModule-CsJ4vdCR.js +9 -0
- package/lib/vite/traceViewer/codeMirrorModule.C3UTv-Ge.css +1 -0
- package/lib/vite/traceViewer/codicon.DCmgc-ay.ttf +0 -0
- package/lib/vite/traceViewer/defaultSettingsView.TQ8_7ybu.css +1 -0
- package/lib/vite/traceViewer/index.DFO9NNF5.js +2 -0
- package/lib/vite/traceViewer/index.I8N9v4jT.css +1 -0
- package/lib/vite/traceViewer/index.html +43 -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 +3 -0
- package/lib/vite/traceViewer/uiMode.Btcz36p_.css +1 -0
- package/lib/vite/traceViewer/uiMode.Shu3QS-1.js +5 -0
- package/lib/vite/traceViewer/uiMode.html +17 -0
- package/lib/vite/traceViewer/xtermModule.DYP7pi_n.css +32 -0
- package/lib/zipBundle.js +34 -0
- package/lib/zipBundleImpl.js +5 -0
- package/package.json +43 -0
- package/types/protocol.d.ts +23130 -0
- package/types/structs.d.ts +45 -0
- package/types/types.d.ts +22857 -0
@@ -0,0 +1,314 @@
|
|
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 connection_exports = {};
|
20
|
+
__export(connection_exports, {
|
21
|
+
Connection: () => Connection
|
22
|
+
});
|
23
|
+
module.exports = __toCommonJS(connection_exports);
|
24
|
+
var import_eventEmitter = require("./eventEmitter");
|
25
|
+
var import_android = require("./android");
|
26
|
+
var import_artifact = require("./artifact");
|
27
|
+
var import_browser = require("./browser");
|
28
|
+
var import_browserContext = require("./browserContext");
|
29
|
+
var import_browserType = require("./browserType");
|
30
|
+
var import_cdpSession = require("./cdpSession");
|
31
|
+
var import_channelOwner = require("./channelOwner");
|
32
|
+
var import_clientInstrumentation = require("./clientInstrumentation");
|
33
|
+
var import_dialog = require("./dialog");
|
34
|
+
var import_electron = require("./electron");
|
35
|
+
var import_elementHandle = require("./elementHandle");
|
36
|
+
var import_errors = require("./errors");
|
37
|
+
var import_fetch = require("./fetch");
|
38
|
+
var import_frame = require("./frame");
|
39
|
+
var import_jsHandle = require("./jsHandle");
|
40
|
+
var import_jsonPipe = require("./jsonPipe");
|
41
|
+
var import_localUtils = require("./localUtils");
|
42
|
+
var import_network = require("./network");
|
43
|
+
var import_page = require("./page");
|
44
|
+
var import_playwright = require("./playwright");
|
45
|
+
var import_stream = require("./stream");
|
46
|
+
var import_tracing = require("./tracing");
|
47
|
+
var import_worker = require("./worker");
|
48
|
+
var import_writableStream = require("./writableStream");
|
49
|
+
var import_validator = require("../protocol/validator");
|
50
|
+
var import_stackTrace = require("../utils/isomorphic/stackTrace");
|
51
|
+
class Root extends import_channelOwner.ChannelOwner {
|
52
|
+
constructor(connection) {
|
53
|
+
super(connection, "Root", "", {});
|
54
|
+
}
|
55
|
+
async initialize() {
|
56
|
+
return import_playwright.Playwright.from((await this._channel.initialize({
|
57
|
+
sdkLanguage: "javascript"
|
58
|
+
})).playwright);
|
59
|
+
}
|
60
|
+
}
|
61
|
+
class DummyChannelOwner extends import_channelOwner.ChannelOwner {
|
62
|
+
}
|
63
|
+
class Connection extends import_eventEmitter.EventEmitter {
|
64
|
+
constructor(platform, localUtils, instrumentation, headers = []) {
|
65
|
+
super(platform);
|
66
|
+
this._objects = /* @__PURE__ */ new Map();
|
67
|
+
this.onmessage = (message) => {
|
68
|
+
};
|
69
|
+
this._lastId = 0;
|
70
|
+
this._callbacks = /* @__PURE__ */ new Map();
|
71
|
+
this._isRemote = false;
|
72
|
+
this._rawBuffers = false;
|
73
|
+
this._tracingCount = 0;
|
74
|
+
this._instrumentation = instrumentation || (0, import_clientInstrumentation.createInstrumentation)();
|
75
|
+
this._localUtils = localUtils;
|
76
|
+
this._rootObject = new Root(this);
|
77
|
+
this.headers = headers;
|
78
|
+
}
|
79
|
+
markAsRemote() {
|
80
|
+
this._isRemote = true;
|
81
|
+
}
|
82
|
+
isRemote() {
|
83
|
+
return this._isRemote;
|
84
|
+
}
|
85
|
+
useRawBuffers() {
|
86
|
+
this._rawBuffers = true;
|
87
|
+
}
|
88
|
+
rawBuffers() {
|
89
|
+
return this._rawBuffers;
|
90
|
+
}
|
91
|
+
localUtils() {
|
92
|
+
return this._localUtils;
|
93
|
+
}
|
94
|
+
async initializePlaywright() {
|
95
|
+
return await this._rootObject.initialize();
|
96
|
+
}
|
97
|
+
getObjectWithKnownName(guid) {
|
98
|
+
return this._objects.get(guid);
|
99
|
+
}
|
100
|
+
setIsTracing(isTracing) {
|
101
|
+
if (isTracing)
|
102
|
+
this._tracingCount++;
|
103
|
+
else
|
104
|
+
this._tracingCount--;
|
105
|
+
}
|
106
|
+
async sendMessageToServer(object, method, params, options) {
|
107
|
+
if (this._closedError)
|
108
|
+
throw this._closedError;
|
109
|
+
if (object._wasCollected)
|
110
|
+
throw new Error("The object has been collected to prevent unbounded heap growth.");
|
111
|
+
const guid = object._guid;
|
112
|
+
const type = object._type;
|
113
|
+
const id = ++this._lastId;
|
114
|
+
const message = { id, guid, method, params };
|
115
|
+
if (this._platform.isLogEnabled("channel")) {
|
116
|
+
this._platform.log("channel", "SEND> " + JSON.stringify(message));
|
117
|
+
}
|
118
|
+
const location = options.frames?.[0] ? { file: options.frames[0].file, line: options.frames[0].line, column: options.frames[0].column } : void 0;
|
119
|
+
const metadata = { title: options.title, location, internal: options.internal, stepId: options.stepId };
|
120
|
+
if (this._tracingCount && options.frames && type !== "LocalUtils")
|
121
|
+
this._localUtils?.addStackToTracingNoReply({ callData: { stack: options.frames ?? [], id } }).catch(() => {
|
122
|
+
});
|
123
|
+
this._platform.zones.empty.run(() => this.onmessage({ ...message, metadata }));
|
124
|
+
return await new Promise((resolve, reject) => this._callbacks.set(id, { resolve, reject, title: options.title, type, method }));
|
125
|
+
}
|
126
|
+
_validatorFromWireContext() {
|
127
|
+
return {
|
128
|
+
tChannelImpl: this._tChannelImplFromWire.bind(this),
|
129
|
+
binary: this._rawBuffers ? "buffer" : "fromBase64",
|
130
|
+
isUnderTest: () => this._platform.isUnderTest()
|
131
|
+
};
|
132
|
+
}
|
133
|
+
dispatch(message) {
|
134
|
+
if (this._closedError)
|
135
|
+
return;
|
136
|
+
const { id, guid, method, params, result, error, log } = message;
|
137
|
+
if (id) {
|
138
|
+
if (this._platform.isLogEnabled("channel"))
|
139
|
+
this._platform.log("channel", "<RECV " + JSON.stringify(message));
|
140
|
+
const callback = this._callbacks.get(id);
|
141
|
+
if (!callback)
|
142
|
+
throw new Error(`Cannot find command to respond: ${id}`);
|
143
|
+
this._callbacks.delete(id);
|
144
|
+
if (error && !result) {
|
145
|
+
const parsedError = (0, import_errors.parseError)(error);
|
146
|
+
(0, import_stackTrace.rewriteErrorMessage)(parsedError, parsedError.message + formatCallLog(this._platform, log));
|
147
|
+
callback.reject(parsedError);
|
148
|
+
} else {
|
149
|
+
const validator2 = (0, import_validator.findValidator)(callback.type, callback.method, "Result");
|
150
|
+
callback.resolve(validator2(result, "", this._validatorFromWireContext()));
|
151
|
+
}
|
152
|
+
return;
|
153
|
+
}
|
154
|
+
if (this._platform.isLogEnabled("channel"))
|
155
|
+
this._platform.log("channel", "<EVENT " + JSON.stringify(message));
|
156
|
+
if (method === "__create__") {
|
157
|
+
this._createRemoteObject(guid, params.type, params.guid, params.initializer);
|
158
|
+
return;
|
159
|
+
}
|
160
|
+
const object = this._objects.get(guid);
|
161
|
+
if (!object)
|
162
|
+
throw new Error(`Cannot find object to "${method}": ${guid}`);
|
163
|
+
if (method === "__adopt__") {
|
164
|
+
const child = this._objects.get(params.guid);
|
165
|
+
if (!child)
|
166
|
+
throw new Error(`Unknown new child: ${params.guid}`);
|
167
|
+
object._adopt(child);
|
168
|
+
return;
|
169
|
+
}
|
170
|
+
if (method === "__dispose__") {
|
171
|
+
object._dispose(params.reason);
|
172
|
+
return;
|
173
|
+
}
|
174
|
+
const validator = (0, import_validator.findValidator)(object._type, method, "Event");
|
175
|
+
object._channel.emit(method, validator(params, "", this._validatorFromWireContext()));
|
176
|
+
}
|
177
|
+
close(cause) {
|
178
|
+
if (this._closedError)
|
179
|
+
return;
|
180
|
+
this._closedError = new import_errors.TargetClosedError(cause);
|
181
|
+
for (const callback of this._callbacks.values())
|
182
|
+
callback.reject(this._closedError);
|
183
|
+
this._callbacks.clear();
|
184
|
+
this.emit("close");
|
185
|
+
}
|
186
|
+
_tChannelImplFromWire(names, arg, path, context) {
|
187
|
+
if (arg && typeof arg === "object" && typeof arg.guid === "string") {
|
188
|
+
const object = this._objects.get(arg.guid);
|
189
|
+
if (!object)
|
190
|
+
throw new Error(`Object with guid ${arg.guid} was not bound in the connection`);
|
191
|
+
if (names !== "*" && !names.includes(object._type))
|
192
|
+
throw new import_validator.ValidationError(`${path}: expected channel ${names.toString()}`);
|
193
|
+
return object._channel;
|
194
|
+
}
|
195
|
+
throw new import_validator.ValidationError(`${path}: expected channel ${names.toString()}`);
|
196
|
+
}
|
197
|
+
_createRemoteObject(parentGuid, type, guid, initializer) {
|
198
|
+
const parent = this._objects.get(parentGuid);
|
199
|
+
if (!parent)
|
200
|
+
throw new Error(`Cannot find parent object ${parentGuid} to create ${guid}`);
|
201
|
+
let result;
|
202
|
+
const validator = (0, import_validator.findValidator)(type, "", "Initializer");
|
203
|
+
initializer = validator(initializer, "", this._validatorFromWireContext());
|
204
|
+
switch (type) {
|
205
|
+
case "Android":
|
206
|
+
result = new import_android.Android(parent, type, guid, initializer);
|
207
|
+
break;
|
208
|
+
case "AndroidSocket":
|
209
|
+
result = new import_android.AndroidSocket(parent, type, guid, initializer);
|
210
|
+
break;
|
211
|
+
case "AndroidDevice":
|
212
|
+
result = new import_android.AndroidDevice(parent, type, guid, initializer);
|
213
|
+
break;
|
214
|
+
case "APIRequestContext":
|
215
|
+
result = new import_fetch.APIRequestContext(parent, type, guid, initializer);
|
216
|
+
break;
|
217
|
+
case "Artifact":
|
218
|
+
result = new import_artifact.Artifact(parent, type, guid, initializer);
|
219
|
+
break;
|
220
|
+
case "BindingCall":
|
221
|
+
result = new import_page.BindingCall(parent, type, guid, initializer);
|
222
|
+
break;
|
223
|
+
case "Browser":
|
224
|
+
result = new import_browser.Browser(parent, type, guid, initializer);
|
225
|
+
break;
|
226
|
+
case "BrowserContext":
|
227
|
+
result = new import_browserContext.BrowserContext(parent, type, guid, initializer);
|
228
|
+
break;
|
229
|
+
case "BrowserType":
|
230
|
+
result = new import_browserType.BrowserType(parent, type, guid, initializer);
|
231
|
+
break;
|
232
|
+
case "CDPSession":
|
233
|
+
result = new import_cdpSession.CDPSession(parent, type, guid, initializer);
|
234
|
+
break;
|
235
|
+
case "Dialog":
|
236
|
+
result = new import_dialog.Dialog(parent, type, guid, initializer);
|
237
|
+
break;
|
238
|
+
case "Electron":
|
239
|
+
result = new import_electron.Electron(parent, type, guid, initializer);
|
240
|
+
break;
|
241
|
+
case "ElectronApplication":
|
242
|
+
result = new import_electron.ElectronApplication(parent, type, guid, initializer);
|
243
|
+
break;
|
244
|
+
case "ElementHandle":
|
245
|
+
result = new import_elementHandle.ElementHandle(parent, type, guid, initializer);
|
246
|
+
break;
|
247
|
+
case "Frame":
|
248
|
+
result = new import_frame.Frame(parent, type, guid, initializer);
|
249
|
+
break;
|
250
|
+
case "JSHandle":
|
251
|
+
result = new import_jsHandle.JSHandle(parent, type, guid, initializer);
|
252
|
+
break;
|
253
|
+
case "JsonPipe":
|
254
|
+
result = new import_jsonPipe.JsonPipe(parent, type, guid, initializer);
|
255
|
+
break;
|
256
|
+
case "LocalUtils":
|
257
|
+
result = new import_localUtils.LocalUtils(parent, type, guid, initializer);
|
258
|
+
if (!this._localUtils)
|
259
|
+
this._localUtils = result;
|
260
|
+
break;
|
261
|
+
case "Page":
|
262
|
+
result = new import_page.Page(parent, type, guid, initializer);
|
263
|
+
break;
|
264
|
+
case "Playwright":
|
265
|
+
result = new import_playwright.Playwright(parent, type, guid, initializer);
|
266
|
+
break;
|
267
|
+
case "Request":
|
268
|
+
result = new import_network.Request(parent, type, guid, initializer);
|
269
|
+
break;
|
270
|
+
case "Response":
|
271
|
+
result = new import_network.Response(parent, type, guid, initializer);
|
272
|
+
break;
|
273
|
+
case "Route":
|
274
|
+
result = new import_network.Route(parent, type, guid, initializer);
|
275
|
+
break;
|
276
|
+
case "Stream":
|
277
|
+
result = new import_stream.Stream(parent, type, guid, initializer);
|
278
|
+
break;
|
279
|
+
case "SocksSupport":
|
280
|
+
result = new DummyChannelOwner(parent, type, guid, initializer);
|
281
|
+
break;
|
282
|
+
case "Tracing":
|
283
|
+
result = new import_tracing.Tracing(parent, type, guid, initializer);
|
284
|
+
break;
|
285
|
+
case "WebSocket":
|
286
|
+
result = new import_network.WebSocket(parent, type, guid, initializer);
|
287
|
+
break;
|
288
|
+
case "WebSocketRoute":
|
289
|
+
result = new import_network.WebSocketRoute(parent, type, guid, initializer);
|
290
|
+
break;
|
291
|
+
case "Worker":
|
292
|
+
result = new import_worker.Worker(parent, type, guid, initializer);
|
293
|
+
break;
|
294
|
+
case "WritableStream":
|
295
|
+
result = new import_writableStream.WritableStream(parent, type, guid, initializer);
|
296
|
+
break;
|
297
|
+
default:
|
298
|
+
throw new Error("Missing type " + type);
|
299
|
+
}
|
300
|
+
return result;
|
301
|
+
}
|
302
|
+
}
|
303
|
+
function formatCallLog(platform, log) {
|
304
|
+
if (!log || !log.some((l) => !!l))
|
305
|
+
return "";
|
306
|
+
return `
|
307
|
+
Call log:
|
308
|
+
${platform.colors.dim(log.join("\n"))}
|
309
|
+
`;
|
310
|
+
}
|
311
|
+
// Annotate the CommonJS export names for ESM import in node:
|
312
|
+
0 && (module.exports = {
|
313
|
+
Connection
|
314
|
+
});
|
@@ -0,0 +1,54 @@
|
|
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 consoleMessage_exports = {};
|
20
|
+
__export(consoleMessage_exports, {
|
21
|
+
ConsoleMessage: () => ConsoleMessage
|
22
|
+
});
|
23
|
+
module.exports = __toCommonJS(consoleMessage_exports);
|
24
|
+
var import_jsHandle = require("./jsHandle");
|
25
|
+
class ConsoleMessage {
|
26
|
+
constructor(platform, event, page) {
|
27
|
+
this._page = page;
|
28
|
+
this._event = event;
|
29
|
+
if (platform.inspectCustom)
|
30
|
+
this[platform.inspectCustom] = () => this._inspect();
|
31
|
+
}
|
32
|
+
page() {
|
33
|
+
return this._page;
|
34
|
+
}
|
35
|
+
type() {
|
36
|
+
return this._event.type;
|
37
|
+
}
|
38
|
+
text() {
|
39
|
+
return this._event.text;
|
40
|
+
}
|
41
|
+
args() {
|
42
|
+
return this._event.args.map(import_jsHandle.JSHandle.from);
|
43
|
+
}
|
44
|
+
location() {
|
45
|
+
return this._event.location;
|
46
|
+
}
|
47
|
+
_inspect() {
|
48
|
+
return this.text();
|
49
|
+
}
|
50
|
+
}
|
51
|
+
// Annotate the CommonJS export names for ESM import in node:
|
52
|
+
0 && (module.exports = {
|
53
|
+
ConsoleMessage
|
54
|
+
});
|
@@ -0,0 +1,44 @@
|
|
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 coverage_exports = {};
|
20
|
+
__export(coverage_exports, {
|
21
|
+
Coverage: () => Coverage
|
22
|
+
});
|
23
|
+
module.exports = __toCommonJS(coverage_exports);
|
24
|
+
class Coverage {
|
25
|
+
constructor(channel) {
|
26
|
+
this._channel = channel;
|
27
|
+
}
|
28
|
+
async startJSCoverage(options = {}) {
|
29
|
+
await this._channel.startJSCoverage(options);
|
30
|
+
}
|
31
|
+
async stopJSCoverage() {
|
32
|
+
return (await this._channel.stopJSCoverage()).entries;
|
33
|
+
}
|
34
|
+
async startCSSCoverage(options = {}) {
|
35
|
+
await this._channel.startCSSCoverage(options);
|
36
|
+
}
|
37
|
+
async stopCSSCoverage() {
|
38
|
+
return (await this._channel.stopCSSCoverage()).entries;
|
39
|
+
}
|
40
|
+
}
|
41
|
+
// Annotate the CommonJS export names for ESM import in node:
|
42
|
+
0 && (module.exports = {
|
43
|
+
Coverage
|
44
|
+
});
|
@@ -0,0 +1,56 @@
|
|
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 dialog_exports = {};
|
20
|
+
__export(dialog_exports, {
|
21
|
+
Dialog: () => Dialog
|
22
|
+
});
|
23
|
+
module.exports = __toCommonJS(dialog_exports);
|
24
|
+
var import_channelOwner = require("./channelOwner");
|
25
|
+
var import_page = require("./page");
|
26
|
+
class Dialog extends import_channelOwner.ChannelOwner {
|
27
|
+
static from(dialog) {
|
28
|
+
return dialog._object;
|
29
|
+
}
|
30
|
+
constructor(parent, type, guid, initializer) {
|
31
|
+
super(parent, type, guid, initializer);
|
32
|
+
this._page = import_page.Page.fromNullable(initializer.page);
|
33
|
+
}
|
34
|
+
page() {
|
35
|
+
return this._page;
|
36
|
+
}
|
37
|
+
type() {
|
38
|
+
return this._initializer.type;
|
39
|
+
}
|
40
|
+
message() {
|
41
|
+
return this._initializer.message;
|
42
|
+
}
|
43
|
+
defaultValue() {
|
44
|
+
return this._initializer.defaultValue;
|
45
|
+
}
|
46
|
+
async accept(promptText) {
|
47
|
+
await this._channel.accept({ promptText });
|
48
|
+
}
|
49
|
+
async dismiss() {
|
50
|
+
await this._channel.dismiss();
|
51
|
+
}
|
52
|
+
}
|
53
|
+
// Annotate the CommonJS export names for ESM import in node:
|
54
|
+
0 && (module.exports = {
|
55
|
+
Dialog
|
56
|
+
});
|
@@ -0,0 +1,62 @@
|
|
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 download_exports = {};
|
20
|
+
__export(download_exports, {
|
21
|
+
Download: () => Download
|
22
|
+
});
|
23
|
+
module.exports = __toCommonJS(download_exports);
|
24
|
+
class Download {
|
25
|
+
constructor(page, url, suggestedFilename, artifact) {
|
26
|
+
this._page = page;
|
27
|
+
this._url = url;
|
28
|
+
this._suggestedFilename = suggestedFilename;
|
29
|
+
this._artifact = artifact;
|
30
|
+
}
|
31
|
+
page() {
|
32
|
+
return this._page;
|
33
|
+
}
|
34
|
+
url() {
|
35
|
+
return this._url;
|
36
|
+
}
|
37
|
+
suggestedFilename() {
|
38
|
+
return this._suggestedFilename;
|
39
|
+
}
|
40
|
+
async path() {
|
41
|
+
return await this._artifact.pathAfterFinished();
|
42
|
+
}
|
43
|
+
async saveAs(path) {
|
44
|
+
return await this._artifact.saveAs(path);
|
45
|
+
}
|
46
|
+
async failure() {
|
47
|
+
return await this._artifact.failure();
|
48
|
+
}
|
49
|
+
async createReadStream() {
|
50
|
+
return await this._artifact.createReadStream();
|
51
|
+
}
|
52
|
+
async cancel() {
|
53
|
+
return await this._artifact.cancel();
|
54
|
+
}
|
55
|
+
async delete() {
|
56
|
+
return await this._artifact.delete();
|
57
|
+
}
|
58
|
+
}
|
59
|
+
// Annotate the CommonJS export names for ESM import in node:
|
60
|
+
0 && (module.exports = {
|
61
|
+
Download
|
62
|
+
});
|
@@ -0,0 +1,138 @@
|
|
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 electron_exports = {};
|
20
|
+
__export(electron_exports, {
|
21
|
+
Electron: () => Electron,
|
22
|
+
ElectronApplication: () => ElectronApplication
|
23
|
+
});
|
24
|
+
module.exports = __toCommonJS(electron_exports);
|
25
|
+
var import_browserContext = require("./browserContext");
|
26
|
+
var import_channelOwner = require("./channelOwner");
|
27
|
+
var import_clientHelper = require("./clientHelper");
|
28
|
+
var import_consoleMessage = require("./consoleMessage");
|
29
|
+
var import_errors = require("./errors");
|
30
|
+
var import_events = require("./events");
|
31
|
+
var import_jsHandle = require("./jsHandle");
|
32
|
+
var import_waiter = require("./waiter");
|
33
|
+
var import_timeoutSettings = require("./timeoutSettings");
|
34
|
+
class Electron extends import_channelOwner.ChannelOwner {
|
35
|
+
static from(electron) {
|
36
|
+
return electron._object;
|
37
|
+
}
|
38
|
+
constructor(parent, type, guid, initializer) {
|
39
|
+
super(parent, type, guid, initializer);
|
40
|
+
}
|
41
|
+
async launch(options = {}) {
|
42
|
+
options = this._playwright.selectors._withSelectorOptions(options);
|
43
|
+
const params = {
|
44
|
+
...await (0, import_browserContext.prepareBrowserContextParams)(this._platform, options),
|
45
|
+
env: (0, import_clientHelper.envObjectToArray)(options.env ? options.env : this._platform.env),
|
46
|
+
tracesDir: options.tracesDir,
|
47
|
+
timeout: new import_timeoutSettings.TimeoutSettings(this._platform).launchTimeout(options)
|
48
|
+
};
|
49
|
+
const app = ElectronApplication.from((await this._channel.launch(params)).electronApplication);
|
50
|
+
this._playwright.selectors._contextsForSelectors.add(app._context);
|
51
|
+
app.once(import_events.Events.ElectronApplication.Close, () => this._playwright.selectors._contextsForSelectors.delete(app._context));
|
52
|
+
await app._context._initializeHarFromOptions(options.recordHar);
|
53
|
+
app._context.tracing._tracesDir = options.tracesDir;
|
54
|
+
return app;
|
55
|
+
}
|
56
|
+
}
|
57
|
+
class ElectronApplication extends import_channelOwner.ChannelOwner {
|
58
|
+
constructor(parent, type, guid, initializer) {
|
59
|
+
super(parent, type, guid, initializer);
|
60
|
+
this._windows = /* @__PURE__ */ new Set();
|
61
|
+
this._timeoutSettings = new import_timeoutSettings.TimeoutSettings(this._platform);
|
62
|
+
this._context = import_browserContext.BrowserContext.from(initializer.context);
|
63
|
+
for (const page of this._context._pages)
|
64
|
+
this._onPage(page);
|
65
|
+
this._context.on(import_events.Events.BrowserContext.Page, (page) => this._onPage(page));
|
66
|
+
this._channel.on("close", () => {
|
67
|
+
this.emit(import_events.Events.ElectronApplication.Close);
|
68
|
+
});
|
69
|
+
this._channel.on("console", (event) => this.emit(import_events.Events.ElectronApplication.Console, new import_consoleMessage.ConsoleMessage(this._platform, event, null)));
|
70
|
+
this._setEventToSubscriptionMapping(/* @__PURE__ */ new Map([
|
71
|
+
[import_events.Events.ElectronApplication.Console, "console"]
|
72
|
+
]));
|
73
|
+
}
|
74
|
+
static from(electronApplication) {
|
75
|
+
return electronApplication._object;
|
76
|
+
}
|
77
|
+
process() {
|
78
|
+
return this._connection.toImpl?.(this)?.process();
|
79
|
+
}
|
80
|
+
_onPage(page) {
|
81
|
+
this._windows.add(page);
|
82
|
+
this.emit(import_events.Events.ElectronApplication.Window, page);
|
83
|
+
page.once(import_events.Events.Page.Close, () => this._windows.delete(page));
|
84
|
+
}
|
85
|
+
windows() {
|
86
|
+
return [...this._windows];
|
87
|
+
}
|
88
|
+
async firstWindow(options) {
|
89
|
+
if (this._windows.size)
|
90
|
+
return this._windows.values().next().value;
|
91
|
+
return await this.waitForEvent("window", options);
|
92
|
+
}
|
93
|
+
context() {
|
94
|
+
return this._context;
|
95
|
+
}
|
96
|
+
async [Symbol.asyncDispose]() {
|
97
|
+
await this.close();
|
98
|
+
}
|
99
|
+
async close() {
|
100
|
+
try {
|
101
|
+
await this._context.close();
|
102
|
+
} catch (e) {
|
103
|
+
if ((0, import_errors.isTargetClosedError)(e))
|
104
|
+
return;
|
105
|
+
throw e;
|
106
|
+
}
|
107
|
+
}
|
108
|
+
async waitForEvent(event, optionsOrPredicate = {}) {
|
109
|
+
return await this._wrapApiCall(async () => {
|
110
|
+
const timeout = this._timeoutSettings.timeout(typeof optionsOrPredicate === "function" ? {} : optionsOrPredicate);
|
111
|
+
const predicate = typeof optionsOrPredicate === "function" ? optionsOrPredicate : optionsOrPredicate.predicate;
|
112
|
+
const waiter = import_waiter.Waiter.createForEvent(this, event);
|
113
|
+
waiter.rejectOnTimeout(timeout, `Timeout ${timeout}ms exceeded while waiting for event "${event}"`);
|
114
|
+
if (event !== import_events.Events.ElectronApplication.Close)
|
115
|
+
waiter.rejectOnEvent(this, import_events.Events.ElectronApplication.Close, () => new import_errors.TargetClosedError());
|
116
|
+
const result = await waiter.waitForEvent(this, event, predicate);
|
117
|
+
waiter.dispose();
|
118
|
+
return result;
|
119
|
+
});
|
120
|
+
}
|
121
|
+
async browserWindow(page) {
|
122
|
+
const result = await this._channel.browserWindow({ page: page._channel });
|
123
|
+
return import_jsHandle.JSHandle.from(result.handle);
|
124
|
+
}
|
125
|
+
async evaluate(pageFunction, arg) {
|
126
|
+
const result = await this._channel.evaluateExpression({ expression: String(pageFunction), isFunction: typeof pageFunction === "function", arg: (0, import_jsHandle.serializeArgument)(arg) });
|
127
|
+
return (0, import_jsHandle.parseResult)(result.value);
|
128
|
+
}
|
129
|
+
async evaluateHandle(pageFunction, arg) {
|
130
|
+
const result = await this._channel.evaluateExpressionHandle({ expression: String(pageFunction), isFunction: typeof pageFunction === "function", arg: (0, import_jsHandle.serializeArgument)(arg) });
|
131
|
+
return import_jsHandle.JSHandle.from(result.handle);
|
132
|
+
}
|
133
|
+
}
|
134
|
+
// Annotate the CommonJS export names for ESM import in node:
|
135
|
+
0 && (module.exports = {
|
136
|
+
Electron,
|
137
|
+
ElectronApplication
|
138
|
+
});
|