@checkly/playwright-core 1.51.17-beta.2 → 1.54.2-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ThirdPartyNotices.txt +65 -123
- package/browsers.json +16 -14
- package/index.js +1 -1
- package/lib/androidServerImpl.js +47 -50
- package/lib/browserServerImpl.js +89 -69
- package/lib/checkly/escapeRegExp.js +23 -27
- package/lib/checkly/fetch.js +64 -46
- package/lib/checkly/secretsFilter.js +49 -35
- package/lib/cli/driver.js +71 -69
- package/lib/cli/program.js +400 -359
- package/lib/cli/programWithTestStub.js +51 -45
- package/lib/client/accessibility.js +31 -32
- package/lib/client/android.js +151 -242
- package/lib/client/api.js +135 -283
- package/lib/client/artifact.js +39 -36
- package/lib/client/browser.js +96 -71
- package/lib/client/browserContext.js +314 -345
- package/lib/client/browserType.js +103 -127
- package/lib/client/cdpSession.js +29 -31
- package/lib/client/channelOwner.js +90 -113
- package/lib/client/clientHelper.js +48 -39
- package/lib/client/clientInstrumentation.js +40 -37
- package/lib/client/clientStackTrace.js +41 -37
- package/lib/client/clock.js +36 -36
- package/lib/client/connection.js +188 -214
- package/lib/client/consoleMessage.js +31 -28
- package/lib/client/coverage.js +25 -22
- package/lib/client/dialog.js +30 -31
- package/lib/client/download.js +25 -25
- package/lib/client/electron.js +80 -77
- package/lib/client/elementHandle.js +120 -159
- package/lib/client/errors.js +53 -53
- package/lib/client/eventEmitter.js +124 -121
- package/lib/client/events.js +72 -68
- package/lib/client/fetch.js +166 -190
- package/lib/client/fileChooser.js +25 -24
- package/lib/client/fileUtils.js +31 -28
- package/lib/client/frame.js +207 -306
- package/lib/client/harRouter.js +42 -52
- package/lib/client/input.js +42 -69
- package/lib/client/jsHandle.js +54 -69
- package/lib/client/jsonPipe.js +27 -23
- package/lib/client/localUtils.js +29 -29
- package/lib/client/locator.js +145 -237
- package/lib/client/network.js +282 -307
- package/lib/client/page.js +269 -318
- package/lib/client/platform.js +46 -43
- package/lib/client/playwright.js +51 -76
- package/lib/client/selectors.js +45 -63
- package/lib/client/stream.js +29 -25
- package/lib/client/timeoutSettings.js +55 -41
- package/lib/client/tracing.js +49 -96
- package/lib/client/types.js +26 -22
- package/lib/client/video.js +35 -27
- package/lib/client/waiter.js +69 -88
- package/lib/client/webError.js +25 -23
- package/lib/client/webSocket.js +43 -56
- package/lib/client/worker.js +48 -56
- package/lib/client/writableStream.js +27 -23
- package/lib/generated/bindingsControllerSource.js +28 -0
- package/lib/generated/clockSource.js +26 -6
- package/lib/generated/consoleApiSource.js +26 -6
- package/lib/generated/injectedScriptSource.js +26 -6
- package/lib/generated/pollingRecorderSource.js +26 -6
- package/lib/generated/storageScriptSource.js +28 -0
- package/lib/generated/utilityScriptSource.js +26 -6
- package/lib/generated/webSocketMockSource.js +333 -5
- package/lib/inProcessFactory.js +51 -53
- package/lib/inprocess.js +2 -19
- package/lib/outofprocess.js +51 -46
- package/lib/protocol/serializers.js +153 -134
- package/lib/protocol/validator.js +2807 -2739
- package/lib/protocol/validatorPrimitives.js +114 -73
- package/lib/remote/playwrightConnection.js +88 -242
- package/lib/remote/playwrightServer.js +305 -92
- package/lib/server/accessibility.js +44 -37
- package/lib/server/android/android.js +251 -241
- package/lib/server/android/backendAdb.js +87 -82
- package/lib/server/artifact.js +78 -55
- package/lib/server/bidi/bidiBrowser.js +297 -158
- package/lib/server/bidi/bidiChromium.js +119 -89
- package/lib/server/bidi/bidiConnection.js +66 -83
- package/lib/server/bidi/bidiExecutionContext.js +129 -113
- package/lib/server/bidi/bidiFirefox.js +86 -76
- package/lib/server/bidi/bidiInput.js +106 -117
- package/lib/server/bidi/bidiNetworkManager.js +142 -159
- package/lib/server/bidi/bidiOverCdp.js +57 -58
- package/lib/server/bidi/bidiPage.js +260 -260
- package/lib/server/bidi/bidiPdf.js +52 -86
- package/lib/server/bidi/third_party/bidiCommands.d.js +22 -0
- package/lib/server/bidi/third_party/bidiDeserializer.js +55 -50
- package/lib/server/bidi/third_party/bidiKeyboard.js +236 -220
- package/lib/server/bidi/third_party/bidiProtocol.js +22 -137
- package/lib/server/bidi/third_party/bidiProtocolCore.js +152 -0
- package/lib/server/bidi/third_party/bidiProtocolPermissions.js +42 -0
- package/lib/server/bidi/third_party/bidiSerializer.js +67 -63
- package/lib/server/bidi/third_party/firefoxPrefs.js +141 -119
- package/lib/server/browser.js +93 -95
- package/lib/server/browserContext.js +419 -429
- package/lib/server/browserType.js +186 -216
- package/lib/server/callLog.js +47 -44
- package/lib/server/chromium/chromium.js +235 -203
- package/lib/server/chromium/chromiumSwitches.js +100 -67
- package/lib/server/chromium/crAccessibility.js +157 -131
- package/lib/server/chromium/crBrowser.js +310 -292
- package/lib/server/chromium/crConnection.js +95 -121
- package/lib/server/chromium/crCoverage.js +121 -131
- package/lib/server/chromium/crDevTools.js +60 -51
- package/lib/server/chromium/crDragDrop.js +68 -84
- package/lib/server/chromium/crExecutionContext.js +89 -83
- package/lib/server/chromium/crInput.js +118 -113
- package/lib/server/chromium/crNetworkManager.js +274 -375
- package/lib/server/chromium/crPage.js +536 -593
- package/lib/server/chromium/crPdf.js +54 -86
- package/lib/server/chromium/crProtocolHelper.js +92 -80
- package/lib/server/chromium/crServiceWorker.js +84 -73
- package/lib/server/chromium/defaultFontFamilies.js +152 -135
- package/lib/server/chromium/protocol.d.js +16 -0
- package/lib/server/chromium/videoRecorder.js +66 -99
- package/lib/server/clock.js +107 -83
- package/lib/server/codegen/csharp.js +192 -162
- package/lib/server/codegen/java.js +156 -129
- package/lib/server/codegen/javascript.js +163 -148
- package/lib/server/codegen/jsonl.js +32 -28
- package/lib/server/codegen/language.js +75 -52
- package/lib/server/codegen/languages.js +65 -27
- package/lib/server/codegen/python.js +141 -126
- package/lib/server/codegen/types.js +15 -4
- package/lib/server/console.js +28 -32
- package/lib/server/cookieStore.js +108 -86
- package/lib/server/debugController.js +147 -151
- package/lib/server/debugger.js +86 -78
- package/lib/server/deviceDescriptors.js +37 -24
- package/lib/server/deviceDescriptorsSource.json +238 -128
- package/lib/server/dialog.js +84 -39
- package/lib/server/dispatchers/androidDispatcher.js +257 -148
- package/lib/server/dispatchers/artifactDispatcher.js +79 -79
- package/lib/server/dispatchers/browserContextDispatcher.js +289 -259
- package/lib/server/dispatchers/browserDispatcher.js +96 -148
- package/lib/server/dispatchers/browserTypeDispatcher.js +50 -41
- package/lib/server/dispatchers/cdpSessionDispatcher.js +35 -39
- package/lib/server/dispatchers/debugControllerDispatcher.js +65 -83
- package/lib/server/dispatchers/dialogDispatcher.js +34 -31
- package/lib/server/dispatchers/dispatcher.js +208 -248
- package/lib/server/dispatchers/electronDispatcher.js +66 -70
- package/lib/server/dispatchers/elementHandlerDispatcher.js +164 -216
- package/lib/server/dispatchers/frameDispatcher.js +211 -272
- package/lib/server/dispatchers/jsHandleDispatcher.js +63 -75
- package/lib/server/dispatchers/jsonPipeDispatcher.js +37 -38
- package/lib/server/dispatchers/localUtilsDispatcher.js +121 -119
- package/lib/server/dispatchers/networkDispatchers.js +117 -128
- package/lib/server/dispatchers/pageDispatcher.js +256 -248
- package/lib/server/dispatchers/playwrightDispatcher.js +92 -87
- package/lib/server/dispatchers/streamDispatcher.js +52 -48
- package/lib/server/dispatchers/tracingDispatcher.js +47 -52
- package/lib/server/dispatchers/webSocketRouteDispatcher.js +126 -150
- package/lib/server/dispatchers/writableStreamDispatcher.js +65 -43
- package/lib/server/dom.js +485 -582
- package/lib/server/download.js +47 -37
- package/lib/server/electron/electron.js +216 -243
- package/lib/server/electron/loader.js +9 -37
- package/lib/server/errors.js +47 -46
- package/lib/server/fetch.js +317 -360
- package/lib/server/fileChooser.js +25 -24
- package/lib/server/fileUploadUtils.js +66 -60
- package/lib/server/firefox/ffAccessibility.js +153 -131
- package/lib/server/firefox/ffBrowser.js +268 -305
- package/lib/server/firefox/ffConnection.js +63 -84
- package/lib/server/firefox/ffExecutionContext.js +92 -73
- package/lib/server/firefox/ffInput.js +82 -84
- package/lib/server/firefox/ffNetworkManager.js +137 -114
- package/lib/server/firefox/ffPage.js +261 -293
- package/lib/server/firefox/firefox.js +80 -72
- package/lib/server/firefox/protocol.d.js +16 -0
- package/lib/server/formData.js +107 -35
- package/lib/server/frameSelectors.js +98 -114
- package/lib/server/frames.js +845 -1055
- package/lib/server/har/harRecorder.js +85 -77
- package/lib/server/har/harTracer.js +290 -223
- package/lib/server/harBackend.js +80 -80
- package/lib/server/helper.js +55 -59
- package/lib/server/index.js +59 -99
- package/lib/server/input.js +151 -189
- package/lib/server/instrumentation.js +57 -44
- package/lib/server/javascript.js +133 -134
- package/lib/server/launchApp.js +113 -75
- package/lib/server/localUtils.js +150 -142
- package/lib/server/macEditingCommands.js +141 -137
- package/lib/server/network.js +299 -303
- package/lib/server/page.js +513 -544
- package/lib/server/pipeTransport.js +49 -45
- package/lib/server/playwright.js +58 -67
- package/lib/server/progress.js +137 -68
- package/lib/server/protocolError.js +34 -31
- package/lib/server/recorder/chat.js +70 -86
- package/lib/server/recorder/recorderApp.js +341 -176
- package/lib/server/recorder/recorderInTraceViewer.js +65 -94
- package/lib/server/recorder/recorderRunner.js +93 -116
- package/lib/server/recorder/recorderSignalProcessor.js +83 -0
- package/lib/server/recorder/recorderUtils.js +104 -47
- package/lib/server/recorder/throttledFile.js +42 -30
- package/lib/server/recorder.js +395 -275
- package/lib/server/registry/browserFetcher.js +106 -101
- package/lib/server/registry/dependencies.js +245 -196
- package/lib/server/registry/index.js +930 -803
- package/lib/server/registry/nativeDeps.js +1073 -464
- package/lib/server/registry/oopDownloadBrowserMain.js +57 -75
- package/lib/server/screenshotter.js +160 -191
- package/lib/server/selectors.js +90 -51
- package/lib/server/socksClientCertificatesInterceptor.js +171 -186
- package/lib/server/socksInterceptor.js +62 -70
- package/lib/server/trace/recorder/snapshotter.js +76 -102
- package/lib/server/trace/recorder/snapshotterInjected.js +238 -217
- package/lib/server/trace/recorder/tracing.js +354 -362
- package/lib/server/trace/test/inMemorySnapshotter.js +46 -52
- package/lib/server/trace/viewer/traceViewer.js +160 -147
- package/lib/server/transport.js +119 -134
- package/lib/server/types.js +26 -22
- package/lib/server/usKeyboardLayout.js +135 -545
- package/lib/server/utils/ascii.js +39 -26
- package/lib/server/utils/comparators.js +105 -103
- package/lib/server/utils/crypto.js +157 -112
- package/lib/server/utils/debug.js +36 -32
- package/lib/server/utils/debugLogger.js +77 -48
- package/lib/server/utils/env.js +52 -37
- package/lib/server/utils/eventsHelper.js +29 -28
- package/lib/server/utils/expectUtils.js +31 -26
- package/lib/server/utils/fileUtils.js +123 -136
- package/lib/server/utils/happyEyeballs.js +141 -126
- package/lib/server/utils/hostPlatform.js +84 -120
- package/lib/server/utils/httpServer.js +106 -121
- package/lib/server/utils/image_tools/colorUtils.js +42 -51
- package/lib/server/utils/image_tools/compare.js +44 -43
- package/lib/server/utils/image_tools/imageChannel.js +38 -30
- package/lib/server/utils/image_tools/stats.js +40 -40
- package/lib/server/utils/linuxUtils.js +50 -37
- package/lib/server/utils/network.js +152 -96
- package/lib/server/utils/nodePlatform.js +87 -79
- package/lib/server/utils/pipeTransport.js +44 -42
- package/lib/server/utils/processLauncher.js +111 -121
- package/lib/server/utils/profiler.js +52 -39
- package/lib/server/utils/socksProxy.js +280 -339
- package/lib/server/utils/spawnAsync.js +37 -41
- package/lib/server/utils/task.js +31 -38
- package/lib/server/utils/userAgent.js +73 -66
- package/lib/server/utils/wsServer.js +68 -75
- package/lib/server/utils/zipFile.js +36 -37
- package/lib/server/utils/zones.js +37 -34
- package/lib/server/webkit/protocol.d.js +16 -0
- package/lib/server/webkit/webkit.js +77 -61
- package/lib/server/webkit/wkAccessibility.js +161 -118
- package/lib/server/webkit/wkBrowser.js +193 -184
- package/lib/server/webkit/wkConnection.js +59 -83
- package/lib/server/webkit/wkExecutionContext.js +85 -70
- package/lib/server/webkit/wkInput.js +97 -95
- package/lib/server/webkit/wkInterceptableRequest.js +102 -95
- package/lib/server/webkit/wkPage.js +568 -667
- package/lib/server/webkit/wkProvisionalPage.js +45 -56
- package/lib/server/webkit/wkWorkers.js +79 -79
- package/lib/utils/expectUtils.js +31 -26
- package/lib/utils/isomorphic/ariaSnapshot.js +149 -152
- package/lib/utils/isomorphic/assert.js +28 -22
- package/lib/utils/isomorphic/colors.js +66 -59
- package/lib/utils/isomorphic/cssParser.js +120 -125
- package/lib/utils/isomorphic/cssTokenizer.js +436 -364
- package/lib/utils/isomorphic/headers.js +38 -37
- package/lib/utils/isomorphic/locatorGenerators.js +358 -357
- package/lib/utils/isomorphic/locatorParser.js +96 -105
- package/lib/utils/isomorphic/locatorUtils.js +63 -44
- package/lib/utils/isomorphic/manualPromise.js +46 -39
- package/lib/utils/isomorphic/mimeType.js +447 -25
- package/lib/utils/isomorphic/multimap.js +34 -27
- package/lib/utils/isomorphic/protocolFormatter.js +68 -0
- package/lib/utils/isomorphic/protocolMetainfo.js +321 -0
- package/lib/utils/isomorphic/recorderUtils.js +140 -181
- package/lib/utils/isomorphic/rtti.js +35 -33
- package/lib/utils/isomorphic/selectorParser.js +182 -193
- package/lib/utils/isomorphic/semaphore.js +27 -24
- package/lib/utils/isomorphic/stackTrace.js +87 -98
- package/lib/utils/isomorphic/stringUtils.js +98 -112
- package/lib/utils/isomorphic/time.js +46 -22
- package/lib/utils/isomorphic/timeoutRunner.js +53 -53
- package/lib/utils/isomorphic/traceUtils.js +37 -41
- package/lib/utils/isomorphic/types.js +15 -4
- package/lib/utils/isomorphic/urlMatch.js +113 -67
- package/lib/utils/isomorphic/utilityScriptSerializers.js +251 -0
- package/lib/utils.js +101 -443
- package/lib/utilsBundle.js +101 -52
- package/lib/utilsBundleImpl/index.js +160 -150
- package/lib/zipBundle.js +32 -23
- package/lib/zipBundleImpl.js +4 -4
- package/package.json +1 -1
- package/types/protocol.d.ts +1267 -1057
- package/types/types.d.ts +131 -29
- package/lib/common/socksProxy.js +0 -569
- package/lib/common/timeoutSettings.js +0 -73
- package/lib/common/types.js +0 -5
- package/lib/image_tools/colorUtils.js +0 -98
- package/lib/image_tools/compare.js +0 -108
- package/lib/image_tools/imageChannel.js +0 -70
- package/lib/image_tools/stats.js +0 -102
- package/lib/protocol/debug.js +0 -27
- package/lib/protocol/transport.js +0 -82
- package/lib/server/dispatchers/selectorsDispatcher.js +0 -36
- package/lib/server/isomorphic/utilityScriptSerializers.js +0 -229
- package/lib/server/recorder/contextRecorder.js +0 -290
- package/lib/server/recorder/recorderCollection.js +0 -104
- package/lib/server/recorder/recorderFrontend.js +0 -5
- package/lib/server/storageScript.js +0 -160
- package/lib/server/timeoutSettings.js +0 -74
- package/lib/third_party/diff_match_patch.js +0 -2222
- package/lib/utils/ascii.js +0 -31
- package/lib/utils/comparators.js +0 -171
- package/lib/utils/crypto.js +0 -174
- package/lib/utils/debug.js +0 -46
- package/lib/utils/debugLogger.js +0 -91
- package/lib/utils/env.js +0 -49
- package/lib/utils/eventsHelper.js +0 -38
- package/lib/utils/fileUtils.js +0 -205
- package/lib/utils/happy-eyeballs.js +0 -210
- package/lib/utils/headers.js +0 -52
- package/lib/utils/hostPlatform.js +0 -133
- package/lib/utils/httpServer.js +0 -237
- package/lib/utils/index.js +0 -368
- package/lib/utils/linuxUtils.js +0 -78
- package/lib/utils/manualPromise.js +0 -109
- package/lib/utils/multimap.js +0 -75
- package/lib/utils/network.js +0 -160
- package/lib/utils/processLauncher.js +0 -248
- package/lib/utils/profiler.js +0 -53
- package/lib/utils/rtti.js +0 -44
- package/lib/utils/semaphore.js +0 -51
- package/lib/utils/spawnAsync.js +0 -45
- package/lib/utils/stackTrace.js +0 -121
- package/lib/utils/task.js +0 -58
- package/lib/utils/time.js +0 -37
- package/lib/utils/timeoutRunner.js +0 -66
- package/lib/utils/traceUtils.js +0 -44
- package/lib/utils/userAgent.js +0 -105
- package/lib/utils/wsServer.js +0 -127
- package/lib/utils/zipFile.js +0 -75
- package/lib/utils/zones.js +0 -62
- package/lib/vite/htmlReport/index.html +0 -69
- package/lib/vite/recorder/assets/codeMirrorModule-B9YMkrwa.js +0 -24
- package/lib/vite/recorder/assets/codeMirrorModule-C3UTv-Ge.css +0 -1
- package/lib/vite/recorder/assets/codicon-DCmgc-ay.ttf +0 -0
- package/lib/vite/recorder/assets/index-ELPgmkwA.js +0 -184
- package/lib/vite/recorder/assets/index-eHBmevrY.css +0 -1
- package/lib/vite/recorder/index.html +0 -29
- package/lib/vite/recorder/playwright-logo.svg +0 -9
- package/lib/vite/traceViewer/assets/codeMirrorModule-gU1OOCQO.js +0 -24
- package/lib/vite/traceViewer/assets/defaultSettingsView-B5n_FjMx.js +0 -1
- package/lib/vite/traceViewer/assets/inspectorTab-6Tru8Mn_.js +0 -235
- package/lib/vite/traceViewer/assets/workbench-B_Nj4NA2.js +0 -25
- package/lib/vite/traceViewer/assets/xtermModule-BoAIEibi.js +0 -9
- package/lib/vite/traceViewer/codeMirrorModule.C3UTv-Ge.css +0 -1
- package/lib/vite/traceViewer/codicon.DCmgc-ay.ttf +0 -0
- package/lib/vite/traceViewer/defaultSettingsView.CO3FR0CX.css +0 -1
- package/lib/vite/traceViewer/embedded.DpNPH6mk.js +0 -2
- package/lib/vite/traceViewer/embedded.html +0 -18
- package/lib/vite/traceViewer/embedded.mLhjB5IF.css +0 -1
- package/lib/vite/traceViewer/index.CFOW-Ezb.css +0 -1
- package/lib/vite/traceViewer/index.CuE3SYGw.js +0 -2
- package/lib/vite/traceViewer/index.html +0 -47
- package/lib/vite/traceViewer/inspectorTab.CXDulcFG.css +0 -1
- package/lib/vite/traceViewer/playwright-logo.svg +0 -9
- package/lib/vite/traceViewer/recorder.BD-uZJs7.js +0 -2
- package/lib/vite/traceViewer/recorder.html +0 -17
- package/lib/vite/traceViewer/recorder.tn0RQdqM.css +0 -0
- package/lib/vite/traceViewer/snapshot.html +0 -21
- package/lib/vite/traceViewer/sw.bundle.js +0 -3
- package/lib/vite/traceViewer/uiMode.BatfzHMG.css +0 -1
- package/lib/vite/traceViewer/uiMode.DHrNgddz.js +0 -5
- package/lib/vite/traceViewer/uiMode.html +0 -21
- package/lib/vite/traceViewer/workbench.B9vIAzH9.css +0 -1
- package/lib/vite/traceViewer/xtermModule.Beg8tuEN.css +0 -32
|
@@ -1,69 +1,102 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.
|
|
4
|
-
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var chromiumSwitches_exports = {};
|
|
20
|
+
__export(chromiumSwitches_exports, {
|
|
21
|
+
chromiumSwitches: () => chromiumSwitches
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(chromiumSwitches_exports);
|
|
24
|
+
const disabledFeatures = (assistantMode) => [
|
|
25
|
+
// See https://github.com/microsoft/playwright/pull/10380
|
|
26
|
+
"AcceptCHFrame",
|
|
27
|
+
// See https://github.com/microsoft/playwright/pull/10679
|
|
28
|
+
"AutoExpandDetailsElement",
|
|
29
|
+
// See https://github.com/microsoft/playwright/issues/14047
|
|
30
|
+
"AvoidUnnecessaryBeforeUnloadCheckSync",
|
|
31
|
+
// See https://github.com/microsoft/playwright/pull/12992
|
|
32
|
+
"CertificateTransparencyComponentUpdater",
|
|
33
|
+
"DestroyProfileOnBrowserClose",
|
|
34
|
+
// See https://github.com/microsoft/playwright/pull/13854
|
|
35
|
+
"DialMediaRouteProvider",
|
|
36
|
+
// Chromium is disabling manifest version 2. Allow testing it as long as Chromium can actually run it.
|
|
37
|
+
// Disabled in https://chromium-review.googlesource.com/c/chromium/src/+/6265903.
|
|
38
|
+
"ExtensionManifestV2Disabled",
|
|
39
|
+
"GlobalMediaControls",
|
|
40
|
+
// See https://github.com/microsoft/playwright/pull/27605
|
|
41
|
+
"HttpsUpgrades",
|
|
42
|
+
"ImprovedCookieControls",
|
|
43
|
+
"LazyFrameLoading",
|
|
44
|
+
// Hides the Lens feature in the URL address bar. Its not working in unofficial builds.
|
|
45
|
+
"LensOverlay",
|
|
46
|
+
// See https://github.com/microsoft/playwright/pull/8162
|
|
47
|
+
"MediaRouter",
|
|
48
|
+
// See https://github.com/microsoft/playwright/issues/28023
|
|
49
|
+
"PaintHolding",
|
|
50
|
+
// See https://github.com/microsoft/playwright/issues/32230
|
|
51
|
+
"ThirdPartyStoragePartitioning",
|
|
52
|
+
// See https://github.com/microsoft/playwright/issues/16126
|
|
53
|
+
"Translate",
|
|
54
|
+
// See https://issues.chromium.org/u/1/issues/435410220
|
|
55
|
+
"AutoDeElevate",
|
|
56
|
+
assistantMode ? "AutomationControlled" : ""
|
|
57
|
+
].filter(Boolean);
|
|
58
|
+
const chromiumSwitches = (assistantMode, channel) => [
|
|
59
|
+
"--disable-field-trial-config",
|
|
60
|
+
// https://source.chromium.org/chromium/chromium/src/+/main:testing/variations/README.md
|
|
61
|
+
"--disable-background-networking",
|
|
62
|
+
"--disable-background-timer-throttling",
|
|
63
|
+
"--disable-backgrounding-occluded-windows",
|
|
64
|
+
"--disable-back-forward-cache",
|
|
65
|
+
// Avoids surprises like main request not being intercepted during page.goBack().
|
|
66
|
+
"--disable-breakpad",
|
|
67
|
+
"--disable-client-side-phishing-detection",
|
|
68
|
+
"--disable-component-extensions-with-background-pages",
|
|
69
|
+
"--disable-component-update",
|
|
70
|
+
// Avoids unneeded network activity after startup.
|
|
71
|
+
"--no-default-browser-check",
|
|
72
|
+
"--disable-default-apps",
|
|
73
|
+
"--disable-dev-shm-usage",
|
|
74
|
+
"--disable-extensions",
|
|
75
|
+
"--disable-features=" + disabledFeatures(assistantMode).join(","),
|
|
76
|
+
channel === "chromium-tip-of-tree" ? "--enable-features=CDPScreenshotNewSurface" : "",
|
|
77
|
+
"--allow-pre-commit-input",
|
|
78
|
+
"--disable-hang-monitor",
|
|
79
|
+
"--disable-ipc-flooding-protection",
|
|
80
|
+
"--disable-popup-blocking",
|
|
81
|
+
"--disable-prompt-on-repost",
|
|
82
|
+
"--disable-renderer-backgrounding",
|
|
83
|
+
"--force-color-profile=srgb",
|
|
84
|
+
"--metrics-recording-only",
|
|
85
|
+
"--no-first-run",
|
|
86
|
+
"--password-store=basic",
|
|
87
|
+
"--use-mock-keychain",
|
|
88
|
+
// See https://chromium-review.googlesource.com/c/chromium/src/+/2436773
|
|
89
|
+
"--no-service-autorun",
|
|
90
|
+
"--export-tagged-pdf",
|
|
91
|
+
// https://chromium-review.googlesource.com/c/chromium/src/+/4853540
|
|
92
|
+
"--disable-search-engine-choice-screen",
|
|
93
|
+
// https://issues.chromium.org/41491762
|
|
94
|
+
"--unsafely-disable-devtools-self-xss-warnings",
|
|
95
|
+
// Edge can potentially restart on Windows (msRelaunchNoCompatLayer) which looses its file descriptors (stdout/stderr) and CDP (3/4). Disable until fixed upstream.
|
|
96
|
+
"--edge-skip-compat-layer-relaunch",
|
|
97
|
+
assistantMode ? "" : "--enable-automation"
|
|
98
|
+
].filter(Boolean);
|
|
99
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
100
|
+
0 && (module.exports = {
|
|
101
|
+
chromiumSwitches
|
|
5
102
|
});
|
|
6
|
-
exports.chromiumSwitches = void 0;
|
|
7
|
-
/**
|
|
8
|
-
* Copyright 2017 Google Inc. All rights reserved.
|
|
9
|
-
* Modifications 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
|
-
// No dependencies as it is used from the Electron loader.
|
|
25
|
-
|
|
26
|
-
const disabledFeatures = [
|
|
27
|
-
// See https://github.com/microsoft/playwright/pull/10380
|
|
28
|
-
'AcceptCHFrame',
|
|
29
|
-
// See https://github.com/microsoft/playwright/pull/10679
|
|
30
|
-
'AutoExpandDetailsElement',
|
|
31
|
-
// See https://github.com/microsoft/playwright/issues/14047
|
|
32
|
-
'AvoidUnnecessaryBeforeUnloadCheckSync',
|
|
33
|
-
// See https://github.com/microsoft/playwright/pull/12992
|
|
34
|
-
'CertificateTransparencyComponentUpdater',
|
|
35
|
-
// This makes Page.frameScheduledNavigation arrive much later after a click,
|
|
36
|
-
// making our navigation auto-wait after click not working.
|
|
37
|
-
// Can be removed once we deperecate noWaitAfter.
|
|
38
|
-
// See https://github.com/microsoft/playwright/pull/34372.
|
|
39
|
-
'DeferRendererTasksAfterInput', 'DestroyProfileOnBrowserClose',
|
|
40
|
-
// See https://github.com/microsoft/playwright/pull/13854
|
|
41
|
-
'DialMediaRouteProvider',
|
|
42
|
-
// Chromium is disabling manifest version 2. Allow testing it as long as Chromium can actually run it.
|
|
43
|
-
// Disabled in https://chromium-review.googlesource.com/c/chromium/src/+/6265903.
|
|
44
|
-
'ExtensionManifestV2Disabled', 'GlobalMediaControls',
|
|
45
|
-
// See https://github.com/microsoft/playwright/pull/27605
|
|
46
|
-
'HttpsUpgrades', 'ImprovedCookieControls', 'LazyFrameLoading',
|
|
47
|
-
// Hides the Lens feature in the URL address bar. Its not working in unofficial builds.
|
|
48
|
-
'LensOverlay',
|
|
49
|
-
// See https://github.com/microsoft/playwright/pull/8162
|
|
50
|
-
'MediaRouter',
|
|
51
|
-
// See https://github.com/microsoft/playwright/issues/28023
|
|
52
|
-
'PaintHolding',
|
|
53
|
-
// See https://github.com/microsoft/playwright/issues/32230
|
|
54
|
-
'ThirdPartyStoragePartitioning',
|
|
55
|
-
// See https://github.com/microsoft/playwright/issues/16126
|
|
56
|
-
'Translate'];
|
|
57
|
-
const chromiumSwitches = exports.chromiumSwitches = ['--disable-field-trial-config',
|
|
58
|
-
// https://source.chromium.org/chromium/chromium/src/+/main:testing/variations/README.md
|
|
59
|
-
'--disable-background-networking', '--disable-background-timer-throttling', '--disable-backgrounding-occluded-windows', '--disable-back-forward-cache',
|
|
60
|
-
// Avoids surprises like main request not being intercepted during page.goBack().
|
|
61
|
-
'--disable-breakpad', '--disable-client-side-phishing-detection', '--disable-component-extensions-with-background-pages', '--disable-component-update',
|
|
62
|
-
// Avoids unneeded network activity after startup.
|
|
63
|
-
'--no-default-browser-check', '--disable-default-apps', '--disable-dev-shm-usage', '--disable-extensions', '--disable-features=' + disabledFeatures.join(','), '--allow-pre-commit-input', '--disable-hang-monitor', '--disable-ipc-flooding-protection', '--disable-popup-blocking', '--disable-prompt-on-repost', '--disable-renderer-backgrounding', '--force-color-profile=srgb', '--metrics-recording-only', '--no-first-run', '--enable-automation', '--password-store=basic', '--use-mock-keychain',
|
|
64
|
-
// See https://chromium-review.googlesource.com/c/chromium/src/+/2436773
|
|
65
|
-
'--no-service-autorun', '--export-tagged-pdf',
|
|
66
|
-
// https://chromium-review.googlesource.com/c/chromium/src/+/4853540
|
|
67
|
-
'--disable-search-engine-choice-screen',
|
|
68
|
-
// https://issues.chromium.org/41491762
|
|
69
|
-
'--unsafely-disable-devtools-self-xss-warnings'];
|
|
@@ -1,30 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.
|
|
4
|
-
|
|
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 crAccessibility_exports = {};
|
|
20
|
+
__export(crAccessibility_exports, {
|
|
21
|
+
getAccessibilityTree: () => getAccessibilityTree
|
|
5
22
|
});
|
|
6
|
-
exports
|
|
7
|
-
/**
|
|
8
|
-
* Copyright 2018 Google Inc. All rights reserved.
|
|
9
|
-
* Modifications 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
|
-
|
|
23
|
+
module.exports = __toCommonJS(crAccessibility_exports);
|
|
24
24
|
async function getAccessibilityTree(client, needle) {
|
|
25
|
-
const {
|
|
26
|
-
nodes
|
|
27
|
-
} = await client.send('Accessibility.getFullAXTree');
|
|
25
|
+
const { nodes } = await client.send("Accessibility.getFullAXTree");
|
|
28
26
|
const tree = CRAXNode.createTree(client, nodes);
|
|
29
27
|
return {
|
|
30
28
|
tree,
|
|
@@ -33,42 +31,42 @@ async function getAccessibilityTree(client, needle) {
|
|
|
33
31
|
}
|
|
34
32
|
class CRAXNode {
|
|
35
33
|
constructor(client, payload) {
|
|
36
|
-
this._payload = void 0;
|
|
37
34
|
this._children = [];
|
|
38
35
|
this._richlyEditable = false;
|
|
39
36
|
this._editable = false;
|
|
40
37
|
this._focusable = false;
|
|
41
38
|
this._expanded = false;
|
|
42
39
|
this._hidden = false;
|
|
43
|
-
this._name = void 0;
|
|
44
|
-
this._role = void 0;
|
|
45
|
-
this._cachedHasFocusableChild = void 0;
|
|
46
|
-
this._client = void 0;
|
|
47
40
|
this._client = client;
|
|
48
41
|
this._payload = payload;
|
|
49
|
-
this._name = this._payload.name ? this._payload.name.value :
|
|
50
|
-
this._role = this._payload.role ? this._payload.role.value :
|
|
42
|
+
this._name = this._payload.name ? this._payload.name.value : "";
|
|
43
|
+
this._role = this._payload.role ? this._payload.role.value : "Unknown";
|
|
51
44
|
for (const property of this._payload.properties || []) {
|
|
52
|
-
if (property.name ===
|
|
53
|
-
this._richlyEditable = property.value.value ===
|
|
45
|
+
if (property.name === "editable") {
|
|
46
|
+
this._richlyEditable = property.value.value === "richtext";
|
|
54
47
|
this._editable = true;
|
|
55
48
|
}
|
|
56
|
-
if (property.name ===
|
|
57
|
-
|
|
58
|
-
if (property.name ===
|
|
49
|
+
if (property.name === "focusable")
|
|
50
|
+
this._focusable = property.value.value;
|
|
51
|
+
if (property.name === "expanded")
|
|
52
|
+
this._expanded = property.value.value;
|
|
53
|
+
if (property.name === "hidden")
|
|
54
|
+
this._hidden = property.value.value;
|
|
59
55
|
}
|
|
60
56
|
}
|
|
61
57
|
_isPlainTextField() {
|
|
62
|
-
if (this._richlyEditable)
|
|
63
|
-
|
|
64
|
-
|
|
58
|
+
if (this._richlyEditable)
|
|
59
|
+
return false;
|
|
60
|
+
if (this._editable)
|
|
61
|
+
return true;
|
|
62
|
+
return this._role === "textbox" || this._role === "ComboBox" || this._role === "searchbox";
|
|
65
63
|
}
|
|
66
64
|
_isTextOnlyObject() {
|
|
67
65
|
const role = this._role;
|
|
68
|
-
return role ===
|
|
66
|
+
return role === "LineBreak" || role === "text" || role === "InlineTextBox" || role === "StaticText";
|
|
69
67
|
}
|
|
70
68
|
_hasFocusableChild() {
|
|
71
|
-
if (this._cachedHasFocusableChild ===
|
|
69
|
+
if (this._cachedHasFocusableChild === void 0) {
|
|
72
70
|
this._cachedHasFocusableChild = false;
|
|
73
71
|
for (const child of this._children) {
|
|
74
72
|
if (child._focusable || child._hasFocusableChild()) {
|
|
@@ -84,79 +82,68 @@ class CRAXNode {
|
|
|
84
82
|
}
|
|
85
83
|
async _findElement(element) {
|
|
86
84
|
const objectId = element._objectId;
|
|
87
|
-
const {
|
|
88
|
-
|
|
89
|
-
backendNodeId
|
|
90
|
-
}
|
|
91
|
-
} = await this._client.send('DOM.describeNode', {
|
|
92
|
-
objectId
|
|
93
|
-
});
|
|
94
|
-
const needle = this.find(node => node._payload.backendDOMNodeId === backendNodeId);
|
|
85
|
+
const { node: { backendNodeId } } = await this._client.send("DOM.describeNode", { objectId });
|
|
86
|
+
const needle = this.find((node) => node._payload.backendDOMNodeId === backendNodeId);
|
|
95
87
|
return needle || null;
|
|
96
88
|
}
|
|
97
89
|
find(predicate) {
|
|
98
|
-
if (predicate(this))
|
|
90
|
+
if (predicate(this))
|
|
91
|
+
return this;
|
|
99
92
|
for (const child of this._children) {
|
|
100
93
|
const result = child.find(predicate);
|
|
101
|
-
if (result)
|
|
94
|
+
if (result)
|
|
95
|
+
return result;
|
|
102
96
|
}
|
|
103
97
|
return null;
|
|
104
98
|
}
|
|
105
99
|
isLeafNode() {
|
|
106
|
-
if (!this._children.length)
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
// accessibility APIs because screen readers might be confused if they find
|
|
111
|
-
// any children.
|
|
112
|
-
if (this._isPlainTextField() || this._isTextOnlyObject()) return true;
|
|
113
|
-
|
|
114
|
-
// Roles whose children are only presentational according to the ARIA and
|
|
115
|
-
// HTML5 Specs should be hidden from screen readers.
|
|
116
|
-
// (Note that whilst ARIA buttons can have only presentational children, HTML5
|
|
117
|
-
// buttons are allowed to have content.)
|
|
100
|
+
if (!this._children.length)
|
|
101
|
+
return true;
|
|
102
|
+
if (this._isPlainTextField() || this._isTextOnlyObject())
|
|
103
|
+
return true;
|
|
118
104
|
switch (this._role) {
|
|
119
|
-
case
|
|
120
|
-
case
|
|
121
|
-
case
|
|
122
|
-
case
|
|
123
|
-
case
|
|
124
|
-
case
|
|
125
|
-
case
|
|
126
|
-
case
|
|
105
|
+
case "doc-cover":
|
|
106
|
+
case "graphics-symbol":
|
|
107
|
+
case "img":
|
|
108
|
+
case "Meter":
|
|
109
|
+
case "scrollbar":
|
|
110
|
+
case "slider":
|
|
111
|
+
case "separator":
|
|
112
|
+
case "progressbar":
|
|
127
113
|
return true;
|
|
128
114
|
default:
|
|
129
115
|
break;
|
|
130
116
|
}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
if (this.
|
|
134
|
-
|
|
135
|
-
if (this._role ===
|
|
117
|
+
if (this._hasFocusableChild())
|
|
118
|
+
return false;
|
|
119
|
+
if (this._focusable && this._role !== "WebArea" && this._role !== "RootWebArea" && this._name)
|
|
120
|
+
return true;
|
|
121
|
+
if (this._role === "heading" && this._name)
|
|
122
|
+
return true;
|
|
136
123
|
return false;
|
|
137
124
|
}
|
|
138
125
|
isControl() {
|
|
139
126
|
switch (this._role) {
|
|
140
|
-
case
|
|
141
|
-
case
|
|
142
|
-
case
|
|
143
|
-
case
|
|
144
|
-
case
|
|
145
|
-
case
|
|
146
|
-
case
|
|
147
|
-
case
|
|
148
|
-
case
|
|
149
|
-
case
|
|
150
|
-
case
|
|
151
|
-
case
|
|
152
|
-
case
|
|
153
|
-
case
|
|
154
|
-
case
|
|
155
|
-
case
|
|
156
|
-
case
|
|
157
|
-
case
|
|
158
|
-
case
|
|
159
|
-
case
|
|
127
|
+
case "button":
|
|
128
|
+
case "checkbox":
|
|
129
|
+
case "ColorWell":
|
|
130
|
+
case "combobox":
|
|
131
|
+
case "DisclosureTriangle":
|
|
132
|
+
case "listbox":
|
|
133
|
+
case "menu":
|
|
134
|
+
case "menubar":
|
|
135
|
+
case "menuitem":
|
|
136
|
+
case "menuitemcheckbox":
|
|
137
|
+
case "menuitemradio":
|
|
138
|
+
case "radio":
|
|
139
|
+
case "scrollbar":
|
|
140
|
+
case "searchbox":
|
|
141
|
+
case "slider":
|
|
142
|
+
case "spinbutton":
|
|
143
|
+
case "switch":
|
|
144
|
+
case "tab":
|
|
145
|
+
case "textbox":
|
|
146
|
+
case "tree":
|
|
160
147
|
return true;
|
|
161
148
|
default:
|
|
162
149
|
return false;
|
|
@@ -164,74 +151,113 @@ class CRAXNode {
|
|
|
164
151
|
}
|
|
165
152
|
isInteresting(insideControl) {
|
|
166
153
|
const role = this._role;
|
|
167
|
-
if (role ===
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
if (this.isControl())
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
154
|
+
if (role === "Ignored" || this._hidden)
|
|
155
|
+
return false;
|
|
156
|
+
if (this._focusable || this._richlyEditable)
|
|
157
|
+
return true;
|
|
158
|
+
if (this.isControl())
|
|
159
|
+
return true;
|
|
160
|
+
if (insideControl)
|
|
161
|
+
return false;
|
|
175
162
|
return this.isLeafNode() && !!this._name;
|
|
176
163
|
}
|
|
177
164
|
normalizedRole() {
|
|
178
165
|
switch (this._role) {
|
|
179
|
-
case
|
|
180
|
-
return
|
|
181
|
-
case
|
|
182
|
-
return
|
|
166
|
+
case "RootWebArea":
|
|
167
|
+
return "WebArea";
|
|
168
|
+
case "StaticText":
|
|
169
|
+
return "text";
|
|
183
170
|
default:
|
|
184
171
|
return this._role;
|
|
185
172
|
}
|
|
186
173
|
}
|
|
187
174
|
serialize() {
|
|
188
|
-
const properties = new Map();
|
|
189
|
-
for (const property of this._payload.properties || [])
|
|
190
|
-
|
|
175
|
+
const properties = /* @__PURE__ */ new Map();
|
|
176
|
+
for (const property of this._payload.properties || [])
|
|
177
|
+
properties.set(property.name.toLowerCase(), property.value.value);
|
|
178
|
+
if (this._payload.description)
|
|
179
|
+
properties.set("description", this._payload.description.value);
|
|
191
180
|
const node = {
|
|
192
181
|
role: this.normalizedRole(),
|
|
193
|
-
name: this._payload.name ? this._payload.name.value ||
|
|
182
|
+
name: this._payload.name ? this._payload.name.value || "" : ""
|
|
194
183
|
};
|
|
195
|
-
const userStringProperties = [
|
|
184
|
+
const userStringProperties = [
|
|
185
|
+
"description",
|
|
186
|
+
"keyshortcuts",
|
|
187
|
+
"roledescription",
|
|
188
|
+
"valuetext"
|
|
189
|
+
];
|
|
196
190
|
for (const userStringProperty of userStringProperties) {
|
|
197
|
-
if (!properties.has(userStringProperty))
|
|
191
|
+
if (!properties.has(userStringProperty))
|
|
192
|
+
continue;
|
|
198
193
|
node[userStringProperty] = properties.get(userStringProperty);
|
|
199
194
|
}
|
|
200
|
-
const booleanProperties = [
|
|
195
|
+
const booleanProperties = [
|
|
196
|
+
"disabled",
|
|
197
|
+
"expanded",
|
|
198
|
+
"focused",
|
|
199
|
+
"modal",
|
|
200
|
+
"multiline",
|
|
201
|
+
"multiselectable",
|
|
202
|
+
"readonly",
|
|
203
|
+
"required",
|
|
204
|
+
"selected"
|
|
205
|
+
];
|
|
201
206
|
for (const booleanProperty of booleanProperties) {
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
if (booleanProperty === 'focused' && (this._role === 'WebArea' || this._role === 'RootWebArea')) continue;
|
|
207
|
+
if (booleanProperty === "focused" && (this._role === "WebArea" || this._role === "RootWebArea"))
|
|
208
|
+
continue;
|
|
205
209
|
const value = properties.get(booleanProperty);
|
|
206
|
-
if (!value)
|
|
210
|
+
if (!value)
|
|
211
|
+
continue;
|
|
207
212
|
node[booleanProperty] = value;
|
|
208
213
|
}
|
|
209
|
-
const numericalProperties = [
|
|
214
|
+
const numericalProperties = [
|
|
215
|
+
"level",
|
|
216
|
+
"valuemax",
|
|
217
|
+
"valuemin"
|
|
218
|
+
];
|
|
210
219
|
for (const numericalProperty of numericalProperties) {
|
|
211
|
-
if (!properties.has(numericalProperty))
|
|
220
|
+
if (!properties.has(numericalProperty))
|
|
221
|
+
continue;
|
|
212
222
|
node[numericalProperty] = properties.get(numericalProperty);
|
|
213
223
|
}
|
|
214
|
-
const tokenProperties = [
|
|
224
|
+
const tokenProperties = [
|
|
225
|
+
"autocomplete",
|
|
226
|
+
"haspopup",
|
|
227
|
+
"invalid",
|
|
228
|
+
"orientation"
|
|
229
|
+
];
|
|
215
230
|
for (const tokenProperty of tokenProperties) {
|
|
216
231
|
const value = properties.get(tokenProperty);
|
|
217
|
-
if (!value || value ===
|
|
232
|
+
if (!value || value === "false")
|
|
233
|
+
continue;
|
|
218
234
|
node[tokenProperty] = value;
|
|
219
235
|
}
|
|
220
236
|
const axNode = node;
|
|
221
237
|
if (this._payload.value) {
|
|
222
|
-
if (typeof this._payload.value.value ===
|
|
223
|
-
|
|
238
|
+
if (typeof this._payload.value.value === "string")
|
|
239
|
+
axNode.valueString = this._payload.value.value;
|
|
240
|
+
if (typeof this._payload.value.value === "number")
|
|
241
|
+
axNode.valueNumber = this._payload.value.value;
|
|
224
242
|
}
|
|
225
|
-
if (properties.has(
|
|
226
|
-
|
|
243
|
+
if (properties.has("checked"))
|
|
244
|
+
axNode.checked = properties.get("checked") === "true" ? "checked" : properties.get("checked") === "false" ? "unchecked" : "mixed";
|
|
245
|
+
if (properties.has("pressed"))
|
|
246
|
+
axNode.pressed = properties.get("pressed") === "true" ? "pressed" : properties.get("pressed") === "false" ? "released" : "mixed";
|
|
227
247
|
return axNode;
|
|
228
248
|
}
|
|
229
249
|
static createTree(client, payloads) {
|
|
230
|
-
const nodeById = new Map();
|
|
231
|
-
for (const payload of payloads)
|
|
250
|
+
const nodeById = /* @__PURE__ */ new Map();
|
|
251
|
+
for (const payload of payloads)
|
|
252
|
+
nodeById.set(payload.nodeId, new CRAXNode(client, payload));
|
|
232
253
|
for (const node of nodeById.values()) {
|
|
233
|
-
for (const childId of node._payload.childIds || [])
|
|
254
|
+
for (const childId of node._payload.childIds || [])
|
|
255
|
+
node._children.push(nodeById.get(childId));
|
|
234
256
|
}
|
|
235
257
|
return nodeById.values().next().value;
|
|
236
258
|
}
|
|
237
|
-
}
|
|
259
|
+
}
|
|
260
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
261
|
+
0 && (module.exports = {
|
|
262
|
+
getAccessibilityTree
|
|
263
|
+
});
|