@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,108 @@
|
|
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 playwrightDispatcher_exports = {};
|
20
|
+
__export(playwrightDispatcher_exports, {
|
21
|
+
PlaywrightDispatcher: () => PlaywrightDispatcher
|
22
|
+
});
|
23
|
+
module.exports = __toCommonJS(playwrightDispatcher_exports);
|
24
|
+
var import_socksProxy = require("../utils/socksProxy");
|
25
|
+
var import_fetch = require("../fetch");
|
26
|
+
var import_androidDispatcher = require("./androidDispatcher");
|
27
|
+
var import_androidDispatcher2 = require("./androidDispatcher");
|
28
|
+
var import_browserDispatcher = require("./browserDispatcher");
|
29
|
+
var import_browserTypeDispatcher = require("./browserTypeDispatcher");
|
30
|
+
var import_dispatcher = require("./dispatcher");
|
31
|
+
var import_electronDispatcher = require("./electronDispatcher");
|
32
|
+
var import_localUtilsDispatcher = require("./localUtilsDispatcher");
|
33
|
+
var import_networkDispatchers = require("./networkDispatchers");
|
34
|
+
var import_instrumentation = require("../instrumentation");
|
35
|
+
var import_eventsHelper = require("../utils/eventsHelper");
|
36
|
+
class PlaywrightDispatcher extends import_dispatcher.Dispatcher {
|
37
|
+
constructor(scope, playwright, options = {}) {
|
38
|
+
const denyLaunch = options.denyLaunch ?? false;
|
39
|
+
const chromium = new import_browserTypeDispatcher.BrowserTypeDispatcher(scope, playwright.chromium, denyLaunch);
|
40
|
+
const firefox = new import_browserTypeDispatcher.BrowserTypeDispatcher(scope, playwright.firefox, denyLaunch);
|
41
|
+
const webkit = new import_browserTypeDispatcher.BrowserTypeDispatcher(scope, playwright.webkit, denyLaunch);
|
42
|
+
const android = new import_androidDispatcher.AndroidDispatcher(scope, playwright.android);
|
43
|
+
const initializer = {
|
44
|
+
chromium,
|
45
|
+
firefox,
|
46
|
+
webkit,
|
47
|
+
android,
|
48
|
+
electron: new import_electronDispatcher.ElectronDispatcher(scope, playwright.electron, denyLaunch),
|
49
|
+
utils: playwright.options.isServer ? void 0 : new import_localUtilsDispatcher.LocalUtilsDispatcher(scope, playwright),
|
50
|
+
socksSupport: options.socksProxy ? new SocksSupportDispatcher(scope, playwright, options.socksProxy) : void 0
|
51
|
+
};
|
52
|
+
let browserDispatcher;
|
53
|
+
if (options.preLaunchedBrowser) {
|
54
|
+
const browserTypeDispatcher = initializer[options.preLaunchedBrowser.options.name];
|
55
|
+
browserDispatcher = new import_browserDispatcher.BrowserDispatcher(browserTypeDispatcher, options.preLaunchedBrowser, {
|
56
|
+
ignoreStopAndKill: true,
|
57
|
+
isolateContexts: !options.sharedBrowser
|
58
|
+
});
|
59
|
+
initializer.preLaunchedBrowser = browserDispatcher;
|
60
|
+
}
|
61
|
+
if (options.preLaunchedAndroidDevice)
|
62
|
+
initializer.preConnectedAndroidDevice = new import_androidDispatcher2.AndroidDeviceDispatcher(android, options.preLaunchedAndroidDevice);
|
63
|
+
super(scope, playwright, "Playwright", initializer);
|
64
|
+
this._type_Playwright = true;
|
65
|
+
this._browserDispatcher = browserDispatcher;
|
66
|
+
}
|
67
|
+
async newRequest(params, progress) {
|
68
|
+
const request = new import_fetch.GlobalAPIRequestContext(this._object, params);
|
69
|
+
return { request: import_networkDispatchers.APIRequestContextDispatcher.from(this.parentScope(), request) };
|
70
|
+
}
|
71
|
+
async cleanup() {
|
72
|
+
await this._browserDispatcher?.cleanupContexts();
|
73
|
+
}
|
74
|
+
}
|
75
|
+
class SocksSupportDispatcher extends import_dispatcher.Dispatcher {
|
76
|
+
constructor(scope, parent, socksProxy) {
|
77
|
+
super(scope, new import_instrumentation.SdkObject(parent, "socksSupport"), "SocksSupport", {});
|
78
|
+
this._type_SocksSupport = true;
|
79
|
+
this._socksProxy = socksProxy;
|
80
|
+
this._socksListeners = [
|
81
|
+
import_eventsHelper.eventsHelper.addEventListener(socksProxy, import_socksProxy.SocksProxy.Events.SocksRequested, (payload) => this._dispatchEvent("socksRequested", payload)),
|
82
|
+
import_eventsHelper.eventsHelper.addEventListener(socksProxy, import_socksProxy.SocksProxy.Events.SocksData, (payload) => this._dispatchEvent("socksData", payload)),
|
83
|
+
import_eventsHelper.eventsHelper.addEventListener(socksProxy, import_socksProxy.SocksProxy.Events.SocksClosed, (payload) => this._dispatchEvent("socksClosed", payload))
|
84
|
+
];
|
85
|
+
}
|
86
|
+
async socksConnected(params, progress) {
|
87
|
+
this._socksProxy?.socketConnected(params);
|
88
|
+
}
|
89
|
+
async socksFailed(params, progress) {
|
90
|
+
this._socksProxy?.socketFailed(params);
|
91
|
+
}
|
92
|
+
async socksData(params, progress) {
|
93
|
+
this._socksProxy?.sendSocketData(params);
|
94
|
+
}
|
95
|
+
async socksError(params, progress) {
|
96
|
+
this._socksProxy?.sendSocketError(params);
|
97
|
+
}
|
98
|
+
async socksEnd(params, progress) {
|
99
|
+
this._socksProxy?.sendSocketEnd(params);
|
100
|
+
}
|
101
|
+
_onDispose() {
|
102
|
+
import_eventsHelper.eventsHelper.removeEventListeners(this._socksListeners);
|
103
|
+
}
|
104
|
+
}
|
105
|
+
// Annotate the CommonJS export names for ESM import in node:
|
106
|
+
0 && (module.exports = {
|
107
|
+
PlaywrightDispatcher
|
108
|
+
});
|
@@ -0,0 +1,36 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.SelectorsDispatcher = void 0;
|
7
|
+
var _dispatcher = require("./dispatcher");
|
8
|
+
/**
|
9
|
+
* Copyright (c) Microsoft Corporation.
|
10
|
+
*
|
11
|
+
* Licensed under the Apache License, Version 2.0 (the 'License");
|
12
|
+
* you may not use this file except in compliance with the License.
|
13
|
+
* You may obtain a copy of the License at
|
14
|
+
*
|
15
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
16
|
+
*
|
17
|
+
* Unless required by applicable law or agreed to in writing, software
|
18
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
19
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
20
|
+
* See the License for the specific language governing permissions and
|
21
|
+
* limitations under the License.
|
22
|
+
*/
|
23
|
+
|
24
|
+
class SelectorsDispatcher extends _dispatcher.Dispatcher {
|
25
|
+
constructor(scope, selectors) {
|
26
|
+
super(scope, selectors, 'Selectors', {});
|
27
|
+
this._type_Selectors = true;
|
28
|
+
}
|
29
|
+
async register(params) {
|
30
|
+
await this._object.register(params.name, params.source, params.contentScript);
|
31
|
+
}
|
32
|
+
async setTestIdAttributeName(params) {
|
33
|
+
this._object.setTestIdAttributeName(params.testIdAttributeName);
|
34
|
+
}
|
35
|
+
}
|
36
|
+
exports.SelectorsDispatcher = SelectorsDispatcher;
|
@@ -0,0 +1,67 @@
|
|
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 streamDispatcher_exports = {};
|
20
|
+
__export(streamDispatcher_exports, {
|
21
|
+
StreamDispatcher: () => StreamDispatcher
|
22
|
+
});
|
23
|
+
module.exports = __toCommonJS(streamDispatcher_exports);
|
24
|
+
var import_dispatcher = require("./dispatcher");
|
25
|
+
var import_manualPromise = require("../../utils/isomorphic/manualPromise");
|
26
|
+
var import_instrumentation = require("../instrumentation");
|
27
|
+
class StreamSdkObject extends import_instrumentation.SdkObject {
|
28
|
+
constructor(parent, stream) {
|
29
|
+
super(parent, "stream");
|
30
|
+
this.stream = stream;
|
31
|
+
}
|
32
|
+
}
|
33
|
+
class StreamDispatcher extends import_dispatcher.Dispatcher {
|
34
|
+
constructor(scope, stream) {
|
35
|
+
super(scope, new StreamSdkObject(scope._object, stream), "Stream", {});
|
36
|
+
this._type_Stream = true;
|
37
|
+
this._ended = false;
|
38
|
+
stream.once("end", () => this._ended = true);
|
39
|
+
stream.once("error", () => this._ended = true);
|
40
|
+
}
|
41
|
+
async read(params, progress) {
|
42
|
+
const stream = this._object.stream;
|
43
|
+
if (this._ended)
|
44
|
+
return { binary: Buffer.from("") };
|
45
|
+
if (!stream.readableLength) {
|
46
|
+
const readyPromise = new import_manualPromise.ManualPromise();
|
47
|
+
const done = () => readyPromise.resolve();
|
48
|
+
stream.on("readable", done);
|
49
|
+
stream.on("end", done);
|
50
|
+
stream.on("error", done);
|
51
|
+
await progress.race(readyPromise).finally(() => {
|
52
|
+
stream.off("readable", done);
|
53
|
+
stream.off("end", done);
|
54
|
+
stream.off("error", done);
|
55
|
+
});
|
56
|
+
}
|
57
|
+
const buffer = stream.read(Math.min(stream.readableLength, params.size || stream.readableLength));
|
58
|
+
return { binary: buffer || Buffer.from("") };
|
59
|
+
}
|
60
|
+
async close(params, progress) {
|
61
|
+
this._object.stream.destroy();
|
62
|
+
}
|
63
|
+
}
|
64
|
+
// Annotate the CommonJS export names for ESM import in node:
|
65
|
+
0 && (module.exports = {
|
66
|
+
StreamDispatcher
|
67
|
+
});
|
@@ -0,0 +1,68 @@
|
|
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 tracingDispatcher_exports = {};
|
20
|
+
__export(tracingDispatcher_exports, {
|
21
|
+
TracingDispatcher: () => TracingDispatcher
|
22
|
+
});
|
23
|
+
module.exports = __toCommonJS(tracingDispatcher_exports);
|
24
|
+
var import_artifactDispatcher = require("./artifactDispatcher");
|
25
|
+
var import_dispatcher = require("./dispatcher");
|
26
|
+
class TracingDispatcher extends import_dispatcher.Dispatcher {
|
27
|
+
constructor(scope, tracing) {
|
28
|
+
super(scope, tracing, "Tracing", {});
|
29
|
+
this._type_Tracing = true;
|
30
|
+
this._started = false;
|
31
|
+
}
|
32
|
+
static from(scope, tracing) {
|
33
|
+
const result = scope.connection.existingDispatcher(tracing);
|
34
|
+
return result || new TracingDispatcher(scope, tracing);
|
35
|
+
}
|
36
|
+
async tracingStart(params, progress) {
|
37
|
+
this._object.start(params);
|
38
|
+
this._started = true;
|
39
|
+
}
|
40
|
+
async tracingStartChunk(params, progress) {
|
41
|
+
return await this._object.startChunk(progress, params);
|
42
|
+
}
|
43
|
+
async tracingGroup(params, progress) {
|
44
|
+
const { name, location } = params;
|
45
|
+
this._object.group(name, location, progress.metadata);
|
46
|
+
}
|
47
|
+
async tracingGroupEnd(params, progress) {
|
48
|
+
this._object.groupEnd();
|
49
|
+
}
|
50
|
+
async tracingStopChunk(params, progress) {
|
51
|
+
const { artifact, entries } = await this._object.stopChunk(progress, params);
|
52
|
+
return { artifact: artifact ? import_artifactDispatcher.ArtifactDispatcher.from(this, artifact) : void 0, entries };
|
53
|
+
}
|
54
|
+
async tracingStop(params, progress) {
|
55
|
+
this._started = false;
|
56
|
+
await this._object.stop(progress);
|
57
|
+
}
|
58
|
+
_onDispose() {
|
59
|
+
if (this._started)
|
60
|
+
this._object.stopChunk(void 0, { mode: "discard" }).then(() => this._object.stop(void 0)).catch(() => {
|
61
|
+
});
|
62
|
+
this._started = false;
|
63
|
+
}
|
64
|
+
}
|
65
|
+
// Annotate the CommonJS export names for ESM import in node:
|
66
|
+
0 && (module.exports = {
|
67
|
+
TracingDispatcher
|
68
|
+
});
|
@@ -0,0 +1,165 @@
|
|
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 webSocketRouteDispatcher_exports = {};
|
30
|
+
__export(webSocketRouteDispatcher_exports, {
|
31
|
+
WebSocketRouteDispatcher: () => WebSocketRouteDispatcher
|
32
|
+
});
|
33
|
+
module.exports = __toCommonJS(webSocketRouteDispatcher_exports);
|
34
|
+
var import_page = require("../page");
|
35
|
+
var import_dispatcher = require("./dispatcher");
|
36
|
+
var import_pageDispatcher = require("./pageDispatcher");
|
37
|
+
var rawWebSocketMockSource = __toESM(require("../../generated/webSocketMockSource"));
|
38
|
+
var import_instrumentation = require("../instrumentation");
|
39
|
+
var import_urlMatch = require("../../utils/isomorphic/urlMatch");
|
40
|
+
var import_eventsHelper = require("../utils/eventsHelper");
|
41
|
+
class WebSocketRouteDispatcher extends import_dispatcher.Dispatcher {
|
42
|
+
constructor(scope, id, url, frame) {
|
43
|
+
super(scope, new import_instrumentation.SdkObject(scope._object, "webSocketRoute"), "WebSocketRoute", { url });
|
44
|
+
this._type_WebSocketRoute = true;
|
45
|
+
this._id = id;
|
46
|
+
this._frame = frame;
|
47
|
+
this._eventListeners.push(
|
48
|
+
// When the frame navigates or detaches, there will be no more communication
|
49
|
+
// from the mock websocket, so pretend like it was closed.
|
50
|
+
import_eventsHelper.eventsHelper.addEventListener(frame._page, import_page.Page.Events.InternalFrameNavigatedToNewDocument, (frame2) => {
|
51
|
+
if (frame2 === this._frame)
|
52
|
+
this._executionContextGone();
|
53
|
+
}),
|
54
|
+
import_eventsHelper.eventsHelper.addEventListener(frame._page, import_page.Page.Events.FrameDetached, (frame2) => {
|
55
|
+
if (frame2 === this._frame)
|
56
|
+
this._executionContextGone();
|
57
|
+
}),
|
58
|
+
import_eventsHelper.eventsHelper.addEventListener(frame._page, import_page.Page.Events.Close, () => this._executionContextGone()),
|
59
|
+
import_eventsHelper.eventsHelper.addEventListener(frame._page, import_page.Page.Events.Crash, () => this._executionContextGone())
|
60
|
+
);
|
61
|
+
WebSocketRouteDispatcher._idToDispatcher.set(this._id, this);
|
62
|
+
scope._dispatchEvent("webSocketRoute", { webSocketRoute: this });
|
63
|
+
}
|
64
|
+
static {
|
65
|
+
this._idToDispatcher = /* @__PURE__ */ new Map();
|
66
|
+
}
|
67
|
+
static async install(progress, connection, target) {
|
68
|
+
const context = target instanceof import_page.Page ? target.browserContext : target;
|
69
|
+
let data = context.getBindingClient(kBindingName);
|
70
|
+
if (data && data.connection !== connection)
|
71
|
+
throw new Error("Another client is already routing WebSockets");
|
72
|
+
if (!data) {
|
73
|
+
data = { counter: 0, connection, binding: null };
|
74
|
+
data.binding = await context.exposeBinding(progress, kBindingName, false, (source, payload) => {
|
75
|
+
if (payload.type === "onCreate") {
|
76
|
+
const contextDispatcher = connection.existingDispatcher(context);
|
77
|
+
const pageDispatcher = contextDispatcher ? import_pageDispatcher.PageDispatcher.fromNullable(contextDispatcher, source.page) : void 0;
|
78
|
+
let scope;
|
79
|
+
if (pageDispatcher && matchesPattern(pageDispatcher, context._options.baseURL, payload.url))
|
80
|
+
scope = pageDispatcher;
|
81
|
+
else if (contextDispatcher && matchesPattern(contextDispatcher, context._options.baseURL, payload.url))
|
82
|
+
scope = contextDispatcher;
|
83
|
+
if (scope) {
|
84
|
+
new WebSocketRouteDispatcher(scope, payload.id, payload.url, source.frame);
|
85
|
+
} else {
|
86
|
+
const request = { id: payload.id, type: "passthrough" };
|
87
|
+
source.frame.evaluateExpression(`globalThis.__pwWebSocketDispatch(${JSON.stringify(request)})`).catch(() => {
|
88
|
+
});
|
89
|
+
}
|
90
|
+
return;
|
91
|
+
}
|
92
|
+
const dispatcher = WebSocketRouteDispatcher._idToDispatcher.get(payload.id);
|
93
|
+
if (payload.type === "onMessageFromPage")
|
94
|
+
dispatcher?._dispatchEvent("messageFromPage", { message: payload.data.data, isBase64: payload.data.isBase64 });
|
95
|
+
if (payload.type === "onMessageFromServer")
|
96
|
+
dispatcher?._dispatchEvent("messageFromServer", { message: payload.data.data, isBase64: payload.data.isBase64 });
|
97
|
+
if (payload.type === "onClosePage")
|
98
|
+
dispatcher?._dispatchEvent("closePage", { code: payload.code, reason: payload.reason, wasClean: payload.wasClean });
|
99
|
+
if (payload.type === "onCloseServer")
|
100
|
+
dispatcher?._dispatchEvent("closeServer", { code: payload.code, reason: payload.reason, wasClean: payload.wasClean });
|
101
|
+
}, data);
|
102
|
+
}
|
103
|
+
++data.counter;
|
104
|
+
return await target.addInitScript(progress, `
|
105
|
+
(() => {
|
106
|
+
const module = {};
|
107
|
+
${rawWebSocketMockSource.source}
|
108
|
+
(module.exports.inject())(globalThis);
|
109
|
+
})();
|
110
|
+
`);
|
111
|
+
}
|
112
|
+
static async uninstall(connection, target, initScript) {
|
113
|
+
const context = target instanceof import_page.Page ? target.browserContext : target;
|
114
|
+
const data = context.getBindingClient(kBindingName);
|
115
|
+
if (!data || data.connection !== connection)
|
116
|
+
return;
|
117
|
+
if (--data.counter <= 0)
|
118
|
+
await context.removeExposedBindings([data.binding]);
|
119
|
+
await target.removeInitScripts([initScript]);
|
120
|
+
}
|
121
|
+
async connect(params, progress) {
|
122
|
+
await this._evaluateAPIRequest(progress, { id: this._id, type: "connect" });
|
123
|
+
}
|
124
|
+
async ensureOpened(params, progress) {
|
125
|
+
await this._evaluateAPIRequest(progress, { id: this._id, type: "ensureOpened" });
|
126
|
+
}
|
127
|
+
async sendToPage(params, progress) {
|
128
|
+
await this._evaluateAPIRequest(progress, { id: this._id, type: "sendToPage", data: { data: params.message, isBase64: params.isBase64 } });
|
129
|
+
}
|
130
|
+
async sendToServer(params, progress) {
|
131
|
+
await this._evaluateAPIRequest(progress, { id: this._id, type: "sendToServer", data: { data: params.message, isBase64: params.isBase64 } });
|
132
|
+
}
|
133
|
+
async closePage(params, progress) {
|
134
|
+
await this._evaluateAPIRequest(progress, { id: this._id, type: "closePage", code: params.code, reason: params.reason, wasClean: params.wasClean });
|
135
|
+
}
|
136
|
+
async closeServer(params, progress) {
|
137
|
+
await this._evaluateAPIRequest(progress, { id: this._id, type: "closeServer", code: params.code, reason: params.reason, wasClean: params.wasClean });
|
138
|
+
}
|
139
|
+
async _evaluateAPIRequest(progress, request) {
|
140
|
+
await progress.race(this._frame.evaluateExpression(`globalThis.__pwWebSocketDispatch(${JSON.stringify(request)})`).catch(() => {
|
141
|
+
}));
|
142
|
+
}
|
143
|
+
_onDispose() {
|
144
|
+
WebSocketRouteDispatcher._idToDispatcher.delete(this._id);
|
145
|
+
}
|
146
|
+
_executionContextGone() {
|
147
|
+
if (!this._disposed) {
|
148
|
+
this._dispatchEvent("closePage", { wasClean: true });
|
149
|
+
this._dispatchEvent("closeServer", { wasClean: true });
|
150
|
+
}
|
151
|
+
}
|
152
|
+
}
|
153
|
+
function matchesPattern(dispatcher, baseURL, url) {
|
154
|
+
for (const pattern of dispatcher._webSocketInterceptionPatterns || []) {
|
155
|
+
const urlMatch = pattern.regexSource ? new RegExp(pattern.regexSource, pattern.regexFlags) : pattern.glob;
|
156
|
+
if ((0, import_urlMatch.urlMatches)(baseURL, url, urlMatch, true))
|
157
|
+
return true;
|
158
|
+
}
|
159
|
+
return false;
|
160
|
+
}
|
161
|
+
const kBindingName = "__pwWebSocketBinding";
|
162
|
+
// Annotate the CommonJS export names for ESM import in node:
|
163
|
+
0 && (module.exports = {
|
164
|
+
WebSocketRouteDispatcher
|
165
|
+
});
|
@@ -0,0 +1,79 @@
|
|
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 writableStreamDispatcher_exports = {};
|
30
|
+
__export(writableStreamDispatcher_exports, {
|
31
|
+
WritableStreamDispatcher: () => WritableStreamDispatcher
|
32
|
+
});
|
33
|
+
module.exports = __toCommonJS(writableStreamDispatcher_exports);
|
34
|
+
var import_fs = __toESM(require("fs"));
|
35
|
+
var import_dispatcher = require("./dispatcher");
|
36
|
+
var import_instrumentation = require("../instrumentation");
|
37
|
+
class WritableStreamSdkObject extends import_instrumentation.SdkObject {
|
38
|
+
constructor(parent, streamOrDirectory, lastModifiedMs) {
|
39
|
+
super(parent, "stream");
|
40
|
+
this.streamOrDirectory = streamOrDirectory;
|
41
|
+
this.lastModifiedMs = lastModifiedMs;
|
42
|
+
}
|
43
|
+
}
|
44
|
+
class WritableStreamDispatcher extends import_dispatcher.Dispatcher {
|
45
|
+
constructor(scope, streamOrDirectory, lastModifiedMs) {
|
46
|
+
super(scope, new WritableStreamSdkObject(scope._object, streamOrDirectory, lastModifiedMs), "WritableStream", {});
|
47
|
+
this._type_WritableStream = true;
|
48
|
+
}
|
49
|
+
async write(params, progress) {
|
50
|
+
if (typeof this._object.streamOrDirectory === "string")
|
51
|
+
throw new Error("Cannot write to a directory");
|
52
|
+
const stream = this._object.streamOrDirectory;
|
53
|
+
await progress.race(new Promise((fulfill, reject) => {
|
54
|
+
stream.write(params.binary, (error) => {
|
55
|
+
if (error)
|
56
|
+
reject(error);
|
57
|
+
else
|
58
|
+
fulfill();
|
59
|
+
});
|
60
|
+
}));
|
61
|
+
}
|
62
|
+
async close(params, progress) {
|
63
|
+
if (typeof this._object.streamOrDirectory === "string")
|
64
|
+
throw new Error("Cannot close a directory");
|
65
|
+
const stream = this._object.streamOrDirectory;
|
66
|
+
await progress.race(new Promise((fulfill) => stream.end(fulfill)));
|
67
|
+
if (this._object.lastModifiedMs)
|
68
|
+
await progress.race(import_fs.default.promises.utimes(this.path(), new Date(this._object.lastModifiedMs), new Date(this._object.lastModifiedMs)));
|
69
|
+
}
|
70
|
+
path() {
|
71
|
+
if (typeof this._object.streamOrDirectory === "string")
|
72
|
+
return this._object.streamOrDirectory;
|
73
|
+
return this._object.streamOrDirectory.path;
|
74
|
+
}
|
75
|
+
}
|
76
|
+
// Annotate the CommonJS export names for ESM import in node:
|
77
|
+
0 && (module.exports = {
|
78
|
+
WritableStreamDispatcher
|
79
|
+
});
|