patchright-core 1.52.4 → 1.55.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/bin/reinstall_chrome_beta_mac.sh +1 -1
- package/bin/reinstall_chrome_stable_mac.sh +1 -1
- package/bin/reinstall_msedge_beta_mac.sh +1 -1
- package/bin/reinstall_msedge_dev_mac.sh +1 -1
- package/bin/reinstall_msedge_stable_mac.sh +1 -1
- package/browsers.json +14 -14
- package/index.js +1 -1
- package/lib/androidServerImpl.js +4 -2
- package/lib/browserServerImpl.js +47 -12
- package/lib/cli/program.js +116 -50
- package/lib/cli/programWithTestStub.js +1 -1
- package/lib/client/android.js +30 -34
- package/lib/client/browser.js +54 -17
- package/lib/client/browserContext.js +67 -71
- package/lib/client/browserType.js +25 -34
- package/lib/client/channelOwner.js +20 -24
- package/lib/client/connection.js +6 -10
- package/lib/client/electron.js +8 -3
- package/lib/client/elementHandle.js +18 -21
- package/lib/client/fetch.js +5 -3
- package/lib/client/frame.js +57 -35
- package/lib/client/input.js +3 -1
- package/lib/client/jsHandle.js +4 -0
- package/lib/client/localUtils.js +0 -1
- package/lib/client/locator.js +32 -28
- package/lib/client/network.js +5 -12
- package/lib/client/page.js +32 -32
- package/lib/client/playwright.js +6 -16
- package/lib/client/selectors.js +18 -38
- package/lib/client/timeoutSettings.js +12 -8
- package/lib/client/tracing.js +24 -20
- package/lib/client/waiter.js +2 -2
- package/lib/client/webSocket.js +4 -22
- package/lib/generated/bindingsControllerSource.js +28 -0
- package/lib/generated/clockSource.js +1 -1
- package/lib/generated/injectedScriptSource.js +1 -1
- package/lib/generated/pollingRecorderSource.js +1 -1
- package/lib/generated/storageScriptSource.js +28 -0
- package/lib/generated/utilityScriptSource.js +1 -1
- package/lib/generated/webSocketMockSource.js +12 -50
- package/lib/inProcessFactory.js +9 -6
- package/lib/outofprocess.js +0 -2
- package/lib/protocol/validator.js +423 -346
- package/lib/protocol/validatorPrimitives.js +18 -4
- package/lib/remote/playwrightConnection.js +29 -166
- package/lib/remote/playwrightServer.js +233 -35
- package/lib/server/android/android.js +97 -83
- package/lib/server/android/backendAdb.js +0 -2
- package/lib/server/bidi/bidiBrowser.js +139 -73
- package/lib/server/bidi/bidiChromium.js +23 -22
- package/lib/server/bidi/bidiExecutionContext.js +2 -1
- package/lib/server/bidi/bidiFirefox.js +17 -14
- package/lib/server/bidi/bidiInput.js +22 -22
- package/lib/server/bidi/bidiNetworkManager.js +8 -11
- package/lib/server/bidi/bidiPage.js +42 -86
- package/lib/server/bidi/third_party/bidiProtocol.js +5 -133
- package/lib/server/bidi/third_party/bidiProtocolCore.js +179 -0
- package/lib/server/{dispatchers/selectorsDispatcher.js → bidi/third_party/bidiProtocolPermissions.js} +20 -18
- package/lib/server/browser.js +30 -21
- package/lib/server/browserContext.js +203 -165
- package/lib/server/browserType.js +109 -107
- package/lib/server/chromium/chromium.js +84 -69
- package/lib/server/chromium/chromiumSwitches.js +13 -20
- package/lib/server/chromium/crBrowser.js +74 -40
- package/lib/server/chromium/crConnection.js +8 -9
- package/lib/server/chromium/crCoverage.js +11 -8
- package/lib/server/chromium/crDragDrop.js +25 -20
- package/lib/server/chromium/crExecutionContext.js +2 -1
- package/lib/server/chromium/crInput.js +32 -29
- package/lib/server/chromium/crNetworkManager.js +45 -33
- package/lib/server/chromium/crPage.js +98 -73
- package/lib/server/chromium/crServiceWorker.js +13 -18
- package/lib/server/chromium/videoRecorder.js +10 -18
- package/lib/server/clock.js +51 -39
- package/lib/server/codegen/csharp.js +10 -5
- package/lib/server/codegen/java.js +1 -1
- package/lib/server/codegen/javascript.js +1 -1
- package/lib/server/codegen/jsonl.js +2 -1
- package/lib/server/codegen/language.js +22 -1
- package/lib/server/codegen/languages.js +4 -4
- package/lib/server/codegen/python.js +1 -1
- package/lib/server/cookieStore.js +3 -1
- package/lib/server/debugController.js +105 -71
- package/lib/server/debugger.js +6 -23
- package/lib/server/deviceDescriptorsSource.json +237 -127
- package/lib/server/dialog.js +50 -6
- package/lib/server/dispatchers/androidDispatcher.js +77 -62
- package/lib/server/dispatchers/artifactDispatcher.js +18 -18
- package/lib/server/dispatchers/browserContextDispatcher.js +141 -91
- package/lib/server/dispatchers/browserDispatcher.js +55 -88
- package/lib/server/dispatchers/browserTypeDispatcher.js +18 -9
- package/lib/server/dispatchers/cdpSessionDispatcher.js +4 -4
- package/lib/server/dispatchers/debugControllerDispatcher.js +12 -21
- package/lib/server/dispatchers/dialogDispatcher.js +4 -4
- package/lib/server/dispatchers/dispatcher.js +78 -53
- package/lib/server/dispatchers/electronDispatcher.js +19 -20
- package/lib/server/dispatchers/elementHandlerDispatcher.js +83 -93
- package/lib/server/dispatchers/frameDispatcher.js +99 -102
- package/lib/server/dispatchers/jsHandleDispatcher.js +21 -16
- package/lib/server/dispatchers/jsonPipeDispatcher.js +4 -4
- package/lib/server/dispatchers/localUtilsDispatcher.js +53 -59
- package/lib/server/dispatchers/networkDispatchers.js +41 -35
- package/lib/server/dispatchers/pageDispatcher.js +156 -107
- package/lib/server/dispatchers/playwrightDispatcher.js +37 -25
- package/lib/server/dispatchers/streamDispatcher.js +15 -8
- package/lib/server/dispatchers/tracingDispatcher.js +22 -13
- package/lib/server/dispatchers/webSocketRouteDispatcher.js +46 -35
- package/lib/server/dispatchers/writableStreamDispatcher.js +16 -10
- package/lib/server/dom.js +198 -266
- package/lib/server/download.js +3 -3
- package/lib/server/electron/electron.js +96 -103
- package/lib/server/electron/loader.js +1 -1
- package/lib/server/fetch.js +22 -41
- package/lib/server/fileUploadUtils.js +1 -1
- package/lib/server/firefox/ffBrowser.js +79 -55
- package/lib/server/firefox/ffExecutionContext.js +2 -1
- package/lib/server/firefox/ffInput.js +23 -23
- package/lib/server/firefox/ffNetworkManager.js +8 -6
- package/lib/server/firefox/ffPage.js +39 -36
- package/lib/server/firefox/firefox.js +9 -10
- package/lib/server/frameSelectors.js +65 -22
- package/lib/server/frames.js +516 -544
- package/lib/server/har/harRecorder.js +1 -1
- package/lib/server/har/harTracer.js +4 -2
- package/lib/server/helper.js +3 -7
- package/lib/server/index.js +0 -3
- package/lib/server/input.js +47 -54
- package/lib/server/instrumentation.js +8 -14
- package/lib/server/javascript.js +9 -17
- package/lib/server/launchApp.js +48 -30
- package/lib/server/localUtils.js +45 -38
- package/lib/server/network.js +44 -10
- package/lib/server/page.js +233 -178
- package/lib/server/pageBinding.js +6 -7
- package/lib/server/playwright.js +4 -14
- package/lib/server/progress.js +57 -49
- package/lib/server/recorder/recorderApp.js +298 -95
- package/lib/server/recorder/recorderRunner.js +23 -24
- package/lib/server/recorder/recorderSignalProcessor.js +83 -0
- package/lib/server/recorder/recorderUtils.js +67 -10
- package/lib/server/recorder.js +284 -146
- package/lib/server/registry/index.js +83 -48
- package/lib/server/registry/nativeDeps.js +175 -0
- package/lib/server/registry/oopDownloadBrowserMain.js +1 -1
- package/lib/server/screenshotter.js +84 -83
- package/lib/server/selectors.js +12 -12
- package/lib/server/socksClientCertificatesInterceptor.js +198 -136
- package/lib/server/trace/recorder/snapshotter.js +12 -19
- package/lib/server/trace/recorder/tracing.js +36 -27
- package/lib/server/trace/viewer/traceViewer.js +11 -20
- package/lib/server/transport.js +20 -22
- package/lib/server/utils/comparators.js +2 -2
- package/lib/server/utils/debug.js +3 -8
- package/lib/server/utils/debugLogger.js +8 -0
- package/lib/server/utils/hostPlatform.js +3 -1
- package/lib/server/utils/network.js +35 -25
- package/lib/server/utils/nodePlatform.js +1 -1
- package/lib/server/utils/processLauncher.js +4 -1
- package/lib/server/utils/wsServer.js +11 -17
- package/lib/server/webkit/webkit.js +5 -2
- package/lib/server/webkit/wkBrowser.js +51 -28
- package/lib/server/webkit/wkExecutionContext.js +2 -1
- package/lib/server/webkit/wkInput.js +25 -25
- package/lib/server/webkit/wkInterceptableRequest.js +1 -1
- package/lib/server/webkit/wkPage.js +80 -59
- package/lib/server/webkit/wkProvisionalPage.js +1 -1
- package/lib/server/webkit/wkWorkers.js +7 -7
- package/lib/utils/isomorphic/ariaSnapshot.js +13 -7
- package/lib/utils/isomorphic/cssParser.js +1 -2
- package/lib/utils/isomorphic/locatorGenerators.js +18 -0
- package/lib/utils/isomorphic/manualPromise.js +1 -2
- package/lib/utils/isomorphic/mimeType.js +1 -2
- package/lib/utils/isomorphic/multimap.js +1 -2
- package/lib/utils/isomorphic/oldUtilityScriptSerializers.js +248 -0
- package/lib/utils/isomorphic/protocolFormatter.js +78 -0
- package/lib/utils/isomorphic/protocolMetainfo.js +318 -0
- package/lib/utils/isomorphic/selectorParser.js +3 -4
- package/lib/utils/isomorphic/stringUtils.js +3 -24
- package/lib/utils/isomorphic/time.js +9 -4
- package/lib/utils/isomorphic/timeoutRunner.js +3 -4
- package/lib/utils/isomorphic/traceUtils.js +2 -3
- package/lib/utils/isomorphic/urlMatch.js +21 -7
- package/lib/utils/isomorphic/utilityScriptSerializers.js +208 -205
- package/lib/utils.js +8 -2
- package/lib/utilsBundleImpl/index.js +160 -150
- package/lib/vite/htmlReport/index.html +17 -17
- package/lib/vite/recorder/assets/{codeMirrorModule-CXVeovup.js → codeMirrorModule-DzQ0k89p.js} +1 -1
- package/lib/vite/recorder/assets/{index-eHBmevrY.css → index-CI4HQ-Zb.css} +1 -1
- package/lib/vite/recorder/assets/index-D7C7daHH.js +184 -0
- package/lib/vite/recorder/index.html +3 -3
- package/lib/vite/traceViewer/assets/{codeMirrorModule-_GLjJL-7.js → codeMirrorModule-Di48jgWx.js} +1 -1
- package/lib/vite/traceViewer/assets/defaultSettingsView-szBn8781.js +256 -0
- package/lib/vite/traceViewer/defaultSettingsView.DVJHpiGt.css +1 -0
- package/lib/vite/traceViewer/index.BFsek2M6.css +1 -0
- package/lib/vite/traceViewer/index.DQvXoPLL.js +2 -0
- package/lib/vite/traceViewer/index.html +6 -6
- package/lib/vite/traceViewer/sw.bundle.js +3 -3
- package/lib/vite/traceViewer/uiMode.dBV3oN9h.js +5 -0
- package/lib/vite/traceViewer/uiMode.html +4 -4
- package/lib/zipBundleImpl.js +4 -4
- package/package.json +1 -1
- package/types/protocol.d.ts +712 -107
- package/types/types.d.ts +148 -37
- package/lib/generated/consoleApiSource.js +0 -28
- package/lib/protocol/debug.js +0 -211
- package/lib/server/recorder/contextRecorder.js +0 -286
- package/lib/server/recorder/recorderCollection.js +0 -116
- package/lib/server/recorder/recorderFrontend.js +0 -16
- package/lib/server/storageScript.js +0 -154
- package/lib/server/timeoutSettings.js +0 -89
- package/lib/utils/isomorphic/builtins.js +0 -86
- package/lib/vite/recorder/assets/index-BsWQsSGl.js +0 -184
- package/lib/vite/traceViewer/assets/defaultSettingsView-DtCQiGHe.js +0 -265
- package/lib/vite/traceViewer/defaultSettingsView.QdHITyLI.css +0 -1
- package/lib/vite/traceViewer/index.CFOW-Ezb.css +0 -1
- package/lib/vite/traceViewer/index.cFZzK9RN.js +0 -2
- package/lib/vite/traceViewer/uiMode.XVPIqBeS.js +0 -5
|
@@ -3,10 +3,6 @@ var __defProp = Object.defineProperty;
|
|
|
3
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
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
6
|
var __copyProps = (to, from, except, desc) => {
|
|
11
7
|
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
8
|
for (let key of __getOwnPropNames(from))
|
|
@@ -15,138 +11,14 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
15
11
|
}
|
|
16
12
|
return to;
|
|
17
13
|
};
|
|
14
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
18
15
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
16
|
var bidiProtocol_exports = {};
|
|
20
|
-
__export(bidiProtocol_exports, {
|
|
21
|
-
BrowsingContext: () => BrowsingContext,
|
|
22
|
-
ErrorCode: () => ErrorCode,
|
|
23
|
-
Input: () => Input,
|
|
24
|
-
Log: () => Log,
|
|
25
|
-
Network: () => Network,
|
|
26
|
-
Script: () => Script,
|
|
27
|
-
Session: () => Session
|
|
28
|
-
});
|
|
29
17
|
module.exports = __toCommonJS(bidiProtocol_exports);
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
* Copyright 2024 Google Inc.
|
|
33
|
-
* Modifications copyright (c) Microsoft Corporation.
|
|
34
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
35
|
-
*/
|
|
36
|
-
var ErrorCode = /* @__PURE__ */ ((ErrorCode2) => {
|
|
37
|
-
ErrorCode2["InvalidArgument"] = "invalid argument";
|
|
38
|
-
ErrorCode2["InvalidSelector"] = "invalid selector";
|
|
39
|
-
ErrorCode2["InvalidSessionId"] = "invalid session id";
|
|
40
|
-
ErrorCode2["InvalidWebExtension"] = "invalid web extension";
|
|
41
|
-
ErrorCode2["MoveTargetOutOfBounds"] = "move target out of bounds";
|
|
42
|
-
ErrorCode2["NoSuchAlert"] = "no such alert";
|
|
43
|
-
ErrorCode2["NoSuchElement"] = "no such element";
|
|
44
|
-
ErrorCode2["NoSuchFrame"] = "no such frame";
|
|
45
|
-
ErrorCode2["NoSuchHandle"] = "no such handle";
|
|
46
|
-
ErrorCode2["NoSuchHistoryEntry"] = "no such history entry";
|
|
47
|
-
ErrorCode2["NoSuchIntercept"] = "no such intercept";
|
|
48
|
-
ErrorCode2["NoSuchNode"] = "no such node";
|
|
49
|
-
ErrorCode2["NoSuchRequest"] = "no such request";
|
|
50
|
-
ErrorCode2["NoSuchScript"] = "no such script";
|
|
51
|
-
ErrorCode2["NoSuchStoragePartition"] = "no such storage partition";
|
|
52
|
-
ErrorCode2["NoSuchUserContext"] = "no such user context";
|
|
53
|
-
ErrorCode2["NoSuchWebExtension"] = "no such web extension";
|
|
54
|
-
ErrorCode2["SessionNotCreated"] = "session not created";
|
|
55
|
-
ErrorCode2["UnableToCaptureScreen"] = "unable to capture screen";
|
|
56
|
-
ErrorCode2["UnableToCloseBrowser"] = "unable to close browser";
|
|
57
|
-
ErrorCode2["UnableToSetCookie"] = "unable to set cookie";
|
|
58
|
-
ErrorCode2["UnableToSetFileInput"] = "unable to set file input";
|
|
59
|
-
ErrorCode2["UnderspecifiedStoragePartition"] = "underspecified storage partition";
|
|
60
|
-
ErrorCode2["UnknownCommand"] = "unknown command";
|
|
61
|
-
ErrorCode2["UnknownError"] = "unknown error";
|
|
62
|
-
ErrorCode2["UnsupportedOperation"] = "unsupported operation";
|
|
63
|
-
return ErrorCode2;
|
|
64
|
-
})(ErrorCode || {});
|
|
65
|
-
var Session;
|
|
66
|
-
((Session2) => {
|
|
67
|
-
let UserPromptHandlerType;
|
|
68
|
-
((UserPromptHandlerType2) => {
|
|
69
|
-
UserPromptHandlerType2["Accept"] = "accept";
|
|
70
|
-
UserPromptHandlerType2["Dismiss"] = "dismiss";
|
|
71
|
-
UserPromptHandlerType2["Ignore"] = "ignore";
|
|
72
|
-
})(UserPromptHandlerType = Session2.UserPromptHandlerType || (Session2.UserPromptHandlerType = {}));
|
|
73
|
-
})(Session || (Session = {}));
|
|
74
|
-
var BrowsingContext;
|
|
75
|
-
((BrowsingContext2) => {
|
|
76
|
-
let ReadinessState;
|
|
77
|
-
((ReadinessState2) => {
|
|
78
|
-
ReadinessState2["None"] = "none";
|
|
79
|
-
ReadinessState2["Interactive"] = "interactive";
|
|
80
|
-
ReadinessState2["Complete"] = "complete";
|
|
81
|
-
})(ReadinessState = BrowsingContext2.ReadinessState || (BrowsingContext2.ReadinessState = {}));
|
|
82
|
-
})(BrowsingContext || (BrowsingContext = {}));
|
|
83
|
-
((BrowsingContext2) => {
|
|
84
|
-
let UserPromptType;
|
|
85
|
-
((UserPromptType2) => {
|
|
86
|
-
UserPromptType2["Alert"] = "alert";
|
|
87
|
-
UserPromptType2["Beforeunload"] = "beforeunload";
|
|
88
|
-
UserPromptType2["Confirm"] = "confirm";
|
|
89
|
-
UserPromptType2["Prompt"] = "prompt";
|
|
90
|
-
})(UserPromptType = BrowsingContext2.UserPromptType || (BrowsingContext2.UserPromptType = {}));
|
|
91
|
-
})(BrowsingContext || (BrowsingContext = {}));
|
|
92
|
-
((BrowsingContext2) => {
|
|
93
|
-
let CreateType;
|
|
94
|
-
((CreateType2) => {
|
|
95
|
-
CreateType2["Tab"] = "tab";
|
|
96
|
-
CreateType2["Window"] = "window";
|
|
97
|
-
})(CreateType = BrowsingContext2.CreateType || (BrowsingContext2.CreateType = {}));
|
|
98
|
-
})(BrowsingContext || (BrowsingContext = {}));
|
|
99
|
-
var Network;
|
|
100
|
-
((Network2) => {
|
|
101
|
-
let SameSite;
|
|
102
|
-
((SameSite2) => {
|
|
103
|
-
SameSite2["Strict"] = "strict";
|
|
104
|
-
SameSite2["Lax"] = "lax";
|
|
105
|
-
SameSite2["None"] = "none";
|
|
106
|
-
})(SameSite = Network2.SameSite || (Network2.SameSite = {}));
|
|
107
|
-
})(Network || (Network = {}));
|
|
108
|
-
((Network2) => {
|
|
109
|
-
let InterceptPhase;
|
|
110
|
-
((InterceptPhase2) => {
|
|
111
|
-
InterceptPhase2["BeforeRequestSent"] = "beforeRequestSent";
|
|
112
|
-
InterceptPhase2["ResponseStarted"] = "responseStarted";
|
|
113
|
-
InterceptPhase2["AuthRequired"] = "authRequired";
|
|
114
|
-
})(InterceptPhase = Network2.InterceptPhase || (Network2.InterceptPhase = {}));
|
|
115
|
-
})(Network || (Network = {}));
|
|
116
|
-
var Script;
|
|
117
|
-
((Script2) => {
|
|
118
|
-
let ResultOwnership;
|
|
119
|
-
((ResultOwnership2) => {
|
|
120
|
-
ResultOwnership2["Root"] = "root";
|
|
121
|
-
ResultOwnership2["None"] = "none";
|
|
122
|
-
})(ResultOwnership = Script2.ResultOwnership || (Script2.ResultOwnership = {}));
|
|
123
|
-
})(Script || (Script = {}));
|
|
124
|
-
var Log;
|
|
125
|
-
((Log2) => {
|
|
126
|
-
let Level;
|
|
127
|
-
((Level2) => {
|
|
128
|
-
Level2["Debug"] = "debug";
|
|
129
|
-
Level2["Info"] = "info";
|
|
130
|
-
Level2["Warn"] = "warn";
|
|
131
|
-
Level2["Error"] = "error";
|
|
132
|
-
})(Level = Log2.Level || (Log2.Level = {}));
|
|
133
|
-
})(Log || (Log = {}));
|
|
134
|
-
var Input;
|
|
135
|
-
((Input2) => {
|
|
136
|
-
let PointerType;
|
|
137
|
-
((PointerType2) => {
|
|
138
|
-
PointerType2["Mouse"] = "mouse";
|
|
139
|
-
PointerType2["Pen"] = "pen";
|
|
140
|
-
PointerType2["Touch"] = "touch";
|
|
141
|
-
})(PointerType = Input2.PointerType || (Input2.PointerType = {}));
|
|
142
|
-
})(Input || (Input = {}));
|
|
18
|
+
__reExport(bidiProtocol_exports, require("./bidiProtocolCore"), module.exports);
|
|
19
|
+
__reExport(bidiProtocol_exports, require("./bidiProtocolPermissions"), module.exports);
|
|
143
20
|
// Annotate the CommonJS export names for ESM import in node:
|
|
144
21
|
0 && (module.exports = {
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
Input,
|
|
148
|
-
Log,
|
|
149
|
-
Network,
|
|
150
|
-
Script,
|
|
151
|
-
Session
|
|
22
|
+
...require("./bidiProtocolCore"),
|
|
23
|
+
...require("./bidiProtocolPermissions")
|
|
152
24
|
});
|
|
@@ -0,0 +1,179 @@
|
|
|
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 bidiProtocolCore_exports = {};
|
|
20
|
+
__export(bidiProtocolCore_exports, {
|
|
21
|
+
BrowsingContext: () => BrowsingContext,
|
|
22
|
+
Emulation: () => Emulation,
|
|
23
|
+
ErrorCode: () => ErrorCode,
|
|
24
|
+
Input: () => Input,
|
|
25
|
+
Log: () => Log,
|
|
26
|
+
Network: () => Network,
|
|
27
|
+
Script: () => Script,
|
|
28
|
+
Session: () => Session
|
|
29
|
+
});
|
|
30
|
+
module.exports = __toCommonJS(bidiProtocolCore_exports);
|
|
31
|
+
var ErrorCode = /* @__PURE__ */ ((ErrorCode2) => {
|
|
32
|
+
ErrorCode2["InvalidArgument"] = "invalid argument";
|
|
33
|
+
ErrorCode2["InvalidSelector"] = "invalid selector";
|
|
34
|
+
ErrorCode2["InvalidSessionId"] = "invalid session id";
|
|
35
|
+
ErrorCode2["InvalidWebExtension"] = "invalid web extension";
|
|
36
|
+
ErrorCode2["MoveTargetOutOfBounds"] = "move target out of bounds";
|
|
37
|
+
ErrorCode2["NoSuchAlert"] = "no such alert";
|
|
38
|
+
ErrorCode2["NoSuchNetworkCollector"] = "no such network collector";
|
|
39
|
+
ErrorCode2["NoSuchElement"] = "no such element";
|
|
40
|
+
ErrorCode2["NoSuchFrame"] = "no such frame";
|
|
41
|
+
ErrorCode2["NoSuchHandle"] = "no such handle";
|
|
42
|
+
ErrorCode2["NoSuchHistoryEntry"] = "no such history entry";
|
|
43
|
+
ErrorCode2["NoSuchIntercept"] = "no such intercept";
|
|
44
|
+
ErrorCode2["NoSuchNetworkData"] = "no such network data";
|
|
45
|
+
ErrorCode2["NoSuchNode"] = "no such node";
|
|
46
|
+
ErrorCode2["NoSuchRequest"] = "no such request";
|
|
47
|
+
ErrorCode2["NoSuchScript"] = "no such script";
|
|
48
|
+
ErrorCode2["NoSuchStoragePartition"] = "no such storage partition";
|
|
49
|
+
ErrorCode2["NoSuchUserContext"] = "no such user context";
|
|
50
|
+
ErrorCode2["NoSuchWebExtension"] = "no such web extension";
|
|
51
|
+
ErrorCode2["SessionNotCreated"] = "session not created";
|
|
52
|
+
ErrorCode2["UnableToCaptureScreen"] = "unable to capture screen";
|
|
53
|
+
ErrorCode2["UnableToCloseBrowser"] = "unable to close browser";
|
|
54
|
+
ErrorCode2["UnableToSetCookie"] = "unable to set cookie";
|
|
55
|
+
ErrorCode2["UnableToSetFileInput"] = "unable to set file input";
|
|
56
|
+
ErrorCode2["UnavailableNetworkData"] = "unavailable network data";
|
|
57
|
+
ErrorCode2["UnderspecifiedStoragePartition"] = "underspecified storage partition";
|
|
58
|
+
ErrorCode2["UnknownCommand"] = "unknown command";
|
|
59
|
+
ErrorCode2["UnknownError"] = "unknown error";
|
|
60
|
+
ErrorCode2["UnsupportedOperation"] = "unsupported operation";
|
|
61
|
+
return ErrorCode2;
|
|
62
|
+
})(ErrorCode || {});
|
|
63
|
+
var Session;
|
|
64
|
+
((Session2) => {
|
|
65
|
+
let UserPromptHandlerType;
|
|
66
|
+
((UserPromptHandlerType2) => {
|
|
67
|
+
UserPromptHandlerType2["Accept"] = "accept";
|
|
68
|
+
UserPromptHandlerType2["Dismiss"] = "dismiss";
|
|
69
|
+
UserPromptHandlerType2["Ignore"] = "ignore";
|
|
70
|
+
})(UserPromptHandlerType = Session2.UserPromptHandlerType || (Session2.UserPromptHandlerType = {}));
|
|
71
|
+
})(Session || (Session = {}));
|
|
72
|
+
var BrowsingContext;
|
|
73
|
+
((BrowsingContext2) => {
|
|
74
|
+
let ReadinessState;
|
|
75
|
+
((ReadinessState2) => {
|
|
76
|
+
ReadinessState2["None"] = "none";
|
|
77
|
+
ReadinessState2["Interactive"] = "interactive";
|
|
78
|
+
ReadinessState2["Complete"] = "complete";
|
|
79
|
+
})(ReadinessState = BrowsingContext2.ReadinessState || (BrowsingContext2.ReadinessState = {}));
|
|
80
|
+
})(BrowsingContext || (BrowsingContext = {}));
|
|
81
|
+
((BrowsingContext2) => {
|
|
82
|
+
let UserPromptType;
|
|
83
|
+
((UserPromptType2) => {
|
|
84
|
+
UserPromptType2["Alert"] = "alert";
|
|
85
|
+
UserPromptType2["Beforeunload"] = "beforeunload";
|
|
86
|
+
UserPromptType2["Confirm"] = "confirm";
|
|
87
|
+
UserPromptType2["Prompt"] = "prompt";
|
|
88
|
+
})(UserPromptType = BrowsingContext2.UserPromptType || (BrowsingContext2.UserPromptType = {}));
|
|
89
|
+
})(BrowsingContext || (BrowsingContext = {}));
|
|
90
|
+
((BrowsingContext2) => {
|
|
91
|
+
let CreateType;
|
|
92
|
+
((CreateType2) => {
|
|
93
|
+
CreateType2["Tab"] = "tab";
|
|
94
|
+
CreateType2["Window"] = "window";
|
|
95
|
+
})(CreateType = BrowsingContext2.CreateType || (BrowsingContext2.CreateType = {}));
|
|
96
|
+
})(BrowsingContext || (BrowsingContext = {}));
|
|
97
|
+
var Emulation;
|
|
98
|
+
((Emulation2) => {
|
|
99
|
+
let ForcedColorsModeTheme;
|
|
100
|
+
((ForcedColorsModeTheme2) => {
|
|
101
|
+
ForcedColorsModeTheme2["Light"] = "light";
|
|
102
|
+
ForcedColorsModeTheme2["Dark"] = "dark";
|
|
103
|
+
})(ForcedColorsModeTheme = Emulation2.ForcedColorsModeTheme || (Emulation2.ForcedColorsModeTheme = {}));
|
|
104
|
+
})(Emulation || (Emulation = {}));
|
|
105
|
+
((Emulation2) => {
|
|
106
|
+
let ScreenOrientationNatural;
|
|
107
|
+
((ScreenOrientationNatural2) => {
|
|
108
|
+
ScreenOrientationNatural2["Portrait"] = "portrait";
|
|
109
|
+
ScreenOrientationNatural2["Landscape"] = "landscape";
|
|
110
|
+
})(ScreenOrientationNatural = Emulation2.ScreenOrientationNatural || (Emulation2.ScreenOrientationNatural = {}));
|
|
111
|
+
})(Emulation || (Emulation = {}));
|
|
112
|
+
var Network;
|
|
113
|
+
((Network2) => {
|
|
114
|
+
let CollectorType;
|
|
115
|
+
((CollectorType2) => {
|
|
116
|
+
CollectorType2["Blob"] = "blob";
|
|
117
|
+
})(CollectorType = Network2.CollectorType || (Network2.CollectorType = {}));
|
|
118
|
+
})(Network || (Network = {}));
|
|
119
|
+
((Network2) => {
|
|
120
|
+
let SameSite;
|
|
121
|
+
((SameSite2) => {
|
|
122
|
+
SameSite2["Strict"] = "strict";
|
|
123
|
+
SameSite2["Lax"] = "lax";
|
|
124
|
+
SameSite2["None"] = "none";
|
|
125
|
+
SameSite2["Default"] = "default";
|
|
126
|
+
})(SameSite = Network2.SameSite || (Network2.SameSite = {}));
|
|
127
|
+
})(Network || (Network = {}));
|
|
128
|
+
((Network2) => {
|
|
129
|
+
let DataType;
|
|
130
|
+
((DataType2) => {
|
|
131
|
+
DataType2["Response"] = "response";
|
|
132
|
+
})(DataType = Network2.DataType || (Network2.DataType = {}));
|
|
133
|
+
})(Network || (Network = {}));
|
|
134
|
+
((Network2) => {
|
|
135
|
+
let InterceptPhase;
|
|
136
|
+
((InterceptPhase2) => {
|
|
137
|
+
InterceptPhase2["BeforeRequestSent"] = "beforeRequestSent";
|
|
138
|
+
InterceptPhase2["ResponseStarted"] = "responseStarted";
|
|
139
|
+
InterceptPhase2["AuthRequired"] = "authRequired";
|
|
140
|
+
})(InterceptPhase = Network2.InterceptPhase || (Network2.InterceptPhase = {}));
|
|
141
|
+
})(Network || (Network = {}));
|
|
142
|
+
var Script;
|
|
143
|
+
((Script2) => {
|
|
144
|
+
let ResultOwnership;
|
|
145
|
+
((ResultOwnership2) => {
|
|
146
|
+
ResultOwnership2["Root"] = "root";
|
|
147
|
+
ResultOwnership2["None"] = "none";
|
|
148
|
+
})(ResultOwnership = Script2.ResultOwnership || (Script2.ResultOwnership = {}));
|
|
149
|
+
})(Script || (Script = {}));
|
|
150
|
+
var Log;
|
|
151
|
+
((Log2) => {
|
|
152
|
+
let Level;
|
|
153
|
+
((Level2) => {
|
|
154
|
+
Level2["Debug"] = "debug";
|
|
155
|
+
Level2["Info"] = "info";
|
|
156
|
+
Level2["Warn"] = "warn";
|
|
157
|
+
Level2["Error"] = "error";
|
|
158
|
+
})(Level = Log2.Level || (Log2.Level = {}));
|
|
159
|
+
})(Log || (Log = {}));
|
|
160
|
+
var Input;
|
|
161
|
+
((Input2) => {
|
|
162
|
+
let PointerType;
|
|
163
|
+
((PointerType2) => {
|
|
164
|
+
PointerType2["Mouse"] = "mouse";
|
|
165
|
+
PointerType2["Pen"] = "pen";
|
|
166
|
+
PointerType2["Touch"] = "touch";
|
|
167
|
+
})(PointerType = Input2.PointerType || (Input2.PointerType = {}));
|
|
168
|
+
})(Input || (Input = {}));
|
|
169
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
170
|
+
0 && (module.exports = {
|
|
171
|
+
BrowsingContext,
|
|
172
|
+
Emulation,
|
|
173
|
+
ErrorCode,
|
|
174
|
+
Input,
|
|
175
|
+
Log,
|
|
176
|
+
Network,
|
|
177
|
+
Script,
|
|
178
|
+
Session
|
|
179
|
+
});
|
|
@@ -16,25 +16,27 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var
|
|
20
|
-
__export(
|
|
21
|
-
|
|
19
|
+
var bidiProtocolPermissions_exports = {};
|
|
20
|
+
__export(bidiProtocolPermissions_exports, {
|
|
21
|
+
Permissions: () => Permissions
|
|
22
22
|
});
|
|
23
|
-
module.exports = __toCommonJS(
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
23
|
+
module.exports = __toCommonJS(bidiProtocolPermissions_exports);
|
|
24
|
+
/**
|
|
25
|
+
* @license
|
|
26
|
+
* Copyright 2024 Google Inc.
|
|
27
|
+
* Modifications copyright (c) Microsoft Corporation.
|
|
28
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
29
|
+
*/
|
|
30
|
+
var Permissions;
|
|
31
|
+
((Permissions2) => {
|
|
32
|
+
let PermissionState;
|
|
33
|
+
((PermissionState2) => {
|
|
34
|
+
PermissionState2["Granted"] = "granted";
|
|
35
|
+
PermissionState2["Denied"] = "denied";
|
|
36
|
+
PermissionState2["Prompt"] = "prompt";
|
|
37
|
+
})(PermissionState = Permissions2.PermissionState || (Permissions2.PermissionState = {}));
|
|
38
|
+
})(Permissions || (Permissions = {}));
|
|
37
39
|
// Annotate the CommonJS export names for ESM import in node:
|
|
38
40
|
0 && (module.exports = {
|
|
39
|
-
|
|
41
|
+
Permissions
|
|
40
42
|
});
|
package/lib/server/browser.js
CHANGED
|
@@ -41,43 +41,52 @@ class Browser extends import_instrumentation.SdkObject {
|
|
|
41
41
|
}
|
|
42
42
|
static {
|
|
43
43
|
this.Events = {
|
|
44
|
+
Context: "context",
|
|
44
45
|
Disconnected: "disconnected"
|
|
45
46
|
};
|
|
46
47
|
}
|
|
47
|
-
|
|
48
|
+
sdkLanguage() {
|
|
49
|
+
return this.options.sdkLanguage || this.attribution.playwright.options.sdkLanguage;
|
|
50
|
+
}
|
|
51
|
+
async newContext(progress, options) {
|
|
48
52
|
(0, import_browserContext.validateBrowserContextOptions)(options, this.options);
|
|
49
53
|
let clientCertificatesProxy;
|
|
50
|
-
if (options.clientCertificates?.length) {
|
|
51
|
-
clientCertificatesProxy = new import_socksClientCertificatesInterceptor.ClientCertificatesProxy(options);
|
|
52
|
-
options = { ...options };
|
|
53
|
-
options.proxyOverride = await clientCertificatesProxy.listen();
|
|
54
|
-
options.internalIgnoreHTTPSErrors = true;
|
|
55
|
-
}
|
|
56
54
|
let context;
|
|
57
55
|
try {
|
|
58
|
-
|
|
56
|
+
if (options.clientCertificates?.length) {
|
|
57
|
+
clientCertificatesProxy = await import_socksClientCertificatesInterceptor.ClientCertificatesProxy.create(progress, options);
|
|
58
|
+
options = { ...options };
|
|
59
|
+
options.proxyOverride = clientCertificatesProxy.proxySettings();
|
|
60
|
+
options.internalIgnoreHTTPSErrors = true;
|
|
61
|
+
}
|
|
62
|
+
context = await progress.race(this.doCreateNewContext(options));
|
|
63
|
+
context._clientCertificatesProxy = clientCertificatesProxy;
|
|
64
|
+
if (options.__testHookBeforeSetStorageState)
|
|
65
|
+
await progress.race(options.__testHookBeforeSetStorageState());
|
|
66
|
+
await context.setStorageState(progress, options.storageState, "initial");
|
|
67
|
+
this.emit(Browser.Events.Context, context);
|
|
68
|
+
return context;
|
|
59
69
|
} catch (error) {
|
|
60
|
-
await
|
|
70
|
+
await context?.close({ reason: "Failed to create context" }).catch(() => {
|
|
71
|
+
});
|
|
72
|
+
await clientCertificatesProxy?.close().catch(() => {
|
|
73
|
+
});
|
|
61
74
|
throw error;
|
|
62
75
|
}
|
|
63
|
-
context._clientCertificatesProxy = clientCertificatesProxy;
|
|
64
|
-
if (options.storageState)
|
|
65
|
-
await context.setStorageState(metadata, options.storageState);
|
|
66
|
-
return context;
|
|
67
76
|
}
|
|
68
|
-
async newContextForReuse(
|
|
77
|
+
async newContextForReuse(progress, params) {
|
|
69
78
|
const hash = import_browserContext.BrowserContext.reusableContextHash(params);
|
|
70
79
|
if (!this._contextForReuse || hash !== this._contextForReuse.hash || !this._contextForReuse.context.canResetForReuse()) {
|
|
71
80
|
if (this._contextForReuse)
|
|
72
81
|
await this._contextForReuse.context.close({ reason: "Context reused" });
|
|
73
|
-
this._contextForReuse = { context: await this.newContext(
|
|
74
|
-
return
|
|
82
|
+
this._contextForReuse = { context: await this.newContext(progress, params), hash };
|
|
83
|
+
return this._contextForReuse.context;
|
|
75
84
|
}
|
|
76
|
-
await this._contextForReuse.context.
|
|
77
|
-
return
|
|
85
|
+
await this._contextForReuse.context.resetForReuse(progress, params);
|
|
86
|
+
return this._contextForReuse.context;
|
|
78
87
|
}
|
|
79
|
-
|
|
80
|
-
|
|
88
|
+
contextForReuse() {
|
|
89
|
+
return this._contextForReuse?.context;
|
|
81
90
|
}
|
|
82
91
|
_downloadCreated(page, uuid, url, suggestedFilename) {
|
|
83
92
|
const download = new import_download.Download(page, this.options.downloadsPath || "", uuid, url, suggestedFilename);
|
|
@@ -101,7 +110,7 @@ class Browser extends import_instrumentation.SdkObject {
|
|
|
101
110
|
this._idToVideo.set(videoId, { context, artifact });
|
|
102
111
|
pageOrError.then((page) => {
|
|
103
112
|
if (page instanceof import_page.Page) {
|
|
104
|
-
page.
|
|
113
|
+
page.video = artifact;
|
|
105
114
|
page.emitOnContext(import_browserContext.BrowserContext.Events.VideoStarted, artifact);
|
|
106
115
|
page.emit(import_page.Page.Events.Video, artifact);
|
|
107
116
|
}
|