@checkly/playwright-core 1.42.17 → 1.47.20-alpha
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 +144 -109
- package/browsers.json +15 -25
- package/lib/androidServerImpl.js +1 -1
- package/lib/browserServerImpl.js +1 -1
- package/lib/cli/driver.js +1 -3
- package/lib/cli/program.js +5 -10
- package/lib/client/android.js +1 -1
- package/lib/client/api.js +7 -0
- package/lib/client/browserContext.js +37 -5
- package/lib/client/browserType.js +19 -11
- package/lib/client/channelOwner.js +19 -16
- package/lib/client/clientInstrumentation.js +17 -7
- package/lib/client/clock.js +68 -0
- package/lib/client/connection.js +9 -6
- package/lib/client/electron.js +7 -5
- package/lib/client/elementHandle.js +44 -14
- package/lib/client/eventEmitter.js +314 -0
- package/lib/client/fetch.js +81 -28
- package/lib/client/frame.js +2 -4
- package/lib/client/jsHandle.js +7 -1
- package/lib/client/locator.js +9 -0
- package/lib/client/network.js +12 -9
- package/lib/client/page.js +45 -23
- package/lib/client/playwright.js +3 -0
- package/lib/client/tracing.js +7 -4
- package/lib/common/socksProxy.js +2 -2
- package/lib/generated/clockSource.js +7 -0
- package/lib/generated/injectedScriptSource.js +1 -1
- package/lib/generated/recorderSource.js +1 -1
- package/lib/generated/utilityScriptSource.js +1 -1
- package/lib/protocol/serializers.js +12 -11
- package/lib/protocol/validator.js +137 -55
- package/lib/server/bidi/bidiBrowser.js +296 -0
- package/lib/server/bidi/bidiConnection.js +206 -0
- package/lib/server/bidi/bidiExecutionContext.js +162 -0
- package/lib/server/bidi/bidiFirefox.js +110 -0
- package/lib/server/bidi/bidiInput.js +174 -0
- package/lib/server/bidi/bidiNetworkManager.js +304 -0
- package/lib/server/bidi/bidiPage.js +456 -0
- package/lib/server/bidi/third_party/bidiDeserializer.js +93 -0
- package/lib/server/bidi/third_party/bidiKeyboard.js +238 -0
- package/lib/server/bidi/third_party/bidiProtocol.js +139 -0
- package/lib/server/bidi/third_party/bidiSerializer.js +144 -0
- package/lib/server/browser.js +9 -1
- package/lib/server/browserContext.js +97 -22
- package/lib/server/browserType.js +27 -20
- package/lib/server/chromium/chromium.js +30 -15
- package/lib/server/chromium/chromiumSwitches.js +6 -3
- package/lib/server/chromium/crBrowser.js +11 -17
- package/lib/server/chromium/crConnection.js +2 -2
- package/lib/server/chromium/crDragDrop.js +28 -29
- package/lib/server/chromium/crNetworkManager.js +130 -84
- package/lib/server/chromium/crPage.js +34 -79
- package/lib/server/chromium/crProtocolHelper.js +3 -1
- package/lib/server/chromium/crServiceWorker.js +20 -23
- package/lib/server/chromium/videoRecorder.js +1 -1
- package/lib/server/clock.js +125 -0
- package/lib/server/codegen/csharp.js +299 -0
- package/lib/server/codegen/java.js +235 -0
- package/lib/server/codegen/javascript.js +223 -0
- package/lib/server/codegen/jsonl.js +47 -0
- package/lib/server/codegen/language.js +76 -0
- package/lib/server/codegen/languages.js +30 -0
- package/lib/server/codegen/python.js +265 -0
- package/lib/server/codegen/types.js +5 -0
- package/lib/server/debugController.js +3 -5
- package/lib/server/deviceDescriptors.js +9 -4
- package/lib/server/deviceDescriptorsSource.json +239 -119
- package/lib/server/dispatchers/androidDispatcher.js +1 -1
- package/lib/server/dispatchers/browserContextDispatcher.js +51 -7
- package/lib/server/dispatchers/dispatcher.js +36 -40
- package/lib/server/dispatchers/frameDispatcher.js +1 -2
- package/lib/server/dispatchers/jsHandleDispatcher.js +1 -1
- package/lib/server/dispatchers/jsonPipeDispatcher.js +4 -6
- package/lib/server/dispatchers/localUtilsDispatcher.js +19 -5
- package/lib/server/dispatchers/networkDispatchers.js +2 -2
- package/lib/server/dispatchers/pageDispatcher.js +5 -2
- package/lib/server/dispatchers/playwrightDispatcher.js +1 -0
- package/lib/server/dispatchers/writableStreamDispatcher.js +8 -5
- package/lib/server/dom.js +90 -53
- package/lib/server/electron/electron.js +21 -4
- package/lib/server/fetch.js +74 -25
- package/lib/server/fileUploadUtils.js +7 -3
- package/lib/server/firefox/ffBrowser.js +36 -25
- package/lib/server/firefox/ffConnection.js +2 -2
- package/lib/server/firefox/ffNetworkManager.js +6 -4
- package/lib/server/firefox/ffPage.js +22 -24
- package/lib/server/firefox/firefox.js +25 -6
- package/lib/server/frameSelectors.js +2 -2
- package/lib/server/frames.js +205 -159
- package/lib/server/har/harTracer.js +4 -12
- package/lib/server/helper.js +3 -3
- package/lib/server/index.js +18 -0
- package/lib/server/input.js +18 -8
- package/lib/server/instrumentation.js +0 -4
- package/lib/server/isomorphic/utilityScriptSerializers.js +19 -5
- package/lib/server/javascript.js +3 -2
- package/lib/server/launchApp.js +3 -2
- package/lib/server/network.js +14 -4
- package/lib/server/page.js +75 -46
- package/lib/server/playwright.js +5 -2
- package/lib/server/recorder/codeGenerator.js +2 -1
- package/lib/server/recorder/contextRecorder.js +316 -0
- package/lib/server/recorder/csharp.js +2 -1
- package/lib/server/recorder/java.js +2 -1
- package/lib/server/recorder/javascript.js +2 -1
- package/lib/server/recorder/jsonl.js +2 -1
- package/lib/server/recorder/language.js +2 -1
- package/lib/server/recorder/python.js +2 -1
- package/lib/server/recorder/recorderApp.js +14 -5
- package/lib/server/recorder/recorderCollection.js +127 -0
- package/lib/server/recorder/recorderRunner.js +177 -0
- package/lib/server/recorder/recorderUtils.js +23 -0
- package/lib/server/recorder/throttledFile.js +46 -0
- package/lib/server/recorder/utils.js +2 -1
- package/lib/server/recorder.js +42 -418
- package/lib/server/registry/index.js +99 -100
- package/lib/server/registry/nativeDeps.js +107 -0
- package/lib/server/screenshotter.js +6 -12
- package/lib/server/socksClientCertificatesInterceptor.js +328 -0
- package/lib/server/trace/recorder/snapshotter.js +4 -1
- package/lib/server/trace/recorder/tracing.js +27 -96
- package/lib/server/trace/viewer/traceViewer.js +54 -67
- package/lib/server/transport.js +1 -1
- package/lib/server/webkit/webkit.js +5 -5
- package/lib/server/webkit/wkBrowser.js +14 -14
- package/lib/server/webkit/wkConnection.js +3 -3
- package/lib/server/webkit/wkInterceptableRequest.js +8 -4
- package/lib/server/webkit/wkPage.js +52 -34
- package/lib/server/webkit/wkProvisionalPage.js +36 -1
- package/lib/utils/crypto.js +141 -0
- package/lib/utils/debugLogger.js +2 -0
- package/lib/utils/env.js +4 -2
- package/lib/utils/expectUtils.js +33 -0
- package/lib/utils/fileUtils.js +140 -1
- package/lib/utils/glob.js +2 -1
- package/lib/utils/happy-eyeballs.js +29 -2
- package/lib/utils/hostPlatform.js +13 -4
- package/lib/utils/httpServer.js +54 -13
- package/lib/utils/index.js +53 -31
- package/lib/utils/isomorphic/cssTokenizer.js +1 -1
- package/lib/utils/isomorphic/locatorParser.js +1 -1
- package/lib/utils/isomorphic/mimeType.js +29 -0
- package/lib/utils/isomorphic/stringUtils.js +28 -1
- package/lib/utils/isomorphic/urlMatch.js +120 -0
- package/lib/utils/mimeType.js +2 -1
- package/lib/utils/network.js +7 -35
- package/lib/utils/stackTrace.js +2 -4
- package/lib/utils/timeoutRunner.js +11 -76
- package/lib/utils/zones.js +23 -60
- package/lib/utilsBundle.js +2 -1
- package/lib/utilsBundleImpl/index.js +33 -31
- package/lib/vite/htmlReport/index.html +12 -12
- package/lib/vite/recorder/assets/codeMirrorModule-C-fQ5QZD.js +24 -0
- package/lib/vite/recorder/assets/{codicon-zGuYmc9o.ttf → codicon-DCmgc-ay.ttf} +0 -0
- package/lib/vite/recorder/assets/index-B-MT5gKo.css +1 -0
- package/lib/vite/recorder/assets/index-D-5S5PPN.js +47 -0
- package/lib/vite/recorder/index.html +2 -2
- package/lib/vite/traceViewer/assets/codeMirrorModule-5yiV-3wl.js +16831 -0
- package/lib/vite/traceViewer/assets/codeMirrorModule-B7Z3vq11.js +24 -0
- package/lib/vite/traceViewer/assets/codeMirrorModule-C6p3E9Zg.js +24 -0
- package/lib/vite/traceViewer/assets/codeMirrorModule-CqYUz5ms.js +24 -0
- package/lib/vite/traceViewer/assets/codeMirrorModule-Dx6AXgMV.js +16838 -0
- package/lib/vite/traceViewer/assets/codeMirrorModule-T_sdMrbM.js +24 -0
- package/lib/vite/traceViewer/assets/codeMirrorModule-V7N6ppkd.js +15585 -0
- package/lib/vite/traceViewer/assets/testServerConnection-D-tXL3sj.js +224 -0
- package/lib/vite/traceViewer/assets/testServerConnection-DeE2kSzz.js +1 -0
- package/lib/vite/traceViewer/assets/workbench-Bjkiwcr1.js +19119 -0
- package/lib/vite/traceViewer/assets/workbench-C43LWZEX.js +72 -0
- package/lib/vite/traceViewer/assets/workbench-C5OQh9VX.js +19119 -0
- package/lib/vite/traceViewer/assets/workbench-DrQjKdyE.js +72 -0
- package/lib/vite/traceViewer/assets/workbench-caTaZnzx.js +72 -0
- package/lib/vite/traceViewer/assets/workbench-u2lRPMOT.js +72 -0
- package/lib/vite/traceViewer/assets/wsPort-EUvw-dwH.js +18540 -0
- package/lib/vite/traceViewer/assets/xtermModule-CZ7sDYXB.js +6529 -0
- package/lib/vite/traceViewer/assets/xtermModule-_6TC5FYT.js +6529 -0
- package/lib/vite/traceViewer/codeMirrorModule.Cy8X9Wtw.css +344 -0
- package/lib/vite/traceViewer/codeMirrorModule.svF_VrcJ.css +344 -0
- package/lib/vite/traceViewer/codicon.DCmgc-ay.ttf +0 -0
- package/lib/vite/traceViewer/embedded.BQq6Psnz.js +104 -0
- package/lib/vite/traceViewer/embedded.BVDVQOzc.js +2 -0
- package/lib/vite/traceViewer/embedded.Bn8Ptzv6.js +2 -0
- package/lib/vite/traceViewer/embedded.CvhnUgIi.js +2 -0
- package/lib/vite/traceViewer/embedded.D27cnKiB.js +104 -0
- package/lib/vite/traceViewer/embedded.DPqrDeET.js +2 -0
- package/lib/vite/traceViewer/embedded.DjZq4InJ.css +68 -0
- package/lib/vite/traceViewer/embedded.html +16 -0
- package/lib/vite/traceViewer/embedded.w7WN2u1R.css +1 -0
- package/lib/vite/traceViewer/index.5mge2rY_.css +124 -0
- package/lib/vite/traceViewer/index.6KJ-JQ0L.js +180 -0
- package/lib/vite/traceViewer/index.B8dgQwuN.js +2 -0
- package/lib/vite/traceViewer/index.BGj8jY3H.js +2 -0
- package/lib/vite/traceViewer/index.C0EgJ4oW.js +195 -0
- package/lib/vite/traceViewer/index.CUpI-BFe.js +195 -0
- package/lib/vite/traceViewer/{index.-g_5lMbJ.css → index.CrbWWHbf.css} +1 -1
- package/lib/vite/traceViewer/index.QanXxRUb.css +131 -0
- package/lib/vite/traceViewer/index._cX8k4co.js +2 -0
- package/lib/vite/traceViewer/index.html +5 -4
- package/lib/vite/traceViewer/index.pMAN88y-.js +2 -0
- package/lib/vite/traceViewer/snapshot.html +1 -1
- package/lib/vite/traceViewer/sw.bundle.js +3 -4
- package/lib/vite/traceViewer/uiMode.D-tg1Oci.js +1730 -0
- package/lib/vite/traceViewer/uiMode.D3cNFP6u.css +1 -0
- package/lib/vite/traceViewer/uiMode.DKjMBMlc.js +1730 -0
- package/lib/vite/traceViewer/uiMode.DVWUEIHq.css +1424 -0
- package/lib/vite/traceViewer/uiMode.DVrL7a1K.js +10 -0
- package/lib/vite/traceViewer/uiMode.Dg9oJCQU.js +10 -0
- package/lib/vite/traceViewer/uiMode.DwZAzstF.js +10 -0
- package/lib/vite/traceViewer/uiMode.html +5 -4
- package/lib/vite/traceViewer/uiMode.iq7CyYy7.js +1490 -0
- package/lib/vite/traceViewer/uiMode.jY2s-9ps.js +10 -0
- package/lib/vite/traceViewer/uiMode.xvJHbkzl.css +1324 -0
- package/lib/vite/traceViewer/workbench.B3X2QtYa.css +3702 -0
- package/lib/vite/traceViewer/workbench.DyTpxWVb.css +1 -0
- package/lib/vite/traceViewer/wsPort.p5jUwABW.css +3450 -0
- package/lib/vite/traceViewer/xtermModule.4oRVGWQ-.css +209 -0
- package/lib/vite/traceViewer/xtermModule.OKEVRlkP.css +209 -0
- package/package.json +2 -2
- package/types/protocol.d.ts +960 -78
- package/types/structs.d.ts +1 -1
- package/types/types.d.ts +3083 -2448
- package/lib/vite/recorder/assets/codeMirrorModule-I9ks4y7D.js +0 -24
- package/lib/vite/recorder/assets/index-ljsTwXtJ.css +0 -1
- package/lib/vite/recorder/assets/index-yg8ypzl6.js +0 -47
- package/lib/vite/traceViewer/assets/codeMirrorModule-0bpaqixv.js +0 -24
- package/lib/vite/traceViewer/assets/wsPort-_JBDEilC.js +0 -69
- package/lib/vite/traceViewer/index.u51inEcm.js +0 -2
- package/lib/vite/traceViewer/uiMode.Fb0bNA4H.js +0 -10
- package/lib/vite/traceViewer/uiMode.pWy0Re7G.css +0 -1
- package/lib/vite/traceViewer/wsPort.zR1WIy9-.css +0 -1
- /package/lib/vite/recorder/assets/{codeMirrorModule-Hs9-1ZG4.css → codeMirrorModule-ez37Vkbh.css} +0 -0
- /package/lib/vite/traceViewer/assets/{xtermModule-Yt6xwiJ_.js → xtermModule-BeNbaIVa.js} +0 -0
- /package/lib/vite/traceViewer/{codeMirrorModule.Hs9-1ZG4.css → codeMirrorModule.ez37Vkbh.css} +0 -0
- /package/lib/vite/traceViewer/{xtermModule.0lwXJFHT.css → xtermModule.DSXBckUd.css} +0 -0
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getBidiKeyValue = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* @license
|
|
9
|
+
* Copyright 2024 Google Inc.
|
|
10
|
+
* Modifications copyright (c) Microsoft Corporation.
|
|
11
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
/* eslint-disable curly */
|
|
15
|
+
|
|
16
|
+
const getBidiKeyValue = key => {
|
|
17
|
+
switch (key) {
|
|
18
|
+
case '\r':
|
|
19
|
+
case '\n':
|
|
20
|
+
key = 'Enter';
|
|
21
|
+
break;
|
|
22
|
+
}
|
|
23
|
+
// Measures the number of code points rather than UTF-16 code units.
|
|
24
|
+
if ([...key].length === 1) {
|
|
25
|
+
return key;
|
|
26
|
+
}
|
|
27
|
+
switch (key) {
|
|
28
|
+
case 'Cancel':
|
|
29
|
+
return '\uE001';
|
|
30
|
+
case 'Help':
|
|
31
|
+
return '\uE002';
|
|
32
|
+
case 'Backspace':
|
|
33
|
+
return '\uE003';
|
|
34
|
+
case 'Tab':
|
|
35
|
+
return '\uE004';
|
|
36
|
+
case 'Clear':
|
|
37
|
+
return '\uE005';
|
|
38
|
+
case 'Enter':
|
|
39
|
+
return '\uE007';
|
|
40
|
+
case 'Shift':
|
|
41
|
+
case 'ShiftLeft':
|
|
42
|
+
return '\uE008';
|
|
43
|
+
case 'Control':
|
|
44
|
+
case 'ControlLeft':
|
|
45
|
+
return '\uE009';
|
|
46
|
+
case 'Alt':
|
|
47
|
+
case 'AltLeft':
|
|
48
|
+
return '\uE00A';
|
|
49
|
+
case 'Pause':
|
|
50
|
+
return '\uE00B';
|
|
51
|
+
case 'Escape':
|
|
52
|
+
return '\uE00C';
|
|
53
|
+
case 'PageUp':
|
|
54
|
+
return '\uE00E';
|
|
55
|
+
case 'PageDown':
|
|
56
|
+
return '\uE00F';
|
|
57
|
+
case 'End':
|
|
58
|
+
return '\uE010';
|
|
59
|
+
case 'Home':
|
|
60
|
+
return '\uE011';
|
|
61
|
+
case 'ArrowLeft':
|
|
62
|
+
return '\uE012';
|
|
63
|
+
case 'ArrowUp':
|
|
64
|
+
return '\uE013';
|
|
65
|
+
case 'ArrowRight':
|
|
66
|
+
return '\uE014';
|
|
67
|
+
case 'ArrowDown':
|
|
68
|
+
return '\uE015';
|
|
69
|
+
case 'Insert':
|
|
70
|
+
return '\uE016';
|
|
71
|
+
case 'Delete':
|
|
72
|
+
return '\uE017';
|
|
73
|
+
case 'NumpadEqual':
|
|
74
|
+
return '\uE019';
|
|
75
|
+
case 'Numpad0':
|
|
76
|
+
return '\uE01A';
|
|
77
|
+
case 'Numpad1':
|
|
78
|
+
return '\uE01B';
|
|
79
|
+
case 'Numpad2':
|
|
80
|
+
return '\uE01C';
|
|
81
|
+
case 'Numpad3':
|
|
82
|
+
return '\uE01D';
|
|
83
|
+
case 'Numpad4':
|
|
84
|
+
return '\uE01E';
|
|
85
|
+
case 'Numpad5':
|
|
86
|
+
return '\uE01F';
|
|
87
|
+
case 'Numpad6':
|
|
88
|
+
return '\uE020';
|
|
89
|
+
case 'Numpad7':
|
|
90
|
+
return '\uE021';
|
|
91
|
+
case 'Numpad8':
|
|
92
|
+
return '\uE022';
|
|
93
|
+
case 'Numpad9':
|
|
94
|
+
return '\uE023';
|
|
95
|
+
case 'NumpadMultiply':
|
|
96
|
+
return '\uE024';
|
|
97
|
+
case 'NumpadAdd':
|
|
98
|
+
return '\uE025';
|
|
99
|
+
case 'NumpadSubtract':
|
|
100
|
+
return '\uE027';
|
|
101
|
+
case 'NumpadDecimal':
|
|
102
|
+
return '\uE028';
|
|
103
|
+
case 'NumpadDivide':
|
|
104
|
+
return '\uE029';
|
|
105
|
+
case 'F1':
|
|
106
|
+
return '\uE031';
|
|
107
|
+
case 'F2':
|
|
108
|
+
return '\uE032';
|
|
109
|
+
case 'F3':
|
|
110
|
+
return '\uE033';
|
|
111
|
+
case 'F4':
|
|
112
|
+
return '\uE034';
|
|
113
|
+
case 'F5':
|
|
114
|
+
return '\uE035';
|
|
115
|
+
case 'F6':
|
|
116
|
+
return '\uE036';
|
|
117
|
+
case 'F7':
|
|
118
|
+
return '\uE037';
|
|
119
|
+
case 'F8':
|
|
120
|
+
return '\uE038';
|
|
121
|
+
case 'F9':
|
|
122
|
+
return '\uE039';
|
|
123
|
+
case 'F10':
|
|
124
|
+
return '\uE03A';
|
|
125
|
+
case 'F11':
|
|
126
|
+
return '\uE03B';
|
|
127
|
+
case 'F12':
|
|
128
|
+
return '\uE03C';
|
|
129
|
+
case 'Meta':
|
|
130
|
+
case 'MetaLeft':
|
|
131
|
+
return '\uE03D';
|
|
132
|
+
case 'ShiftRight':
|
|
133
|
+
return '\uE050';
|
|
134
|
+
case 'ControlRight':
|
|
135
|
+
return '\uE051';
|
|
136
|
+
case 'AltRight':
|
|
137
|
+
return '\uE052';
|
|
138
|
+
case 'MetaRight':
|
|
139
|
+
return '\uE053';
|
|
140
|
+
case 'Digit0':
|
|
141
|
+
return '0';
|
|
142
|
+
case 'Digit1':
|
|
143
|
+
return '1';
|
|
144
|
+
case 'Digit2':
|
|
145
|
+
return '2';
|
|
146
|
+
case 'Digit3':
|
|
147
|
+
return '3';
|
|
148
|
+
case 'Digit4':
|
|
149
|
+
return '4';
|
|
150
|
+
case 'Digit5':
|
|
151
|
+
return '5';
|
|
152
|
+
case 'Digit6':
|
|
153
|
+
return '6';
|
|
154
|
+
case 'Digit7':
|
|
155
|
+
return '7';
|
|
156
|
+
case 'Digit8':
|
|
157
|
+
return '8';
|
|
158
|
+
case 'Digit9':
|
|
159
|
+
return '9';
|
|
160
|
+
case 'KeyA':
|
|
161
|
+
return 'a';
|
|
162
|
+
case 'KeyB':
|
|
163
|
+
return 'b';
|
|
164
|
+
case 'KeyC':
|
|
165
|
+
return 'c';
|
|
166
|
+
case 'KeyD':
|
|
167
|
+
return 'd';
|
|
168
|
+
case 'KeyE':
|
|
169
|
+
return 'e';
|
|
170
|
+
case 'KeyF':
|
|
171
|
+
return 'f';
|
|
172
|
+
case 'KeyG':
|
|
173
|
+
return 'g';
|
|
174
|
+
case 'KeyH':
|
|
175
|
+
return 'h';
|
|
176
|
+
case 'KeyI':
|
|
177
|
+
return 'i';
|
|
178
|
+
case 'KeyJ':
|
|
179
|
+
return 'j';
|
|
180
|
+
case 'KeyK':
|
|
181
|
+
return 'k';
|
|
182
|
+
case 'KeyL':
|
|
183
|
+
return 'l';
|
|
184
|
+
case 'KeyM':
|
|
185
|
+
return 'm';
|
|
186
|
+
case 'KeyN':
|
|
187
|
+
return 'n';
|
|
188
|
+
case 'KeyO':
|
|
189
|
+
return 'o';
|
|
190
|
+
case 'KeyP':
|
|
191
|
+
return 'p';
|
|
192
|
+
case 'KeyQ':
|
|
193
|
+
return 'q';
|
|
194
|
+
case 'KeyR':
|
|
195
|
+
return 'r';
|
|
196
|
+
case 'KeyS':
|
|
197
|
+
return 's';
|
|
198
|
+
case 'KeyT':
|
|
199
|
+
return 't';
|
|
200
|
+
case 'KeyU':
|
|
201
|
+
return 'u';
|
|
202
|
+
case 'KeyV':
|
|
203
|
+
return 'v';
|
|
204
|
+
case 'KeyW':
|
|
205
|
+
return 'w';
|
|
206
|
+
case 'KeyX':
|
|
207
|
+
return 'x';
|
|
208
|
+
case 'KeyY':
|
|
209
|
+
return 'y';
|
|
210
|
+
case 'KeyZ':
|
|
211
|
+
return 'z';
|
|
212
|
+
case 'Semicolon':
|
|
213
|
+
return ';';
|
|
214
|
+
case 'Equal':
|
|
215
|
+
return '=';
|
|
216
|
+
case 'Comma':
|
|
217
|
+
return ',';
|
|
218
|
+
case 'Minus':
|
|
219
|
+
return '-';
|
|
220
|
+
case 'Period':
|
|
221
|
+
return '.';
|
|
222
|
+
case 'Slash':
|
|
223
|
+
return '/';
|
|
224
|
+
case 'Backquote':
|
|
225
|
+
return '`';
|
|
226
|
+
case 'BracketLeft':
|
|
227
|
+
return '[';
|
|
228
|
+
case 'Backslash':
|
|
229
|
+
return '\\';
|
|
230
|
+
case 'BracketRight':
|
|
231
|
+
return ']';
|
|
232
|
+
case 'Quote':
|
|
233
|
+
return '"';
|
|
234
|
+
default:
|
|
235
|
+
throw new Error(`Unknown key: "${key}"`);
|
|
236
|
+
}
|
|
237
|
+
};
|
|
238
|
+
exports.getBidiKeyValue = getBidiKeyValue;
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Storage = exports.Session = exports.Script = exports.Network = exports.Log = exports.Input = exports.ErrorCode = exports.BrowsingContext = exports.Browser = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* @license
|
|
9
|
+
* Copyright 2024 Google Inc.
|
|
10
|
+
* Modifications copyright (c) Microsoft Corporation.
|
|
11
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* THIS FILE IS AUTOGENERATED by cddlconv 0.1.5.
|
|
15
|
+
* Run `node tools/generate-bidi-types.mjs` to regenerate.
|
|
16
|
+
* @see https://github.com/w3c/webdriver-bidi/blob/master/index.bs
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* Must be between `-9007199254740991` and `9007199254740991`, inclusive.
|
|
20
|
+
*/
|
|
21
|
+
/**
|
|
22
|
+
* Must be between `0` and `9007199254740991`, inclusive.
|
|
23
|
+
*/
|
|
24
|
+
let ErrorCode = exports.ErrorCode = /*#__PURE__*/function (ErrorCode) {
|
|
25
|
+
ErrorCode["InvalidArgument"] = "invalid argument";
|
|
26
|
+
ErrorCode["InvalidSelector"] = "invalid selector";
|
|
27
|
+
ErrorCode["InvalidSessionId"] = "invalid session id";
|
|
28
|
+
ErrorCode["MoveTargetOutOfBounds"] = "move target out of bounds";
|
|
29
|
+
ErrorCode["NoSuchAlert"] = "no such alert";
|
|
30
|
+
ErrorCode["NoSuchElement"] = "no such element";
|
|
31
|
+
ErrorCode["NoSuchFrame"] = "no such frame";
|
|
32
|
+
ErrorCode["NoSuchHandle"] = "no such handle";
|
|
33
|
+
ErrorCode["NoSuchHistoryEntry"] = "no such history entry";
|
|
34
|
+
ErrorCode["NoSuchIntercept"] = "no such intercept";
|
|
35
|
+
ErrorCode["NoSuchNode"] = "no such node";
|
|
36
|
+
ErrorCode["NoSuchRequest"] = "no such request";
|
|
37
|
+
ErrorCode["NoSuchScript"] = "no such script";
|
|
38
|
+
ErrorCode["NoSuchStoragePartition"] = "no such storage partition";
|
|
39
|
+
ErrorCode["NoSuchUserContext"] = "no such user context";
|
|
40
|
+
ErrorCode["SessionNotCreated"] = "session not created";
|
|
41
|
+
ErrorCode["UnableToCaptureScreen"] = "unable to capture screen";
|
|
42
|
+
ErrorCode["UnableToCloseBrowser"] = "unable to close browser";
|
|
43
|
+
ErrorCode["UnableToSetCookie"] = "unable to set cookie";
|
|
44
|
+
ErrorCode["UnableToSetFileInput"] = "unable to set file input";
|
|
45
|
+
ErrorCode["UnderspecifiedStoragePartition"] = "underspecified storage partition";
|
|
46
|
+
ErrorCode["UnknownCommand"] = "unknown command";
|
|
47
|
+
ErrorCode["UnknownError"] = "unknown error";
|
|
48
|
+
ErrorCode["UnsupportedOperation"] = "unsupported operation";
|
|
49
|
+
return ErrorCode;
|
|
50
|
+
}({});
|
|
51
|
+
let Session = exports.Session = void 0;
|
|
52
|
+
(function (_Session10) {
|
|
53
|
+
let UserPromptHandlerType = /*#__PURE__*/function (UserPromptHandlerType) {
|
|
54
|
+
UserPromptHandlerType["Accept"] = "accept";
|
|
55
|
+
UserPromptHandlerType["Dismiss"] = "dismiss";
|
|
56
|
+
UserPromptHandlerType["Ignore"] = "ignore";
|
|
57
|
+
return UserPromptHandlerType;
|
|
58
|
+
}({});
|
|
59
|
+
_Session10.UserPromptHandlerType = UserPromptHandlerType;
|
|
60
|
+
})(Session || (exports.Session = Session = {}));
|
|
61
|
+
let Browser = exports.Browser = void 0;
|
|
62
|
+
let BrowsingContext = exports.BrowsingContext = void 0;
|
|
63
|
+
(function (_BrowsingContext10) {
|
|
64
|
+
let ReadinessState = /*#__PURE__*/function (ReadinessState) {
|
|
65
|
+
ReadinessState["None"] = "none";
|
|
66
|
+
ReadinessState["Interactive"] = "interactive";
|
|
67
|
+
ReadinessState["Complete"] = "complete";
|
|
68
|
+
return ReadinessState;
|
|
69
|
+
}({});
|
|
70
|
+
_BrowsingContext10.ReadinessState = ReadinessState;
|
|
71
|
+
})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
|
|
72
|
+
(function (_BrowsingContext11) {
|
|
73
|
+
let UserPromptType = /*#__PURE__*/function (UserPromptType) {
|
|
74
|
+
UserPromptType["Alert"] = "alert";
|
|
75
|
+
UserPromptType["Beforeunload"] = "beforeunload";
|
|
76
|
+
UserPromptType["Confirm"] = "confirm";
|
|
77
|
+
UserPromptType["Prompt"] = "prompt";
|
|
78
|
+
return UserPromptType;
|
|
79
|
+
}({});
|
|
80
|
+
_BrowsingContext11.UserPromptType = UserPromptType;
|
|
81
|
+
})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
|
|
82
|
+
(function (_BrowsingContext24) {
|
|
83
|
+
let CreateType = /*#__PURE__*/function (CreateType) {
|
|
84
|
+
CreateType["Tab"] = "tab";
|
|
85
|
+
CreateType["Window"] = "window";
|
|
86
|
+
return CreateType;
|
|
87
|
+
}({});
|
|
88
|
+
_BrowsingContext24.CreateType = CreateType;
|
|
89
|
+
})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
|
|
90
|
+
let Network = exports.Network = void 0;
|
|
91
|
+
(function (_Network6) {
|
|
92
|
+
let SameSite = /*#__PURE__*/function (SameSite) {
|
|
93
|
+
SameSite["Strict"] = "strict";
|
|
94
|
+
SameSite["Lax"] = "lax";
|
|
95
|
+
SameSite["None"] = "none";
|
|
96
|
+
return SameSite;
|
|
97
|
+
}({});
|
|
98
|
+
_Network6.SameSite = SameSite;
|
|
99
|
+
})(Network || (exports.Network = Network = {}));
|
|
100
|
+
(function (_Network23) {
|
|
101
|
+
let InterceptPhase = /*#__PURE__*/function (InterceptPhase) {
|
|
102
|
+
InterceptPhase["BeforeRequestSent"] = "beforeRequestSent";
|
|
103
|
+
InterceptPhase["ResponseStarted"] = "responseStarted";
|
|
104
|
+
InterceptPhase["AuthRequired"] = "authRequired";
|
|
105
|
+
return InterceptPhase;
|
|
106
|
+
}({});
|
|
107
|
+
_Network23.InterceptPhase = InterceptPhase;
|
|
108
|
+
})(Network || (exports.Network = Network = {}));
|
|
109
|
+
let Script = exports.Script = void 0;
|
|
110
|
+
(function (_Script68) {
|
|
111
|
+
let ResultOwnership = /*#__PURE__*/function (ResultOwnership) {
|
|
112
|
+
ResultOwnership["Root"] = "root";
|
|
113
|
+
ResultOwnership["None"] = "none";
|
|
114
|
+
return ResultOwnership;
|
|
115
|
+
}({});
|
|
116
|
+
_Script68.ResultOwnership = ResultOwnership;
|
|
117
|
+
})(Script || (exports.Script = Script = {}));
|
|
118
|
+
let Storage = exports.Storage = void 0;
|
|
119
|
+
let Log = exports.Log = void 0;
|
|
120
|
+
(function (_Log7) {
|
|
121
|
+
let Level = /*#__PURE__*/function (Level) {
|
|
122
|
+
Level["Debug"] = "debug";
|
|
123
|
+
Level["Info"] = "info";
|
|
124
|
+
Level["Warn"] = "warn";
|
|
125
|
+
Level["Error"] = "error";
|
|
126
|
+
return Level;
|
|
127
|
+
}({});
|
|
128
|
+
_Log7.Level = Level;
|
|
129
|
+
})(Log || (exports.Log = Log = {}));
|
|
130
|
+
let Input = exports.Input = void 0;
|
|
131
|
+
(function (_Input9) {
|
|
132
|
+
let PointerType = /*#__PURE__*/function (PointerType) {
|
|
133
|
+
PointerType["Mouse"] = "mouse";
|
|
134
|
+
PointerType["Pen"] = "pen";
|
|
135
|
+
PointerType["Touch"] = "touch";
|
|
136
|
+
return PointerType;
|
|
137
|
+
}({});
|
|
138
|
+
_Input9.PointerType = PointerType;
|
|
139
|
+
})(Input || (exports.Input = Input = {}));
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.isRegExp = exports.isPlainObject = exports.isDate = exports.BidiSerializer = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* @license
|
|
9
|
+
* Copyright 2024 Google Inc.
|
|
10
|
+
* Modifications copyright (c) Microsoft Corporation.
|
|
11
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
/* eslint-disable curly, indent */
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* @internal
|
|
18
|
+
*/
|
|
19
|
+
class UnserializableError extends Error {}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* @internal
|
|
23
|
+
*/
|
|
24
|
+
class BidiSerializer {
|
|
25
|
+
static serialize(arg) {
|
|
26
|
+
switch (typeof arg) {
|
|
27
|
+
case 'symbol':
|
|
28
|
+
case 'function':
|
|
29
|
+
throw new UnserializableError(`Unable to serializable ${typeof arg}`);
|
|
30
|
+
case 'object':
|
|
31
|
+
return BidiSerializer._serializeObject(arg);
|
|
32
|
+
case 'undefined':
|
|
33
|
+
return {
|
|
34
|
+
type: 'undefined'
|
|
35
|
+
};
|
|
36
|
+
case 'number':
|
|
37
|
+
return BidiSerializer._serializeNumber(arg);
|
|
38
|
+
case 'bigint':
|
|
39
|
+
return {
|
|
40
|
+
type: 'bigint',
|
|
41
|
+
value: arg.toString()
|
|
42
|
+
};
|
|
43
|
+
case 'string':
|
|
44
|
+
return {
|
|
45
|
+
type: 'string',
|
|
46
|
+
value: arg
|
|
47
|
+
};
|
|
48
|
+
case 'boolean':
|
|
49
|
+
return {
|
|
50
|
+
type: 'boolean',
|
|
51
|
+
value: arg
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
static _serializeNumber(arg) {
|
|
56
|
+
let value;
|
|
57
|
+
if (Object.is(arg, -0)) {
|
|
58
|
+
value = '-0';
|
|
59
|
+
} else if (Object.is(arg, Infinity)) {
|
|
60
|
+
value = 'Infinity';
|
|
61
|
+
} else if (Object.is(arg, -Infinity)) {
|
|
62
|
+
value = '-Infinity';
|
|
63
|
+
} else if (Object.is(arg, NaN)) {
|
|
64
|
+
value = 'NaN';
|
|
65
|
+
} else {
|
|
66
|
+
value = arg;
|
|
67
|
+
}
|
|
68
|
+
return {
|
|
69
|
+
type: 'number',
|
|
70
|
+
value
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
static _serializeObject(arg) {
|
|
74
|
+
if (arg === null) {
|
|
75
|
+
return {
|
|
76
|
+
type: 'null'
|
|
77
|
+
};
|
|
78
|
+
} else if (Array.isArray(arg)) {
|
|
79
|
+
const parsedArray = arg.map(subArg => {
|
|
80
|
+
return BidiSerializer.serialize(subArg);
|
|
81
|
+
});
|
|
82
|
+
return {
|
|
83
|
+
type: 'array',
|
|
84
|
+
value: parsedArray
|
|
85
|
+
};
|
|
86
|
+
} else if (isPlainObject(arg)) {
|
|
87
|
+
try {
|
|
88
|
+
JSON.stringify(arg);
|
|
89
|
+
} catch (error) {
|
|
90
|
+
if (error instanceof TypeError && error.message.startsWith('Converting circular structure to JSON')) {
|
|
91
|
+
error.message += ' Recursive objects are not allowed.';
|
|
92
|
+
}
|
|
93
|
+
throw error;
|
|
94
|
+
}
|
|
95
|
+
const parsedObject = [];
|
|
96
|
+
for (const key in arg) {
|
|
97
|
+
parsedObject.push([BidiSerializer.serialize(key), BidiSerializer.serialize(arg[key])]);
|
|
98
|
+
}
|
|
99
|
+
return {
|
|
100
|
+
type: 'object',
|
|
101
|
+
value: parsedObject
|
|
102
|
+
};
|
|
103
|
+
} else if (isRegExp(arg)) {
|
|
104
|
+
return {
|
|
105
|
+
type: 'regexp',
|
|
106
|
+
value: {
|
|
107
|
+
pattern: arg.source,
|
|
108
|
+
flags: arg.flags
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
} else if (isDate(arg)) {
|
|
112
|
+
return {
|
|
113
|
+
type: 'date',
|
|
114
|
+
value: arg.toISOString()
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
throw new UnserializableError('Custom object serialization not possible. Use plain objects instead.');
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* @internal
|
|
123
|
+
*/
|
|
124
|
+
exports.BidiSerializer = BidiSerializer;
|
|
125
|
+
const isPlainObject = obj => {
|
|
126
|
+
return typeof obj === 'object' && (obj === null || obj === void 0 ? void 0 : obj.constructor) === Object;
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* @internal
|
|
131
|
+
*/
|
|
132
|
+
exports.isPlainObject = isPlainObject;
|
|
133
|
+
const isRegExp = obj => {
|
|
134
|
+
return typeof obj === 'object' && (obj === null || obj === void 0 ? void 0 : obj.constructor) === RegExp;
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* @internal
|
|
139
|
+
*/
|
|
140
|
+
exports.isRegExp = isRegExp;
|
|
141
|
+
const isDate = obj => {
|
|
142
|
+
return typeof obj === 'object' && (obj === null || obj === void 0 ? void 0 : obj.constructor) === Date;
|
|
143
|
+
};
|
|
144
|
+
exports.isDate = isDate;
|
package/lib/server/browser.js
CHANGED
|
@@ -42,7 +42,15 @@ class Browser extends _instrumentation.SdkObject {
|
|
|
42
42
|
}
|
|
43
43
|
async newContext(metadata, options) {
|
|
44
44
|
(0, _browserContext.validateBrowserContextOptions)(options, this.options);
|
|
45
|
-
const
|
|
45
|
+
const clientCertificatesProxy = await (0, _browserContext.createClientCertificatesProxyIfNeeded)(options, this.options);
|
|
46
|
+
let context;
|
|
47
|
+
try {
|
|
48
|
+
context = await this.doCreateNewContext(options);
|
|
49
|
+
} catch (error) {
|
|
50
|
+
await (clientCertificatesProxy === null || clientCertificatesProxy === void 0 ? void 0 : clientCertificatesProxy.close());
|
|
51
|
+
throw error;
|
|
52
|
+
}
|
|
53
|
+
context._clientCertificatesProxy = clientCertificatesProxy;
|
|
46
54
|
if (options.storageState) await context.setStorageState(metadata, options.storageState);
|
|
47
55
|
return context;
|
|
48
56
|
}
|