patchright-core 1.51.2 → 1.52.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/browsers.json +15 -13
- package/lib/androidServerImpl.js +42 -48
- package/lib/browserServerImpl.js +54 -67
- package/lib/cli/driver.js +71 -69
- package/lib/cli/program.js +312 -328
- package/lib/cli/programWithTestStub.js +51 -45
- package/lib/client/accessibility.js +31 -32
- package/lib/client/android.js +141 -228
- package/lib/client/api.js +135 -283
- package/lib/client/artifact.js +39 -36
- package/lib/client/browser.js +57 -61
- package/lib/client/browserContext.js +297 -326
- package/lib/client/browserType.js +92 -106
- package/lib/client/cdpSession.js +29 -31
- package/lib/client/channelOwner.js +82 -95
- package/lib/client/clientHelper.js +46 -38
- 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 +190 -212
- 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 +73 -75
- package/lib/client/elementHandle.js +111 -147
- 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 +135 -158
- package/lib/client/fileChooser.js +25 -24
- package/lib/client/fileUtils.js +31 -28
- package/lib/client/frame.js +187 -306
- package/lib/client/harRouter.js +42 -52
- package/lib/client/input.js +40 -69
- package/lib/client/jsHandle.js +54 -69
- package/lib/client/jsonPipe.js +27 -23
- package/lib/client/localUtils.js +29 -28
- package/lib/client/locator.js +161 -245
- package/lib/client/network.js +277 -295
- package/lib/client/page.js +270 -318
- package/lib/client/platform.js +46 -43
- package/lib/client/playwright.js +51 -66
- package/lib/client/selectors.js +48 -46
- package/lib/client/stream.js +29 -25
- package/lib/client/timeoutSettings.js +49 -39
- package/lib/client/tracing.js +48 -84
- 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 +61 -56
- package/lib/client/worker.js +48 -58
- package/lib/client/writableStream.js +27 -23
- package/lib/generated/clockSource.js +26 -5
- package/lib/generated/consoleApiSource.js +26 -5
- package/lib/generated/injectedScriptSource.js +26 -5
- package/lib/generated/pollingRecorderSource.js +26 -5
- package/lib/generated/utilityScriptSource.js +26 -5
- package/lib/generated/webSocketMockSource.js +375 -4
- package/lib/inProcessFactory.js +53 -53
- package/lib/inprocess.js +2 -19
- package/lib/outofprocess.js +53 -46
- package/lib/protocol/debug.js +209 -25
- package/lib/protocol/serializers.js +153 -134
- package/lib/protocol/validator.js +2714 -2714
- package/lib/protocol/validatorPrimitives.js +114 -73
- package/lib/remote/playwrightConnection.js +140 -157
- package/lib/remote/playwrightServer.js +99 -84
- package/lib/server/accessibility.js +44 -37
- package/lib/server/android/android.js +216 -209
- package/lib/server/android/backendAdb.js +89 -82
- package/lib/server/artifact.js +78 -55
- package/lib/server/bidi/bidiBrowser.js +221 -155
- package/lib/server/bidi/bidiChromium.js +106 -79
- package/lib/server/bidi/bidiConnection.js +66 -83
- package/lib/server/bidi/bidiExecutionContext.js +128 -113
- package/lib/server/bidi/bidiFirefox.js +76 -69
- package/lib/server/bidi/bidiInput.js +86 -97
- package/lib/server/bidi/bidiNetworkManager.js +137 -154
- package/lib/server/bidi/bidiOverCdp.js +57 -58
- package/lib/server/bidi/bidiPage.js +247 -219
- 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 +144 -131
- 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 +76 -84
- package/lib/server/browserContext.js +321 -346
- package/lib/server/browserType.js +169 -182
- package/lib/server/callLog.js +47 -44
- package/lib/server/chromium/chromium.js +212 -190
- package/lib/server/chromium/chromiumSwitches.js +86 -64
- package/lib/server/chromium/crAccessibility.js +157 -131
- package/lib/server/chromium/crBrowser.js +253 -273
- package/lib/server/chromium/crConnection.js +91 -116
- package/lib/server/chromium/crCoverage.js +113 -127
- package/lib/server/chromium/crDevTools.js +59 -51
- package/lib/server/chromium/crDragDrop.js +62 -79
- package/lib/server/chromium/crExecutionContext.js +88 -83
- package/lib/server/chromium/crInput.js +97 -95
- package/lib/server/chromium/crNetworkManager.js +288 -403
- package/lib/server/chromium/crPage.js +522 -608
- package/lib/server/chromium/crPdf.js +54 -86
- package/lib/server/chromium/crProtocolHelper.js +92 -80
- package/lib/server/chromium/crServiceWorker.js +82 -67
- package/lib/server/chromium/defaultFontFamilies.js +152 -135
- package/lib/server/chromium/protocol.d.js +16 -0
- package/lib/server/chromium/videoRecorder.js +65 -99
- package/lib/server/clock.js +62 -50
- package/lib/server/codegen/csharp.js +185 -160
- package/lib/server/codegen/java.js +155 -128
- 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 +140 -125
- package/lib/server/codegen/types.js +15 -4
- package/lib/server/console.js +28 -32
- package/lib/server/cookieStore.js +105 -86
- package/lib/server/debugController.js +97 -124
- package/lib/server/debugger.js +82 -78
- package/lib/server/deviceDescriptors.js +37 -24
- package/lib/server/deviceDescriptorsSource.json +50 -50
- package/lib/server/dialog.js +36 -35
- package/lib/server/dispatchers/androidDispatcher.js +196 -107
- package/lib/server/dispatchers/artifactDispatcher.js +62 -62
- package/lib/server/dispatchers/browserContextDispatcher.js +176 -205
- package/lib/server/dispatchers/browserDispatcher.js +78 -97
- package/lib/server/dispatchers/browserTypeDispatcher.js +35 -35
- package/lib/server/dispatchers/cdpSessionDispatcher.js +32 -36
- package/lib/server/dispatchers/debugControllerDispatcher.js +48 -66
- package/lib/server/dispatchers/dialogDispatcher.js +30 -27
- package/lib/server/dispatchers/dispatcher.js +169 -220
- package/lib/server/dispatchers/electronDispatcher.js +54 -57
- package/lib/server/dispatchers/elementHandlerDispatcher.js +77 -119
- package/lib/server/dispatchers/frameDispatcher.js +99 -163
- package/lib/server/dispatchers/jsHandleDispatcher.js +49 -66
- package/lib/server/dispatchers/jsonPipeDispatcher.js +35 -36
- package/lib/server/dispatchers/localUtilsDispatcher.js +95 -80
- package/lib/server/dispatchers/networkDispatchers.js +90 -107
- package/lib/server/dispatchers/pageDispatcher.js +128 -169
- package/lib/server/dispatchers/playwrightDispatcher.js +69 -76
- package/lib/server/dispatchers/selectorsDispatcher.js +28 -24
- package/lib/server/dispatchers/streamDispatcher.js +42 -45
- package/lib/server/dispatchers/tracingDispatcher.js +36 -41
- package/lib/server/dispatchers/webSocketRouteDispatcher.js +96 -131
- package/lib/server/dispatchers/writableStreamDispatcher.js +54 -38
- package/lib/server/dom.js +413 -443
- package/lib/server/download.js +45 -35
- package/lib/server/electron/electron.js +156 -176
- package/lib/server/electron/loader.js +8 -36
- package/lib/server/errors.js +47 -46
- package/lib/server/fetch.js +289 -323
- package/lib/server/fileChooser.js +25 -24
- package/lib/server/fileUploadUtils.js +65 -59
- package/lib/server/firefox/ffAccessibility.js +153 -131
- package/lib/server/firefox/ffBrowser.js +213 -277
- package/lib/server/firefox/ffConnection.js +63 -84
- package/lib/server/firefox/ffExecutionContext.js +91 -73
- package/lib/server/firefox/ffInput.js +67 -69
- package/lib/server/firefox/ffNetworkManager.js +131 -110
- package/lib/server/firefox/ffPage.js +236 -273
- package/lib/server/firefox/firefox.js +76 -67
- package/lib/server/firefox/protocol.d.js +16 -0
- package/lib/server/formData.js +107 -35
- package/lib/server/frameSelectors.js +77 -111
- package/lib/server/frames.js +741 -891
- package/lib/server/har/harRecorder.js +85 -77
- package/lib/server/har/harTracer.js +287 -222
- package/lib/server/harBackend.js +80 -80
- package/lib/server/helper.js +56 -59
- package/lib/server/index.js +59 -99
- package/lib/server/input.js +134 -163
- package/lib/server/instrumentation.js +49 -44
- package/lib/server/javascript.js +143 -134
- package/lib/server/launchApp.js +92 -73
- package/lib/server/localUtils.js +130 -122
- package/lib/server/macEditingCommands.js +141 -137
- package/lib/server/network.js +262 -296
- package/lib/server/page.js +329 -426
- package/lib/server/pageBinding.js +88 -0
- package/lib/server/pipeTransport.js +49 -45
- package/lib/server/playwright.js +60 -67
- package/lib/server/progress.js +56 -51
- package/lib/server/protocolError.js +34 -31
- package/lib/server/recorder/chat.js +70 -86
- package/lib/server/recorder/contextRecorder.js +134 -138
- package/lib/server/recorder/recorderApp.js +127 -136
- package/lib/server/recorder/recorderCollection.js +56 -44
- package/lib/server/recorder/recorderFrontend.js +15 -4
- package/lib/server/recorder/recorderRunner.js +79 -103
- package/lib/server/recorder/recorderUtils.js +56 -45
- package/lib/server/recorder/throttledFile.js +42 -30
- package/lib/server/recorder.js +177 -186
- package/lib/server/registry/browserFetcher.js +106 -101
- package/lib/server/registry/dependencies.js +245 -196
- package/lib/server/registry/index.js +904 -792
- package/lib/server/registry/nativeDeps.js +1073 -464
- package/lib/server/registry/oopDownloadBrowserMain.js +57 -75
- package/lib/server/screenshotter.js +166 -182
- package/lib/server/selectors.js +85 -46
- package/lib/server/socksClientCertificatesInterceptor.js +166 -185
- package/lib/server/socksInterceptor.js +62 -70
- package/lib/server/storageScript.js +94 -100
- package/lib/server/timeoutSettings.js +58 -43
- package/lib/server/trace/recorder/snapshotter.js +70 -89
- package/lib/server/trace/recorder/snapshotterInjected.js +238 -217
- package/lib/server/trace/recorder/tracing.js +321 -333
- package/lib/server/trace/test/inMemorySnapshotter.js +46 -52
- package/lib/server/trace/viewer/traceViewer.js +168 -146
- package/lib/server/transport.js +124 -133
- 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 +37 -28
- package/lib/server/utils/debugLogger.js +69 -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 +138 -123
- 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 +143 -86
- 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 +73 -69
- 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 +76 -63
- package/lib/server/webkit/wkAccessibility.js +161 -118
- package/lib/server/webkit/wkBrowser.js +159 -176
- package/lib/server/webkit/wkConnection.js +59 -83
- package/lib/server/webkit/wkExecutionContext.js +84 -70
- package/lib/server/webkit/wkInput.js +82 -80
- package/lib/server/webkit/wkInterceptableRequest.js +102 -95
- package/lib/server/webkit/wkPage.js +525 -619
- package/lib/server/webkit/wkProvisionalPage.js +45 -56
- package/lib/server/webkit/wkWorkers.js +77 -77
- package/lib/utils/isomorphic/ariaSnapshot.js +144 -152
- package/lib/utils/isomorphic/assert.js +28 -22
- package/lib/utils/isomorphic/builtins.js +90 -0
- package/lib/utils/isomorphic/colors.js +66 -59
- package/lib/utils/isomorphic/cssParser.js +121 -125
- package/lib/utils/isomorphic/cssTokenizer.js +436 -364
- package/lib/utils/isomorphic/headers.js +38 -37
- package/lib/utils/isomorphic/locatorGenerators.js +340 -357
- package/lib/utils/isomorphic/locatorParser.js +96 -105
- package/lib/utils/isomorphic/locatorUtils.js +63 -44
- package/lib/utils/isomorphic/manualPromise.js +47 -39
- package/lib/utils/isomorphic/mimeType.js +448 -25
- package/lib/utils/isomorphic/multimap.js +35 -27
- package/lib/utils/isomorphic/rtti.js +35 -33
- package/lib/utils/isomorphic/selectorParser.js +183 -193
- package/lib/utils/isomorphic/semaphore.js +27 -24
- package/lib/utils/isomorphic/stackTrace.js +87 -98
- package/lib/utils/isomorphic/stringUtils.js +113 -106
- package/lib/utils/isomorphic/time.js +41 -22
- package/lib/utils/isomorphic/timeoutRunner.js +55 -54
- package/lib/utils/isomorphic/traceUtils.js +38 -41
- package/lib/utils/isomorphic/types.js +15 -4
- package/lib/utils/isomorphic/urlMatch.js +112 -67
- package/lib/utils/isomorphic/utilityScriptSerializers.js +248 -0
- package/lib/utils.js +97 -443
- package/lib/utilsBundle.js +101 -52
- package/lib/vite/htmlReport/index.html +21 -15
- package/lib/vite/recorder/assets/{codeMirrorModule-B9YMkrwa.js → codeMirrorModule-DVQi6prl.js} +1 -1
- package/lib/vite/recorder/assets/index-97EUAAbk.js +184 -0
- package/lib/vite/recorder/index.html +1 -1
- package/lib/vite/traceViewer/assets/{codeMirrorModule-DpJ-EmBQ.js → codeMirrorModule-dvXVzLxY.js} +1 -1
- package/lib/vite/traceViewer/assets/defaultSettingsView-BjymbO6M.js +265 -0
- package/lib/vite/traceViewer/{defaultSettingsView.5fN5lw10.css → defaultSettingsView.QdHITyLI.css} +1 -1
- package/lib/vite/traceViewer/index.ChIUCJnj.js +2 -0
- package/lib/vite/traceViewer/index.html +3 -3
- package/lib/vite/traceViewer/sw.bundle.js +3 -3
- package/lib/vite/traceViewer/uiMode.html +3 -3
- package/lib/vite/traceViewer/uiMode.jUCiCtdp.js +5 -0
- package/lib/zipBundle.js +32 -23
- package/package.json +1 -1
- package/types/protocol.d.ts +436 -17
- package/types/types.d.ts +35 -16
- package/lib/server/isomorphic/utilityScriptSerializers.js +0 -229
- package/lib/vite/recorder/assets/index-ELPgmkwA.js +0 -184
- package/lib/vite/traceViewer/assets/defaultSettingsView-DTenqiGw.js +0 -259
- package/lib/vite/traceViewer/index.CUq7VgrV.js +0 -2
- package/lib/vite/traceViewer/uiMode.CHJSAD7F.js +0 -5
|
@@ -1,57 +1,50 @@
|
|
|
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 channelOwner_exports = {};
|
|
20
|
+
__export(channelOwner_exports, {
|
|
21
|
+
ChannelOwner: () => ChannelOwner
|
|
5
22
|
});
|
|
6
|
-
exports
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
|
|
12
|
-
* Copyright (c) Microsoft Corporation.
|
|
13
|
-
*
|
|
14
|
-
* Licensed under the Apache License, Version 2.0 (the 'License");
|
|
15
|
-
* you may not use this file except in compliance with the License.
|
|
16
|
-
* You may obtain a copy of the License at
|
|
17
|
-
*
|
|
18
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
19
|
-
*
|
|
20
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
21
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
22
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
23
|
-
* See the License for the specific language governing permissions and
|
|
24
|
-
* limitations under the License.
|
|
25
|
-
*/
|
|
26
|
-
|
|
27
|
-
class ChannelOwner extends _eventEmitter.EventEmitter {
|
|
23
|
+
module.exports = __toCommonJS(channelOwner_exports);
|
|
24
|
+
var import_eventEmitter = require("./eventEmitter");
|
|
25
|
+
var import_validator = require("../protocol/validator");
|
|
26
|
+
var import_clientStackTrace = require("./clientStackTrace");
|
|
27
|
+
var import_stackTrace = require("../utils/isomorphic/stackTrace");
|
|
28
|
+
class ChannelOwner extends import_eventEmitter.EventEmitter {
|
|
28
29
|
constructor(parent, type, guid, initializer) {
|
|
29
30
|
const connection = parent instanceof ChannelOwner ? parent._connection : parent;
|
|
30
31
|
super(connection._platform);
|
|
31
|
-
this.
|
|
32
|
-
this.
|
|
33
|
-
this._objects = new Map();
|
|
34
|
-
this._type = void 0;
|
|
35
|
-
this._guid = void 0;
|
|
36
|
-
this._channel = void 0;
|
|
37
|
-
this._initializer = void 0;
|
|
38
|
-
this._logger = void 0;
|
|
39
|
-
this._instrumentation = void 0;
|
|
40
|
-
this._eventToSubscriptionMapping = new Map();
|
|
32
|
+
this._objects = /* @__PURE__ */ new Map();
|
|
33
|
+
this._eventToSubscriptionMapping = /* @__PURE__ */ new Map();
|
|
41
34
|
this._isInternalType = false;
|
|
42
35
|
this._wasCollected = false;
|
|
43
36
|
this.setMaxListeners(0);
|
|
44
37
|
this._connection = connection;
|
|
45
38
|
this._type = type;
|
|
46
39
|
this._guid = guid;
|
|
47
|
-
this._parent = parent instanceof ChannelOwner ? parent :
|
|
40
|
+
this._parent = parent instanceof ChannelOwner ? parent : void 0;
|
|
48
41
|
this._instrumentation = this._connection._instrumentation;
|
|
49
42
|
this._connection._objects.set(guid, this);
|
|
50
43
|
if (this._parent) {
|
|
51
44
|
this._parent._objects.set(guid, this);
|
|
52
45
|
this._logger = this._parent._logger;
|
|
53
46
|
}
|
|
54
|
-
this._channel = this._createChannel(new
|
|
47
|
+
this._channel = this._createChannel(new import_eventEmitter.EventEmitter(connection._platform));
|
|
55
48
|
this._initializer = initializer;
|
|
56
49
|
}
|
|
57
50
|
markAsInternalType() {
|
|
@@ -64,36 +57,39 @@ class ChannelOwner extends _eventEmitter.EventEmitter {
|
|
|
64
57
|
const protocolEvent = this._eventToSubscriptionMapping.get(String(event));
|
|
65
58
|
if (protocolEvent) {
|
|
66
59
|
this._wrapApiCall(async () => {
|
|
67
|
-
await this._channel.updateSubscription({
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
});
|
|
71
|
-
}, true).catch(() => {});
|
|
60
|
+
await this._channel.updateSubscription({ event: protocolEvent, enabled });
|
|
61
|
+
}, true).catch(() => {
|
|
62
|
+
});
|
|
72
63
|
}
|
|
73
64
|
}
|
|
74
65
|
on(event, listener) {
|
|
75
|
-
if (!this.listenerCount(event))
|
|
66
|
+
if (!this.listenerCount(event))
|
|
67
|
+
this._updateSubscription(event, true);
|
|
76
68
|
super.on(event, listener);
|
|
77
69
|
return this;
|
|
78
70
|
}
|
|
79
71
|
addListener(event, listener) {
|
|
80
|
-
if (!this.listenerCount(event))
|
|
72
|
+
if (!this.listenerCount(event))
|
|
73
|
+
this._updateSubscription(event, true);
|
|
81
74
|
super.addListener(event, listener);
|
|
82
75
|
return this;
|
|
83
76
|
}
|
|
84
77
|
prependListener(event, listener) {
|
|
85
|
-
if (!this.listenerCount(event))
|
|
78
|
+
if (!this.listenerCount(event))
|
|
79
|
+
this._updateSubscription(event, true);
|
|
86
80
|
super.prependListener(event, listener);
|
|
87
81
|
return this;
|
|
88
82
|
}
|
|
89
83
|
off(event, listener) {
|
|
90
84
|
super.off(event, listener);
|
|
91
|
-
if (!this.listenerCount(event))
|
|
85
|
+
if (!this.listenerCount(event))
|
|
86
|
+
this._updateSubscription(event, false);
|
|
92
87
|
return this;
|
|
93
88
|
}
|
|
94
89
|
removeListener(event, listener) {
|
|
95
90
|
super.removeListener(event, listener);
|
|
96
|
-
if (!this.listenerCount(event))
|
|
91
|
+
if (!this.listenerCount(event))
|
|
92
|
+
this._updateSubscription(event, false);
|
|
97
93
|
return this;
|
|
98
94
|
}
|
|
99
95
|
_adopt(child) {
|
|
@@ -102,48 +98,44 @@ class ChannelOwner extends _eventEmitter.EventEmitter {
|
|
|
102
98
|
child._parent = this;
|
|
103
99
|
}
|
|
104
100
|
_dispose(reason) {
|
|
105
|
-
|
|
106
|
-
|
|
101
|
+
if (this._parent)
|
|
102
|
+
this._parent._objects.delete(this._guid);
|
|
107
103
|
this._connection._objects.delete(this._guid);
|
|
108
|
-
this._wasCollected = reason ===
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
for (const object of [...this._objects.values()]) object._dispose(reason);
|
|
104
|
+
this._wasCollected = reason === "gc";
|
|
105
|
+
for (const object of [...this._objects.values()])
|
|
106
|
+
object._dispose(reason);
|
|
112
107
|
this._objects.clear();
|
|
113
108
|
}
|
|
114
109
|
_debugScopeState() {
|
|
115
110
|
return {
|
|
116
111
|
_guid: this._guid,
|
|
117
|
-
objects: Array.from(this._objects.values()).map(o => o._debugScopeState())
|
|
112
|
+
objects: Array.from(this._objects.values()).map((o) => o._debugScopeState())
|
|
118
113
|
};
|
|
119
114
|
}
|
|
120
115
|
_validatorToWireContext() {
|
|
121
116
|
return {
|
|
122
117
|
tChannelImpl: tChannelImplToWire,
|
|
123
|
-
binary: this._connection.rawBuffers() ?
|
|
118
|
+
binary: this._connection.rawBuffers() ? "buffer" : "toBase64",
|
|
124
119
|
isUnderTest: () => this._platform.isUnderTest()
|
|
125
120
|
};
|
|
126
121
|
}
|
|
127
122
|
_createChannel(base) {
|
|
128
123
|
const channel = new Proxy(base, {
|
|
129
124
|
get: (obj, prop) => {
|
|
130
|
-
if (typeof prop ===
|
|
131
|
-
const validator = (0,
|
|
125
|
+
if (typeof prop === "string") {
|
|
126
|
+
const validator = (0, import_validator.maybeFindValidator)(this._type, prop, "Params");
|
|
132
127
|
if (validator) {
|
|
133
|
-
return async params => {
|
|
134
|
-
return await this._wrapApiCall(async apiZone => {
|
|
135
|
-
const validatedParams = validator(params,
|
|
128
|
+
return async (params) => {
|
|
129
|
+
return await this._wrapApiCall(async (apiZone) => {
|
|
130
|
+
const validatedParams = validator(params, "", this._validatorToWireContext());
|
|
136
131
|
if (!apiZone.isInternal && !apiZone.reported) {
|
|
137
|
-
// Reporting/tracing/logging this api call for the first time.
|
|
138
132
|
apiZone.params = params;
|
|
139
133
|
apiZone.reported = true;
|
|
140
134
|
this._instrumentation.onApiCallBegin(apiZone);
|
|
141
135
|
logApiCall(this._platform, this._logger, `=> ${apiZone.apiName} started`);
|
|
142
136
|
return await this._connection.sendMessageToServer(this, prop, validatedParams, apiZone.apiName, apiZone.frames, apiZone.stepId);
|
|
143
137
|
}
|
|
144
|
-
|
|
145
|
-
// passing undefined apiName will avoid an extra unneeded tracing entry.
|
|
146
|
-
return await this._connection.sendMessageToServer(this, prop, validatedParams, undefined, [], undefined);
|
|
138
|
+
return await this._connection.sendMessageToServer(this, prop, validatedParams, void 0, [], void 0);
|
|
147
139
|
});
|
|
148
140
|
};
|
|
149
141
|
}
|
|
@@ -157,17 +149,12 @@ class ChannelOwner extends _eventEmitter.EventEmitter {
|
|
|
157
149
|
async _wrapApiCall(func, isInternal) {
|
|
158
150
|
const logger = this._logger;
|
|
159
151
|
const existingApiZone = this._platform.zones.current().data();
|
|
160
|
-
if (existingApiZone)
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
isInternal,
|
|
167
|
-
reported: false,
|
|
168
|
-
userData: undefined,
|
|
169
|
-
stepId: undefined
|
|
170
|
-
};
|
|
152
|
+
if (existingApiZone)
|
|
153
|
+
return await func(existingApiZone);
|
|
154
|
+
if (isInternal === void 0)
|
|
155
|
+
isInternal = this._isInternalType;
|
|
156
|
+
const stackTrace = (0, import_clientStackTrace.captureLibraryStackTrace)(this._platform);
|
|
157
|
+
const apiZone = { apiName: stackTrace.apiName, frames: stackTrace.frames, isInternal, reported: false, userData: void 0, stepId: void 0 };
|
|
171
158
|
try {
|
|
172
159
|
const result = await this._platform.zones.current().push(apiZone).run(async () => await func(apiZone));
|
|
173
160
|
if (!isInternal) {
|
|
@@ -176,10 +163,14 @@ class ChannelOwner extends _eventEmitter.EventEmitter {
|
|
|
176
163
|
}
|
|
177
164
|
return result;
|
|
178
165
|
} catch (e) {
|
|
179
|
-
const innerError = (this._platform.showInternalStackFrames() || this._platform.isUnderTest()) && e.stack ?
|
|
180
|
-
if (apiZone.apiName && !apiZone.apiName.includes(
|
|
181
|
-
|
|
182
|
-
|
|
166
|
+
const innerError = (this._platform.showInternalStackFrames() || this._platform.isUnderTest()) && e.stack ? "\n<inner error>\n" + e.stack : "";
|
|
167
|
+
if (apiZone.apiName && !apiZone.apiName.includes("<anonymous>"))
|
|
168
|
+
e.message = apiZone.apiName + ": " + e.message;
|
|
169
|
+
const stackFrames = "\n" + (0, import_stackTrace.stringifyStackFrames)(stackTrace.frames).join("\n") + innerError;
|
|
170
|
+
if (stackFrames.trim())
|
|
171
|
+
e.stack = e.message + stackFrames;
|
|
172
|
+
else
|
|
173
|
+
e.stack = "";
|
|
183
174
|
if (!isInternal) {
|
|
184
175
|
apiZone.error = e;
|
|
185
176
|
logApiCall(this._platform, logger, `<= ${apiZone.apiName} failed`);
|
|
@@ -189,30 +180,26 @@ class ChannelOwner extends _eventEmitter.EventEmitter {
|
|
|
189
180
|
}
|
|
190
181
|
}
|
|
191
182
|
_toImpl() {
|
|
192
|
-
|
|
193
|
-
return (_this$_connection$toI = (_this$_connection = this._connection).toImpl) === null || _this$_connection$toI === void 0 ? void 0 : _this$_connection$toI.call(_this$_connection, this);
|
|
183
|
+
return this._connection.toImpl?.(this);
|
|
194
184
|
}
|
|
195
185
|
toJSON() {
|
|
196
|
-
// Jest's expect library tries to print objects sometimes.
|
|
197
|
-
// RPC objects can contain links to lots of other objects,
|
|
198
|
-
// which can cause jest to crash. Let's help it out
|
|
199
|
-
// by just returning the important values.
|
|
200
186
|
return {
|
|
201
187
|
_type: this._type,
|
|
202
188
|
_guid: this._guid
|
|
203
189
|
};
|
|
204
190
|
}
|
|
205
191
|
}
|
|
206
|
-
exports.ChannelOwner = ChannelOwner;
|
|
207
192
|
function logApiCall(platform, logger, message) {
|
|
208
|
-
if (logger && logger.isEnabled(
|
|
209
|
-
color:
|
|
210
|
-
|
|
211
|
-
platform.log('api', message);
|
|
193
|
+
if (logger && logger.isEnabled("api", "info"))
|
|
194
|
+
logger.log("api", "info", message, [], { color: "cyan" });
|
|
195
|
+
platform.log("api", message);
|
|
212
196
|
}
|
|
213
197
|
function tChannelImplToWire(names, arg, path, context) {
|
|
214
|
-
if (arg._object instanceof ChannelOwner && (names ===
|
|
215
|
-
guid: arg._object._guid
|
|
216
|
-
};
|
|
217
|
-
|
|
218
|
-
|
|
198
|
+
if (arg._object instanceof ChannelOwner && (names === "*" || names.includes(arg._object._type)))
|
|
199
|
+
return { guid: arg._object._guid };
|
|
200
|
+
throw new import_validator.ValidationError(`${path}: expected channel ${names.toString()}`);
|
|
201
|
+
}
|
|
202
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
203
|
+
0 && (module.exports = {
|
|
204
|
+
ChannelOwner
|
|
205
|
+
});
|
|
@@ -1,55 +1,63 @@
|
|
|
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 clientHelper_exports = {};
|
|
20
|
+
__export(clientHelper_exports, {
|
|
21
|
+
addSourceUrlToScript: () => addSourceUrlToScript,
|
|
22
|
+
envObjectToArray: () => envObjectToArray,
|
|
23
|
+
evaluationScript: () => evaluationScript
|
|
5
24
|
});
|
|
6
|
-
exports
|
|
7
|
-
|
|
8
|
-
exports.evaluationScript = evaluationScript;
|
|
9
|
-
var _rtti = require("../utils/isomorphic/rtti");
|
|
10
|
-
/**
|
|
11
|
-
* Copyright 2017 Google Inc. All rights reserved.
|
|
12
|
-
* Modifications copyright (c) Microsoft Corporation.
|
|
13
|
-
*
|
|
14
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
15
|
-
* you may not use this file except in compliance with the License.
|
|
16
|
-
* You may obtain a copy of the License at
|
|
17
|
-
*
|
|
18
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
19
|
-
*
|
|
20
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
21
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
22
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
23
|
-
* See the License for the specific language governing permissions and
|
|
24
|
-
* limitations under the License.
|
|
25
|
-
*/
|
|
26
|
-
|
|
25
|
+
module.exports = __toCommonJS(clientHelper_exports);
|
|
26
|
+
var import_rtti = require("../utils/isomorphic/rtti");
|
|
27
27
|
function envObjectToArray(env) {
|
|
28
28
|
const result = [];
|
|
29
29
|
for (const name in env) {
|
|
30
|
-
if (!Object.is(env[name],
|
|
31
|
-
name,
|
|
32
|
-
value: String(env[name])
|
|
33
|
-
});
|
|
30
|
+
if (!Object.is(env[name], void 0))
|
|
31
|
+
result.push({ name, value: String(env[name]) });
|
|
34
32
|
}
|
|
35
33
|
return result;
|
|
36
34
|
}
|
|
37
35
|
async function evaluationScript(platform, fun, arg, addSourceUrl = true) {
|
|
38
|
-
if (typeof fun ===
|
|
36
|
+
if (typeof fun === "function") {
|
|
39
37
|
const source = fun.toString();
|
|
40
|
-
const argString = Object.is(arg,
|
|
38
|
+
const argString = Object.is(arg, void 0) ? "undefined" : JSON.stringify(arg);
|
|
41
39
|
return `(${source})(${argString})`;
|
|
42
40
|
}
|
|
43
|
-
if (arg !==
|
|
44
|
-
|
|
45
|
-
if (
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
41
|
+
if (arg !== void 0)
|
|
42
|
+
throw new Error("Cannot evaluate a string with arguments");
|
|
43
|
+
if ((0, import_rtti.isString)(fun))
|
|
44
|
+
return fun;
|
|
45
|
+
if (fun.content !== void 0)
|
|
46
|
+
return fun.content;
|
|
47
|
+
if (fun.path !== void 0) {
|
|
48
|
+
let source = await platform.fs().promises.readFile(fun.path, "utf8");
|
|
49
|
+
if (addSourceUrl)
|
|
50
|
+
source = addSourceUrlToScript(source, fun.path);
|
|
49
51
|
return source;
|
|
50
52
|
}
|
|
51
|
-
throw new Error(
|
|
53
|
+
throw new Error("Either path or content property must be present");
|
|
52
54
|
}
|
|
53
55
|
function addSourceUrlToScript(source, path) {
|
|
54
56
|
return source;
|
|
55
|
-
}
|
|
57
|
+
}
|
|
58
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
59
|
+
0 && (module.exports = {
|
|
60
|
+
addSourceUrlToScript,
|
|
61
|
+
envObjectToArray,
|
|
62
|
+
evaluationScript
|
|
63
|
+
});
|
|
@@ -1,52 +1,55 @@
|
|
|
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 clientInstrumentation_exports = {};
|
|
20
|
+
__export(clientInstrumentation_exports, {
|
|
21
|
+
createInstrumentation: () => createInstrumentation
|
|
5
22
|
});
|
|
6
|
-
exports
|
|
7
|
-
/**
|
|
8
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
9
|
-
*
|
|
10
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
11
|
-
* you may not use this file except in compliance with the License.
|
|
12
|
-
* You may obtain a copy of the License at
|
|
13
|
-
*
|
|
14
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
15
|
-
*
|
|
16
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
17
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
18
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
19
|
-
* See the License for the specific language governing permissions and
|
|
20
|
-
* limitations under the License.
|
|
21
|
-
*/
|
|
22
|
-
|
|
23
|
-
// Instrumentation can mutate the data, for example change apiName or stepId.
|
|
24
|
-
|
|
23
|
+
module.exports = __toCommonJS(clientInstrumentation_exports);
|
|
25
24
|
function createInstrumentation() {
|
|
26
25
|
const listeners = [];
|
|
27
26
|
return new Proxy({}, {
|
|
28
27
|
get: (obj, prop) => {
|
|
29
|
-
if (typeof prop !==
|
|
30
|
-
|
|
31
|
-
if (prop ===
|
|
32
|
-
|
|
33
|
-
if (prop
|
|
28
|
+
if (typeof prop !== "string")
|
|
29
|
+
return obj[prop];
|
|
30
|
+
if (prop === "addListener")
|
|
31
|
+
return (listener) => listeners.push(listener);
|
|
32
|
+
if (prop === "removeListener")
|
|
33
|
+
return (listener) => listeners.splice(listeners.indexOf(listener), 1);
|
|
34
|
+
if (prop === "removeAllListeners")
|
|
35
|
+
return () => listeners.splice(0, listeners.length);
|
|
36
|
+
if (prop.startsWith("run")) {
|
|
34
37
|
return async (...params) => {
|
|
35
|
-
for (const listener of listeners)
|
|
36
|
-
|
|
37
|
-
await ((_prop = (_ref = listener)[prop]) === null || _prop === void 0 ? void 0 : _prop.call(_ref, ...params));
|
|
38
|
-
}
|
|
38
|
+
for (const listener of listeners)
|
|
39
|
+
await listener[prop]?.(...params);
|
|
39
40
|
};
|
|
40
41
|
}
|
|
41
|
-
if (prop.startsWith(
|
|
42
|
+
if (prop.startsWith("on")) {
|
|
42
43
|
return (...params) => {
|
|
43
|
-
for (const listener of listeners)
|
|
44
|
-
|
|
45
|
-
(_prop2 = (_ref2 = listener)[prop]) === null || _prop2 === void 0 || _prop2.call(_ref2, ...params);
|
|
46
|
-
}
|
|
44
|
+
for (const listener of listeners)
|
|
45
|
+
listener[prop]?.(...params);
|
|
47
46
|
};
|
|
48
47
|
}
|
|
49
48
|
return obj[prop];
|
|
50
49
|
}
|
|
51
50
|
});
|
|
52
|
-
}
|
|
51
|
+
}
|
|
52
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
53
|
+
0 && (module.exports = {
|
|
54
|
+
createInstrumentation
|
|
55
|
+
});
|
|
@@ -1,31 +1,33 @@
|
|
|
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 clientStackTrace_exports = {};
|
|
20
|
+
__export(clientStackTrace_exports, {
|
|
21
|
+
captureLibraryStackTrace: () => captureLibraryStackTrace
|
|
5
22
|
});
|
|
6
|
-
exports
|
|
7
|
-
var
|
|
8
|
-
/**
|
|
9
|
-
* Copyright (c) Microsoft Corporation.
|
|
10
|
-
*
|
|
11
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
12
|
-
* you may not use this file except in compliance with the License.
|
|
13
|
-
* You may obtain a copy of the License at
|
|
14
|
-
*
|
|
15
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
16
|
-
*
|
|
17
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
18
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
19
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
20
|
-
* See the License for the specific language governing permissions and
|
|
21
|
-
* limitations under the License.
|
|
22
|
-
*/
|
|
23
|
-
|
|
23
|
+
module.exports = __toCommonJS(clientStackTrace_exports);
|
|
24
|
+
var import_stackTrace = require("../utils/isomorphic/stackTrace");
|
|
24
25
|
function captureLibraryStackTrace(platform) {
|
|
25
|
-
const stack = (0,
|
|
26
|
-
let parsedFrames = stack.map(line => {
|
|
27
|
-
const frame = (0,
|
|
28
|
-
if (!frame || !frame.file)
|
|
26
|
+
const stack = (0, import_stackTrace.captureRawStack)();
|
|
27
|
+
let parsedFrames = stack.map((line) => {
|
|
28
|
+
const frame = (0, import_stackTrace.parseStackFrame)(line, platform.pathSeparator, platform.showInternalStackFrames());
|
|
29
|
+
if (!frame || !frame.file)
|
|
30
|
+
return null;
|
|
29
31
|
const isPlaywrightLibrary = !!platform.coreDir && frame.file.startsWith(platform.coreDir);
|
|
30
32
|
const parsed = {
|
|
31
33
|
frame,
|
|
@@ -34,10 +36,7 @@ function captureLibraryStackTrace(platform) {
|
|
|
34
36
|
};
|
|
35
37
|
return parsed;
|
|
36
38
|
}).filter(Boolean);
|
|
37
|
-
let apiName =
|
|
38
|
-
|
|
39
|
-
// Deepest transition between non-client code calling into client
|
|
40
|
-
// code is the api entry.
|
|
39
|
+
let apiName = "";
|
|
41
40
|
for (let i = 0; i < parsedFrames.length - 1; i++) {
|
|
42
41
|
const parsedFrame = parsedFrames[i];
|
|
43
42
|
if (parsedFrame.isPlaywrightLibrary && !parsedFrames[i + 1].isPlaywrightLibrary) {
|
|
@@ -46,20 +45,25 @@ function captureLibraryStackTrace(platform) {
|
|
|
46
45
|
}
|
|
47
46
|
}
|
|
48
47
|
function normalizeAPIName(name) {
|
|
49
|
-
if (!name)
|
|
48
|
+
if (!name)
|
|
49
|
+
return "";
|
|
50
50
|
const match = name.match(/(API|JS|CDP|[A-Z])(.*)/);
|
|
51
|
-
if (!match)
|
|
51
|
+
if (!match)
|
|
52
|
+
return name;
|
|
52
53
|
return match[1].toLowerCase() + match[2];
|
|
53
54
|
}
|
|
54
|
-
|
|
55
|
-
// This is for the inspector so that it did not include the test runner stack frames.
|
|
56
55
|
const filterPrefixes = platform.boxedStackPrefixes();
|
|
57
|
-
parsedFrames = parsedFrames.filter(f => {
|
|
58
|
-
if (filterPrefixes.some(prefix => f.frame.file.startsWith(prefix)))
|
|
56
|
+
parsedFrames = parsedFrames.filter((f) => {
|
|
57
|
+
if (filterPrefixes.some((prefix) => f.frame.file.startsWith(prefix)))
|
|
58
|
+
return false;
|
|
59
59
|
return true;
|
|
60
60
|
});
|
|
61
61
|
return {
|
|
62
|
-
frames: parsedFrames.map(p => p.frame),
|
|
62
|
+
frames: parsedFrames.map((p) => p.frame),
|
|
63
63
|
apiName
|
|
64
64
|
};
|
|
65
|
-
}
|
|
65
|
+
}
|
|
66
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
67
|
+
0 && (module.exports = {
|
|
68
|
+
captureLibraryStackTrace
|
|
69
|
+
});
|