patchright-core 1.57.0 → 1.58.2
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 +3223 -308
- package/browsers.json +21 -22
- package/lib/cli/program.js +4 -5
- package/lib/client/api.js +3 -0
- package/lib/client/browser.js +3 -5
- package/lib/client/browserContext.js +40 -4
- package/lib/client/browserType.js +4 -3
- package/lib/client/connection.js +4 -0
- package/lib/client/elementHandle.js +3 -0
- package/lib/client/events.js +3 -0
- package/lib/client/fetch.js +3 -4
- package/lib/client/frame.js +10 -1
- package/lib/client/locator.js +8 -0
- package/lib/client/network.js +5 -1
- package/lib/client/page.js +29 -1
- package/lib/client/pageAgent.js +64 -0
- package/lib/client/platform.js +3 -0
- package/lib/client/tracing.js +1 -1
- package/lib/generated/injectedScriptSource.js +1 -1
- package/lib/generated/pollingRecorderSource.js +1 -1
- package/lib/mcpBundle.js +84 -0
- package/lib/mcpBundleImpl/index.js +147 -0
- package/lib/protocol/serializers.js +5 -0
- package/lib/protocol/validator.js +88 -4
- package/lib/remote/playwrightServer.js +1 -2
- package/lib/server/agent/actionRunner.js +335 -0
- package/lib/server/agent/actions.js +128 -0
- package/lib/server/agent/codegen.js +111 -0
- package/lib/server/agent/context.js +150 -0
- package/lib/server/agent/expectTools.js +156 -0
- package/lib/server/agent/pageAgent.js +204 -0
- package/lib/server/agent/performTools.js +262 -0
- package/lib/server/agent/tool.js +109 -0
- package/lib/server/artifact.js +1 -1
- package/lib/server/bidi/bidiBrowser.js +56 -12
- package/lib/server/bidi/bidiChromium.js +8 -12
- package/lib/server/bidi/bidiConnection.js +1 -0
- package/lib/server/bidi/bidiDeserializer.js +116 -0
- package/lib/server/bidi/bidiExecutionContext.js +75 -29
- package/lib/server/bidi/bidiFirefox.js +6 -8
- package/lib/server/bidi/bidiNetworkManager.js +1 -1
- package/lib/server/bidi/bidiPage.js +39 -28
- package/lib/server/bidi/third_party/bidiProtocolCore.js +1 -0
- package/lib/server/browserContext.js +34 -26
- package/lib/server/browserType.js +12 -4
- package/lib/server/chromium/chromium.js +14 -20
- package/lib/server/chromium/chromiumSwitches.js +2 -2
- package/lib/server/chromium/crBrowser.js +22 -12
- package/lib/server/chromium/crConnection.js +0 -5
- package/lib/server/chromium/crCoverage.js +13 -1
- package/lib/server/chromium/crDevTools.js +0 -2
- package/lib/server/chromium/crNetworkManager.js +92 -12
- package/lib/server/chromium/crPage.js +62 -116
- package/lib/server/codegen/javascript.js +6 -29
- package/lib/server/deviceDescriptorsSource.json +56 -56
- package/lib/server/dispatchers/browserContextDispatcher.js +3 -2
- package/lib/server/dispatchers/dispatcher.js +6 -13
- package/lib/server/dispatchers/frameDispatcher.js +1 -1
- package/lib/server/dispatchers/jsHandleDispatcher.js +2 -2
- package/lib/server/dispatchers/pageAgentDispatcher.js +96 -0
- package/lib/server/dispatchers/pageDispatcher.js +4 -0
- package/lib/server/dom.js +12 -3
- package/lib/server/electron/electron.js +5 -2
- package/lib/server/firefox/ffBrowser.js +10 -20
- package/lib/server/firefox/ffConnection.js +0 -5
- package/lib/server/firefox/ffNetworkManager.js +2 -2
- package/lib/server/firefox/ffPage.js +15 -18
- package/lib/server/firefox/firefox.js +6 -8
- package/lib/server/frameSelectors.js +16 -4
- package/lib/server/frames.js +251 -86
- package/lib/server/instrumentation.js +3 -0
- package/lib/server/javascript.js +8 -4
- package/lib/server/launchApp.js +2 -1
- package/lib/server/network.js +50 -12
- package/lib/server/page.js +61 -91
- package/lib/server/progress.js +26 -6
- package/lib/server/recorder/recorderApp.js +79 -100
- package/lib/server/registry/browserFetcher.js +6 -4
- package/lib/server/registry/index.js +172 -149
- package/lib/server/registry/oopDownloadBrowserMain.js +3 -0
- package/lib/server/screencast.js +190 -0
- package/lib/server/screenshotter.js +6 -0
- package/lib/server/trace/recorder/snapshotter.js +17 -8
- package/lib/server/trace/recorder/snapshotterInjected.js +30 -72
- package/lib/server/trace/recorder/tracing.js +29 -21
- package/lib/server/trace/viewer/traceParser.js +72 -0
- package/lib/server/trace/viewer/traceViewer.js +21 -17
- package/lib/server/utils/expectUtils.js +87 -2
- package/lib/server/utils/hostPlatform.js +15 -0
- package/lib/server/utils/httpServer.js +5 -20
- package/lib/server/utils/network.js +37 -28
- package/lib/server/utils/nodePlatform.js +6 -0
- package/lib/server/{chromium/videoRecorder.js → videoRecorder.js} +22 -13
- package/lib/server/webkit/webkit.js +4 -6
- package/lib/server/webkit/wkBrowser.js +2 -6
- package/lib/server/webkit/wkConnection.js +1 -6
- package/lib/server/webkit/wkInterceptableRequest.js +29 -1
- package/lib/server/webkit/wkPage.js +75 -46
- package/lib/utils/isomorphic/ariaSnapshot.js +60 -2
- package/lib/utils/isomorphic/lruCache.js +51 -0
- package/lib/utils/isomorphic/protocolMetainfo.js +9 -1
- package/lib/utils/isomorphic/stringUtils.js +49 -0
- package/lib/utils/isomorphic/trace/entries.js +16 -0
- package/lib/utils/isomorphic/trace/snapshotRenderer.js +499 -0
- package/lib/utils/isomorphic/trace/snapshotServer.js +120 -0
- package/lib/utils/isomorphic/trace/snapshotStorage.js +89 -0
- package/lib/utils/isomorphic/trace/traceLoader.js +131 -0
- package/lib/utils/isomorphic/trace/traceModel.js +365 -0
- package/lib/utils/isomorphic/trace/traceModernizer.js +400 -0
- package/lib/utils/isomorphic/trace/versions/traceV3.js +16 -0
- package/lib/utils/isomorphic/trace/versions/traceV4.js +16 -0
- package/lib/utils/isomorphic/trace/versions/traceV5.js +16 -0
- package/lib/utils/isomorphic/trace/versions/traceV6.js +16 -0
- package/lib/utils/isomorphic/trace/versions/traceV7.js +16 -0
- package/lib/utils/isomorphic/trace/versions/traceV8.js +16 -0
- package/lib/utils/isomorphic/yaml.js +84 -0
- package/lib/utils.js +2 -0
- package/lib/utilsBundle.js +2 -5
- package/lib/utilsBundleImpl/index.js +165 -165
- package/lib/vite/htmlReport/index.html +21 -21
- package/lib/vite/recorder/assets/codeMirrorModule-CFUTFUO7.js +32 -0
- package/lib/vite/{traceViewer/codeMirrorModule.C3UTv-Ge.css → recorder/assets/codeMirrorModule-DYBRYzYX.css} +1 -1
- package/lib/vite/recorder/assets/{index-Ri0uHF7I.css → index-BSjZa4pk.css} +1 -1
- package/lib/vite/recorder/assets/index-CVkBxsGf.js +193 -0
- package/lib/vite/recorder/index.html +2 -2
- package/lib/vite/traceViewer/assets/codeMirrorModule-BVA4h_ZY.js +32 -0
- package/lib/vite/traceViewer/assets/defaultSettingsView-CjfmcdOz.js +266 -0
- package/lib/vite/{recorder/assets/codeMirrorModule-C3UTv-Ge.css → traceViewer/codeMirrorModule.DYBRYzYX.css} +1 -1
- package/lib/vite/traceViewer/defaultSettingsView.7ch9cixO.css +1 -0
- package/lib/vite/traceViewer/index.BVu7tZDe.css +1 -0
- package/lib/vite/traceViewer/index.BtyWtaE-.js +2 -0
- package/lib/vite/traceViewer/index.html +4 -4
- package/lib/vite/traceViewer/sw.bundle.js +5 -3
- package/lib/vite/traceViewer/uiMode.fyrXARf2.js +5 -0
- package/lib/vite/traceViewer/uiMode.html +3 -3
- package/package.json +2 -1
- package/types/protocol.d.ts +738 -159
- package/types/types.d.ts +25 -38
- package/lib/server/bidi/third_party/bidiDeserializer.js +0 -98
- package/lib/server/trace/test/inMemorySnapshotter.js +0 -87
- package/lib/vite/recorder/assets/codeMirrorModule-CBbSe-ZI.js +0 -25
- package/lib/vite/recorder/assets/index-CpZVd2nA.js +0 -193
- package/lib/vite/traceViewer/assets/codeMirrorModule-DHz0wP2C.js +0 -25
- package/lib/vite/traceViewer/assets/defaultSettingsView-WsZP88O6.js +0 -266
- package/lib/vite/traceViewer/defaultSettingsView.ConWv5KN.css +0 -1
- package/lib/vite/traceViewer/index.C4Y3Aw8n.css +0 -1
- package/lib/vite/traceViewer/index.C8xAeo93.js +0 -2
- package/lib/vite/traceViewer/uiMode.BltraIJB.js +0 -5
package/types/types.d.ts
CHANGED
|
@@ -12457,6 +12457,12 @@ export interface Locator {
|
|
|
12457
12457
|
elementHandle(options?: {
|
|
12458
12458
|
timeout?: number;
|
|
12459
12459
|
}): Promise<null|ElementHandle<SVGElement | HTMLElement>>;
|
|
12460
|
+
/**
|
|
12461
|
+
* Returns a human-readable representation of the locator, using the
|
|
12462
|
+
* [locator.description()](https://playwright.dev/docs/api/class-locator#locator-description) if one exists;
|
|
12463
|
+
* otherwise, it generates a string based on the locator's selector.
|
|
12464
|
+
*/
|
|
12465
|
+
toString(): string;
|
|
12460
12466
|
/**
|
|
12461
12467
|
* When the locator points to a list of elements, this returns an array of locators, pointing to their respective
|
|
12462
12468
|
* elements.
|
|
@@ -13011,8 +13017,9 @@ export interface Locator {
|
|
|
13011
13017
|
/**
|
|
13012
13018
|
* Returns locator description previously set with
|
|
13013
13019
|
* [locator.describe(description)](https://playwright.dev/docs/api/class-locator#locator-describe). Returns `null` if
|
|
13014
|
-
* no custom description has been set. Prefer
|
|
13015
|
-
*
|
|
13020
|
+
* no custom description has been set. Prefer
|
|
13021
|
+
* [locator.toString()](https://playwright.dev/docs/api/class-locator#locator-to-string) for a human-readable
|
|
13022
|
+
* representation, as it uses the description when available.
|
|
13016
13023
|
*
|
|
13017
13024
|
* **Usage**
|
|
13018
13025
|
*
|
|
@@ -14998,14 +15005,6 @@ export interface BrowserType<Unused = {}> {
|
|
|
14998
15005
|
*/
|
|
14999
15006
|
deviceScaleFactor?: number;
|
|
15000
15007
|
|
|
15001
|
-
/**
|
|
15002
|
-
* **Chromium-only** Whether to auto-open a Developer Tools panel for each tab. If this option is `true`, the
|
|
15003
|
-
* [`headless`](https://playwright.dev/docs/api/class-browsertype#browser-type-launch-persistent-context-option-headless)
|
|
15004
|
-
* option will be set `false`.
|
|
15005
|
-
* @deprecated Use [debugging tools](https://playwright.dev/docs/debug) instead.
|
|
15006
|
-
*/
|
|
15007
|
-
devtools?: boolean;
|
|
15008
|
-
|
|
15009
15008
|
/**
|
|
15010
15009
|
* If specified, accepted downloads are downloaded into this directory. Otherwise, temporary directory is created and
|
|
15011
15010
|
* is deleted when browser is closed. In either case, the downloads are deleted when the browser context they were
|
|
@@ -15085,9 +15084,7 @@ export interface BrowserType<Unused = {}> {
|
|
|
15085
15084
|
/**
|
|
15086
15085
|
* Whether to run browser in headless mode. More details for
|
|
15087
15086
|
* [Chromium](https://developers.google.com/web/updates/2017/04/headless-chrome) and
|
|
15088
|
-
* [Firefox](https://hacks.mozilla.org/2017/12/using-headless-mode-in-firefox/). Defaults to `true
|
|
15089
|
-
* [`devtools`](https://playwright.dev/docs/api/class-browsertype#browser-type-launch-option-devtools) option is
|
|
15090
|
-
* `true`.
|
|
15087
|
+
* [Firefox](https://hacks.mozilla.org/2017/12/using-headless-mode-in-firefox/). Defaults to `true`.
|
|
15091
15088
|
*/
|
|
15092
15089
|
headless?: boolean;
|
|
15093
15090
|
|
|
@@ -15428,14 +15425,6 @@ export interface BrowserType<Unused = {}> {
|
|
|
15428
15425
|
*/
|
|
15429
15426
|
chromiumSandbox?: boolean;
|
|
15430
15427
|
|
|
15431
|
-
/**
|
|
15432
|
-
* **Chromium-only** Whether to auto-open a Developer Tools panel for each tab. If this option is `true`, the
|
|
15433
|
-
* [`headless`](https://playwright.dev/docs/api/class-browsertype#browser-type-launch-server-option-headless) option
|
|
15434
|
-
* will be set `false`.
|
|
15435
|
-
* @deprecated Use [debugging tools](https://playwright.dev/docs/debug) instead.
|
|
15436
|
-
*/
|
|
15437
|
-
devtools?: boolean;
|
|
15438
|
-
|
|
15439
15428
|
/**
|
|
15440
15429
|
* If specified, accepted downloads are downloaded into this directory. Otherwise, temporary directory is created and
|
|
15441
15430
|
* is deleted when browser is closed. In either case, the downloads are deleted when the browser context they were
|
|
@@ -15480,9 +15469,7 @@ export interface BrowserType<Unused = {}> {
|
|
|
15480
15469
|
/**
|
|
15481
15470
|
* Whether to run browser in headless mode. More details for
|
|
15482
15471
|
* [Chromium](https://developers.google.com/web/updates/2017/04/headless-chrome) and
|
|
15483
|
-
* [Firefox](https://hacks.mozilla.org/2017/12/using-headless-mode-in-firefox/). Defaults to `true
|
|
15484
|
-
* [`devtools`](https://playwright.dev/docs/api/class-browsertype#browser-type-launch-option-devtools) option is
|
|
15485
|
-
* `true`.
|
|
15472
|
+
* [Firefox](https://hacks.mozilla.org/2017/12/using-headless-mode-in-firefox/). Defaults to `true`.
|
|
15486
15473
|
*/
|
|
15487
15474
|
headless?: boolean;
|
|
15488
15475
|
|
|
@@ -18881,7 +18868,7 @@ export interface ConsoleMessage {
|
|
|
18881
18868
|
*/
|
|
18882
18869
|
text(): string;
|
|
18883
18870
|
|
|
18884
|
-
type(): "log"|"debug"|"info"|"error"|"warning"|"dir"|"dirxml"|"table"|"trace"|"clear"|"startGroup"|"startGroupCollapsed"|"endGroup"|"assert"|"profile"|"profileEnd"|"count"|"timeEnd";
|
|
18871
|
+
type(): "log"|"debug"|"info"|"error"|"warning"|"dir"|"dirxml"|"table"|"trace"|"clear"|"startGroup"|"startGroupCollapsed"|"endGroup"|"assert"|"profile"|"profileEnd"|"count"|"time"|"timeEnd";
|
|
18885
18872
|
|
|
18886
18873
|
/**
|
|
18887
18874
|
* The web worker or service worker that produced this console message, if any. Note that console messages from web
|
|
@@ -20876,8 +20863,12 @@ export interface Route {
|
|
|
20876
20863
|
* [route.fallback([options])](https://playwright.dev/docs/api/class-route#route-fallback) If you want next matching
|
|
20877
20864
|
* handler in the chain to be invoked.
|
|
20878
20865
|
*
|
|
20879
|
-
* **NOTE**
|
|
20880
|
-
* and
|
|
20866
|
+
* **NOTE** Some request headers are **forbidden** and cannot be overridden (for example, `Cookie`, `Host`,
|
|
20867
|
+
* `Content-Length` and others, see
|
|
20868
|
+
* [this MDN page](https://developer.mozilla.org/en-US/docs/Glossary/Forbidden_request_header) for full list). If an
|
|
20869
|
+
* override is provided for a forbidden header, it will be ignored and the original request header will be used.
|
|
20870
|
+
*
|
|
20871
|
+
* To set custom cookies, use
|
|
20881
20872
|
* [browserContext.addCookies(cookies)](https://playwright.dev/docs/api/class-browsercontext#browser-context-add-cookies).
|
|
20882
20873
|
*
|
|
20883
20874
|
* @param options
|
|
@@ -21763,14 +21754,6 @@ export interface LaunchOptions {
|
|
|
21763
21754
|
*/
|
|
21764
21755
|
chromiumSandbox?: boolean;
|
|
21765
21756
|
|
|
21766
|
-
/**
|
|
21767
|
-
* **Chromium-only** Whether to auto-open a Developer Tools panel for each tab. If this option is `true`, the
|
|
21768
|
-
* [`headless`](https://playwright.dev/docs/api/class-browsertype#browser-type-launch-option-headless) option will be
|
|
21769
|
-
* set `false`.
|
|
21770
|
-
* @deprecated Use [debugging tools](https://playwright.dev/docs/debug) instead.
|
|
21771
|
-
*/
|
|
21772
|
-
devtools?: boolean;
|
|
21773
|
-
|
|
21774
21757
|
/**
|
|
21775
21758
|
* If specified, accepted downloads are downloaded into this directory. Otherwise, temporary directory is created and
|
|
21776
21759
|
* is deleted when browser is closed. In either case, the downloads are deleted when the browser context they were
|
|
@@ -21815,9 +21798,7 @@ export interface LaunchOptions {
|
|
|
21815
21798
|
/**
|
|
21816
21799
|
* Whether to run browser in headless mode. More details for
|
|
21817
21800
|
* [Chromium](https://developers.google.com/web/updates/2017/04/headless-chrome) and
|
|
21818
|
-
* [Firefox](https://hacks.mozilla.org/2017/12/using-headless-mode-in-firefox/). Defaults to `true
|
|
21819
|
-
* [`devtools`](https://playwright.dev/docs/api/class-browsertype#browser-type-launch-option-devtools) option is
|
|
21820
|
-
* `true`.
|
|
21801
|
+
* [Firefox](https://hacks.mozilla.org/2017/12/using-headless-mode-in-firefox/). Defaults to `true`.
|
|
21821
21802
|
*/
|
|
21822
21803
|
headless?: boolean;
|
|
21823
21804
|
|
|
@@ -21889,6 +21870,12 @@ export interface ConnectOverCDPOptions {
|
|
|
21889
21870
|
*/
|
|
21890
21871
|
headers?: { [key: string]: string; };
|
|
21891
21872
|
|
|
21873
|
+
/**
|
|
21874
|
+
* Tells Playwright that it runs on the same host as the CDP server. It will enable certain optimizations that rely
|
|
21875
|
+
* upon the file system being the same between Playwright and the Browser.
|
|
21876
|
+
*/
|
|
21877
|
+
isLocal?: boolean;
|
|
21878
|
+
|
|
21892
21879
|
/**
|
|
21893
21880
|
* Logger sink for Playwright logging. Optional.
|
|
21894
21881
|
* @deprecated The logs received by the logger are incomplete. Please use tracing instead.
|
|
@@ -1,98 +0,0 @@
|
|
|
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 bidiDeserializer_exports = {};
|
|
20
|
-
__export(bidiDeserializer_exports, {
|
|
21
|
-
BidiDeserializer: () => BidiDeserializer
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(bidiDeserializer_exports);
|
|
24
|
-
/**
|
|
25
|
-
* @license
|
|
26
|
-
* Copyright 2024 Google Inc.
|
|
27
|
-
* Modifications copyright (c) Microsoft Corporation.
|
|
28
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
29
|
-
*/
|
|
30
|
-
class BidiDeserializer {
|
|
31
|
-
static deserialize(result) {
|
|
32
|
-
if (!result)
|
|
33
|
-
return void 0;
|
|
34
|
-
switch (result.type) {
|
|
35
|
-
case "array":
|
|
36
|
-
return result.value?.map((value) => {
|
|
37
|
-
return BidiDeserializer.deserialize(value);
|
|
38
|
-
});
|
|
39
|
-
case "set":
|
|
40
|
-
return result.value?.reduce((acc, value) => {
|
|
41
|
-
return acc.add(BidiDeserializer.deserialize(value));
|
|
42
|
-
}, /* @__PURE__ */ new Set());
|
|
43
|
-
case "object":
|
|
44
|
-
return result.value?.reduce((acc, tuple) => {
|
|
45
|
-
const { key, value } = BidiDeserializer._deserializeTuple(tuple);
|
|
46
|
-
acc[key] = value;
|
|
47
|
-
return acc;
|
|
48
|
-
}, {});
|
|
49
|
-
case "map":
|
|
50
|
-
return result.value?.reduce((acc, tuple) => {
|
|
51
|
-
const { key, value } = BidiDeserializer._deserializeTuple(tuple);
|
|
52
|
-
return acc.set(key, value);
|
|
53
|
-
}, /* @__PURE__ */ new Map());
|
|
54
|
-
case "promise":
|
|
55
|
-
return {};
|
|
56
|
-
case "regexp":
|
|
57
|
-
return new RegExp(result.value.pattern, result.value.flags);
|
|
58
|
-
case "date":
|
|
59
|
-
return new Date(result.value);
|
|
60
|
-
case "undefined":
|
|
61
|
-
return void 0;
|
|
62
|
-
case "null":
|
|
63
|
-
return null;
|
|
64
|
-
case "number":
|
|
65
|
-
return BidiDeserializer._deserializeNumber(result.value);
|
|
66
|
-
case "bigint":
|
|
67
|
-
return BigInt(result.value);
|
|
68
|
-
case "boolean":
|
|
69
|
-
return Boolean(result.value);
|
|
70
|
-
case "string":
|
|
71
|
-
return result.value;
|
|
72
|
-
}
|
|
73
|
-
throw new Error(`Deserialization of type ${result.type} not supported.`);
|
|
74
|
-
}
|
|
75
|
-
static _deserializeNumber(value) {
|
|
76
|
-
switch (value) {
|
|
77
|
-
case "-0":
|
|
78
|
-
return -0;
|
|
79
|
-
case "NaN":
|
|
80
|
-
return NaN;
|
|
81
|
-
case "Infinity":
|
|
82
|
-
return Infinity;
|
|
83
|
-
case "-Infinity":
|
|
84
|
-
return -Infinity;
|
|
85
|
-
default:
|
|
86
|
-
return value;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
static _deserializeTuple([serializedKey, serializedValue]) {
|
|
90
|
-
const key = typeof serializedKey === "string" ? serializedKey : BidiDeserializer.deserialize(serializedKey);
|
|
91
|
-
const value = BidiDeserializer.deserialize(serializedValue);
|
|
92
|
-
return { key, value };
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
96
|
-
0 && (module.exports = {
|
|
97
|
-
BidiDeserializer
|
|
98
|
-
});
|
|
@@ -1,87 +0,0 @@
|
|
|
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 inMemorySnapshotter_exports = {};
|
|
20
|
-
__export(inMemorySnapshotter_exports, {
|
|
21
|
-
InMemorySnapshotter: () => InMemorySnapshotter
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(inMemorySnapshotter_exports);
|
|
24
|
-
var import_snapshotStorage = require("../../../../../trace-viewer/src/sw/snapshotStorage");
|
|
25
|
-
var import_utils = require("../../../utils");
|
|
26
|
-
var import_harTracer = require("../../har/harTracer");
|
|
27
|
-
var import_snapshotter = require("../recorder/snapshotter");
|
|
28
|
-
class InMemorySnapshotter {
|
|
29
|
-
constructor(context) {
|
|
30
|
-
this._blobs = /* @__PURE__ */ new Map();
|
|
31
|
-
this._snapshotReadyPromises = /* @__PURE__ */ new Map();
|
|
32
|
-
this._snapshotCount = 0;
|
|
33
|
-
this._snapshotter = new import_snapshotter.Snapshotter(context, this);
|
|
34
|
-
this._harTracer = new import_harTracer.HarTracer(context, null, this, { content: "attach", includeTraceInfo: true, recordRequestOverrides: false, waitForContentOnStop: false });
|
|
35
|
-
this._storage = new import_snapshotStorage.SnapshotStorage();
|
|
36
|
-
}
|
|
37
|
-
async initialize() {
|
|
38
|
-
await this._snapshotter.start();
|
|
39
|
-
this._harTracer.start({ omitScripts: true });
|
|
40
|
-
}
|
|
41
|
-
async reset() {
|
|
42
|
-
await this._snapshotter.reset();
|
|
43
|
-
await this._harTracer.flush();
|
|
44
|
-
this._harTracer.stop();
|
|
45
|
-
this._harTracer.start({ omitScripts: true });
|
|
46
|
-
}
|
|
47
|
-
async dispose() {
|
|
48
|
-
this._snapshotter.dispose();
|
|
49
|
-
await this._harTracer.flush();
|
|
50
|
-
this._harTracer.stop();
|
|
51
|
-
}
|
|
52
|
-
async captureSnapshot(page, callId, snapshotName) {
|
|
53
|
-
if (this._snapshotReadyPromises.has(snapshotName))
|
|
54
|
-
throw new Error("Duplicate snapshot name: " + snapshotName);
|
|
55
|
-
this._snapshotter.captureSnapshot(page, callId, snapshotName).catch(() => {
|
|
56
|
-
});
|
|
57
|
-
const promise = new import_utils.ManualPromise();
|
|
58
|
-
this._snapshotReadyPromises.set(snapshotName, promise);
|
|
59
|
-
return promise;
|
|
60
|
-
}
|
|
61
|
-
onEntryStarted(entry) {
|
|
62
|
-
}
|
|
63
|
-
onEntryFinished(entry) {
|
|
64
|
-
this._storage.addResource("", entry);
|
|
65
|
-
}
|
|
66
|
-
onContentBlob(sha1, buffer) {
|
|
67
|
-
this._blobs.set(sha1, buffer);
|
|
68
|
-
}
|
|
69
|
-
onSnapshotterBlob(blob) {
|
|
70
|
-
this._blobs.set(blob.sha1, blob.buffer);
|
|
71
|
-
}
|
|
72
|
-
onFrameSnapshot(snapshot) {
|
|
73
|
-
++this._snapshotCount;
|
|
74
|
-
const renderer = this._storage.addFrameSnapshot("", snapshot, []);
|
|
75
|
-
this._snapshotReadyPromises.get(snapshot.snapshotName || "")?.resolve(renderer);
|
|
76
|
-
}
|
|
77
|
-
async resourceContentForTest(sha1) {
|
|
78
|
-
return this._blobs.get(sha1);
|
|
79
|
-
}
|
|
80
|
-
snapshotCount() {
|
|
81
|
-
return this._snapshotCount;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
85
|
-
0 && (module.exports = {
|
|
86
|
-
InMemorySnapshotter
|
|
87
|
-
});
|