chrome-devtools-mcp 0.23.0 → 0.25.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/README.md +22 -5
- package/build/src/DevToolsConnectionAdapter.js +1 -0
- package/build/src/DevtoolsUtils.js +1 -0
- package/build/src/HeapSnapshotManager.js +16 -0
- package/build/src/McpContext.js +57 -4
- package/build/src/McpPage.js +10 -4
- package/build/src/McpResponse.js +55 -19
- package/build/src/Mutex.js +1 -0
- package/build/src/PageCollector.js +1 -0
- package/build/src/SlimMcpResponse.js +1 -0
- package/build/src/TextSnapshot.js +13 -7
- package/build/src/WaitForHelper.js +6 -0
- package/build/src/bin/check-latest-version.js +1 -0
- package/build/src/bin/chrome-devtools-cli-options.js +229 -46
- package/build/src/bin/chrome-devtools-mcp-cli-options.js +10 -5
- package/build/src/bin/chrome-devtools-mcp-main.js +1 -5
- package/build/src/bin/chrome-devtools-mcp.js +1 -0
- package/build/src/bin/chrome-devtools.js +5 -13
- package/build/src/browser.js +1 -0
- package/build/src/daemon/client.js +4 -2
- package/build/src/daemon/daemon.js +1 -0
- package/build/src/daemon/types.js +1 -0
- package/build/src/daemon/utils.js +1 -0
- package/build/src/formatters/ConsoleFormatter.js +48 -1
- package/build/src/formatters/HeapSnapshotFormatter.js +18 -2
- package/build/src/formatters/IssueFormatter.js +1 -0
- package/build/src/formatters/NetworkFormatter.js +1 -0
- package/build/src/formatters/SnapshotFormatter.js +2 -1
- package/build/src/index.js +114 -51
- package/build/src/issue-descriptions.js +1 -0
- package/build/src/logger.js +1 -0
- package/build/src/polyfill.js +1 -0
- package/build/src/telemetry/ClearcutLogger.js +13 -1
- package/build/src/telemetry/WatchdogClient.js +1 -0
- package/build/src/telemetry/flagUtils.js +1 -0
- package/build/src/telemetry/metricUtils.js +1 -0
- package/build/src/telemetry/persistence.js +1 -0
- package/build/src/telemetry/toolMetricsUtils.js +2 -1
- package/build/src/telemetry/types.js +1 -0
- package/build/src/telemetry/watchdog/ClearcutSender.js +1 -0
- package/build/src/telemetry/watchdog/main.js +1 -0
- package/build/src/third_party/THIRD_PARTY_NOTICES +8 -8
- package/build/src/third_party/bundled-packages.json +3 -3
- package/build/src/third_party/devtools-formatter-worker.js +2469 -2933
- package/build/src/third_party/devtools-heap-snapshot-worker.js +50 -26
- package/build/src/third_party/index.js +1107 -407
- package/build/src/third_party/issue-descriptions/genericFormModelContextMissingToolDescription.md +5 -0
- package/build/src/third_party/issue-descriptions/genericFormModelContextMissingToolName.md +5 -0
- package/build/src/third_party/issue-descriptions/genericFormModelContextParameterMissingName.md +5 -0
- package/build/src/third_party/issue-descriptions/genericFormModelContextParameterMissingTitleAndDescription.md +5 -0
- package/build/src/third_party/issue-descriptions/genericFormModelContextRequiredParameterMissingName.md +5 -0
- package/build/src/third_party/lighthouse-devtools-mcp-bundle.js +21717 -20261
- package/build/src/tools/ToolDefinition.js +1 -0
- package/build/src/tools/categories.js +10 -3
- package/build/src/tools/console.js +3 -0
- package/build/src/tools/emulation.js +2 -0
- package/build/src/tools/extensions.js +6 -0
- package/build/src/tools/input.js +57 -2
- package/build/src/tools/lighthouse.js +17 -9
- package/build/src/tools/memory.js +34 -1
- package/build/src/tools/network.js +5 -0
- package/build/src/tools/pages.js +14 -5
- package/build/src/tools/performance.js +6 -0
- package/build/src/tools/screencast.js +6 -2
- package/build/src/tools/screenshot.js +3 -0
- package/build/src/tools/script.js +2 -0
- package/build/src/tools/slim/tools.js +4 -0
- package/build/src/tools/snapshot.js +5 -1
- package/build/src/tools/{inPage.js → thirdPartyDeveloper.js} +17 -16
- package/build/src/tools/tools.js +3 -2
- package/build/src/tools/webmcp.js +5 -4
- package/build/src/trace-processing/parse.js +1 -0
- package/build/src/types.js +1 -0
- package/build/src/utils/check-for-updates.js +1 -0
- package/build/src/utils/files.js +5 -10
- package/build/src/utils/id.js +1 -0
- package/build/src/utils/keyboard.js +1 -0
- package/build/src/utils/pagination.js +1 -0
- package/build/src/utils/string.js +1 -0
- package/build/src/utils/types.js +1 -0
- package/build/src/version.js +2 -1
- package/package.json +10 -11
- package/build/src/bin/cliDefinitions.js +0 -621
|
@@ -31,7 +31,7 @@ import require$$3$3 from 'dns';
|
|
|
31
31
|
import require$$2$1 from 'crypto';
|
|
32
32
|
import 'node:assert';
|
|
33
33
|
import require$$0$a from 'zlib';
|
|
34
|
-
import { generateReport as generateReport$1, navigation as navigation$1, snapshot as snapshot$1 } from './lighthouse-devtools-mcp-bundle.js';
|
|
34
|
+
import { agenticBrowsingConfig as agenticBrowsingConfig$1, generateReport as generateReport$1, navigation as navigation$1, snapshot as snapshot$1 } from './lighthouse-devtools-mcp-bundle.js';
|
|
35
35
|
|
|
36
36
|
function _mergeNamespaces(n, m) {
|
|
37
37
|
m.forEach(function (e) {
|
|
@@ -50666,7 +50666,7 @@ function mergeUint8Arrays(items) {
|
|
|
50666
50666
|
* Copyright 2025 Google Inc.
|
|
50667
50667
|
* SPDX-License-Identifier: Apache-2.0
|
|
50668
50668
|
*/
|
|
50669
|
-
const packageVersion = '24.
|
|
50669
|
+
const packageVersion = '24.43.0';
|
|
50670
50670
|
|
|
50671
50671
|
/**
|
|
50672
50672
|
* @license
|
|
@@ -51466,7 +51466,7 @@ const _isElementHandle = Symbol('_isElementHandle');
|
|
|
51466
51466
|
* Copyright 2022 Google Inc.
|
|
51467
51467
|
* SPDX-License-Identifier: Apache-2.0
|
|
51468
51468
|
*/
|
|
51469
|
-
function isErrorLike$
|
|
51469
|
+
function isErrorLike$2(obj) {
|
|
51470
51470
|
return (typeof obj === 'object' && obj !== null && 'name' in obj && 'message' in obj);
|
|
51471
51471
|
}
|
|
51472
51472
|
function rewriteError$1(error, message, originalMessage) {
|
|
@@ -51849,7 +51849,7 @@ class QueryHandler {
|
|
|
51849
51849
|
}
|
|
51850
51850
|
}
|
|
51851
51851
|
catch (error) {
|
|
51852
|
-
if (!isErrorLike$
|
|
51852
|
+
if (!isErrorLike$2(error)) {
|
|
51853
51853
|
throw error;
|
|
51854
51854
|
}
|
|
51855
51855
|
if (error.name === 'AbortError') {
|
|
@@ -52980,22 +52980,28 @@ class Locator extends EventEmitter {
|
|
|
52980
52980
|
return 'typeable-input';
|
|
52981
52981
|
}
|
|
52982
52982
|
if (el instanceof HTMLInputElement) {
|
|
52983
|
-
|
|
52984
|
-
'
|
|
52985
|
-
'
|
|
52986
|
-
|
|
52987
|
-
'
|
|
52988
|
-
'
|
|
52989
|
-
'
|
|
52990
|
-
'
|
|
52991
|
-
'
|
|
52992
|
-
|
|
52993
|
-
|
|
52994
|
-
|
|
52995
|
-
|
|
52996
|
-
|
|
52983
|
+
switch (el.type) {
|
|
52984
|
+
case 'checkbox':
|
|
52985
|
+
case 'radio':
|
|
52986
|
+
return 'checkable-input';
|
|
52987
|
+
case 'text':
|
|
52988
|
+
case 'url':
|
|
52989
|
+
case 'tel':
|
|
52990
|
+
case 'search':
|
|
52991
|
+
case 'password':
|
|
52992
|
+
case 'number':
|
|
52993
|
+
case 'email':
|
|
52994
|
+
return 'typeable-input';
|
|
52995
|
+
default:
|
|
52996
|
+
return 'other-input';
|
|
52997
52997
|
}
|
|
52998
52998
|
}
|
|
52999
|
+
switch (el.getAttribute('role')) {
|
|
53000
|
+
case 'checkbox':
|
|
53001
|
+
case 'radio':
|
|
53002
|
+
case 'switch':
|
|
53003
|
+
return 'checkable-input';
|
|
53004
|
+
}
|
|
52999
53005
|
if (el.isContentEditable) {
|
|
53000
53006
|
return 'contenteditable';
|
|
53001
53007
|
}
|
|
@@ -53006,43 +53012,66 @@ class Locator extends EventEmitter {
|
|
|
53006
53012
|
return from(handle.focus()).pipe(mergeMap(() => {
|
|
53007
53013
|
return from(handle.evaluate((input, newValue) => {
|
|
53008
53014
|
const element = input;
|
|
53015
|
+
const valString = String(newValue);
|
|
53009
53016
|
const currentValue = element.isContentEditable
|
|
53010
53017
|
? element.innerText
|
|
53011
53018
|
: element.value;
|
|
53012
|
-
if (currentValue ===
|
|
53019
|
+
if (currentValue === valString) {
|
|
53013
53020
|
return;
|
|
53014
53021
|
}
|
|
53015
53022
|
if (element.isContentEditable) {
|
|
53016
|
-
element.innerText =
|
|
53023
|
+
element.innerText = valString;
|
|
53017
53024
|
}
|
|
53018
53025
|
else {
|
|
53019
|
-
element.value =
|
|
53026
|
+
element.value = valString;
|
|
53020
53027
|
}
|
|
53021
53028
|
element.dispatchEvent(new Event('input', { bubbles: true }));
|
|
53022
53029
|
element.dispatchEvent(new Event('change', { bubbles: true }));
|
|
53023
53030
|
}, value));
|
|
53024
53031
|
}));
|
|
53025
53032
|
};
|
|
53033
|
+
const toggleIfNeeded = () => {
|
|
53034
|
+
return from(handle.evaluate(toggleEl => {
|
|
53035
|
+
if (toggleEl.indeterminate ||
|
|
53036
|
+
toggleEl.getAttribute('aria-checked') === 'mixed') {
|
|
53037
|
+
return 'mixed';
|
|
53038
|
+
}
|
|
53039
|
+
return (toggleEl.checked ||
|
|
53040
|
+
toggleEl.getAttribute('aria-checked') === 'true');
|
|
53041
|
+
})).pipe(mergeMap(currentState => {
|
|
53042
|
+
if (currentState === 'mixed' || currentState !== !!value) {
|
|
53043
|
+
return from(handle.click());
|
|
53044
|
+
}
|
|
53045
|
+
return of(undefined);
|
|
53046
|
+
}));
|
|
53047
|
+
};
|
|
53026
53048
|
switch (inputType) {
|
|
53049
|
+
case 'checkable-input':
|
|
53050
|
+
return toggleIfNeeded();
|
|
53027
53051
|
case 'select':
|
|
53028
53052
|
return from(handle.select(value).then(noop));
|
|
53029
53053
|
case 'contenteditable':
|
|
53030
53054
|
case 'typeable-input':
|
|
53031
|
-
if (value
|
|
53055
|
+
if (typeof value === 'string' &&
|
|
53056
|
+
value.length < typingThreshold) {
|
|
53032
53057
|
return from(handle.evaluate((input, newValue) => {
|
|
53033
53058
|
const element = input;
|
|
53059
|
+
const valString = String(newValue);
|
|
53034
53060
|
const currentValue = element.isContentEditable
|
|
53035
53061
|
? element.innerText
|
|
53036
53062
|
: input.value;
|
|
53037
|
-
if (
|
|
53038
|
-
|
|
53063
|
+
if (currentValue === valString) {
|
|
53064
|
+
return '';
|
|
53065
|
+
}
|
|
53066
|
+
if (!valString.startsWith(currentValue) ||
|
|
53067
|
+
!currentValue) {
|
|
53039
53068
|
if (element.isContentEditable) {
|
|
53040
53069
|
element.innerText = '';
|
|
53041
53070
|
}
|
|
53042
53071
|
else {
|
|
53043
53072
|
input.value = '';
|
|
53044
53073
|
}
|
|
53045
|
-
return
|
|
53074
|
+
return valString;
|
|
53046
53075
|
}
|
|
53047
53076
|
if (element.isContentEditable) {
|
|
53048
53077
|
element.innerText = '';
|
|
@@ -53052,7 +53081,7 @@ class Locator extends EventEmitter {
|
|
|
53052
53081
|
input.value = '';
|
|
53053
53082
|
input.value = currentValue;
|
|
53054
53083
|
}
|
|
53055
|
-
return
|
|
53084
|
+
return valString.substring(currentValue.length);
|
|
53056
53085
|
}, value)).pipe(mergeMap(textToType => {
|
|
53057
53086
|
if (!textToType) {
|
|
53058
53087
|
return of(undefined);
|
|
@@ -55852,7 +55881,7 @@ class WaitTask {
|
|
|
55852
55881
|
}
|
|
55853
55882
|
}
|
|
55854
55883
|
getBadError(error) {
|
|
55855
|
-
if (isErrorLike$
|
|
55884
|
+
if (isErrorLike$2(error)) {
|
|
55856
55885
|
if (error.message.includes('Execution context is not available in detached frame')) {
|
|
55857
55886
|
return new Error('Waiting failed: Frame detached');
|
|
55858
55887
|
}
|
|
@@ -56610,7 +56639,7 @@ let Binding$2 = class Binding {
|
|
|
56610
56639
|
}
|
|
56611
56640
|
}
|
|
56612
56641
|
catch (error) {
|
|
56613
|
-
if (isErrorLike$
|
|
56642
|
+
if (isErrorLike$2(error)) {
|
|
56614
56643
|
await context
|
|
56615
56644
|
.evaluate((name, seq, message, stack) => {
|
|
56616
56645
|
const error = new Error(message);
|
|
@@ -57576,7 +57605,7 @@ let EmulationManager = (() => {
|
|
|
57576
57605
|
});
|
|
57577
57606
|
}
|
|
57578
57607
|
catch (error) {
|
|
57579
|
-
if (isErrorLike$
|
|
57608
|
+
if (isErrorLike$2(error) && error.message.includes('Invalid timezone')) {
|
|
57580
57609
|
throw new Error(`Invalid timezone ID: ${timezoneState.timezoneId}`);
|
|
57581
57610
|
}
|
|
57582
57611
|
throw error;
|
|
@@ -59425,7 +59454,7 @@ let CdpFrame = (() => {
|
|
|
59425
59454
|
: null;
|
|
59426
59455
|
}
|
|
59427
59456
|
catch (error) {
|
|
59428
|
-
if (isErrorLike$
|
|
59457
|
+
if (isErrorLike$2(error)) {
|
|
59429
59458
|
return error;
|
|
59430
59459
|
}
|
|
59431
59460
|
throw error;
|
|
@@ -60162,7 +60191,7 @@ let NetworkManager$1 = class NetworkManager extends EventEmitter {
|
|
|
60162
60191
|
this.#networkEnabled = networkEnabled ?? true;
|
|
60163
60192
|
}
|
|
60164
60193
|
#canIgnoreError(error) {
|
|
60165
|
-
return (isErrorLike$
|
|
60194
|
+
return (isErrorLike$2(error) &&
|
|
60166
60195
|
(isTargetClosedError(error) ||
|
|
60167
60196
|
error.message.includes('Not supported') ||
|
|
60168
60197
|
error.message.includes("wasn't found")));
|
|
@@ -60811,7 +60840,7 @@ let FrameManager$1 = class FrameManager extends EventEmitter {
|
|
|
60811
60840
|
}
|
|
60812
60841
|
catch (error) {
|
|
60813
60842
|
this.#frameTreeHandled?.resolve();
|
|
60814
|
-
if (isErrorLike$
|
|
60843
|
+
if (isErrorLike$2(error) && isTargetClosedError(error)) {
|
|
60815
60844
|
return;
|
|
60816
60845
|
}
|
|
60817
60846
|
throw error;
|
|
@@ -62008,7 +62037,7 @@ class Tracing {
|
|
|
62008
62037
|
contentDeferred.resolve(typedArray ?? undefined);
|
|
62009
62038
|
}
|
|
62010
62039
|
catch (error) {
|
|
62011
|
-
if (isErrorLike$
|
|
62040
|
+
if (isErrorLike$2(error)) {
|
|
62012
62041
|
contentDeferred.reject(error);
|
|
62013
62042
|
}
|
|
62014
62043
|
else {
|
|
@@ -62281,7 +62310,7 @@ class CdpPage extends Page {
|
|
|
62281
62310
|
await page.setViewport(defaultViewport);
|
|
62282
62311
|
}
|
|
62283
62312
|
catch (err) {
|
|
62284
|
-
if (isErrorLike$
|
|
62313
|
+
if (isErrorLike$2(err) && isTargetClosedError(err)) {
|
|
62285
62314
|
debugError(err);
|
|
62286
62315
|
}
|
|
62287
62316
|
else {
|
|
@@ -62484,7 +62513,7 @@ class CdpPage extends Page {
|
|
|
62484
62513
|
]);
|
|
62485
62514
|
}
|
|
62486
62515
|
catch (err) {
|
|
62487
|
-
if (isErrorLike$
|
|
62516
|
+
if (isErrorLike$2(err) && isTargetClosedError(err)) {
|
|
62488
62517
|
debugError(err);
|
|
62489
62518
|
}
|
|
62490
62519
|
else {
|
|
@@ -62542,6 +62571,10 @@ class CdpPage extends Page {
|
|
|
62542
62571
|
async openDevTools() {
|
|
62543
62572
|
const pageTargetId = this.target()._targetId;
|
|
62544
62573
|
const browser = this.browser();
|
|
62574
|
+
const devtoolsTargetId = await browser._hasDevToolsTarget(this.target()._targetId);
|
|
62575
|
+
if (devtoolsTargetId) {
|
|
62576
|
+
return await browser._getDevToolsTargetPage(devtoolsTargetId);
|
|
62577
|
+
}
|
|
62545
62578
|
const devtoolsPage = await browser._createDevToolsPage(pageTargetId);
|
|
62546
62579
|
return devtoolsPage;
|
|
62547
62580
|
}
|
|
@@ -63390,7 +63423,7 @@ class CdpExtension extends Extension {
|
|
|
63390
63423
|
});
|
|
63391
63424
|
}
|
|
63392
63425
|
#canIgnoreError(error) {
|
|
63393
|
-
return (isErrorLike$
|
|
63426
|
+
return (isErrorLike$2(error) &&
|
|
63394
63427
|
(isTargetClosedError(error) ||
|
|
63395
63428
|
error.message.includes('No target with given id found')));
|
|
63396
63429
|
}
|
|
@@ -64433,14 +64466,19 @@ let TargetManager$1 = class TargetManager extends EventEmitter {
|
|
|
64433
64466
|
#discoveryFilter = [{}];
|
|
64434
64467
|
#targetsIdsForInit = new Set();
|
|
64435
64468
|
#initialAttachDone = false;
|
|
64436
|
-
#
|
|
64437
|
-
|
|
64469
|
+
#blocklist = [];
|
|
64470
|
+
#allowlist = [];
|
|
64471
|
+
constructor(connection, targetFactory, targetFilterCallback, waitForInitiallyDiscoveredTargets = true, blocklist, allowlist) {
|
|
64438
64472
|
super();
|
|
64473
|
+
if (blocklist && allowlist) {
|
|
64474
|
+
throw new Error('Cannot specify both blockList and allowList');
|
|
64475
|
+
}
|
|
64439
64476
|
this.#connection = connection;
|
|
64440
64477
|
this.#targetFilterCallback = targetFilterCallback;
|
|
64441
64478
|
this.#targetFactory = targetFactory;
|
|
64442
64479
|
this.#waitForInitiallyDiscoveredTargets = waitForInitiallyDiscoveredTargets;
|
|
64443
|
-
this.#
|
|
64480
|
+
this.#blocklist = this.#mapPatterns(blocklist);
|
|
64481
|
+
this.#allowlist = this.#mapPatterns(allowlist);
|
|
64444
64482
|
this.#connection.on('Target.targetCreated', this.#onTargetCreated);
|
|
64445
64483
|
this.#connection.on('Target.targetDestroyed', this.#onTargetDestroyed);
|
|
64446
64484
|
this.#connection.on('Target.targetInfoChanged', this.#onTargetInfoChanged);
|
|
@@ -64677,40 +64715,69 @@ let TargetManager$1 = class TargetManager extends EventEmitter {
|
|
|
64677
64715
|
this.emit("targetGone" , target);
|
|
64678
64716
|
};
|
|
64679
64717
|
#isUrlAllowed = (url) => {
|
|
64680
|
-
if (
|
|
64718
|
+
if (this.#blocklist.length === 0 && this.#allowlist.length === 0) {
|
|
64681
64719
|
return true;
|
|
64682
64720
|
}
|
|
64683
64721
|
if (!url || url === 'about:blank') {
|
|
64684
64722
|
return true;
|
|
64685
64723
|
}
|
|
64686
|
-
for (const
|
|
64687
|
-
|
|
64688
|
-
|
|
64689
|
-
if (pattern.test(url)) {
|
|
64690
|
-
return false;
|
|
64691
|
-
}
|
|
64724
|
+
for (const item of this.#blocklist) {
|
|
64725
|
+
if (item.pattern.test(url)) {
|
|
64726
|
+
return false;
|
|
64692
64727
|
}
|
|
64693
|
-
|
|
64694
|
-
|
|
64728
|
+
}
|
|
64729
|
+
if (this.#allowlist.length > 0) {
|
|
64730
|
+
for (const item of this.#allowlist) {
|
|
64731
|
+
if (item.pattern.test(url)) {
|
|
64732
|
+
return true;
|
|
64733
|
+
}
|
|
64695
64734
|
}
|
|
64735
|
+
return false;
|
|
64696
64736
|
}
|
|
64697
64737
|
return true;
|
|
64698
64738
|
};
|
|
64739
|
+
#mapPatterns(rules) {
|
|
64740
|
+
const result = [];
|
|
64741
|
+
for (const rule of rules ?? []) {
|
|
64742
|
+
result.push({ pattern: new Y(rule), rule });
|
|
64743
|
+
}
|
|
64744
|
+
return result;
|
|
64745
|
+
}
|
|
64699
64746
|
#maybeSetupNetworkConditions = async (session) => {
|
|
64700
|
-
if (
|
|
64747
|
+
if (this.#blocklist.length === 0 && this.#allowlist.length === 0) {
|
|
64701
64748
|
return;
|
|
64702
64749
|
}
|
|
64703
|
-
const matchedNetworkConditions =
|
|
64704
|
-
|
|
64705
|
-
|
|
64750
|
+
const matchedNetworkConditions = [];
|
|
64751
|
+
for (const item of this.#blocklist) {
|
|
64752
|
+
matchedNetworkConditions.push({
|
|
64753
|
+
urlPattern: item.rule,
|
|
64754
|
+
offline: true,
|
|
64706
64755
|
latency: 0,
|
|
64707
64756
|
downloadThroughput: -1,
|
|
64708
64757
|
uploadThroughput: -1,
|
|
64709
|
-
};
|
|
64710
|
-
}
|
|
64758
|
+
});
|
|
64759
|
+
}
|
|
64760
|
+
if (this.#allowlist.length > 0) {
|
|
64761
|
+
for (const item of this.#allowlist) {
|
|
64762
|
+
matchedNetworkConditions.push({
|
|
64763
|
+
urlPattern: item.rule,
|
|
64764
|
+
offline: false,
|
|
64765
|
+
latency: 0,
|
|
64766
|
+
downloadThroughput: -1,
|
|
64767
|
+
uploadThroughput: -1,
|
|
64768
|
+
});
|
|
64769
|
+
}
|
|
64770
|
+
matchedNetworkConditions.push({
|
|
64771
|
+
urlPattern: '',
|
|
64772
|
+
offline: true,
|
|
64773
|
+
latency: 0,
|
|
64774
|
+
downloadThroughput: -1,
|
|
64775
|
+
uploadThroughput: -1,
|
|
64776
|
+
});
|
|
64777
|
+
}
|
|
64711
64778
|
await session.send('Network.emulateNetworkConditionsByRule', {
|
|
64779
|
+
offline: this.#blocklist.length > 0 ? true : undefined,
|
|
64712
64780
|
matchedNetworkConditions,
|
|
64713
|
-
offline: true,
|
|
64714
64781
|
});
|
|
64715
64782
|
};
|
|
64716
64783
|
};
|
|
@@ -64725,8 +64792,15 @@ function isDevToolsPageTarget(url) {
|
|
|
64725
64792
|
}
|
|
64726
64793
|
class CdpBrowser extends Browser$1 {
|
|
64727
64794
|
protocol = 'cdp';
|
|
64728
|
-
static async _create(connection, contextIds, acceptInsecureCerts, defaultViewport, downloadBehavior, process, closeCallback, targetFilterCallback, isPageTargetCallback, waitForInitiallyDiscoveredTargets = true, networkEnabled = true, issuesEnabled = true, handleDevToolsAsPage = false,
|
|
64729
|
-
const browser = new CdpBrowser(connection, contextIds, defaultViewport, process, closeCallback, targetFilterCallback, isPageTargetCallback, waitForInitiallyDiscoveredTargets, networkEnabled, issuesEnabled, handleDevToolsAsPage,
|
|
64795
|
+
static async _create(connection, contextIds, acceptInsecureCerts, defaultViewport, downloadBehavior, process, closeCallback, targetFilterCallback, isPageTargetCallback, waitForInitiallyDiscoveredTargets = true, networkEnabled = true, issuesEnabled = true, handleDevToolsAsPage = false, blocklist, allowlist) {
|
|
64796
|
+
const browser = new CdpBrowser(connection, contextIds, defaultViewport, process, closeCallback, targetFilterCallback, isPageTargetCallback, waitForInitiallyDiscoveredTargets, networkEnabled, issuesEnabled, handleDevToolsAsPage, blocklist, allowlist);
|
|
64797
|
+
if (allowlist) {
|
|
64798
|
+
const version = await browser.#getVersion();
|
|
64799
|
+
const majorVersion = parseInt(version.product.match(/\d+/)?.[0] ?? '0', 10);
|
|
64800
|
+
if (majorVersion < 149) {
|
|
64801
|
+
throw new Error('The allowlist option require Chrome 149 or greater.');
|
|
64802
|
+
}
|
|
64803
|
+
}
|
|
64730
64804
|
if (acceptInsecureCerts) {
|
|
64731
64805
|
await connection.send('Security.setIgnoreCertificateErrors', {
|
|
64732
64806
|
ignore: true,
|
|
@@ -64748,7 +64822,7 @@ class CdpBrowser extends Browser$1 {
|
|
|
64748
64822
|
#targetManager;
|
|
64749
64823
|
#handleDevToolsAsPage = false;
|
|
64750
64824
|
#extensions = new Map();
|
|
64751
|
-
constructor(connection, contextIds, defaultViewport, process, closeCallback, targetFilterCallback, isPageTargetCallback, waitForInitiallyDiscoveredTargets = true, networkEnabled = true, issuesEnabled = true, handleDevToolsAsPage = false,
|
|
64825
|
+
constructor(connection, contextIds, defaultViewport, process, closeCallback, targetFilterCallback, isPageTargetCallback, waitForInitiallyDiscoveredTargets = true, networkEnabled = true, issuesEnabled = true, handleDevToolsAsPage = false, blocklist, allowlist) {
|
|
64752
64826
|
super();
|
|
64753
64827
|
this.#networkEnabled = networkEnabled;
|
|
64754
64828
|
this.#issuesEnabled = issuesEnabled;
|
|
@@ -64763,7 +64837,7 @@ class CdpBrowser extends Browser$1 {
|
|
|
64763
64837
|
});
|
|
64764
64838
|
this.#handleDevToolsAsPage = handleDevToolsAsPage;
|
|
64765
64839
|
this.#setIsPageTargetCallback(isPageTargetCallback);
|
|
64766
|
-
this.#targetManager = new TargetManager$1(connection, this.#createTarget, this.#targetFilterCallback, waitForInitiallyDiscoveredTargets,
|
|
64840
|
+
this.#targetManager = new TargetManager$1(connection, this.#createTarget, this.#targetFilterCallback, waitForInitiallyDiscoveredTargets, blocklist, allowlist);
|
|
64767
64841
|
this.#defaultContext = new CdpBrowserContext(this.#connection, this);
|
|
64768
64842
|
for (const contextId of contextIds) {
|
|
64769
64843
|
this.#contexts.set(contextId, new CdpBrowserContext(this.#connection, this, contextId));
|
|
@@ -64931,20 +65005,23 @@ class CdpBrowser extends Browser$1 {
|
|
|
64931
65005
|
const openDevToolsResponse = await this.#connection.send('Target.openDevTools', {
|
|
64932
65006
|
targetId: pageTargetId,
|
|
64933
65007
|
});
|
|
65008
|
+
return await this._getDevToolsTargetPage(openDevToolsResponse.targetId);
|
|
65009
|
+
}
|
|
65010
|
+
async _getDevToolsTargetPage(devtoolsTargetId) {
|
|
64934
65011
|
const target = (await this.waitForTarget(t => {
|
|
64935
|
-
return t._targetId ===
|
|
65012
|
+
return t._targetId === devtoolsTargetId;
|
|
64936
65013
|
}));
|
|
64937
65014
|
if (!target) {
|
|
64938
|
-
throw new Error(`Missing target for DevTools page (id = ${
|
|
65015
|
+
throw new Error(`Missing target for DevTools page (id = ${devtoolsTargetId})`);
|
|
64939
65016
|
}
|
|
64940
65017
|
const initialized = (await target._initializedDeferred.valueOrThrow()) ===
|
|
64941
65018
|
InitializationStatus.SUCCESS;
|
|
64942
65019
|
if (!initialized) {
|
|
64943
|
-
throw new Error(`Failed to create target for DevTools page (id = ${
|
|
65020
|
+
throw new Error(`Failed to create target for DevTools page (id = ${devtoolsTargetId})`);
|
|
64944
65021
|
}
|
|
64945
65022
|
const page = await target.page();
|
|
64946
65023
|
if (!page) {
|
|
64947
|
-
throw new Error(`Failed to create a DevTools Page for target (id = ${
|
|
65024
|
+
throw new Error(`Failed to create a DevTools Page for target (id = ${devtoolsTargetId})`);
|
|
64948
65025
|
}
|
|
64949
65026
|
return page;
|
|
64950
65027
|
}
|
|
@@ -65079,13 +65156,13 @@ class CdpBrowser extends Browser$1 {
|
|
|
65079
65156
|
* SPDX-License-Identifier: Apache-2.0
|
|
65080
65157
|
*/
|
|
65081
65158
|
async function _connectToCdpBrowser(connectionTransport, url, options) {
|
|
65082
|
-
const { acceptInsecureCerts = false, networkEnabled = true, issuesEnabled = true, defaultViewport = DEFAULT_VIEWPORT, downloadBehavior, targetFilter, _isPageTarget: isPageTarget, slowMo = 0, protocolTimeout, handleDevToolsAsPage, idGenerator = createIncrementalIdGenerator(),
|
|
65159
|
+
const { acceptInsecureCerts = false, networkEnabled = true, issuesEnabled = true, defaultViewport = DEFAULT_VIEWPORT, downloadBehavior, targetFilter, _isPageTarget: isPageTarget, slowMo = 0, protocolTimeout, handleDevToolsAsPage, idGenerator = createIncrementalIdGenerator(), blocklist, allowlist, } = options;
|
|
65083
65160
|
const connection = new Connection(url, connectionTransport, slowMo, protocolTimeout,
|
|
65084
65161
|
false, idGenerator);
|
|
65085
65162
|
const { browserContextIds } = await connection.send('Target.getBrowserContexts');
|
|
65086
65163
|
const browser = await CdpBrowser._create(connection, browserContextIds, acceptInsecureCerts, defaultViewport, downloadBehavior, undefined, () => {
|
|
65087
65164
|
return connection.send('Browser.close').catch(debugError);
|
|
65088
|
-
}, targetFilter, isPageTarget, undefined, networkEnabled, issuesEnabled, handleDevToolsAsPage,
|
|
65165
|
+
}, targetFilter, isPageTarget, undefined, networkEnabled, issuesEnabled, handleDevToolsAsPage, blocklist, allowlist);
|
|
65089
65166
|
return browser;
|
|
65090
65167
|
}
|
|
65091
65168
|
|
|
@@ -66813,6 +66890,9 @@ const getWebSocketTransportClass = async () => {
|
|
|
66813
66890
|
.BrowserWebSocketTransport;
|
|
66814
66891
|
};
|
|
66815
66892
|
async function _connectToBrowser(options) {
|
|
66893
|
+
if (options.blocklist && options.allowlist) {
|
|
66894
|
+
throw new Error('Cannot specify both blocklist and allowlist');
|
|
66895
|
+
}
|
|
66816
66896
|
const { connectionTransport, endpointUrl } = await getConnectionTransport(options);
|
|
66817
66897
|
if (options.protocol === 'webDriverBiDi') {
|
|
66818
66898
|
const bidiBrowser = await _connectToBiDiBrowser(connectionTransport, endpointUrl, options);
|
|
@@ -66906,7 +66986,7 @@ async function getWSEndpoint(browserURL) {
|
|
|
66906
66986
|
return data.webSocketDebuggerUrl;
|
|
66907
66987
|
}
|
|
66908
66988
|
catch (error) {
|
|
66909
|
-
if (isErrorLike$
|
|
66989
|
+
if (isErrorLike$2(error)) {
|
|
66910
66990
|
error.message =
|
|
66911
66991
|
`Failed to fetch browser webSocket URL from ${endpointURL}: ` +
|
|
66912
66992
|
error.message;
|
|
@@ -66951,9 +67031,9 @@ class Puppeteer {
|
|
|
66951
67031
|
* SPDX-License-Identifier: Apache-2.0
|
|
66952
67032
|
*/
|
|
66953
67033
|
const PUPPETEER_REVISIONS = Object.freeze({
|
|
66954
|
-
chrome: '
|
|
66955
|
-
'chrome-headless-shell': '
|
|
66956
|
-
firefox: '
|
|
67034
|
+
chrome: '148.0.7778.97',
|
|
67035
|
+
'chrome-headless-shell': '148.0.7778.97',
|
|
67036
|
+
firefox: 'stable_150.0.1',
|
|
66957
67037
|
});
|
|
66958
67038
|
|
|
66959
67039
|
/**
|
|
@@ -95003,7 +95083,7 @@ class Process {
|
|
|
95003
95083
|
}
|
|
95004
95084
|
}
|
|
95005
95085
|
catch (error) {
|
|
95006
|
-
throw new Error(`${PROCESS_ERROR_EXPLANATION}\nError cause: ${isErrorLike(error) ? error.stack : error}`);
|
|
95086
|
+
throw new Error(`${PROCESS_ERROR_EXPLANATION}\nError cause: ${isErrorLike$1(error) ? error.stack : error}`);
|
|
95007
95087
|
}
|
|
95008
95088
|
}
|
|
95009
95089
|
this.#clearListeners();
|
|
@@ -95099,11 +95179,11 @@ function pidExists(pid) {
|
|
|
95099
95179
|
throw error;
|
|
95100
95180
|
}
|
|
95101
95181
|
}
|
|
95102
|
-
function isErrorLike(obj) {
|
|
95182
|
+
function isErrorLike$1(obj) {
|
|
95103
95183
|
return (typeof obj === 'object' && obj !== null && 'name' in obj && 'message' in obj);
|
|
95104
95184
|
}
|
|
95105
95185
|
function isErrnoException(obj) {
|
|
95106
|
-
return (isErrorLike(obj) &&
|
|
95186
|
+
return (isErrorLike$1(obj) &&
|
|
95107
95187
|
('errno' in obj || 'code' in obj || 'path' in obj || 'syscall' in obj));
|
|
95108
95188
|
}
|
|
95109
95189
|
class TimeoutError extends Error {
|
|
@@ -95465,12 +95545,12 @@ function requirePermessageDeflate () {
|
|
|
95465
95545
|
const kError = Symbol('error');
|
|
95466
95546
|
let zlibLimiter;
|
|
95467
95547
|
class PerMessageDeflate {
|
|
95468
|
-
constructor(options
|
|
95469
|
-
this._maxPayload = maxPayload | 0;
|
|
95548
|
+
constructor(options) {
|
|
95470
95549
|
this._options = options || {};
|
|
95471
95550
|
this._threshold =
|
|
95472
95551
|
this._options.threshold !== undefined ? this._options.threshold : 1024;
|
|
95473
|
-
this.
|
|
95552
|
+
this._maxPayload = this._options.maxPayload | 0;
|
|
95553
|
+
this._isServer = !!this._options.isServer;
|
|
95474
95554
|
this._deflate = null;
|
|
95475
95555
|
this._inflate = null;
|
|
95476
95556
|
this.params = null;
|
|
@@ -97458,7 +97538,7 @@ function requireWebsocket () {
|
|
|
97458
97538
|
} else {
|
|
97459
97539
|
try {
|
|
97460
97540
|
parsedUrl = new URL(address);
|
|
97461
|
-
} catch
|
|
97541
|
+
} catch {
|
|
97462
97542
|
throw new SyntaxError(`Invalid URL: ${address}`);
|
|
97463
97543
|
}
|
|
97464
97544
|
}
|
|
@@ -97511,11 +97591,11 @@ function requireWebsocket () {
|
|
|
97511
97591
|
opts.path = parsedUrl.pathname + parsedUrl.search;
|
|
97512
97592
|
opts.timeout = opts.handshakeTimeout;
|
|
97513
97593
|
if (opts.perMessageDeflate) {
|
|
97514
|
-
perMessageDeflate = new PerMessageDeflate(
|
|
97515
|
-
opts.perMessageDeflate
|
|
97516
|
-
false,
|
|
97517
|
-
opts.maxPayload
|
|
97518
|
-
);
|
|
97594
|
+
perMessageDeflate = new PerMessageDeflate({
|
|
97595
|
+
...opts.perMessageDeflate,
|
|
97596
|
+
isServer: false,
|
|
97597
|
+
maxPayload: opts.maxPayload
|
|
97598
|
+
});
|
|
97519
97599
|
opts.headers['Sec-WebSocket-Extensions'] = format({
|
|
97520
97600
|
[PerMessageDeflate.extensionName]: perMessageDeflate.offer()
|
|
97521
97601
|
});
|
|
@@ -97978,13 +98058,14 @@ function requireStream () {
|
|
|
97978
98058
|
|
|
97979
98059
|
requireStream();
|
|
97980
98060
|
|
|
98061
|
+
requireExtension();
|
|
98062
|
+
|
|
98063
|
+
requirePermessageDeflate();
|
|
98064
|
+
|
|
97981
98065
|
requireReceiver();
|
|
97982
98066
|
|
|
97983
98067
|
requireSender();
|
|
97984
98068
|
|
|
97985
|
-
var websocketExports = requireWebsocket();
|
|
97986
|
-
var WebSocket$1 = /*@__PURE__*/getDefaultExportFromCjs(websocketExports);
|
|
97987
|
-
|
|
97988
98069
|
var subprotocol;
|
|
97989
98070
|
var hasRequiredSubprotocol;
|
|
97990
98071
|
|
|
@@ -98035,6 +98116,11 @@ function requireSubprotocol () {
|
|
|
98035
98116
|
return subprotocol;
|
|
98036
98117
|
}
|
|
98037
98118
|
|
|
98119
|
+
requireSubprotocol();
|
|
98120
|
+
|
|
98121
|
+
var websocketExports = requireWebsocket();
|
|
98122
|
+
var WebSocket$1 = /*@__PURE__*/getDefaultExportFromCjs(websocketExports);
|
|
98123
|
+
|
|
98038
98124
|
var websocketServer;
|
|
98039
98125
|
var hasRequiredWebsocketServer;
|
|
98040
98126
|
|
|
@@ -98221,11 +98307,11 @@ function requireWebsocketServer () {
|
|
|
98221
98307
|
this.options.perMessageDeflate &&
|
|
98222
98308
|
secWebSocketExtensions !== undefined
|
|
98223
98309
|
) {
|
|
98224
|
-
const perMessageDeflate = new PerMessageDeflate(
|
|
98225
|
-
this.options.perMessageDeflate,
|
|
98226
|
-
true,
|
|
98227
|
-
this.options.maxPayload
|
|
98228
|
-
);
|
|
98310
|
+
const perMessageDeflate = new PerMessageDeflate({
|
|
98311
|
+
...this.options.perMessageDeflate,
|
|
98312
|
+
isServer: true,
|
|
98313
|
+
maxPayload: this.options.maxPayload
|
|
98314
|
+
});
|
|
98229
98315
|
try {
|
|
98230
98316
|
const offers = extension.parse(secWebSocketExtensions);
|
|
98231
98317
|
if (offers[PerMessageDeflate.extensionName]) {
|
|
@@ -98509,7 +98595,10 @@ class BrowserLauncher {
|
|
|
98509
98595
|
return this.#browser;
|
|
98510
98596
|
}
|
|
98511
98597
|
async launch(options = {}) {
|
|
98512
|
-
|
|
98598
|
+
if (options.blocklist && options.allowlist) {
|
|
98599
|
+
throw new Error('Cannot specify both blocklist and allowlist');
|
|
98600
|
+
}
|
|
98601
|
+
const { dumpio = false, enableExtensions = false, env = process.env, handleSIGINT = true, handleSIGTERM = true, handleSIGHUP = true, acceptInsecureCerts = false, networkEnabled = true, issuesEnabled = true, defaultViewport = DEFAULT_VIEWPORT, downloadBehavior, slowMo = 0, timeout = 30000, waitForInitialPage = true, protocolTimeout, handleDevToolsAsPage, idGenerator = createIncrementalIdGenerator(), blocklist, allowlist, } = options;
|
|
98513
98602
|
let { protocol } = options;
|
|
98514
98603
|
if (this.#browser === 'firefox' && protocol === undefined) {
|
|
98515
98604
|
protocol = 'webDriverBiDi';
|
|
@@ -98595,7 +98684,7 @@ class BrowserLauncher {
|
|
|
98595
98684
|
});
|
|
98596
98685
|
}
|
|
98597
98686
|
else {
|
|
98598
|
-
browser = await CdpBrowser._create(cdpConnection, [], acceptInsecureCerts, defaultViewport, downloadBehavior, browserProcess.nodeProcess, browserCloseCallback, options.targetFilter, undefined, undefined, networkEnabled, issuesEnabled, handleDevToolsAsPage,
|
|
98687
|
+
browser = await CdpBrowser._create(cdpConnection, [], acceptInsecureCerts, defaultViewport, downloadBehavior, browserProcess.nodeProcess, browserCloseCallback, options.targetFilter, undefined, undefined, networkEnabled, issuesEnabled, handleDevToolsAsPage, blocklist, allowlist);
|
|
98599
98688
|
}
|
|
98600
98689
|
}
|
|
98601
98690
|
}
|
|
@@ -98887,6 +98976,7 @@ class ChromeLauncher extends BrowserLauncher {
|
|
|
98887
98976
|
'AcceptCHFrame',
|
|
98888
98977
|
'MediaRouter',
|
|
98889
98978
|
'OptimizationHints',
|
|
98979
|
+
'WebUIReloadButton',
|
|
98890
98980
|
...(turnOnExperimentalFeaturesForTesting
|
|
98891
98981
|
? []
|
|
98892
98982
|
: [
|
|
@@ -99567,9 +99657,7 @@ var ExperimentName;
|
|
|
99567
99657
|
ExperimentName["CAPTURE_NODE_CREATION_STACKS"] = "capture-node-creation-stacks";
|
|
99568
99658
|
ExperimentName["LIVE_HEAP_PROFILE"] = "live-heap-profile";
|
|
99569
99659
|
ExperimentName["PROTOCOL_MONITOR"] = "protocol-monitor";
|
|
99570
|
-
ExperimentName["SAMPLING_HEAP_PROFILER_TIMELINE"] = "sampling-heap-profiler-timeline";
|
|
99571
99660
|
ExperimentName["TIMELINE_INVALIDATION_TRACKING"] = "timeline-invalidation-tracking";
|
|
99572
|
-
ExperimentName["APCA"] = "apca";
|
|
99573
99661
|
ExperimentName["FONT_EDITOR"] = "font-editor";
|
|
99574
99662
|
ExperimentName["INSTRUMENTATION_BREAKPOINTS"] = "instrumentation-breakpoints";
|
|
99575
99663
|
ExperimentName["USE_SOURCE_MAP_SCOPES"] = "use-source-map-scopes";
|
|
@@ -99634,8 +99722,13 @@ function decode$1(input) {
|
|
|
99634
99722
|
}
|
|
99635
99723
|
return bytes;
|
|
99636
99724
|
}
|
|
99637
|
-
function encode(input) {
|
|
99638
|
-
|
|
99725
|
+
async function encode(input) {
|
|
99726
|
+
if (typeof FileReader === 'undefined') {
|
|
99727
|
+
const blob = new Blob([input]);
|
|
99728
|
+
const arrayBuffer = await blob.arrayBuffer();
|
|
99729
|
+
return globalThis.Buffer.from(arrayBuffer).toString('base64');
|
|
99730
|
+
}
|
|
99731
|
+
return await new Promise((resolve, reject) => {
|
|
99639
99732
|
const reader = new FileReader();
|
|
99640
99733
|
reader.onerror = () => reject(new Error('failed to convert to base64: internal error'));
|
|
99641
99734
|
reader.onload = () => {
|
|
@@ -99818,8 +99911,8 @@ const EmptyUrlString = '';
|
|
|
99818
99911
|
|
|
99819
99912
|
// Copyright 2025 The Chromium Authors
|
|
99820
99913
|
class WebWorkerScope {
|
|
99821
|
-
postMessage(message) {
|
|
99822
|
-
self.postMessage(message);
|
|
99914
|
+
postMessage(message, transfer) {
|
|
99915
|
+
self.postMessage(message, transfer);
|
|
99823
99916
|
}
|
|
99824
99917
|
set onmessage(listener) {
|
|
99825
99918
|
self.addEventListener('message', listener);
|
|
@@ -99876,6 +99969,15 @@ const HOST_RUNTIME$2 = {
|
|
|
99876
99969
|
return new WebWorker(url);
|
|
99877
99970
|
},
|
|
99878
99971
|
workerScope: new WebWorkerScope(),
|
|
99972
|
+
getOnLine() {
|
|
99973
|
+
return navigator.onLine;
|
|
99974
|
+
},
|
|
99975
|
+
getUserAgent() {
|
|
99976
|
+
return navigator.userAgent;
|
|
99977
|
+
},
|
|
99978
|
+
getLocalStorage() {
|
|
99979
|
+
return 'localStorage' in globalThis ? globalThis.localStorage : undefined;
|
|
99980
|
+
},
|
|
99879
99981
|
};
|
|
99880
99982
|
|
|
99881
99983
|
var HostRuntime$1 = /*#__PURE__*/Object.freeze({
|
|
@@ -99892,8 +99994,8 @@ var browser = /*#__PURE__*/Object.freeze({
|
|
|
99892
99994
|
|
|
99893
99995
|
// Copyright 2025 The Chromium Authors
|
|
99894
99996
|
class NodeWorkerScope {
|
|
99895
|
-
postMessage(message) {
|
|
99896
|
-
WorkerThreads.parentPort?.postMessage(message);
|
|
99997
|
+
postMessage(message, transfer) {
|
|
99998
|
+
WorkerThreads.parentPort?.postMessage(message, transfer);
|
|
99897
99999
|
}
|
|
99898
100000
|
set onmessage(listener) {
|
|
99899
100001
|
WorkerThreads.parentPort?.addEventListener('message', msg => {
|
|
@@ -99958,6 +100060,15 @@ const HOST_RUNTIME$1 = {
|
|
|
99958
100060
|
return new NodeWorker(url);
|
|
99959
100061
|
},
|
|
99960
100062
|
workerScope: new NodeWorkerScope(),
|
|
100063
|
+
getOnLine() {
|
|
100064
|
+
return true;
|
|
100065
|
+
},
|
|
100066
|
+
getUserAgent() {
|
|
100067
|
+
return 'Node.js';
|
|
100068
|
+
},
|
|
100069
|
+
getLocalStorage() {
|
|
100070
|
+
return undefined;
|
|
100071
|
+
},
|
|
99961
100072
|
};
|
|
99962
100073
|
|
|
99963
100074
|
var HostRuntime = /*#__PURE__*/Object.freeze({
|
|
@@ -102941,6 +103052,9 @@ function eventMixin(base) {
|
|
|
102941
103052
|
}
|
|
102942
103053
|
dispatchEventToListeners(eventType, ...eventData) {
|
|
102943
103054
|
this.__events.dispatchEventToListeners(eventType, ...eventData);
|
|
103055
|
+
if (typeof this.dispatchDOMEvent === 'function') {
|
|
103056
|
+
this.dispatchDOMEvent(new CustomEvent(eventType, { detail: eventData[0] }));
|
|
103057
|
+
}
|
|
102944
103058
|
}
|
|
102945
103059
|
};
|
|
102946
103060
|
}
|
|
@@ -104955,13 +105069,13 @@ function getAllSupportedDevToolsLocales() {
|
|
|
104955
105069
|
return [...i18nInstance.supportedLocales];
|
|
104956
105070
|
}
|
|
104957
105071
|
function getLocaleFetchUrl(locale, location) {
|
|
104958
|
-
undefined(location);
|
|
104959
105072
|
const path = LOCAL_FETCH_PATTERN.replace('@LOCALE@', locale);
|
|
104960
105073
|
return new URL(path, import.meta.url).toString();
|
|
104961
105074
|
}
|
|
104962
|
-
async function fetchAndRegisterLocaleData(locale,
|
|
104963
|
-
|
|
104964
|
-
const
|
|
105075
|
+
async function fetchAndRegisterLocaleData(locale,
|
|
105076
|
+
location = globalThis.location?.toString() ?? '') {
|
|
105077
|
+
const localeDataTextPromise = fetch(getLocaleFetchUrl(locale)).then(result => result.json());
|
|
105078
|
+
const timeoutPromise = new Promise((_, reject) => globalThis.setTimeout(() => reject(new Error('timed out fetching locale')), 5000));
|
|
104965
105079
|
const localeData = await Promise.race([timeoutPromise, localeDataTextPromise]);
|
|
104966
105080
|
i18nInstance.registerLocaleData(locale, localeData);
|
|
104967
105081
|
}
|
|
@@ -106837,7 +106951,7 @@ class VersionController {
|
|
|
106837
106951
|
static GLOBAL_VERSION_SETTING_NAME = 'inspectorVersion';
|
|
106838
106952
|
static SYNCED_VERSION_SETTING_NAME = 'syncedInspectorVersion';
|
|
106839
106953
|
static LOCAL_VERSION_SETTING_NAME = 'localInspectorVersion';
|
|
106840
|
-
static CURRENT_VERSION =
|
|
106954
|
+
static CURRENT_VERSION = 44;
|
|
106841
106955
|
#settings;
|
|
106842
106956
|
#globalVersionSetting;
|
|
106843
106957
|
#syncedVersionSetting;
|
|
@@ -107452,6 +107566,20 @@ class VersionController {
|
|
|
107452
107566
|
}
|
|
107453
107567
|
}
|
|
107454
107568
|
}
|
|
107569
|
+
updateVersionFrom43To44() {
|
|
107570
|
+
const apcaExperimentEnabled = experiments.getValueFromStorage('apca');
|
|
107571
|
+
if (apcaExperimentEnabled !== undefined) {
|
|
107572
|
+
if (this.#settings.syncedStorage.has('apca')) {
|
|
107573
|
+
return;
|
|
107574
|
+
}
|
|
107575
|
+
try {
|
|
107576
|
+
const apcaSetting = this.#settings.moduleSetting('apca');
|
|
107577
|
+
apcaSetting.set(apcaExperimentEnabled);
|
|
107578
|
+
}
|
|
107579
|
+
catch {
|
|
107580
|
+
}
|
|
107581
|
+
}
|
|
107582
|
+
}
|
|
107455
107583
|
migrateSettingsFromLocalStorage() {
|
|
107456
107584
|
const localSettings = new Set([
|
|
107457
107585
|
'advancedSearchConfig',
|
|
@@ -108590,6 +108718,7 @@ const UIStrings$19 = {
|
|
|
108590
108718
|
enableCssSourceMaps: 'Enable CSS source maps',
|
|
108591
108719
|
disableCssSourceMaps: 'Disable CSS source maps',
|
|
108592
108720
|
logXmlhttprequests: 'Log XMLHttpRequests',
|
|
108721
|
+
apca: 'Advanced Perceptual Contrast Algorithm (APCA) replacing previous contrast ratio and AA/AAA guidelines',
|
|
108593
108722
|
};
|
|
108594
108723
|
const str_$18 = registerUIStrings('core/sdk/sdk-meta.ts', UIStrings$19);
|
|
108595
108724
|
const i18nLazyString$f = getLazilyComputedLocalizedString.bind(undefined, str_$18);
|
|
@@ -108699,6 +108828,14 @@ registerSettingExtension({
|
|
|
108699
108828
|
],
|
|
108700
108829
|
defaultValue: false,
|
|
108701
108830
|
});
|
|
108831
|
+
registerSettingExtension({
|
|
108832
|
+
category: "ELEMENTS" ,
|
|
108833
|
+
storageType: "Synced" ,
|
|
108834
|
+
title: i18nLazyString$f(UIStrings$19.apca),
|
|
108835
|
+
settingName: 'apca',
|
|
108836
|
+
settingType: "boolean" ,
|
|
108837
|
+
defaultValue: false,
|
|
108838
|
+
});
|
|
108702
108839
|
registerSettingExtension({
|
|
108703
108840
|
category: "GRID" ,
|
|
108704
108841
|
storageType: "Synced" ,
|
|
@@ -110385,7 +110522,7 @@ function registerCommands(inspectorBackend) {
|
|
|
110385
110522
|
inspectorBackend.registerEnum("Audits.SRIMessageSignatureError", { MissingSignatureHeader: "MissingSignatureHeader", MissingSignatureInputHeader: "MissingSignatureInputHeader", InvalidSignatureHeader: "InvalidSignatureHeader", InvalidSignatureInputHeader: "InvalidSignatureInputHeader", SignatureHeaderValueIsNotByteSequence: "SignatureHeaderValueIsNotByteSequence", SignatureHeaderValueIsParameterized: "SignatureHeaderValueIsParameterized", SignatureHeaderValueIsIncorrectLength: "SignatureHeaderValueIsIncorrectLength", SignatureInputHeaderMissingLabel: "SignatureInputHeaderMissingLabel", SignatureInputHeaderValueNotInnerList: "SignatureInputHeaderValueNotInnerList", SignatureInputHeaderValueMissingComponents: "SignatureInputHeaderValueMissingComponents", SignatureInputHeaderInvalidComponentType: "SignatureInputHeaderInvalidComponentType", SignatureInputHeaderInvalidComponentName: "SignatureInputHeaderInvalidComponentName", SignatureInputHeaderInvalidHeaderComponentParameter: "SignatureInputHeaderInvalidHeaderComponentParameter", SignatureInputHeaderInvalidDerivedComponentParameter: "SignatureInputHeaderInvalidDerivedComponentParameter", SignatureInputHeaderKeyIdLength: "SignatureInputHeaderKeyIdLength", SignatureInputHeaderInvalidParameter: "SignatureInputHeaderInvalidParameter", SignatureInputHeaderMissingRequiredParameters: "SignatureInputHeaderMissingRequiredParameters", ValidationFailedSignatureExpired: "ValidationFailedSignatureExpired", ValidationFailedInvalidLength: "ValidationFailedInvalidLength", ValidationFailedSignatureMismatch: "ValidationFailedSignatureMismatch", ValidationFailedIntegrityMismatch: "ValidationFailedIntegrityMismatch" });
|
|
110386
110523
|
inspectorBackend.registerEnum("Audits.UnencodedDigestError", { MalformedDictionary: "MalformedDictionary", UnknownAlgorithm: "UnknownAlgorithm", IncorrectDigestType: "IncorrectDigestType", IncorrectDigestLength: "IncorrectDigestLength" });
|
|
110387
110524
|
inspectorBackend.registerEnum("Audits.ConnectionAllowlistError", { InvalidHeader: "InvalidHeader", MoreThanOneList: "MoreThanOneList", ItemNotInnerList: "ItemNotInnerList", InvalidAllowlistItemType: "InvalidAllowlistItemType", ReportingEndpointNotToken: "ReportingEndpointNotToken", InvalidUrlPattern: "InvalidUrlPattern" });
|
|
110388
|
-
inspectorBackend.registerEnum("Audits.GenericIssueErrorType", { FormLabelForNameError: "FormLabelForNameError", FormDuplicateIdForInputError: "FormDuplicateIdForInputError", FormInputWithNoLabelError: "FormInputWithNoLabelError", FormAutocompleteAttributeEmptyError: "FormAutocompleteAttributeEmptyError", FormEmptyIdAndNameAttributesForInputError: "FormEmptyIdAndNameAttributesForInputError", FormAriaLabelledByToNonExistingIdError: "FormAriaLabelledByToNonExistingIdError", FormInputAssignedAutocompleteValueToIdOrNameAttributeError: "FormInputAssignedAutocompleteValueToIdOrNameAttributeError", FormLabelHasNeitherForNorNestedInputError: "FormLabelHasNeitherForNorNestedInputError", FormLabelForMatchesNonExistingIdError: "FormLabelForMatchesNonExistingIdError", FormInputHasWrongButWellIntendedAutocompleteValueError: "FormInputHasWrongButWellIntendedAutocompleteValueError", ResponseWasBlockedByORB: "ResponseWasBlockedByORB", NavigationEntryMarkedSkippable: "NavigationEntryMarkedSkippable", AutofillAndManualTextPolicyControlledFeaturesInfo: "AutofillAndManualTextPolicyControlledFeaturesInfo", AutofillPolicyControlledFeatureInfo: "AutofillPolicyControlledFeatureInfo", ManualTextPolicyControlledFeatureInfo: "ManualTextPolicyControlledFeatureInfo", FormModelContextParameterMissingTitleAndDescription: "FormModelContextParameterMissingTitleAndDescription" });
|
|
110525
|
+
inspectorBackend.registerEnum("Audits.GenericIssueErrorType", { FormLabelForNameError: "FormLabelForNameError", FormDuplicateIdForInputError: "FormDuplicateIdForInputError", FormInputWithNoLabelError: "FormInputWithNoLabelError", FormAutocompleteAttributeEmptyError: "FormAutocompleteAttributeEmptyError", FormEmptyIdAndNameAttributesForInputError: "FormEmptyIdAndNameAttributesForInputError", FormAriaLabelledByToNonExistingIdError: "FormAriaLabelledByToNonExistingIdError", FormInputAssignedAutocompleteValueToIdOrNameAttributeError: "FormInputAssignedAutocompleteValueToIdOrNameAttributeError", FormLabelHasNeitherForNorNestedInputError: "FormLabelHasNeitherForNorNestedInputError", FormLabelForMatchesNonExistingIdError: "FormLabelForMatchesNonExistingIdError", FormInputHasWrongButWellIntendedAutocompleteValueError: "FormInputHasWrongButWellIntendedAutocompleteValueError", ResponseWasBlockedByORB: "ResponseWasBlockedByORB", NavigationEntryMarkedSkippable: "NavigationEntryMarkedSkippable", AutofillAndManualTextPolicyControlledFeaturesInfo: "AutofillAndManualTextPolicyControlledFeaturesInfo", AutofillPolicyControlledFeatureInfo: "AutofillPolicyControlledFeatureInfo", ManualTextPolicyControlledFeatureInfo: "ManualTextPolicyControlledFeatureInfo", FormModelContextParameterMissingTitleAndDescription: "FormModelContextParameterMissingTitleAndDescription", FormModelContextMissingToolName: "FormModelContextMissingToolName", FormModelContextMissingToolDescription: "FormModelContextMissingToolDescription", FormModelContextRequiredParameterMissingName: "FormModelContextRequiredParameterMissingName", FormModelContextParameterMissingName: "FormModelContextParameterMissingName" });
|
|
110389
110526
|
inspectorBackend.registerEnum("Audits.ClientHintIssueReason", { MetaTagAllowListInvalidOrigin: "MetaTagAllowListInvalidOrigin", MetaTagModifiedHTML: "MetaTagModifiedHTML" });
|
|
110390
110527
|
inspectorBackend.registerEnum("Audits.FederatedAuthRequestIssueReason", { ShouldEmbargo: "ShouldEmbargo", TooManyRequests: "TooManyRequests", WellKnownHttpNotFound: "WellKnownHttpNotFound", WellKnownNoResponse: "WellKnownNoResponse", WellKnownInvalidResponse: "WellKnownInvalidResponse", WellKnownListEmpty: "WellKnownListEmpty", WellKnownInvalidContentType: "WellKnownInvalidContentType", ConfigNotInWellKnown: "ConfigNotInWellKnown", WellKnownTooBig: "WellKnownTooBig", ConfigHttpNotFound: "ConfigHttpNotFound", ConfigNoResponse: "ConfigNoResponse", ConfigInvalidResponse: "ConfigInvalidResponse", ConfigInvalidContentType: "ConfigInvalidContentType", IdpNotPotentiallyTrustworthy: "IdpNotPotentiallyTrustworthy", DisabledInSettings: "DisabledInSettings", DisabledInFlags: "DisabledInFlags", ErrorFetchingSignin: "ErrorFetchingSignin", InvalidSigninResponse: "InvalidSigninResponse", AccountsHttpNotFound: "AccountsHttpNotFound", AccountsNoResponse: "AccountsNoResponse", AccountsInvalidResponse: "AccountsInvalidResponse", AccountsListEmpty: "AccountsListEmpty", AccountsInvalidContentType: "AccountsInvalidContentType", IdTokenHttpNotFound: "IdTokenHttpNotFound", IdTokenNoResponse: "IdTokenNoResponse", IdTokenInvalidResponse: "IdTokenInvalidResponse", IdTokenIdpErrorResponse: "IdTokenIdpErrorResponse", IdTokenCrossSiteIdpErrorResponse: "IdTokenCrossSiteIdpErrorResponse", IdTokenInvalidRequest: "IdTokenInvalidRequest", IdTokenInvalidContentType: "IdTokenInvalidContentType", ErrorIdToken: "ErrorIdToken", Canceled: "Canceled", RpPageNotVisible: "RpPageNotVisible", SilentMediationFailure: "SilentMediationFailure", NotSignedInWithIdp: "NotSignedInWithIdp", MissingTransientUserActivation: "MissingTransientUserActivation", ReplacedByActiveMode: "ReplacedByActiveMode", RelyingPartyOriginIsOpaque: "RelyingPartyOriginIsOpaque", TypeNotMatching: "TypeNotMatching", UiDismissedNoEmbargo: "UiDismissedNoEmbargo", CorsError: "CorsError", SuppressedBySegmentationPlatform: "SuppressedBySegmentationPlatform" });
|
|
110391
110528
|
inspectorBackend.registerEnum("Audits.FederatedAuthUserInfoRequestIssueReason", { NotSameOrigin: "NotSameOrigin", NotIframe: "NotIframe", NotPotentiallyTrustworthy: "NotPotentiallyTrustworthy", NoAPIPermission: "NoApiPermission", NotSignedInWithIdp: "NotSignedInWithIdp", NoAccountSharingPermission: "NoAccountSharingPermission", InvalidConfigOrWellKnown: "InvalidConfigOrWellKnown", InvalidAccountsResponse: "InvalidAccountsResponse", NoReturningUserFromFetchedAccounts: "NoReturningUserFromFetchedAccounts" });
|
|
@@ -110633,7 +110770,7 @@ function registerCommands(inspectorBackend) {
|
|
|
110633
110770
|
inspectorBackend.registerType("Cast.Sink", [{ "name": "name", "type": "string", "optional": false, "description": "", "typeRef": null }, { "name": "id", "type": "string", "optional": false, "description": "", "typeRef": null }, { "name": "session", "type": "string", "optional": true, "description": "Text describing the current session. Present only if there is an active session on the sink.", "typeRef": null }]);
|
|
110634
110771
|
inspectorBackend.registerCommand("CrashReportContext.getEntries", [], ["entries"], "Returns all entries in the CrashReportContext across all frames in the page.");
|
|
110635
110772
|
inspectorBackend.registerType("CrashReportContext.CrashReportContextEntry", [{ "name": "key", "type": "string", "optional": false, "description": "", "typeRef": null }, { "name": "value", "type": "string", "optional": false, "description": "", "typeRef": null }, { "name": "frameId", "type": "string", "optional": false, "description": "The ID of the frame where the key-value pair was set.", "typeRef": "Page.FrameId" }]);
|
|
110636
|
-
inspectorBackend.registerEnum("DOM.PseudoType", { FirstLine: "first-line", FirstLetter: "first-letter", Checkmark: "checkmark", Before: "before", After: "after", ExpandIcon: "expand-icon", PickerIcon: "picker-icon",
|
|
110773
|
+
inspectorBackend.registerEnum("DOM.PseudoType", { FirstLine: "first-line", FirstLetter: "first-letter", Checkmark: "checkmark", Before: "before", After: "after", ExpandIcon: "expand-icon", PickerIcon: "picker-icon", InterestButton: "interest-button", Marker: "marker", Backdrop: "backdrop", Column: "column", Selection: "selection", SearchText: "search-text", TargetText: "target-text", SpellingError: "spelling-error", GrammarError: "grammar-error", Highlight: "highlight", FirstLineInherited: "first-line-inherited", ScrollMarker: "scroll-marker", ScrollMarkerGroup: "scroll-marker-group", ScrollButton: "scroll-button", Scrollbar: "scrollbar", ScrollbarThumb: "scrollbar-thumb", ScrollbarButton: "scrollbar-button", ScrollbarTrack: "scrollbar-track", ScrollbarTrackPiece: "scrollbar-track-piece", ScrollbarCorner: "scrollbar-corner", Resizer: "resizer", InputListButton: "input-list-button", ViewTransition: "view-transition", ViewTransitionGroup: "view-transition-group", ViewTransitionImagePair: "view-transition-image-pair", ViewTransitionGroupChildren: "view-transition-group-children", ViewTransitionOld: "view-transition-old", ViewTransitionNew: "view-transition-new", Placeholder: "placeholder", FileSelectorButton: "file-selector-button", DetailsContent: "details-content", Picker: "picker", PermissionIcon: "permission-icon", OverscrollAreaParent: "overscroll-area-parent" });
|
|
110637
110774
|
inspectorBackend.registerEnum("DOM.ShadowRootType", { UserAgent: "user-agent", Open: "open", Closed: "closed" });
|
|
110638
110775
|
inspectorBackend.registerEnum("DOM.CompatibilityMode", { QuirksMode: "QuirksMode", LimitedQuirksMode: "LimitedQuirksMode", NoQuirksMode: "NoQuirksMode" });
|
|
110639
110776
|
inspectorBackend.registerEnum("DOM.PhysicalAxes", { Horizontal: "Horizontal", Vertical: "Vertical", Both: "Both" });
|
|
@@ -110853,10 +110990,10 @@ function registerCommands(inspectorBackend) {
|
|
|
110853
110990
|
inspectorBackend.registerCommand("EventBreakpoints.removeInstrumentationBreakpoint", [{ "name": "eventName", "type": "string", "optional": false, "description": "Instrumentation name to stop on.", "typeRef": null }], [], "Removes breakpoint on particular native event.");
|
|
110854
110991
|
inspectorBackend.registerCommand("EventBreakpoints.disable", [], [], "Removes all breakpoints");
|
|
110855
110992
|
inspectorBackend.registerEnum("Extensions.StorageArea", { Session: "session", Local: "local", Sync: "sync", Managed: "managed" });
|
|
110856
|
-
inspectorBackend.registerCommand("Extensions.triggerAction", [{ "name": "id", "type": "string", "optional": false, "description": "Extension id.", "typeRef": null }, { "name": "targetId", "type": "string", "optional": false, "description": "A tab target ID to trigger the default extension action on.", "typeRef": null }], [], "Runs an extension default action.
|
|
110857
|
-
inspectorBackend.registerCommand("Extensions.loadUnpacked", [{ "name": "path", "type": "string", "optional": false, "description": "Absolute file path.", "typeRef": null }, { "name": "enableInIncognito", "type": "boolean", "optional": true, "description": "Enable the extension in incognito", "typeRef": null }], ["id"], "Installs an unpacked extension from the filesystem similar to --load-extension CLI flags. Returns extension ID once the extension has been installed.
|
|
110858
|
-
inspectorBackend.registerCommand("Extensions.getExtensions", [], ["extensions"], "Gets a list of all unpacked extensions.
|
|
110859
|
-
inspectorBackend.registerCommand("Extensions.uninstall", [{ "name": "id", "type": "string", "optional": false, "description": "Extension id.", "typeRef": null }], [], "Uninstalls an unpacked extension (others not supported) from the profile.
|
|
110993
|
+
inspectorBackend.registerCommand("Extensions.triggerAction", [{ "name": "id", "type": "string", "optional": false, "description": "Extension id.", "typeRef": null }, { "name": "targetId", "type": "string", "optional": false, "description": "A tab target ID to trigger the default extension action on.", "typeRef": null }], [], "Runs an extension default action.");
|
|
110994
|
+
inspectorBackend.registerCommand("Extensions.loadUnpacked", [{ "name": "path", "type": "string", "optional": false, "description": "Absolute file path.", "typeRef": null }, { "name": "enableInIncognito", "type": "boolean", "optional": true, "description": "Enable the extension in incognito", "typeRef": null }], ["id"], "Installs an unpacked extension from the filesystem similar to --load-extension CLI flags. Returns extension ID once the extension has been installed.");
|
|
110995
|
+
inspectorBackend.registerCommand("Extensions.getExtensions", [], ["extensions"], "Gets a list of all unpacked extensions.");
|
|
110996
|
+
inspectorBackend.registerCommand("Extensions.uninstall", [{ "name": "id", "type": "string", "optional": false, "description": "Extension id.", "typeRef": null }], [], "Uninstalls an unpacked extension (others not supported) from the profile.");
|
|
110860
110997
|
inspectorBackend.registerCommand("Extensions.getStorageItems", [{ "name": "id", "type": "string", "optional": false, "description": "ID of extension.", "typeRef": null }, { "name": "storageArea", "type": "string", "optional": false, "description": "StorageArea to retrieve data from.", "typeRef": "Extensions.StorageArea" }, { "name": "keys", "type": "array", "optional": true, "description": "Keys to retrieve.", "typeRef": "string" }], ["data"], "Gets data from extension storage in the given `storageArea`. If `keys` is specified, these are used to filter the result.");
|
|
110861
110998
|
inspectorBackend.registerCommand("Extensions.removeStorageItems", [{ "name": "id", "type": "string", "optional": false, "description": "ID of extension.", "typeRef": null }, { "name": "storageArea", "type": "string", "optional": false, "description": "StorageArea to remove data from.", "typeRef": "Extensions.StorageArea" }, { "name": "keys", "type": "array", "optional": false, "description": "Keys to remove.", "typeRef": "string" }], [], "Removes `keys` from extension storage in the given `storageArea`.");
|
|
110862
110999
|
inspectorBackend.registerCommand("Extensions.clearStorageItems", [{ "name": "id", "type": "string", "optional": false, "description": "ID of extension.", "typeRef": null }, { "name": "storageArea", "type": "string", "optional": false, "description": "StorageArea to remove data from.", "typeRef": "Extensions.StorageArea" }], [], "Clears extension storage in the given `storageArea`.");
|
|
@@ -111050,8 +111187,8 @@ function registerCommands(inspectorBackend) {
|
|
|
111050
111187
|
inspectorBackend.registerEnum("Network.DeviceBoundSessionWithUsageUsage", { NotInScope: "NotInScope", InScopeRefreshNotYetNeeded: "InScopeRefreshNotYetNeeded", InScopeRefreshNotAllowed: "InScopeRefreshNotAllowed", ProactiveRefreshNotPossible: "ProactiveRefreshNotPossible", ProactiveRefreshAttempted: "ProactiveRefreshAttempted", Deferred: "Deferred" });
|
|
111051
111188
|
inspectorBackend.registerEnum("Network.DeviceBoundSessionUrlRuleRuleType", { Exclude: "Exclude", Include: "Include" });
|
|
111052
111189
|
inspectorBackend.registerEnum("Network.DeviceBoundSessionFetchResult", { Success: "Success", KeyError: "KeyError", SigningError: "SigningError", ServerRequestedTermination: "ServerRequestedTermination", InvalidSessionId: "InvalidSessionId", InvalidChallenge: "InvalidChallenge", TooManyChallenges: "TooManyChallenges", InvalidFetcherUrl: "InvalidFetcherUrl", InvalidRefreshUrl: "InvalidRefreshUrl", TransientHttpError: "TransientHttpError", ScopeOriginSameSiteMismatch: "ScopeOriginSameSiteMismatch", RefreshUrlSameSiteMismatch: "RefreshUrlSameSiteMismatch", MismatchedSessionId: "MismatchedSessionId", MissingScope: "MissingScope", NoCredentials: "NoCredentials", SubdomainRegistrationWellKnownUnavailable: "SubdomainRegistrationWellKnownUnavailable", SubdomainRegistrationUnauthorized: "SubdomainRegistrationUnauthorized", SubdomainRegistrationWellKnownMalformed: "SubdomainRegistrationWellKnownMalformed", SessionProviderWellKnownUnavailable: "SessionProviderWellKnownUnavailable", RelyingPartyWellKnownUnavailable: "RelyingPartyWellKnownUnavailable", FederatedKeyThumbprintMismatch: "FederatedKeyThumbprintMismatch", InvalidFederatedSessionUrl: "InvalidFederatedSessionUrl", InvalidFederatedKey: "InvalidFederatedKey", TooManyRelyingOriginLabels: "TooManyRelyingOriginLabels", BoundCookieSetForbidden: "BoundCookieSetForbidden", NetError: "NetError", ProxyError: "ProxyError", EmptySessionConfig: "EmptySessionConfig", InvalidCredentialsConfig: "InvalidCredentialsConfig", InvalidCredentialsType: "InvalidCredentialsType", InvalidCredentialsEmptyName: "InvalidCredentialsEmptyName", InvalidCredentialsCookie: "InvalidCredentialsCookie", PersistentHttpError: "PersistentHttpError", RegistrationAttemptedChallenge: "RegistrationAttemptedChallenge", InvalidScopeOrigin: "InvalidScopeOrigin", ScopeOriginContainsPath: "ScopeOriginContainsPath", RefreshInitiatorNotString: "RefreshInitiatorNotString", RefreshInitiatorInvalidHostPattern: "RefreshInitiatorInvalidHostPattern", InvalidScopeSpecification: "InvalidScopeSpecification", MissingScopeSpecificationType: "MissingScopeSpecificationType", EmptyScopeSpecificationDomain: "EmptyScopeSpecificationDomain", EmptyScopeSpecificationPath: "EmptyScopeSpecificationPath", InvalidScopeSpecificationType: "InvalidScopeSpecificationType", InvalidScopeIncludeSite: "InvalidScopeIncludeSite", MissingScopeIncludeSite: "MissingScopeIncludeSite", FederatedNotAuthorizedByProvider: "FederatedNotAuthorizedByProvider", FederatedNotAuthorizedByRelyingParty: "FederatedNotAuthorizedByRelyingParty", SessionProviderWellKnownMalformed: "SessionProviderWellKnownMalformed", SessionProviderWellKnownHasProviderOrigin: "SessionProviderWellKnownHasProviderOrigin", RelyingPartyWellKnownMalformed: "RelyingPartyWellKnownMalformed", RelyingPartyWellKnownHasRelyingOrigins: "RelyingPartyWellKnownHasRelyingOrigins", InvalidFederatedSessionProviderSessionMissing: "InvalidFederatedSessionProviderSessionMissing", InvalidFederatedSessionWrongProviderOrigin: "InvalidFederatedSessionWrongProviderOrigin", InvalidCredentialsCookieCreationTime: "InvalidCredentialsCookieCreationTime", InvalidCredentialsCookieName: "InvalidCredentialsCookieName", InvalidCredentialsCookieParsing: "InvalidCredentialsCookieParsing", InvalidCredentialsCookieUnpermittedAttribute: "InvalidCredentialsCookieUnpermittedAttribute", InvalidCredentialsCookieInvalidDomain: "InvalidCredentialsCookieInvalidDomain", InvalidCredentialsCookiePrefix: "InvalidCredentialsCookiePrefix", InvalidScopeRulePath: "InvalidScopeRulePath", InvalidScopeRuleHostPattern: "InvalidScopeRuleHostPattern", ScopeRuleOriginScopedHostPatternMismatch: "ScopeRuleOriginScopedHostPatternMismatch", ScopeRuleSiteScopedHostPatternMismatch: "ScopeRuleSiteScopedHostPatternMismatch", SigningQuotaExceeded: "SigningQuotaExceeded", InvalidConfigJson: "InvalidConfigJson", InvalidFederatedSessionProviderFailedToRestoreKey: "InvalidFederatedSessionProviderFailedToRestoreKey", FailedToUnwrapKey: "FailedToUnwrapKey", SessionDeletedDuringRefresh: "SessionDeletedDuringRefresh" });
|
|
111053
|
-
inspectorBackend.registerEnum("Network.RefreshEventDetailsRefreshResult", { Refreshed: "Refreshed", InitializedService: "InitializedService", Unreachable: "Unreachable", ServerError: "ServerError", RefreshQuotaExceeded: "RefreshQuotaExceeded", FatalError: "FatalError", SigningQuotaExceeded: "SigningQuotaExceeded" });
|
|
111054
|
-
inspectorBackend.registerEnum("Network.TerminationEventDetailsDeletionReason", { Expired: "Expired", FailedToRestoreKey: "FailedToRestoreKey", FailedToUnwrapKey: "FailedToUnwrapKey", StoragePartitionCleared: "StoragePartitionCleared", ClearBrowsingData: "ClearBrowsingData", ServerRequested: "ServerRequested", InvalidSessionParams: "InvalidSessionParams", RefreshFatalError: "RefreshFatalError" });
|
|
111190
|
+
inspectorBackend.registerEnum("Network.RefreshEventDetailsRefreshResult", { Refreshed: "Refreshed", RefreshedAsWaiter: "RefreshedAsWaiter", InitializedService: "InitializedService", Unreachable: "Unreachable", ServerError: "ServerError", RefreshQuotaExceeded: "RefreshQuotaExceeded", FatalError: "FatalError", SigningQuotaExceeded: "SigningQuotaExceeded" });
|
|
111191
|
+
inspectorBackend.registerEnum("Network.TerminationEventDetailsDeletionReason", { Expired: "Expired", FailedToRestoreKey: "FailedToRestoreKey", FailedToUnwrapKey: "FailedToUnwrapKey", StoragePartitionCleared: "StoragePartitionCleared", ClearBrowsingData: "ClearBrowsingData", ServerRequested: "ServerRequested", InvalidSessionParams: "InvalidSessionParams", RefreshFatalError: "RefreshFatalError", DevTools: "DevTools" });
|
|
111055
111192
|
inspectorBackend.registerEnum("Network.ChallengeEventDetailsChallengeResult", { Success: "Success", NoSessionId: "NoSessionId", NoSessionMatch: "NoSessionMatch", CantSetBoundCookie: "CantSetBoundCookie" });
|
|
111056
111193
|
inspectorBackend.registerEvent("Network.dataReceived", ["requestId", "timestamp", "dataLength", "encodedDataLength", "data"]);
|
|
111057
111194
|
inspectorBackend.registerEvent("Network.eventSourceMessageReceived", ["requestId", "timestamp", "eventName", "eventId", "data"]);
|
|
@@ -111135,6 +111272,7 @@ function registerCommands(inspectorBackend) {
|
|
|
111135
111272
|
inspectorBackend.registerCommand("Network.getSecurityIsolationStatus", [{ "name": "frameId", "type": "string", "optional": true, "description": "If no frameId is provided, the status of the target is provided.", "typeRef": "Page.FrameId" }], ["status"], "Returns information about the COEP/COOP isolation status.");
|
|
111136
111273
|
inspectorBackend.registerCommand("Network.enableReportingApi", [{ "name": "enable", "type": "boolean", "optional": false, "description": "Whether to enable or disable events for the Reporting API", "typeRef": null }], [], "Enables tracking for the Reporting API, events generated by the Reporting API will now be delivered to the client. Enabling triggers 'reportingApiReportAdded' for all existing reports.");
|
|
111137
111274
|
inspectorBackend.registerCommand("Network.enableDeviceBoundSessions", [{ "name": "enable", "type": "boolean", "optional": false, "description": "Whether to enable or disable events.", "typeRef": null }], [], "Sets up tracking device bound sessions and fetching of initial set of sessions.");
|
|
111275
|
+
inspectorBackend.registerCommand("Network.deleteDeviceBoundSession", [{ "name": "key", "type": "object", "optional": false, "description": "", "typeRef": "Network.DeviceBoundSessionKey" }], [], "Deletes a device bound session.");
|
|
111138
111276
|
inspectorBackend.registerCommand("Network.fetchSchemefulSite", [{ "name": "origin", "type": "string", "optional": false, "description": "The URL origin.", "typeRef": null }], ["schemefulSite"], "Fetches the schemeful site for a specific origin.");
|
|
111139
111277
|
inspectorBackend.registerCommand("Network.loadNetworkResource", [{ "name": "frameId", "type": "string", "optional": true, "description": "Frame id to get the resource for. Mandatory for frame targets, and should be omitted for worker targets.", "typeRef": "Page.FrameId" }, { "name": "url", "type": "string", "optional": false, "description": "URL of the resource to get content for.", "typeRef": null }, { "name": "options", "type": "object", "optional": false, "description": "Options for the request.", "typeRef": "Network.LoadNetworkResourceOptions" }], ["resource"], "Fetches the resource and returns the content.");
|
|
111140
111278
|
inspectorBackend.registerCommand("Network.setCookieControls", [{ "name": "enableThirdPartyCookieRestriction", "type": "boolean", "optional": false, "description": "Whether 3pc restriction is enabled.", "typeRef": null }], [], "Sets Controls for third-party cookie access Page reload is required before the new cookie behavior will be observed");
|
|
@@ -111267,7 +111405,7 @@ function registerCommands(inspectorBackend) {
|
|
|
111267
111405
|
inspectorBackend.registerEnum("Page.SecureContextType", { Secure: "Secure", SecureLocalhost: "SecureLocalhost", InsecureScheme: "InsecureScheme", InsecureAncestor: "InsecureAncestor" });
|
|
111268
111406
|
inspectorBackend.registerEnum("Page.CrossOriginIsolatedContextType", { Isolated: "Isolated", NotIsolated: "NotIsolated", NotIsolatedFeatureDisabled: "NotIsolatedFeatureDisabled" });
|
|
111269
111407
|
inspectorBackend.registerEnum("Page.GatedAPIFeatures", { SharedArrayBuffers: "SharedArrayBuffers", SharedArrayBuffersTransferAllowed: "SharedArrayBuffersTransferAllowed", PerformanceMeasureMemory: "PerformanceMeasureMemory", PerformanceProfile: "PerformanceProfile" });
|
|
111270
|
-
inspectorBackend.registerEnum("Page.PermissionsPolicyFeature", { Accelerometer: "accelerometer", AllScreensCapture: "all-screens-capture", AmbientLightSensor: "ambient-light-sensor", AriaNotify: "aria-notify", AttributionReporting: "attribution-reporting", Autofill: "autofill", Autoplay: "autoplay", Bluetooth: "bluetooth", BrowsingTopics: "browsing-topics", Camera: "camera", CapturedSurfaceControl: "captured-surface-control", ChDpr: "ch-dpr", ChDeviceMemory: "ch-device-memory", ChDownlink: "ch-downlink", ChEct: "ch-ect", ChPrefersColorScheme: "ch-prefers-color-scheme", ChPrefersReducedMotion: "ch-prefers-reduced-motion", ChPrefersReducedTransparency: "ch-prefers-reduced-transparency", ChRtt: "ch-rtt", ChSaveData: "ch-save-data", ChUa: "ch-ua", ChUaArch: "ch-ua-arch", ChUaBitness: "ch-ua-bitness", ChUaHighEntropyValues: "ch-ua-high-entropy-values", ChUaPlatform: "ch-ua-platform", ChUaModel: "ch-ua-model", ChUaMobile: "ch-ua-mobile", ChUaFormFactors: "ch-ua-form-factors", ChUaFullVersion: "ch-ua-full-version", ChUaFullVersionList: "ch-ua-full-version-list", ChUaPlatformVersion: "ch-ua-platform-version", ChUaWow64: "ch-ua-wow64", ChViewportHeight: "ch-viewport-height", ChViewportWidth: "ch-viewport-width", ChWidth: "ch-width", ClipboardRead: "clipboard-read", ClipboardWrite: "clipboard-write", ComputePressure: "compute-pressure", ControlledFrame: "controlled-frame", CrossOriginIsolated: "cross-origin-isolated", DeferredFetch: "deferred-fetch", DeferredFetchMinimal: "deferred-fetch-minimal", DeviceAttributes: "device-attributes", DigitalCredentialsCreate: "digital-credentials-create", DigitalCredentialsGet: "digital-credentials-get", DirectSockets: "direct-sockets", DirectSocketsMulticast: "direct-sockets-multicast", DirectSocketsPrivate: "direct-sockets-private", DisplayCapture: "display-capture", DocumentDomain: "document-domain", EncryptedMedia: "encrypted-media", ExecutionWhileOutOfViewport: "execution-while-out-of-viewport", ExecutionWhileNotRendered: "execution-while-not-rendered", FocusWithoutUserActivation: "focus-without-user-activation", Fullscreen: "fullscreen", Frobulate: "frobulate", Gamepad: "gamepad", Geolocation: "geolocation", Gyroscope: "gyroscope", Hid: "hid", IdentityCredentialsGet: "identity-credentials-get", IdleDetection: "idle-detection", InterestCohort: "interest-cohort", JoinAdInterestGroup: "join-ad-interest-group", KeyboardMap: "keyboard-map", LanguageDetector: "language-detector", LanguageModel: "language-model", LocalFonts: "local-fonts", LocalNetwork: "local-network", LocalNetworkAccess: "local-network-access", LoopbackNetwork: "loopback-network", Magnetometer: "magnetometer", ManualText: "manual-text", MediaPlaybackWhileNotVisible: "media-playback-while-not-visible", Microphone: "microphone", Midi: "midi", OnDeviceSpeechRecognition: "on-device-speech-recognition", OtpCredentials: "otp-credentials", Payment: "payment", PictureInPicture: "picture-in-picture", PrivateAggregation: "private-aggregation", PrivateStateTokenIssuance: "private-state-token-issuance", PrivateStateTokenRedemption: "private-state-token-redemption", PublickeyCredentialsCreate: "publickey-credentials-create", PublickeyCredentialsGet: "publickey-credentials-get", RecordAdAuctionEvents: "record-ad-auction-events", Rewriter: "rewriter", RunAdAuction: "run-ad-auction", ScreenWakeLock: "screen-wake-lock", Serial: "serial", SharedStorage: "shared-storage", SharedStorageSelectUrl: "shared-storage-select-url", SmartCard: "smart-card", SpeakerSelection: "speaker-selection", StorageAccess: "storage-access", SubApps: "sub-apps", Summarizer: "summarizer", SyncXhr: "sync-xhr", Translator: "translator", Unload: "unload", Usb: "usb", UsbUnrestricted: "usb-unrestricted", VerticalScroll: "vertical-scroll", WebAppInstallation: "web-app-installation", WebPrinting: "web-printing", WebShare: "web-share", WindowManagement: "window-management", Writer: "writer", XrSpatialTracking: "xr-spatial-tracking" });
|
|
111408
|
+
inspectorBackend.registerEnum("Page.PermissionsPolicyFeature", { Accelerometer: "accelerometer", AllScreensCapture: "all-screens-capture", AmbientLightSensor: "ambient-light-sensor", AriaNotify: "aria-notify", AttributionReporting: "attribution-reporting", Autofill: "autofill", Autoplay: "autoplay", Bluetooth: "bluetooth", BrowsingTopics: "browsing-topics", Camera: "camera", CapturedSurfaceControl: "captured-surface-control", ChDpr: "ch-dpr", ChDeviceMemory: "ch-device-memory", ChDownlink: "ch-downlink", ChEct: "ch-ect", ChPrefersColorScheme: "ch-prefers-color-scheme", ChPrefersReducedMotion: "ch-prefers-reduced-motion", ChPrefersReducedTransparency: "ch-prefers-reduced-transparency", ChRtt: "ch-rtt", ChSaveData: "ch-save-data", ChUa: "ch-ua", ChUaArch: "ch-ua-arch", ChUaBitness: "ch-ua-bitness", ChUaHighEntropyValues: "ch-ua-high-entropy-values", ChUaPlatform: "ch-ua-platform", ChUaModel: "ch-ua-model", ChUaMobile: "ch-ua-mobile", ChUaFormFactors: "ch-ua-form-factors", ChUaFullVersion: "ch-ua-full-version", ChUaFullVersionList: "ch-ua-full-version-list", ChUaPlatformVersion: "ch-ua-platform-version", ChUaWow64: "ch-ua-wow64", ChViewportHeight: "ch-viewport-height", ChViewportWidth: "ch-viewport-width", ChWidth: "ch-width", ClipboardRead: "clipboard-read", ClipboardWrite: "clipboard-write", ComputePressure: "compute-pressure", ControlledFrame: "controlled-frame", CrossOriginIsolated: "cross-origin-isolated", DeferredFetch: "deferred-fetch", DeferredFetchMinimal: "deferred-fetch-minimal", DeviceAttributes: "device-attributes", DigitalCredentialsCreate: "digital-credentials-create", DigitalCredentialsGet: "digital-credentials-get", DirectSockets: "direct-sockets", DirectSocketsMulticast: "direct-sockets-multicast", DirectSocketsPrivate: "direct-sockets-private", DisplayCapture: "display-capture", DocumentDomain: "document-domain", EncryptedMedia: "encrypted-media", ExecutionWhileOutOfViewport: "execution-while-out-of-viewport", ExecutionWhileNotRendered: "execution-while-not-rendered", FocusWithoutUserActivation: "focus-without-user-activation", Fullscreen: "fullscreen", Frobulate: "frobulate", Gamepad: "gamepad", Geolocation: "geolocation", Gyroscope: "gyroscope", Hid: "hid", IdentityCredentialsGet: "identity-credentials-get", IdleDetection: "idle-detection", InterestCohort: "interest-cohort", JoinAdInterestGroup: "join-ad-interest-group", KeyboardMap: "keyboard-map", LanguageDetector: "language-detector", LanguageModel: "language-model", LocalFonts: "local-fonts", LocalNetwork: "local-network", LocalNetworkAccess: "local-network-access", LoopbackNetwork: "loopback-network", Magnetometer: "magnetometer", ManualText: "manual-text", MediaPlaybackWhileNotVisible: "media-playback-while-not-visible", Microphone: "microphone", Midi: "midi", OnDeviceSpeechRecognition: "on-device-speech-recognition", OtpCredentials: "otp-credentials", Payment: "payment", PictureInPicture: "picture-in-picture", PrivateAggregation: "private-aggregation", PrivateStateTokenIssuance: "private-state-token-issuance", PrivateStateTokenRedemption: "private-state-token-redemption", PublickeyCredentialsCreate: "publickey-credentials-create", PublickeyCredentialsGet: "publickey-credentials-get", RecordAdAuctionEvents: "record-ad-auction-events", Rewriter: "rewriter", RunAdAuction: "run-ad-auction", ScreenWakeLock: "screen-wake-lock", Serial: "serial", SharedStorage: "shared-storage", SharedStorageSelectUrl: "shared-storage-select-url", SmartCard: "smart-card", SpeakerSelection: "speaker-selection", StorageAccess: "storage-access", SubApps: "sub-apps", Summarizer: "summarizer", SyncXhr: "sync-xhr", Tools: "tools", Translator: "translator", Unload: "unload", Usb: "usb", UsbUnrestricted: "usb-unrestricted", VerticalScroll: "vertical-scroll", WebAppInstallation: "web-app-installation", WebPrinting: "web-printing", WebShare: "web-share", WindowManagement: "window-management", Writer: "writer", XrSpatialTracking: "xr-spatial-tracking" });
|
|
111271
111409
|
inspectorBackend.registerEnum("Page.PermissionsPolicyBlockReason", { Header: "Header", IframeAttribute: "IframeAttribute", InFencedFrameTree: "InFencedFrameTree", InIsolatedApp: "InIsolatedApp" });
|
|
111272
111410
|
inspectorBackend.registerEnum("Page.OriginTrialTokenStatus", { Success: "Success", NotSupported: "NotSupported", Insecure: "Insecure", Expired: "Expired", WrongOrigin: "WrongOrigin", InvalidSignature: "InvalidSignature", Malformed: "Malformed", WrongVersion: "WrongVersion", FeatureDisabled: "FeatureDisabled", TokenDisabled: "TokenDisabled", FeatureDisabledForUser: "FeatureDisabledForUser", UnknownTrial: "UnknownTrial" });
|
|
111273
111411
|
inspectorBackend.registerEnum("Page.OriginTrialStatus", { Enabled: "Enabled", ValidTokenNotProvided: "ValidTokenNotProvided", OSNotSupported: "OSNotSupported", TrialNotAllowed: "TrialNotAllowed" });
|
|
@@ -111278,7 +111416,7 @@ function registerCommands(inspectorBackend) {
|
|
|
111278
111416
|
inspectorBackend.registerEnum("Page.ClientNavigationDisposition", { CurrentTab: "currentTab", NewTab: "newTab", NewWindow: "newWindow", Download: "download" });
|
|
111279
111417
|
inspectorBackend.registerEnum("Page.ReferrerPolicy", { NoReferrer: "noReferrer", NoReferrerWhenDowngrade: "noReferrerWhenDowngrade", Origin: "origin", OriginWhenCrossOrigin: "originWhenCrossOrigin", SameOrigin: "sameOrigin", StrictOrigin: "strictOrigin", StrictOriginWhenCrossOrigin: "strictOriginWhenCrossOrigin", UnsafeUrl: "unsafeUrl" });
|
|
111280
111418
|
inspectorBackend.registerEnum("Page.NavigationType", { Navigation: "Navigation", BackForwardCacheRestore: "BackForwardCacheRestore" });
|
|
111281
|
-
inspectorBackend.registerEnum("Page.BackForwardCacheNotRestoredReason", { NotPrimaryMainFrame: "NotPrimaryMainFrame", BackForwardCacheDisabled: "BackForwardCacheDisabled", RelatedActiveContentsExist: "RelatedActiveContentsExist", HTTPStatusNotOK: "HTTPStatusNotOK", SchemeNotHTTPOrHTTPS: "SchemeNotHTTPOrHTTPS", Loading: "Loading", WasGrantedMediaAccess: "WasGrantedMediaAccess", DisableForRenderFrameHostCalled: "DisableForRenderFrameHostCalled", DomainNotAllowed: "DomainNotAllowed", HTTPMethodNotGET: "HTTPMethodNotGET", SubframeIsNavigating: "SubframeIsNavigating", Timeout: "Timeout", CacheLimit: "CacheLimit", JavaScriptExecution: "JavaScriptExecution", RendererProcessKilled: "RendererProcessKilled", RendererProcessCrashed: "RendererProcessCrashed", SchedulerTrackedFeatureUsed: "SchedulerTrackedFeatureUsed", ConflictingBrowsingInstance: "ConflictingBrowsingInstance", CacheFlushed: "CacheFlushed", ServiceWorkerVersionActivation: "ServiceWorkerVersionActivation", SessionRestored: "SessionRestored", ServiceWorkerPostMessage: "ServiceWorkerPostMessage", EnteredBackForwardCacheBeforeServiceWorkerHostAdded: "EnteredBackForwardCacheBeforeServiceWorkerHostAdded", RenderFrameHostReused_SameSite: "RenderFrameHostReused_SameSite", RenderFrameHostReused_CrossSite: "RenderFrameHostReused_CrossSite", ServiceWorkerClaim: "ServiceWorkerClaim", IgnoreEventAndEvict: "IgnoreEventAndEvict", HaveInnerContents: "HaveInnerContents", TimeoutPuttingInCache: "TimeoutPuttingInCache", BackForwardCacheDisabledByLowMemory: "BackForwardCacheDisabledByLowMemory", BackForwardCacheDisabledByCommandLine: "BackForwardCacheDisabledByCommandLine", NetworkRequestDatAPIpeDrainedAsBytesConsumer: "NetworkRequestDatapipeDrainedAsBytesConsumer", NetworkRequestRedirected: "NetworkRequestRedirected", NetworkRequestTimeout: "NetworkRequestTimeout", NetworkExceedsBufferLimit: "NetworkExceedsBufferLimit", NavigationCancelledWhileRestoring: "NavigationCancelledWhileRestoring", NotMostRecentNavigationEntry: "NotMostRecentNavigationEntry", BackForwardCacheDisabledForPrerender: "BackForwardCacheDisabledForPrerender", UserAgentOverrideDiffers: "UserAgentOverrideDiffers", ForegroundCacheLimit: "ForegroundCacheLimit", ForwardCacheDisabled: "ForwardCacheDisabled", BrowsingInstanceNotSwapped: "BrowsingInstanceNotSwapped", BackForwardCacheDisabledForDelegate: "BackForwardCacheDisabledForDelegate", UnloadHandlerExistsInMainFrame: "UnloadHandlerExistsInMainFrame", UnloadHandlerExistsInSubFrame: "UnloadHandlerExistsInSubFrame", ServiceWorkerUnregistration: "ServiceWorkerUnregistration", CacheControlNoStore: "CacheControlNoStore", CacheControlNoStoreCookieModified: "CacheControlNoStoreCookieModified", CacheControlNoStoreHTTPOnlyCookieModified: "CacheControlNoStoreHTTPOnlyCookieModified", NoResponseHead: "NoResponseHead", Unknown: "Unknown", ActivationNavigationsDisallowedForBug1234857: "ActivationNavigationsDisallowedForBug1234857", ErrorDocument: "ErrorDocument", FencedFramesEmbedder: "FencedFramesEmbedder", CookieDisabled: "CookieDisabled", HTTPAuthRequired: "HTTPAuthRequired", CookieFlushed: "CookieFlushed", BroadcastChannelOnMessage: "BroadcastChannelOnMessage", WebViewSettingsChanged: "WebViewSettingsChanged", WebViewJavaScriptObjectChanged: "WebViewJavaScriptObjectChanged", WebViewMessageListenerInjected: "WebViewMessageListenerInjected", WebViewSafeBrowsingAllowlistChanged: "WebViewSafeBrowsingAllowlistChanged", WebViewDocumentStartJavascriptChanged: "WebViewDocumentStartJavascriptChanged", WebSocket: "WebSocket", WebTransport: "WebTransport", WebRTC: "WebRTC", MainResourceHasCacheControlNoStore: "MainResourceHasCacheControlNoStore", MainResourceHasCacheControlNoCache: "MainResourceHasCacheControlNoCache", SubresourceHasCacheControlNoStore: "SubresourceHasCacheControlNoStore", SubresourceHasCacheControlNoCache: "SubresourceHasCacheControlNoCache", ContainsPlugins: "ContainsPlugins", DocumentLoaded: "DocumentLoaded", OutstandingNetworkRequestOthers: "OutstandingNetworkRequestOthers", RequestedMIDIPermission: "RequestedMIDIPermission", RequestedAudioCapturePermission: "RequestedAudioCapturePermission", RequestedVideoCapturePermission: "RequestedVideoCapturePermission", RequestedBackForwardCacheBlockedSensors: "RequestedBackForwardCacheBlockedSensors", RequestedBackgroundWorkPermission: "RequestedBackgroundWorkPermission", BroadcastChannel: "BroadcastChannel", WebXR: "WebXR", SharedWorker: "SharedWorker", SharedWorkerMessage: "SharedWorkerMessage", SharedWorkerWithNoActiveClient: "SharedWorkerWithNoActiveClient", WebLocks: "WebLocks", WebLocksContention: "WebLocksContention", WebHID: "WebHID", WebBluetooth: "WebBluetooth", WebShare: "WebShare", RequestedStorageAccessGrant: "RequestedStorageAccessGrant", WebNfc: "WebNfc", OutstandingNetworkRequestFetch: "OutstandingNetworkRequestFetch", OutstandingNetworkRequestXHR: "OutstandingNetworkRequestXHR", AppBanner: "AppBanner", Printing: "Printing", WebDatabase: "WebDatabase", PictureInPicture: "PictureInPicture", SpeechRecognizer: "SpeechRecognizer", IdleManager: "IdleManager", PaymentManager: "PaymentManager", SpeechSynthesis: "SpeechSynthesis", KeyboardLock: "KeyboardLock", WebOTPService: "WebOTPService", OutstandingNetworkRequestDirectSocket: "OutstandingNetworkRequestDirectSocket", InjectedJavascript: "InjectedJavascript", InjectedStyleSheet: "InjectedStyleSheet", KeepaliveRequest: "KeepaliveRequest", IndexedDBEvent: "IndexedDBEvent", Dummy: "Dummy", JsNetworkRequestReceivedCacheControlNoStoreResource: "JsNetworkRequestReceivedCacheControlNoStoreResource", WebRTCUsedWithCCNS: "WebRTCUsedWithCCNS", WebTransportUsedWithCCNS: "WebTransportUsedWithCCNS", WebSocketUsedWithCCNS: "WebSocketUsedWithCCNS", SmartCard: "SmartCard", LiveMediaStreamTrack: "LiveMediaStreamTrack", UnloadHandler: "UnloadHandler", ParserAborted: "ParserAborted", ContentSecurityHandler: "ContentSecurityHandler", ContentWebAuthenticationAPI: "ContentWebAuthenticationAPI", ContentFileChooser: "ContentFileChooser", ContentSerial: "ContentSerial", ContentFileSystemAccess: "ContentFileSystemAccess", ContentMediaDevicesDispatcherHost: "ContentMediaDevicesDispatcherHost", ContentWebBluetooth: "ContentWebBluetooth", ContentWebUSB: "ContentWebUSB", ContentMediaSessionService: "ContentMediaSessionService", ContentScreenReader: "ContentScreenReader", ContentDiscarded: "ContentDiscarded", EmbedderPopupBlockerTabHelper: "EmbedderPopupBlockerTabHelper", EmbedderSafeBrowsingTriggeredPopupBlocker: "EmbedderSafeBrowsingTriggeredPopupBlocker", EmbedderSafeBrowsingThreatDetails: "EmbedderSafeBrowsingThreatDetails", EmbedderAppBannerManager: "EmbedderAppBannerManager", EmbedderDomDistillerViewerSource: "EmbedderDomDistillerViewerSource", EmbedderDomDistillerSelfDeletingRequestDelegate: "EmbedderDomDistillerSelfDeletingRequestDelegate", EmbedderOomInterventionTabHelper: "EmbedderOomInterventionTabHelper", EmbedderOfflinePage: "EmbedderOfflinePage", EmbedderChromePasswordManagerClientBindCredentialManager: "EmbedderChromePasswordManagerClientBindCredentialManager", EmbedderPermissionRequestManager: "EmbedderPermissionRequestManager", EmbedderModalDialog: "EmbedderModalDialog", EmbedderExtensions: "EmbedderExtensions", EmbedderExtensionMessaging: "EmbedderExtensionMessaging", EmbedderExtensionMessagingForOpenPort: "EmbedderExtensionMessagingForOpenPort", EmbedderExtensionSentMessageToCachedFrame: "EmbedderExtensionSentMessageToCachedFrame", RequestedByWebViewClient: "RequestedByWebViewClient", PostMessageByWebViewClient: "PostMessageByWebViewClient", CacheControlNoStoreDeviceBoundSessionTerminated: "CacheControlNoStoreDeviceBoundSessionTerminated", CacheLimitPrunedOnModerateMemoryPressure: "CacheLimitPrunedOnModerateMemoryPressure", CacheLimitPrunedOnCriticalMemoryPressure: "CacheLimitPrunedOnCriticalMemoryPressure" });
|
|
111419
|
+
inspectorBackend.registerEnum("Page.BackForwardCacheNotRestoredReason", { NotPrimaryMainFrame: "NotPrimaryMainFrame", BackForwardCacheDisabled: "BackForwardCacheDisabled", RelatedActiveContentsExist: "RelatedActiveContentsExist", HTTPStatusNotOK: "HTTPStatusNotOK", SchemeNotHTTPOrHTTPS: "SchemeNotHTTPOrHTTPS", Loading: "Loading", WasGrantedMediaAccess: "WasGrantedMediaAccess", DisableForRenderFrameHostCalled: "DisableForRenderFrameHostCalled", DomainNotAllowed: "DomainNotAllowed", HTTPMethodNotGET: "HTTPMethodNotGET", SubframeIsNavigating: "SubframeIsNavigating", Timeout: "Timeout", CacheLimit: "CacheLimit", JavaScriptExecution: "JavaScriptExecution", RendererProcessKilled: "RendererProcessKilled", RendererProcessCrashed: "RendererProcessCrashed", SchedulerTrackedFeatureUsed: "SchedulerTrackedFeatureUsed", ConflictingBrowsingInstance: "ConflictingBrowsingInstance", CacheFlushed: "CacheFlushed", ServiceWorkerVersionActivation: "ServiceWorkerVersionActivation", SessionRestored: "SessionRestored", ServiceWorkerPostMessage: "ServiceWorkerPostMessage", EnteredBackForwardCacheBeforeServiceWorkerHostAdded: "EnteredBackForwardCacheBeforeServiceWorkerHostAdded", RenderFrameHostReused_SameSite: "RenderFrameHostReused_SameSite", RenderFrameHostReused_CrossSite: "RenderFrameHostReused_CrossSite", ServiceWorkerClaim: "ServiceWorkerClaim", IgnoreEventAndEvict: "IgnoreEventAndEvict", HaveInnerContents: "HaveInnerContents", TimeoutPuttingInCache: "TimeoutPuttingInCache", BackForwardCacheDisabledByLowMemory: "BackForwardCacheDisabledByLowMemory", BackForwardCacheDisabledByCommandLine: "BackForwardCacheDisabledByCommandLine", NetworkRequestDatAPIpeDrainedAsBytesConsumer: "NetworkRequestDatapipeDrainedAsBytesConsumer", NetworkRequestRedirected: "NetworkRequestRedirected", NetworkRequestTimeout: "NetworkRequestTimeout", NetworkExceedsBufferLimit: "NetworkExceedsBufferLimit", NavigationCancelledWhileRestoring: "NavigationCancelledWhileRestoring", NotMostRecentNavigationEntry: "NotMostRecentNavigationEntry", BackForwardCacheDisabledForPrerender: "BackForwardCacheDisabledForPrerender", UserAgentOverrideDiffers: "UserAgentOverrideDiffers", ForegroundCacheLimit: "ForegroundCacheLimit", ForwardCacheDisabled: "ForwardCacheDisabled", BrowsingInstanceNotSwapped: "BrowsingInstanceNotSwapped", BackForwardCacheDisabledForDelegate: "BackForwardCacheDisabledForDelegate", UnloadHandlerExistsInMainFrame: "UnloadHandlerExistsInMainFrame", UnloadHandlerExistsInSubFrame: "UnloadHandlerExistsInSubFrame", ServiceWorkerUnregistration: "ServiceWorkerUnregistration", CacheControlNoStore: "CacheControlNoStore", CacheControlNoStoreCookieModified: "CacheControlNoStoreCookieModified", CacheControlNoStoreHTTPOnlyCookieModified: "CacheControlNoStoreHTTPOnlyCookieModified", NoResponseHead: "NoResponseHead", Unknown: "Unknown", ActivationNavigationsDisallowedForBug1234857: "ActivationNavigationsDisallowedForBug1234857", ErrorDocument: "ErrorDocument", FencedFramesEmbedder: "FencedFramesEmbedder", CookieDisabled: "CookieDisabled", HTTPAuthRequired: "HTTPAuthRequired", CookieFlushed: "CookieFlushed", BroadcastChannelOnMessage: "BroadcastChannelOnMessage", WebViewSettingsChanged: "WebViewSettingsChanged", WebViewJavaScriptObjectChanged: "WebViewJavaScriptObjectChanged", WebViewMessageListenerInjected: "WebViewMessageListenerInjected", WebViewSafeBrowsingAllowlistChanged: "WebViewSafeBrowsingAllowlistChanged", WebViewDocumentStartJavascriptChanged: "WebViewDocumentStartJavascriptChanged", WebSocket: "WebSocket", WebTransport: "WebTransport", WebRTC: "WebRTC", MainResourceHasCacheControlNoStore: "MainResourceHasCacheControlNoStore", MainResourceHasCacheControlNoCache: "MainResourceHasCacheControlNoCache", SubresourceHasCacheControlNoStore: "SubresourceHasCacheControlNoStore", SubresourceHasCacheControlNoCache: "SubresourceHasCacheControlNoCache", ContainsPlugins: "ContainsPlugins", DocumentLoaded: "DocumentLoaded", OutstandingNetworkRequestOthers: "OutstandingNetworkRequestOthers", RequestedMIDIPermission: "RequestedMIDIPermission", RequestedAudioCapturePermission: "RequestedAudioCapturePermission", RequestedVideoCapturePermission: "RequestedVideoCapturePermission", RequestedBackForwardCacheBlockedSensors: "RequestedBackForwardCacheBlockedSensors", RequestedBackgroundWorkPermission: "RequestedBackgroundWorkPermission", BroadcastChannel: "BroadcastChannel", WebXR: "WebXR", SharedWorker: "SharedWorker", SharedWorkerMessage: "SharedWorkerMessage", SharedWorkerWithNoActiveClient: "SharedWorkerWithNoActiveClient", WebLocks: "WebLocks", WebLocksContention: "WebLocksContention", WebHID: "WebHID", WebBluetooth: "WebBluetooth", WebShare: "WebShare", RequestedStorageAccessGrant: "RequestedStorageAccessGrant", WebNfc: "WebNfc", OutstandingNetworkRequestFetch: "OutstandingNetworkRequestFetch", OutstandingNetworkRequestXHR: "OutstandingNetworkRequestXHR", AppBanner: "AppBanner", Printing: "Printing", WebDatabase: "WebDatabase", PictureInPicture: "PictureInPicture", SpeechRecognizer: "SpeechRecognizer", IdleManager: "IdleManager", PaymentManager: "PaymentManager", SpeechSynthesis: "SpeechSynthesis", KeyboardLock: "KeyboardLock", WebOTPService: "WebOTPService", OutstandingNetworkRequestDirectSocket: "OutstandingNetworkRequestDirectSocket", InjectedJavascript: "InjectedJavascript", InjectedStyleSheet: "InjectedStyleSheet", KeepaliveRequest: "KeepaliveRequest", IndexedDBEvent: "IndexedDBEvent", Dummy: "Dummy", JsNetworkRequestReceivedCacheControlNoStoreResource: "JsNetworkRequestReceivedCacheControlNoStoreResource", WebRTCUsedWithCCNS: "WebRTCUsedWithCCNS", WebTransportUsedWithCCNS: "WebTransportUsedWithCCNS", WebSocketUsedWithCCNS: "WebSocketUsedWithCCNS", SmartCard: "SmartCard", LiveMediaStreamTrack: "LiveMediaStreamTrack", UnloadHandler: "UnloadHandler", ParserAborted: "ParserAborted", ContentSecurityHandler: "ContentSecurityHandler", ContentWebAuthenticationAPI: "ContentWebAuthenticationAPI", ContentFileChooser: "ContentFileChooser", ContentSerial: "ContentSerial", ContentFileSystemAccess: "ContentFileSystemAccess", ContentMediaDevicesDispatcherHost: "ContentMediaDevicesDispatcherHost", ContentWebBluetooth: "ContentWebBluetooth", ContentWebUSB: "ContentWebUSB", ContentMediaSessionService: "ContentMediaSessionService", ContentScreenReader: "ContentScreenReader", ContentDiscarded: "ContentDiscarded", EmbedderPopupBlockerTabHelper: "EmbedderPopupBlockerTabHelper", EmbedderSafeBrowsingTriggeredPopupBlocker: "EmbedderSafeBrowsingTriggeredPopupBlocker", EmbedderSafeBrowsingThreatDetails: "EmbedderSafeBrowsingThreatDetails", EmbedderAppBannerManager: "EmbedderAppBannerManager", EmbedderDomDistillerViewerSource: "EmbedderDomDistillerViewerSource", EmbedderDomDistillerSelfDeletingRequestDelegate: "EmbedderDomDistillerSelfDeletingRequestDelegate", EmbedderOomInterventionTabHelper: "EmbedderOomInterventionTabHelper", EmbedderOfflinePage: "EmbedderOfflinePage", EmbedderChromePasswordManagerClientBindCredentialManager: "EmbedderChromePasswordManagerClientBindCredentialManager", EmbedderPermissionRequestManager: "EmbedderPermissionRequestManager", EmbedderModalDialog: "EmbedderModalDialog", EmbedderExtensions: "EmbedderExtensions", EmbedderExtensionMessaging: "EmbedderExtensionMessaging", EmbedderExtensionMessagingForOpenPort: "EmbedderExtensionMessagingForOpenPort", EmbedderExtensionSentMessageToCachedFrame: "EmbedderExtensionSentMessageToCachedFrame", EmbedderExtensionFrame: "EmbedderExtensionFrame", RequestedByWebViewClient: "RequestedByWebViewClient", PostMessageByWebViewClient: "PostMessageByWebViewClient", CacheControlNoStoreDeviceBoundSessionTerminated: "CacheControlNoStoreDeviceBoundSessionTerminated", CacheLimitPrunedOnModerateMemoryPressure: "CacheLimitPrunedOnModerateMemoryPressure", CacheLimitPrunedOnCriticalMemoryPressure: "CacheLimitPrunedOnCriticalMemoryPressure" });
|
|
111282
111420
|
inspectorBackend.registerEnum("Page.BackForwardCacheNotRestoredReasonType", { SupportPending: "SupportPending", PageSupportNeeded: "PageSupportNeeded", Circumstantial: "Circumstantial" });
|
|
111283
111421
|
inspectorBackend.registerEvent("Page.domContentEventFired", ["timestamp"]);
|
|
111284
111422
|
inspectorBackend.registerEnum("Page.FileChooserOpenedEventMode", { SelectSingle: "selectSingle", SelectMultiple: "selectMultiple" });
|
|
@@ -111626,7 +111764,7 @@ function registerCommands(inspectorBackend) {
|
|
|
111626
111764
|
inspectorBackend.registerCommand("Target.setRemoteLocations", [{ "name": "locations", "type": "array", "optional": false, "description": "List of remote locations.", "typeRef": "Target.RemoteLocation" }], [], "Enables target discovery for the specified locations, when `setDiscoverTargets` was set to `true`.");
|
|
111627
111765
|
inspectorBackend.registerCommand("Target.getDevToolsTarget", [{ "name": "targetId", "type": "string", "optional": false, "description": "Page or tab target ID.", "typeRef": "Target.TargetID" }], ["targetId"], "Gets the targetId of the DevTools page target opened for the given target (if any).");
|
|
111628
111766
|
inspectorBackend.registerCommand("Target.openDevTools", [{ "name": "targetId", "type": "string", "optional": false, "description": "This can be the page or tab target ID.", "typeRef": "Target.TargetID" }, { "name": "panelId", "type": "string", "optional": true, "description": "The id of the panel we want DevTools to open initially. Currently supported panels are elements, console, network, sources, resources and performance.", "typeRef": null }], ["targetId"], "Opens a DevTools window for the target.");
|
|
111629
|
-
inspectorBackend.registerType("Target.TargetInfo", [{ "name": "targetId", "type": "string", "optional": false, "description": "", "typeRef": "Target.TargetID" }, { "name": "type", "type": "string", "optional": false, "description": "List of types: https://source.chromium.org/chromium/chromium/src/+/main:content/browser/devtools/devtools_agent_host_impl.cc?ss=chromium&q=f:devtools%20-f:out%20%22::kTypeTab%5B%5D%22", "typeRef": null }, { "name": "title", "type": "string", "optional": false, "description": "", "typeRef": null }, { "name": "url", "type": "string", "optional": false, "description": "", "typeRef": null }, { "name": "attached", "type": "boolean", "optional": false, "description": "Whether the target has an attached client.", "typeRef": null }, { "name": "openerId", "type": "string", "optional": true, "description": "Opener target Id", "typeRef": "Target.TargetID" }, { "name": "canAccessOpener", "type": "boolean", "optional": false, "description": "Whether the target has access to the originating window.", "typeRef": null }, { "name": "openerFrameId", "type": "string", "optional": true, "description": "Frame id of originating window (is only set if target has an opener).", "typeRef": "Page.FrameId" }, { "name": "parentFrameId", "type": "string", "optional": true, "description": "Id of the parent frame,
|
|
111767
|
+
inspectorBackend.registerType("Target.TargetInfo", [{ "name": "targetId", "type": "string", "optional": false, "description": "", "typeRef": "Target.TargetID" }, { "name": "type", "type": "string", "optional": false, "description": "List of types: https://source.chromium.org/chromium/chromium/src/+/main:content/browser/devtools/devtools_agent_host_impl.cc?ss=chromium&q=f:devtools%20-f:out%20%22::kTypeTab%5B%5D%22", "typeRef": null }, { "name": "title", "type": "string", "optional": false, "description": "", "typeRef": null }, { "name": "url", "type": "string", "optional": false, "description": "", "typeRef": null }, { "name": "attached", "type": "boolean", "optional": false, "description": "Whether the target has an attached client.", "typeRef": null }, { "name": "parentId", "type": "string", "optional": true, "description": "Id of the parent target, if any. For example, \\\"iframe\\\" target may have a \\\"page\\\" parent.", "typeRef": "Target.TargetID" }, { "name": "openerId", "type": "string", "optional": true, "description": "Opener target Id", "typeRef": "Target.TargetID" }, { "name": "canAccessOpener", "type": "boolean", "optional": false, "description": "Whether the target has access to the originating window.", "typeRef": null }, { "name": "openerFrameId", "type": "string", "optional": true, "description": "Frame id of originating window (is only set if target has an opener).", "typeRef": "Page.FrameId" }, { "name": "parentFrameId", "type": "string", "optional": true, "description": "Id of the parent frame, present for \\\"iframe\\\" and \\\"worker\\\" targets. For nested workers, this is the \\\"ancestor\\\" frame that created the first worker in the nested chain.", "typeRef": "Page.FrameId" }, { "name": "browserContextId", "type": "string", "optional": true, "description": "", "typeRef": "Browser.BrowserContextID" }, { "name": "subtype", "type": "string", "optional": true, "description": "Provides additional details for specific target types. For example, for the type of \\\"page\\\", this may be set to \\\"prerender\\\".", "typeRef": null }]);
|
|
111630
111768
|
inspectorBackend.registerType("Target.FilterEntry", [{ "name": "exclude", "type": "boolean", "optional": true, "description": "If set, causes exclusion of matching targets from the list.", "typeRef": null }, { "name": "type", "type": "string", "optional": true, "description": "If not present, matches any type.", "typeRef": null }]);
|
|
111631
111769
|
inspectorBackend.registerType("Target.TargetFilter", [{ "name": "TargetFilter", "type": "array", "optional": false, "description": "The entries in TargetFilter are matched sequentially against targets and the first entry that matches determines if the target is included or not, depending on the value of `exclude` field in the entry. If filter is not specified, the one assumed is [{type: \\\"browser\\\", exclude: true}, {type: \\\"tab\\\", exclude: true}, {}] (i.e. include everything but `browser` and `tab`).", "typeRef": "Target.FilterEntry" }]);
|
|
111632
111770
|
inspectorBackend.registerType("Target.RemoteLocation", [{ "name": "host", "type": "string", "optional": false, "description": "", "typeRef": null }, { "name": "port", "type": "number", "optional": false, "description": "", "typeRef": null }]);
|
|
@@ -111697,15 +111835,18 @@ function registerCommands(inspectorBackend) {
|
|
|
111697
111835
|
inspectorBackend.registerCommand("WebAuthn.setCredentialProperties", [{ "name": "authenticatorId", "type": "string", "optional": false, "description": "", "typeRef": "WebAuthn.AuthenticatorId" }, { "name": "credentialId", "type": "string", "optional": false, "description": "", "typeRef": null }, { "name": "backupEligibility", "type": "boolean", "optional": true, "description": "", "typeRef": null }, { "name": "backupState", "type": "boolean", "optional": true, "description": "", "typeRef": null }], [], "Allows setting credential properties. https://w3c.github.io/webauthn/#sctn-automation-set-credential-properties");
|
|
111698
111836
|
inspectorBackend.registerType("WebAuthn.VirtualAuthenticatorOptions", [{ "name": "protocol", "type": "string", "optional": false, "description": "", "typeRef": "WebAuthn.AuthenticatorProtocol" }, { "name": "ctap2Version", "type": "string", "optional": true, "description": "Defaults to ctap2_0. Ignored if |protocol| == u2f.", "typeRef": "WebAuthn.Ctap2Version" }, { "name": "transport", "type": "string", "optional": false, "description": "", "typeRef": "WebAuthn.AuthenticatorTransport" }, { "name": "hasResidentKey", "type": "boolean", "optional": true, "description": "Defaults to false.", "typeRef": null }, { "name": "hasUserVerification", "type": "boolean", "optional": true, "description": "Defaults to false.", "typeRef": null }, { "name": "hasLargeBlob", "type": "boolean", "optional": true, "description": "If set to true, the authenticator will support the largeBlob extension. https://w3c.github.io/webauthn#largeBlob Defaults to false.", "typeRef": null }, { "name": "hasCredBlob", "type": "boolean", "optional": true, "description": "If set to true, the authenticator will support the credBlob extension. https://fidoalliance.org/specs/fido-v2.1-rd-20201208/fido-client-to-authenticator-protocol-v2.1-rd-20201208.html#sctn-credBlob-extension Defaults to false.", "typeRef": null }, { "name": "hasMinPinLength", "type": "boolean", "optional": true, "description": "If set to true, the authenticator will support the minPinLength extension. https://fidoalliance.org/specs/fido-v2.1-ps-20210615/fido-client-to-authenticator-protocol-v2.1-ps-20210615.html#sctn-minpinlength-extension Defaults to false.", "typeRef": null }, { "name": "hasPrf", "type": "boolean", "optional": true, "description": "If set to true, the authenticator will support the prf extension. https://w3c.github.io/webauthn/#prf-extension Defaults to false.", "typeRef": null }, { "name": "hasHmacSecret", "type": "boolean", "optional": true, "description": "If set to true, the authenticator will support the hmac-secret extension. https://fidoalliance.org/specs/fido-v2.1-ps-20210615/fido-client-to-authenticator-protocol-v2.1-ps-20210615.html#sctn-hmac-secret-extension Defaults to false.", "typeRef": null }, { "name": "hasHmacSecretMc", "type": "boolean", "optional": true, "description": "If set to true, the authenticator will support the hmac-secret-mc extension. https://fidoalliance.org/specs/fido-v2.2-rd-20241003/fido-client-to-authenticator-protocol-v2.2-rd-20241003.html#sctn-hmac-secret-make-cred-extension Defaults to false.", "typeRef": null }, { "name": "automaticPresenceSimulation", "type": "boolean", "optional": true, "description": "If set to true, tests of user presence will succeed immediately. Otherwise, they will not be resolved. Defaults to true.", "typeRef": null }, { "name": "isUserVerified", "type": "boolean", "optional": true, "description": "Sets whether User Verification succeeds or fails for an authenticator. Defaults to false.", "typeRef": null }, { "name": "defaultBackupEligibility", "type": "boolean", "optional": true, "description": "Credentials created by this authenticator will have the backup eligibility (BE) flag set to this value. Defaults to false. https://w3c.github.io/webauthn/#sctn-credential-backup", "typeRef": null }, { "name": "defaultBackupState", "type": "boolean", "optional": true, "description": "Credentials created by this authenticator will have the backup state (BS) flag set to this value. Defaults to false. https://w3c.github.io/webauthn/#sctn-credential-backup", "typeRef": null }]);
|
|
111699
111837
|
inspectorBackend.registerType("WebAuthn.Credential", [{ "name": "credentialId", "type": "string", "optional": false, "description": "", "typeRef": null }, { "name": "isResidentCredential", "type": "boolean", "optional": false, "description": "", "typeRef": null }, { "name": "rpId", "type": "string", "optional": true, "description": "Relying Party ID the credential is scoped to. Must be set when adding a credential.", "typeRef": null }, { "name": "privateKey", "type": "string", "optional": false, "description": "The ECDSA P-256 private key in PKCS#8 format.", "typeRef": null }, { "name": "userHandle", "type": "string", "optional": true, "description": "An opaque byte sequence with a maximum size of 64 bytes mapping the credential to a specific user.", "typeRef": null }, { "name": "signCount", "type": "number", "optional": false, "description": "Signature counter. This is incremented by one for each successful assertion. See https://w3c.github.io/webauthn/#signature-counter", "typeRef": null }, { "name": "largeBlob", "type": "string", "optional": true, "description": "The large blob associated with the credential. See https://w3c.github.io/webauthn/#sctn-large-blob-extension", "typeRef": null }, { "name": "backupEligibility", "type": "boolean", "optional": true, "description": "Assertions returned by this credential will have the backup eligibility (BE) flag set to this value. Defaults to the authenticator's defaultBackupEligibility value.", "typeRef": null }, { "name": "backupState", "type": "boolean", "optional": true, "description": "Assertions returned by this credential will have the backup state (BS) flag set to this value. Defaults to the authenticator's defaultBackupState value.", "typeRef": null }, { "name": "userName", "type": "string", "optional": true, "description": "The credential's user.name property. Equivalent to empty if not set. https://w3c.github.io/webauthn/#dom-publickeycredentialentity-name", "typeRef": null }, { "name": "userDisplayName", "type": "string", "optional": true, "description": "The credential's user.displayName property. Equivalent to empty if not set. https://w3c.github.io/webauthn/#dom-publickeycredentialuserentity-displayname", "typeRef": null }]);
|
|
111700
|
-
inspectorBackend.registerEnum("WebMCP.InvocationStatus", {
|
|
111838
|
+
inspectorBackend.registerEnum("WebMCP.InvocationStatus", { Completed: "Completed", Canceled: "Canceled", Error: "Error" });
|
|
111701
111839
|
inspectorBackend.registerEvent("WebMCP.toolsAdded", ["tools"]);
|
|
111702
111840
|
inspectorBackend.registerEvent("WebMCP.toolsRemoved", ["tools"]);
|
|
111703
111841
|
inspectorBackend.registerEvent("WebMCP.toolInvoked", ["toolName", "frameId", "invocationId", "input"]);
|
|
111704
111842
|
inspectorBackend.registerEvent("WebMCP.toolResponded", ["invocationId", "status", "output", "errorText", "exception"]);
|
|
111705
111843
|
inspectorBackend.registerCommand("WebMCP.enable", [], [], "Enables the WebMCP domain, allowing events to be sent. Enabling the domain will trigger a toolsAdded event for all currently registered tools.");
|
|
111706
111844
|
inspectorBackend.registerCommand("WebMCP.disable", [], [], "Disables the WebMCP domain.");
|
|
111707
|
-
inspectorBackend.
|
|
111845
|
+
inspectorBackend.registerCommand("WebMCP.invokeTool", [{ "name": "frameId", "type": "string", "optional": false, "description": "Frame in which to invoke the tool.", "typeRef": "Page.FrameId" }, { "name": "toolName", "type": "string", "optional": false, "description": "Name of the tool to invoke.", "typeRef": null }, { "name": "input", "type": "object", "optional": false, "description": "Input parameters for the tool, matching the tool's inputSchema.", "typeRef": null }], ["invocationId"], "Invokes a registered tool.");
|
|
111846
|
+
inspectorBackend.registerCommand("WebMCP.cancelInvocation", [{ "name": "invocationId", "type": "string", "optional": false, "description": "Invocation identifier to cancel.", "typeRef": null }], [], "Cancels a pending tool invocation.");
|
|
111847
|
+
inspectorBackend.registerType("WebMCP.Annotation", [{ "name": "readOnly", "type": "boolean", "optional": true, "description": "A hint indicating that the tool does not modify any state.", "typeRef": null }, { "name": "untrustedContent", "type": "boolean", "optional": true, "description": "A hint indicating that the tool output may contain untrusted content, ex: UGC, 3rd party data.", "typeRef": null }, { "name": "autosubmit", "type": "boolean", "optional": true, "description": "If the declarative tool was declared with the autosubmit attribute.", "typeRef": null }]);
|
|
111708
111848
|
inspectorBackend.registerType("WebMCP.Tool", [{ "name": "name", "type": "string", "optional": false, "description": "Tool name.", "typeRef": null }, { "name": "description", "type": "string", "optional": false, "description": "Tool description.", "typeRef": null }, { "name": "inputSchema", "type": "object", "optional": true, "description": "Schema for the tool's input parameters.", "typeRef": null }, { "name": "annotations", "type": "object", "optional": true, "description": "Optional annotations for the tool.", "typeRef": "WebMCP.Annotation" }, { "name": "frameId", "type": "string", "optional": false, "description": "Frame identifier associated with the tool registration.", "typeRef": "Page.FrameId" }, { "name": "backendNodeId", "type": "number", "optional": true, "description": "Optional node ID for declarative tools.", "typeRef": "DOM.BackendNodeId" }, { "name": "stackTrace", "type": "object", "optional": true, "description": "The stack trace at the time of the registration.", "typeRef": "Runtime.StackTrace" }]);
|
|
111849
|
+
inspectorBackend.registerType("WebMCP.RemovedTool", [{ "name": "name", "type": "string", "optional": false, "description": "Tool name.", "typeRef": null }, { "name": "frameId", "type": "string", "optional": false, "description": "Frame identifier associated with the tool registration.", "typeRef": "Page.FrameId" }]);
|
|
111709
111850
|
inspectorBackend.registerEnum("Debugger.ScopeType", { Global: "global", Local: "local", With: "with", Closure: "closure", Catch: "catch", Block: "block", Script: "script", Eval: "eval", Module: "module", WasmExpressionStack: "wasm-expression-stack" });
|
|
111710
111851
|
inspectorBackend.registerEnum("Debugger.BreakLocationType", { DebuggerStatement: "debuggerStatement", Call: "call", Return: "return" });
|
|
111711
111852
|
inspectorBackend.registerEnum("Debugger.ScriptLanguage", { JavaScript: "JavaScript", WebAssembly: "WebAssembly" });
|
|
@@ -113248,14 +113389,57 @@ class RemoteFunction {
|
|
|
113248
113389
|
return functionDetails;
|
|
113249
113390
|
}
|
|
113250
113391
|
}
|
|
113392
|
+
class RemoteError {
|
|
113393
|
+
#object;
|
|
113394
|
+
#exceptionDetails;
|
|
113395
|
+
#cause;
|
|
113396
|
+
constructor(object) {
|
|
113397
|
+
this.#object = object;
|
|
113398
|
+
}
|
|
113399
|
+
static objectAsError(object) {
|
|
113400
|
+
if (object.subtype !== 'error') {
|
|
113401
|
+
throw new Error(`Object of type ${object.subtype} is not an error`);
|
|
113402
|
+
}
|
|
113403
|
+
return new RemoteError(object);
|
|
113404
|
+
}
|
|
113405
|
+
get errorStack() {
|
|
113406
|
+
return this.#object.description ?? '';
|
|
113407
|
+
}
|
|
113408
|
+
exceptionDetails() {
|
|
113409
|
+
if (!this.#exceptionDetails) {
|
|
113410
|
+
this.#exceptionDetails = this.#lookupExceptionDetails();
|
|
113411
|
+
}
|
|
113412
|
+
return this.#exceptionDetails;
|
|
113413
|
+
}
|
|
113414
|
+
#lookupExceptionDetails() {
|
|
113415
|
+
if (this.#object.objectId) {
|
|
113416
|
+
return this.#object.runtimeModel().getExceptionDetails(this.#object.objectId);
|
|
113417
|
+
}
|
|
113418
|
+
return Promise.resolve(undefined);
|
|
113419
|
+
}
|
|
113420
|
+
cause() {
|
|
113421
|
+
if (!this.#cause) {
|
|
113422
|
+
this.#cause = this.#lookupCause();
|
|
113423
|
+
}
|
|
113424
|
+
return this.#cause;
|
|
113425
|
+
}
|
|
113426
|
+
async #lookupCause() {
|
|
113427
|
+
const allProperties = await this.#object.getAllProperties(false , false );
|
|
113428
|
+
const cause = allProperties.properties?.find(prop => prop.name === 'cause');
|
|
113429
|
+
return cause?.value;
|
|
113430
|
+
}
|
|
113431
|
+
}
|
|
113251
113432
|
const descriptionLengthParenRegex = /\(([0-9]+)\)/;
|
|
113252
113433
|
const descriptionLengthSquareRegex = /\[([0-9]+)\]/;
|
|
113253
113434
|
|
|
113435
|
+
const cssStreamParser = () => Promise.resolve({ startState: () => ({}) });
|
|
113436
|
+
class StringStream { constructor() {} }
|
|
113437
|
+
|
|
113254
113438
|
// Copyright 2022 The Chromium Authors
|
|
113255
113439
|
function createCssTokenizer() {
|
|
113256
113440
|
async function tokenize(line, callback) {
|
|
113257
|
-
const streamParser = await
|
|
113258
|
-
const stream = new
|
|
113441
|
+
const streamParser = await cssStreamParser();
|
|
113442
|
+
const stream = new StringStream(line, 4, 2);
|
|
113259
113443
|
const state = streamParser.startState(2);
|
|
113260
113444
|
let lastPos = stream.pos;
|
|
113261
113445
|
while (!stream.eol()) {
|
|
@@ -113601,12 +113785,17 @@ class Text {
|
|
|
113601
113785
|
}
|
|
113602
113786
|
|
|
113603
113787
|
// Copyright 2023 The Chromium Authors
|
|
113788
|
+
const objectUrlRegistry = new FinalizationRegistry(url => {
|
|
113789
|
+
URL.revokeObjectURL(url);
|
|
113790
|
+
});
|
|
113791
|
+
const MAX_BLOB_SIZE_BYTES = 10 * 1024 * 1024;
|
|
113604
113792
|
class ContentData {
|
|
113605
113793
|
mimeType;
|
|
113606
113794
|
charset;
|
|
113607
113795
|
#contentAsBase64;
|
|
113608
113796
|
#contentAsText;
|
|
113609
113797
|
#contentAsTextObj;
|
|
113798
|
+
#imagePreviewUrl;
|
|
113610
113799
|
constructor(data, isBase64, mimeType, charset) {
|
|
113611
113800
|
this.charset = charset || 'utf-8';
|
|
113612
113801
|
if (isBase64) {
|
|
@@ -113633,12 +113822,7 @@ class ContentData {
|
|
|
113633
113822
|
if (!this.isTextContent) {
|
|
113634
113823
|
throw new Error('Cannot interpret binary data as text');
|
|
113635
113824
|
}
|
|
113636
|
-
const
|
|
113637
|
-
const len = binaryString.length;
|
|
113638
|
-
const bytes = new Uint8Array(len);
|
|
113639
|
-
for (let i = 0; i < len; i++) {
|
|
113640
|
-
bytes[i] = binaryString.charCodeAt(i);
|
|
113641
|
-
}
|
|
113825
|
+
const bytes = decode$1(this.#contentAsBase64);
|
|
113642
113826
|
this.#contentAsText = new TextDecoder(this.charset).decode(bytes);
|
|
113643
113827
|
return this.#contentAsText;
|
|
113644
113828
|
}
|
|
@@ -113679,6 +113863,37 @@ class ContentData {
|
|
|
113679
113863
|
}
|
|
113680
113864
|
return contentAsDataURL(this.text, this.mimeType ?? '', false, 'utf-8');
|
|
113681
113865
|
}
|
|
113866
|
+
asBlob() {
|
|
113867
|
+
if (this.#contentAsBase64 !== undefined) {
|
|
113868
|
+
if (this.#contentAsBase64.length * 0.75 > MAX_BLOB_SIZE_BYTES) {
|
|
113869
|
+
return null;
|
|
113870
|
+
}
|
|
113871
|
+
const bytes = decode$1(this.#contentAsBase64);
|
|
113872
|
+
return new Blob([bytes], { type: this.mimeType });
|
|
113873
|
+
}
|
|
113874
|
+
const text = this.#contentAsText ?? '';
|
|
113875
|
+
if (text.length > MAX_BLOB_SIZE_BYTES) {
|
|
113876
|
+
return null;
|
|
113877
|
+
}
|
|
113878
|
+
return new Blob([text], { type: this.mimeType });
|
|
113879
|
+
}
|
|
113880
|
+
asImagePreviewUrl() {
|
|
113881
|
+
if (this.#imagePreviewUrl) {
|
|
113882
|
+
return this.#imagePreviewUrl;
|
|
113883
|
+
}
|
|
113884
|
+
const url = this.asDataUrl();
|
|
113885
|
+
if (url !== null) {
|
|
113886
|
+
this.#imagePreviewUrl = url;
|
|
113887
|
+
return this.#imagePreviewUrl;
|
|
113888
|
+
}
|
|
113889
|
+
const blob = this.asBlob();
|
|
113890
|
+
if (blob === null) {
|
|
113891
|
+
return null;
|
|
113892
|
+
}
|
|
113893
|
+
this.#imagePreviewUrl = URL.createObjectURL(blob);
|
|
113894
|
+
objectUrlRegistry.register(this, this.#imagePreviewUrl);
|
|
113895
|
+
return this.#imagePreviewUrl;
|
|
113896
|
+
}
|
|
113682
113897
|
asDeferedContent() {
|
|
113683
113898
|
if (this.isTextContent) {
|
|
113684
113899
|
return { content: this.text, isEncoded: false };
|
|
@@ -114155,11 +114370,12 @@ var ErrorType;
|
|
|
114155
114370
|
ErrorType["ABORT"] = "ABORT";
|
|
114156
114371
|
})(ErrorType || (ErrorType = {}));
|
|
114157
114372
|
function setDebugDispatchHttpRequestEnabled(enabled) {
|
|
114373
|
+
const localStorage = HOST_RUNTIME.getLocalStorage();
|
|
114158
114374
|
if (enabled) {
|
|
114159
|
-
localStorage
|
|
114375
|
+
localStorage?.setItem('debugDispatchHttpRequestEnabled', 'true');
|
|
114160
114376
|
}
|
|
114161
114377
|
else {
|
|
114162
|
-
localStorage
|
|
114378
|
+
localStorage?.removeItem('debugDispatchHttpRequestEnabled');
|
|
114163
114379
|
}
|
|
114164
114380
|
}
|
|
114165
114381
|
globalThis.setDebugDispatchHttpRequestEnabled = setDebugDispatchHttpRequestEnabled;
|
|
@@ -114859,9 +115075,7 @@ var DevtoolsExperiments;
|
|
|
114859
115075
|
DevtoolsExperiments[DevtoolsExperiments["capture-node-creation-stacks"] = 1] = "capture-node-creation-stacks";
|
|
114860
115076
|
DevtoolsExperiments[DevtoolsExperiments["live-heap-profile"] = 11] = "live-heap-profile";
|
|
114861
115077
|
DevtoolsExperiments[DevtoolsExperiments["protocol-monitor"] = 13] = "protocol-monitor";
|
|
114862
|
-
DevtoolsExperiments[DevtoolsExperiments["sampling-heap-profiler-timeline"] = 17] = "sampling-heap-profiler-timeline";
|
|
114863
115078
|
DevtoolsExperiments[DevtoolsExperiments["timeline-invalidation-tracking"] = 26] = "timeline-invalidation-tracking";
|
|
114864
|
-
DevtoolsExperiments[DevtoolsExperiments["apca"] = 39] = "apca";
|
|
114865
115079
|
DevtoolsExperiments[DevtoolsExperiments["font-editor"] = 41] = "font-editor";
|
|
114866
115080
|
DevtoolsExperiments[DevtoolsExperiments["instrumentation-breakpoints"] = 61] = "instrumentation-breakpoints";
|
|
114867
115081
|
DevtoolsExperiments[DevtoolsExperiments["use-source-map-scopes"] = 76] = "use-source-map-scopes";
|
|
@@ -115551,10 +115765,10 @@ const generatedProperties = [
|
|
|
115551
115765
|
"column-height",
|
|
115552
115766
|
"column-rule-break",
|
|
115553
115767
|
"column-rule-color",
|
|
115554
|
-
"column-rule-
|
|
115555
|
-
"column-rule-
|
|
115556
|
-
"column-rule-
|
|
115557
|
-
"column-rule-
|
|
115768
|
+
"column-rule-inset-cap-end",
|
|
115769
|
+
"column-rule-inset-cap-start",
|
|
115770
|
+
"column-rule-inset-junction-end",
|
|
115771
|
+
"column-rule-inset-junction-start",
|
|
115558
115772
|
"column-rule-style",
|
|
115559
115773
|
"column-rule-visibility-items",
|
|
115560
115774
|
"column-rule-width",
|
|
@@ -115600,6 +115814,7 @@ const generatedProperties = [
|
|
|
115600
115814
|
"flex-basis",
|
|
115601
115815
|
"flex-direction",
|
|
115602
115816
|
"flex-grow",
|
|
115817
|
+
"flex-line-count",
|
|
115603
115818
|
"flex-shrink",
|
|
115604
115819
|
"flex-wrap",
|
|
115605
115820
|
"float",
|
|
@@ -115783,10 +115998,10 @@ const generatedProperties = [
|
|
|
115783
115998
|
"row-gap",
|
|
115784
115999
|
"row-rule-break",
|
|
115785
116000
|
"row-rule-color",
|
|
115786
|
-
"row-rule-
|
|
115787
|
-
"row-rule-
|
|
115788
|
-
"row-rule-
|
|
115789
|
-
"row-rule-
|
|
116001
|
+
"row-rule-inset-cap-end",
|
|
116002
|
+
"row-rule-inset-cap-start",
|
|
116003
|
+
"row-rule-inset-junction-end",
|
|
116004
|
+
"row-rule-inset-junction-start",
|
|
115790
116005
|
"row-rule-style",
|
|
115791
116006
|
"row-rule-visibility-items",
|
|
115792
116007
|
"row-rule-width",
|
|
@@ -115861,6 +116076,7 @@ const generatedProperties = [
|
|
|
115861
116076
|
"text-decoration-color",
|
|
115862
116077
|
"text-decoration-line",
|
|
115863
116078
|
"text-decoration-skip-ink",
|
|
116079
|
+
"text-decoration-skip-spaces",
|
|
115864
116080
|
"text-decoration-style",
|
|
115865
116081
|
"text-decoration-thickness",
|
|
115866
116082
|
"text-emphasis-color",
|
|
@@ -116205,7 +116421,7 @@ const generatedProperties = [
|
|
|
116205
116421
|
{
|
|
116206
116422
|
"inherited": true,
|
|
116207
116423
|
"keywords": [
|
|
116208
|
-
"
|
|
116424
|
+
"ellipsis",
|
|
116209
116425
|
"no-ellipsis"
|
|
116210
116426
|
],
|
|
116211
116427
|
"name": "block-ellipsis"
|
|
@@ -116873,68 +117089,68 @@ const generatedProperties = [
|
|
|
116873
117089
|
},
|
|
116874
117090
|
{
|
|
116875
117091
|
"longhands": [
|
|
116876
|
-
"column-rule-
|
|
116877
|
-
"column-rule-
|
|
117092
|
+
"column-rule-inset-cap-start",
|
|
117093
|
+
"column-rule-inset-cap-end",
|
|
117094
|
+
"column-rule-inset-junction-start",
|
|
117095
|
+
"column-rule-inset-junction-end"
|
|
116878
117096
|
],
|
|
116879
|
-
"name": "column-rule-
|
|
117097
|
+
"name": "column-rule-inset"
|
|
116880
117098
|
},
|
|
116881
117099
|
{
|
|
116882
|
-
"
|
|
116883
|
-
|
|
116884
|
-
"
|
|
117100
|
+
"longhands": [
|
|
117101
|
+
"column-rule-inset-cap-start",
|
|
117102
|
+
"column-rule-inset-cap-end"
|
|
116885
117103
|
],
|
|
116886
|
-
"name": "column-rule-
|
|
117104
|
+
"name": "column-rule-inset-cap"
|
|
116887
117105
|
},
|
|
116888
117106
|
{
|
|
116889
117107
|
"inherited": false,
|
|
116890
117108
|
"keywords": [
|
|
116891
117109
|
"overlap-join"
|
|
116892
117110
|
],
|
|
116893
|
-
"name": "column-rule-
|
|
117111
|
+
"name": "column-rule-inset-cap-end"
|
|
116894
117112
|
},
|
|
116895
117113
|
{
|
|
116896
|
-
"
|
|
116897
|
-
|
|
116898
|
-
"
|
|
116899
|
-
"column-rule-interior-inset-start",
|
|
116900
|
-
"column-rule-interior-inset-end"
|
|
117114
|
+
"inherited": false,
|
|
117115
|
+
"keywords": [
|
|
117116
|
+
"overlap-join"
|
|
116901
117117
|
],
|
|
116902
|
-
"name": "column-rule-inset"
|
|
117118
|
+
"name": "column-rule-inset-cap-start"
|
|
116903
117119
|
},
|
|
116904
117120
|
{
|
|
116905
117121
|
"longhands": [
|
|
116906
|
-
"column-rule-
|
|
116907
|
-
"column-rule-
|
|
117122
|
+
"column-rule-inset-cap-end",
|
|
117123
|
+
"column-rule-inset-junction-end"
|
|
116908
117124
|
],
|
|
116909
117125
|
"name": "column-rule-inset-end"
|
|
116910
117126
|
},
|
|
116911
117127
|
{
|
|
116912
117128
|
"longhands": [
|
|
116913
|
-
"column-rule-
|
|
116914
|
-
"column-rule-
|
|
116915
|
-
],
|
|
116916
|
-
"name": "column-rule-inset-start"
|
|
116917
|
-
},
|
|
116918
|
-
{
|
|
116919
|
-
"longhands": [
|
|
116920
|
-
"column-rule-interior-inset-start",
|
|
116921
|
-
"column-rule-interior-inset-end"
|
|
117129
|
+
"column-rule-inset-junction-start",
|
|
117130
|
+
"column-rule-inset-junction-end"
|
|
116922
117131
|
],
|
|
116923
|
-
"name": "column-rule-
|
|
117132
|
+
"name": "column-rule-inset-junction"
|
|
116924
117133
|
},
|
|
116925
117134
|
{
|
|
116926
117135
|
"inherited": false,
|
|
116927
117136
|
"keywords": [
|
|
116928
117137
|
"overlap-join"
|
|
116929
117138
|
],
|
|
116930
|
-
"name": "column-rule-
|
|
117139
|
+
"name": "column-rule-inset-junction-end"
|
|
116931
117140
|
},
|
|
116932
117141
|
{
|
|
116933
117142
|
"inherited": false,
|
|
116934
117143
|
"keywords": [
|
|
116935
117144
|
"overlap-join"
|
|
116936
117145
|
],
|
|
116937
|
-
"name": "column-rule-
|
|
117146
|
+
"name": "column-rule-inset-junction-start"
|
|
117147
|
+
},
|
|
117148
|
+
{
|
|
117149
|
+
"longhands": [
|
|
117150
|
+
"column-rule-inset-cap-start",
|
|
117151
|
+
"column-rule-inset-junction-start"
|
|
117152
|
+
],
|
|
117153
|
+
"name": "column-rule-inset-start"
|
|
116938
117154
|
},
|
|
116939
117155
|
{
|
|
116940
117156
|
"keywords": [
|
|
@@ -117074,7 +117290,7 @@ const generatedProperties = [
|
|
|
117074
117290
|
},
|
|
117075
117291
|
{
|
|
117076
117292
|
"keywords": [
|
|
117077
|
-
"
|
|
117293
|
+
"normal",
|
|
117078
117294
|
"collapse",
|
|
117079
117295
|
"-webkit-legacy"
|
|
117080
117296
|
],
|
|
@@ -117438,6 +117654,9 @@ const generatedProperties = [
|
|
|
117438
117654
|
{
|
|
117439
117655
|
"name": "flex-grow"
|
|
117440
117656
|
},
|
|
117657
|
+
{
|
|
117658
|
+
"name": "flex-line-count"
|
|
117659
|
+
},
|
|
117441
117660
|
{
|
|
117442
117661
|
"name": "flex-shrink"
|
|
117443
117662
|
},
|
|
@@ -118966,68 +119185,68 @@ const generatedProperties = [
|
|
|
118966
119185
|
},
|
|
118967
119186
|
{
|
|
118968
119187
|
"longhands": [
|
|
118969
|
-
"row-rule-
|
|
118970
|
-
"row-rule-
|
|
119188
|
+
"row-rule-inset-cap-start",
|
|
119189
|
+
"row-rule-inset-cap-end",
|
|
119190
|
+
"row-rule-inset-junction-start",
|
|
119191
|
+
"row-rule-inset-junction-end"
|
|
118971
119192
|
],
|
|
118972
|
-
"name": "row-rule-
|
|
119193
|
+
"name": "row-rule-inset"
|
|
118973
119194
|
},
|
|
118974
119195
|
{
|
|
118975
|
-
"
|
|
118976
|
-
|
|
118977
|
-
"
|
|
119196
|
+
"longhands": [
|
|
119197
|
+
"row-rule-inset-cap-start",
|
|
119198
|
+
"row-rule-inset-cap-end"
|
|
118978
119199
|
],
|
|
118979
|
-
"name": "row-rule-
|
|
119200
|
+
"name": "row-rule-inset-cap"
|
|
118980
119201
|
},
|
|
118981
119202
|
{
|
|
118982
119203
|
"inherited": false,
|
|
118983
119204
|
"keywords": [
|
|
118984
119205
|
"overlap-join"
|
|
118985
119206
|
],
|
|
118986
|
-
"name": "row-rule-
|
|
119207
|
+
"name": "row-rule-inset-cap-end"
|
|
118987
119208
|
},
|
|
118988
119209
|
{
|
|
118989
|
-
"
|
|
118990
|
-
|
|
118991
|
-
"
|
|
118992
|
-
"row-rule-interior-inset-start",
|
|
118993
|
-
"row-rule-interior-inset-end"
|
|
119210
|
+
"inherited": false,
|
|
119211
|
+
"keywords": [
|
|
119212
|
+
"overlap-join"
|
|
118994
119213
|
],
|
|
118995
|
-
"name": "row-rule-inset"
|
|
119214
|
+
"name": "row-rule-inset-cap-start"
|
|
118996
119215
|
},
|
|
118997
119216
|
{
|
|
118998
119217
|
"longhands": [
|
|
118999
|
-
"row-rule-
|
|
119000
|
-
"row-rule-
|
|
119218
|
+
"row-rule-inset-cap-end",
|
|
119219
|
+
"row-rule-inset-junction-end"
|
|
119001
119220
|
],
|
|
119002
119221
|
"name": "row-rule-inset-end"
|
|
119003
119222
|
},
|
|
119004
119223
|
{
|
|
119005
119224
|
"longhands": [
|
|
119006
|
-
"row-rule-
|
|
119007
|
-
"row-rule-
|
|
119225
|
+
"row-rule-inset-junction-start",
|
|
119226
|
+
"row-rule-inset-junction-end"
|
|
119008
119227
|
],
|
|
119009
|
-
"name": "row-rule-inset-
|
|
119010
|
-
},
|
|
119011
|
-
{
|
|
119012
|
-
"longhands": [
|
|
119013
|
-
"row-rule-interior-inset-start",
|
|
119014
|
-
"row-rule-interior-inset-end"
|
|
119015
|
-
],
|
|
119016
|
-
"name": "row-rule-interior-inset"
|
|
119228
|
+
"name": "row-rule-inset-junction"
|
|
119017
119229
|
},
|
|
119018
119230
|
{
|
|
119019
119231
|
"inherited": false,
|
|
119020
119232
|
"keywords": [
|
|
119021
119233
|
"overlap-join"
|
|
119022
119234
|
],
|
|
119023
|
-
"name": "row-rule-
|
|
119235
|
+
"name": "row-rule-inset-junction-end"
|
|
119024
119236
|
},
|
|
119025
119237
|
{
|
|
119026
119238
|
"inherited": false,
|
|
119027
119239
|
"keywords": [
|
|
119028
119240
|
"overlap-join"
|
|
119029
119241
|
],
|
|
119030
|
-
"name": "row-rule-
|
|
119242
|
+
"name": "row-rule-inset-junction-start"
|
|
119243
|
+
},
|
|
119244
|
+
{
|
|
119245
|
+
"longhands": [
|
|
119246
|
+
"row-rule-inset-cap-start",
|
|
119247
|
+
"row-rule-inset-junction-start"
|
|
119248
|
+
],
|
|
119249
|
+
"name": "row-rule-inset-start"
|
|
119031
119250
|
},
|
|
119032
119251
|
{
|
|
119033
119252
|
"keywords": [
|
|
@@ -119076,7 +119295,7 @@ const generatedProperties = [
|
|
|
119076
119295
|
"inherited": true,
|
|
119077
119296
|
"keywords": [
|
|
119078
119297
|
"auto",
|
|
119079
|
-
"
|
|
119298
|
+
"spaces"
|
|
119080
119299
|
],
|
|
119081
119300
|
"name": "ruby-overhang"
|
|
119082
119301
|
},
|
|
@@ -119115,52 +119334,52 @@ const generatedProperties = [
|
|
|
119115
119334
|
},
|
|
119116
119335
|
{
|
|
119117
119336
|
"longhands": [
|
|
119118
|
-
"row-rule-
|
|
119119
|
-
"row-rule-
|
|
119120
|
-
"
|
|
119121
|
-
"
|
|
119337
|
+
"row-rule-inset-cap-start",
|
|
119338
|
+
"row-rule-inset-cap-end",
|
|
119339
|
+
"row-rule-inset-junction-start",
|
|
119340
|
+
"row-rule-inset-junction-end",
|
|
119341
|
+
"column-rule-inset-cap-start",
|
|
119342
|
+
"column-rule-inset-cap-end",
|
|
119343
|
+
"column-rule-inset-junction-start",
|
|
119344
|
+
"column-rule-inset-junction-end"
|
|
119122
119345
|
],
|
|
119123
|
-
"name": "rule-
|
|
119346
|
+
"name": "rule-inset"
|
|
119124
119347
|
},
|
|
119125
119348
|
{
|
|
119126
119349
|
"longhands": [
|
|
119127
|
-
"row-rule-
|
|
119128
|
-
"row-rule-
|
|
119129
|
-
"
|
|
119130
|
-
"
|
|
119131
|
-
"column-rule-edge-inset-start",
|
|
119132
|
-
"column-rule-edge-inset-end",
|
|
119133
|
-
"column-rule-interior-inset-start",
|
|
119134
|
-
"column-rule-interior-inset-end"
|
|
119350
|
+
"row-rule-inset-cap-start",
|
|
119351
|
+
"row-rule-inset-cap-end",
|
|
119352
|
+
"column-rule-inset-cap-start",
|
|
119353
|
+
"column-rule-inset-cap-end"
|
|
119135
119354
|
],
|
|
119136
|
-
"name": "rule-inset"
|
|
119355
|
+
"name": "rule-inset-cap"
|
|
119137
119356
|
},
|
|
119138
119357
|
{
|
|
119139
119358
|
"longhands": [
|
|
119140
|
-
"column-rule-
|
|
119141
|
-
"column-rule-
|
|
119142
|
-
"row-rule-
|
|
119143
|
-
"row-rule-
|
|
119359
|
+
"column-rule-inset-cap-end",
|
|
119360
|
+
"column-rule-inset-junction-end",
|
|
119361
|
+
"row-rule-inset-cap-end",
|
|
119362
|
+
"row-rule-inset-junction-end"
|
|
119144
119363
|
],
|
|
119145
119364
|
"name": "rule-inset-end"
|
|
119146
119365
|
},
|
|
119147
119366
|
{
|
|
119148
119367
|
"longhands": [
|
|
119149
|
-
"
|
|
119150
|
-
"
|
|
119151
|
-
"
|
|
119152
|
-
"
|
|
119368
|
+
"row-rule-inset-junction-start",
|
|
119369
|
+
"row-rule-inset-junction-end",
|
|
119370
|
+
"column-rule-inset-junction-start",
|
|
119371
|
+
"column-rule-inset-junction-end"
|
|
119153
119372
|
],
|
|
119154
|
-
"name": "rule-inset-
|
|
119373
|
+
"name": "rule-inset-junction"
|
|
119155
119374
|
},
|
|
119156
119375
|
{
|
|
119157
119376
|
"longhands": [
|
|
119158
|
-
"
|
|
119159
|
-
"
|
|
119160
|
-
"
|
|
119161
|
-
"
|
|
119377
|
+
"column-rule-inset-cap-start",
|
|
119378
|
+
"column-rule-inset-junction-start",
|
|
119379
|
+
"row-rule-inset-cap-start",
|
|
119380
|
+
"row-rule-inset-junction-start"
|
|
119162
119381
|
],
|
|
119163
|
-
"name": "rule-
|
|
119382
|
+
"name": "rule-inset-start"
|
|
119164
119383
|
},
|
|
119165
119384
|
{
|
|
119166
119385
|
"inherited": false,
|
|
@@ -119655,6 +119874,16 @@ const generatedProperties = [
|
|
|
119655
119874
|
],
|
|
119656
119875
|
"name": "text-decoration-skip-ink"
|
|
119657
119876
|
},
|
|
119877
|
+
{
|
|
119878
|
+
"inherited": true,
|
|
119879
|
+
"keywords": [
|
|
119880
|
+
"none",
|
|
119881
|
+
"start",
|
|
119882
|
+
"end",
|
|
119883
|
+
"all"
|
|
119884
|
+
],
|
|
119885
|
+
"name": "text-decoration-skip-spaces"
|
|
119886
|
+
},
|
|
119658
119887
|
{
|
|
119659
119888
|
"keywords": [
|
|
119660
119889
|
"solid",
|
|
@@ -120440,7 +120669,7 @@ const generatedPropertyValues = {
|
|
|
120440
120669
|
},
|
|
120441
120670
|
"block-ellipsis": {
|
|
120442
120671
|
"values": [
|
|
120443
|
-
"
|
|
120672
|
+
"ellipsis",
|
|
120444
120673
|
"no-ellipsis"
|
|
120445
120674
|
]
|
|
120446
120675
|
},
|
|
@@ -120770,22 +120999,22 @@ const generatedPropertyValues = {
|
|
|
120770
120999
|
"currentcolor"
|
|
120771
121000
|
]
|
|
120772
121001
|
},
|
|
120773
|
-
"column-rule-
|
|
121002
|
+
"column-rule-inset-cap-end": {
|
|
120774
121003
|
"values": [
|
|
120775
121004
|
"overlap-join"
|
|
120776
121005
|
]
|
|
120777
121006
|
},
|
|
120778
|
-
"column-rule-
|
|
121007
|
+
"column-rule-inset-cap-start": {
|
|
120779
121008
|
"values": [
|
|
120780
121009
|
"overlap-join"
|
|
120781
121010
|
]
|
|
120782
121011
|
},
|
|
120783
|
-
"column-rule-
|
|
121012
|
+
"column-rule-inset-junction-end": {
|
|
120784
121013
|
"values": [
|
|
120785
121014
|
"overlap-join"
|
|
120786
121015
|
]
|
|
120787
121016
|
},
|
|
120788
|
-
"column-rule-
|
|
121017
|
+
"column-rule-inset-junction-start": {
|
|
120789
121018
|
"values": [
|
|
120790
121019
|
"overlap-join"
|
|
120791
121020
|
]
|
|
@@ -120883,7 +121112,7 @@ const generatedPropertyValues = {
|
|
|
120883
121112
|
},
|
|
120884
121113
|
"continue": {
|
|
120885
121114
|
"values": [
|
|
120886
|
-
"
|
|
121115
|
+
"normal",
|
|
120887
121116
|
"collapse",
|
|
120888
121117
|
"-webkit-legacy"
|
|
120889
121118
|
]
|
|
@@ -121941,22 +122170,22 @@ const generatedPropertyValues = {
|
|
|
121941
122170
|
"currentcolor"
|
|
121942
122171
|
]
|
|
121943
122172
|
},
|
|
121944
|
-
"row-rule-
|
|
122173
|
+
"row-rule-inset-cap-end": {
|
|
121945
122174
|
"values": [
|
|
121946
122175
|
"overlap-join"
|
|
121947
122176
|
]
|
|
121948
122177
|
},
|
|
121949
|
-
"row-rule-
|
|
122178
|
+
"row-rule-inset-cap-start": {
|
|
121950
122179
|
"values": [
|
|
121951
122180
|
"overlap-join"
|
|
121952
122181
|
]
|
|
121953
122182
|
},
|
|
121954
|
-
"row-rule-
|
|
122183
|
+
"row-rule-inset-junction-end": {
|
|
121955
122184
|
"values": [
|
|
121956
122185
|
"overlap-join"
|
|
121957
122186
|
]
|
|
121958
122187
|
},
|
|
121959
|
-
"row-rule-
|
|
122188
|
+
"row-rule-inset-junction-start": {
|
|
121960
122189
|
"values": [
|
|
121961
122190
|
"overlap-join"
|
|
121962
122191
|
]
|
|
@@ -122001,7 +122230,7 @@ const generatedPropertyValues = {
|
|
|
122001
122230
|
"ruby-overhang": {
|
|
122002
122231
|
"values": [
|
|
122003
122232
|
"auto",
|
|
122004
|
-
"
|
|
122233
|
+
"spaces"
|
|
122005
122234
|
]
|
|
122006
122235
|
},
|
|
122007
122236
|
"ruby-position": {
|
|
@@ -122263,6 +122492,14 @@ const generatedPropertyValues = {
|
|
|
122263
122492
|
"all"
|
|
122264
122493
|
]
|
|
122265
122494
|
},
|
|
122495
|
+
"text-decoration-skip-spaces": {
|
|
122496
|
+
"values": [
|
|
122497
|
+
"none",
|
|
122498
|
+
"start",
|
|
122499
|
+
"end",
|
|
122500
|
+
"all"
|
|
122501
|
+
]
|
|
122502
|
+
},
|
|
122266
122503
|
"text-decoration-style": {
|
|
122267
122504
|
"values": [
|
|
122268
122505
|
"solid",
|
|
@@ -125218,8 +125455,8 @@ class LinkableNameMatcher extends matcherBase(LinkableNameMatch) {
|
|
|
125218
125455
|
if (!currentDeclarationNodes) {
|
|
125219
125456
|
return null;
|
|
125220
125457
|
}
|
|
125221
|
-
|
|
125222
|
-
const tokenized = tokenizeDeclaration(
|
|
125458
|
+
matching.getComputedTextRange(currentDeclarationNodes[0], node);
|
|
125459
|
+
const tokenized = tokenizeDeclaration();
|
|
125223
125460
|
if (!tokenized) {
|
|
125224
125461
|
return null;
|
|
125225
125462
|
}
|
|
@@ -125785,41 +126022,6 @@ class EnvFunctionMatcher extends matcherBase(EnvFunctionMatch) {
|
|
|
125785
126022
|
function stripComments(value) {
|
|
125786
126023
|
return value.replaceAll(/(\/\*(?:.|\s)*?\*\/)/g, '');
|
|
125787
126024
|
}
|
|
125788
|
-
function nodeText(node, text) {
|
|
125789
|
-
return nodeTextRange(node, node, text);
|
|
125790
|
-
}
|
|
125791
|
-
function nodeTextRange(from, to, text) {
|
|
125792
|
-
return text.substring(from.from, to.to);
|
|
125793
|
-
}
|
|
125794
|
-
class SyntaxTree {
|
|
125795
|
-
propertyValue;
|
|
125796
|
-
rule;
|
|
125797
|
-
tree;
|
|
125798
|
-
trailingNodes;
|
|
125799
|
-
propertyName;
|
|
125800
|
-
constructor(propertyValue, rule, tree, propertyName, trailingNodes = []) {
|
|
125801
|
-
this.propertyName = propertyName;
|
|
125802
|
-
this.propertyValue = propertyValue;
|
|
125803
|
-
this.rule = rule;
|
|
125804
|
-
this.tree = tree;
|
|
125805
|
-
this.trailingNodes = trailingNodes;
|
|
125806
|
-
}
|
|
125807
|
-
text(node) {
|
|
125808
|
-
if (node === null) {
|
|
125809
|
-
return '';
|
|
125810
|
-
}
|
|
125811
|
-
return nodeText(node ?? this.tree, this.rule);
|
|
125812
|
-
}
|
|
125813
|
-
textRange(from, to) {
|
|
125814
|
-
if (!from || !to) {
|
|
125815
|
-
return '';
|
|
125816
|
-
}
|
|
125817
|
-
return nodeTextRange(from, to, this.rule);
|
|
125818
|
-
}
|
|
125819
|
-
subtree(node) {
|
|
125820
|
-
return new SyntaxTree(this.propertyValue, this.rule, node);
|
|
125821
|
-
}
|
|
125822
|
-
}
|
|
125823
126025
|
class TreeWalker {
|
|
125824
126026
|
ast;
|
|
125825
126027
|
constructor(ast) {
|
|
@@ -126100,7 +126302,7 @@ class ComputedText {
|
|
|
126100
126302
|
#countTopLevelValuesInStringPiece(piece) {
|
|
126101
126303
|
let count = this.#topLevelValueCounts.get(piece);
|
|
126102
126304
|
if (count === undefined) {
|
|
126103
|
-
count = ASTUtils.siblings(ASTUtils.declValue(tokenizeDeclaration(
|
|
126305
|
+
count = ASTUtils.siblings(ASTUtils.declValue(tokenizeDeclaration()?.tree ?? null)).length;
|
|
126104
126306
|
this.#topLevelValueCounts.set(piece, count);
|
|
126105
126307
|
}
|
|
126106
126308
|
return count;
|
|
@@ -126190,53 +126392,22 @@ var ASTUtils;
|
|
|
126190
126392
|
}
|
|
126191
126393
|
ASTUtils.equals = equals;
|
|
126192
126394
|
})(ASTUtils || (ASTUtils = {}));
|
|
126193
|
-
function declaration(rule) {
|
|
126194
|
-
const cssParser = undefined.cssLanguage.parser;
|
|
126195
|
-
return cssParser.parse(rule).topNode.getChild('RuleSet')?.getChild('Block')?.getChild('Declaration') ?? null;
|
|
126196
|
-
}
|
|
126197
126395
|
function tokenizeDeclaration(propertyName, propertyValue) {
|
|
126198
|
-
const name = tokenizePropertyName(
|
|
126396
|
+
const name = tokenizePropertyName();
|
|
126199
126397
|
if (!name) {
|
|
126200
126398
|
return null;
|
|
126201
126399
|
}
|
|
126202
|
-
|
|
126203
|
-
const decl = declaration(rule);
|
|
126204
|
-
if (!decl || decl.type.isError) {
|
|
126205
|
-
return null;
|
|
126206
|
-
}
|
|
126207
|
-
const childNodes = ASTUtils.children(decl);
|
|
126208
|
-
if (childNodes.length < 2) {
|
|
126209
|
-
return null;
|
|
126210
|
-
}
|
|
126211
|
-
const [varName, colon, tree] = childNodes;
|
|
126212
|
-
if (!varName || varName.type.isError || !colon || colon.type.isError || tree?.type.isError) {
|
|
126213
|
-
return null;
|
|
126214
|
-
}
|
|
126215
|
-
const trailingNodes = ASTUtils.siblings(decl).slice(1);
|
|
126216
|
-
const [semicolon, brace] = trailingNodes.splice(trailingNodes.length - 2, 2);
|
|
126217
|
-
if (semicolon?.name !== ';' && brace?.name !== '}') {
|
|
126218
|
-
return null;
|
|
126219
|
-
}
|
|
126220
|
-
const ast = new SyntaxTree(propertyValue, rule, decl, name, trailingNodes);
|
|
126221
|
-
if (ast.text(varName) !== name || colon.name !== ':') {
|
|
126400
|
+
{
|
|
126222
126401
|
return null;
|
|
126223
126402
|
}
|
|
126224
|
-
return ast;
|
|
126225
126403
|
}
|
|
126226
126404
|
function tokenizePropertyName(name) {
|
|
126227
|
-
|
|
126228
|
-
const decl = declaration(rule);
|
|
126229
|
-
if (!decl || decl.type.isError) {
|
|
126230
|
-
return null;
|
|
126231
|
-
}
|
|
126232
|
-
const propertyName = decl.getChild('PropertyName') ?? decl.getChild('VariableName');
|
|
126233
|
-
if (!propertyName) {
|
|
126405
|
+
{
|
|
126234
126406
|
return null;
|
|
126235
126407
|
}
|
|
126236
|
-
return nodeText(propertyName, rule);
|
|
126237
126408
|
}
|
|
126238
126409
|
function matchDeclaration(name, value, matchers) {
|
|
126239
|
-
const ast = tokenizeDeclaration(
|
|
126410
|
+
const ast = tokenizeDeclaration();
|
|
126240
126411
|
const matchedResult = ast && BottomUpTreeMatching.walk(ast, matchers);
|
|
126241
126412
|
ast?.trailingNodes.forEach(n => matchedResult?.matchText(n));
|
|
126242
126413
|
return matchedResult;
|
|
@@ -128587,7 +128758,7 @@ class DOMInheritanceCascade {
|
|
|
128587
128758
|
if (rawValue === null) {
|
|
128588
128759
|
return null;
|
|
128589
128760
|
}
|
|
128590
|
-
const ast = tokenizeDeclaration(
|
|
128761
|
+
const ast = tokenizeDeclaration();
|
|
128591
128762
|
if (!ast) {
|
|
128592
128763
|
return null;
|
|
128593
128764
|
}
|
|
@@ -129770,7 +129941,7 @@ class Base64TextDecoder {
|
|
|
129770
129941
|
void this.#decoder.readable.pipeTo(new WritableStream({ write: onTextChunk }));
|
|
129771
129942
|
}
|
|
129772
129943
|
async addBase64Chunk(chunk) {
|
|
129773
|
-
const binString =
|
|
129944
|
+
const binString = globalThis.atob(chunk);
|
|
129774
129945
|
const bytes = Uint8Array.from(binString, m => m.codePointAt(0));
|
|
129775
129946
|
await this.#writer.ready;
|
|
129776
129947
|
await this.#writer.write(bytes);
|
|
@@ -131211,16 +131382,8 @@ class NetworkRequest extends ObjectWrapper {
|
|
|
131211
131382
|
if (ContentData.isError(contentData)) {
|
|
131212
131383
|
return;
|
|
131213
131384
|
}
|
|
131214
|
-
|
|
131215
|
-
|
|
131216
|
-
const cacheControl = this.responseHeaderValue('cache-control') || '';
|
|
131217
|
-
if (!cacheControl.includes('no-cache')) {
|
|
131218
|
-
imageSrc = this.#url;
|
|
131219
|
-
}
|
|
131220
|
-
}
|
|
131221
|
-
if (imageSrc !== null) {
|
|
131222
|
-
image.src = imageSrc;
|
|
131223
|
-
}
|
|
131385
|
+
const imageSrc = contentData.asImagePreviewUrl();
|
|
131386
|
+
image.src = imageSrc ?? '';
|
|
131224
131387
|
}
|
|
131225
131388
|
initiator() {
|
|
131226
131389
|
return this.#initiator || null;
|
|
@@ -131998,10 +132161,14 @@ class NetworkManager extends SDKModel {
|
|
|
131998
132161
|
}
|
|
131999
132162
|
void this.#networkAgent.invoke_enable({
|
|
132000
132163
|
maxPostDataSize: MAX_EAGER_POST_REQUEST_BODY_LENGTH,
|
|
132001
|
-
enableDurableMessages: hostConfig.devToolsEnableDurableMessages?.enabled,
|
|
132002
132164
|
maxTotalBufferSize: MAX_RESPONSE_BODY_TOTAL_BUFFER_LENGTH,
|
|
132003
132165
|
reportDirectSocketTraffic: true,
|
|
132004
132166
|
});
|
|
132167
|
+
if (hostConfig.devToolsEnableDurableMessages?.enabled) {
|
|
132168
|
+
const preserveLogSetting = settings.moduleSetting('network-log.preserve-log');
|
|
132169
|
+
this.#updateDurableMessages(preserveLogSetting.get());
|
|
132170
|
+
preserveLogSetting.addChangeListener(this.preserveLogChanged, this);
|
|
132171
|
+
}
|
|
132005
132172
|
void this.#networkAgent.invoke_setAttachDebugStack({ enabled: true });
|
|
132006
132173
|
this.#bypassServiceWorkerSetting = settings.createSetting('bypass-service-worker', false);
|
|
132007
132174
|
if (this.#bypassServiceWorkerSetting.get()) {
|
|
@@ -132099,7 +132266,7 @@ class NetworkManager extends SDKModel {
|
|
|
132099
132266
|
try {
|
|
132100
132267
|
const { postData, base64Encoded } = await manager.#networkAgent.invoke_getRequestPostData({ requestId });
|
|
132101
132268
|
if (base64Encoded && postData) {
|
|
132102
|
-
const binaryString =
|
|
132269
|
+
const binaryString = globalThis.atob(postData);
|
|
132103
132270
|
const bytes = new Uint8Array(binaryString.length);
|
|
132104
132271
|
for (let i = 0; i < binaryString.length; i++) {
|
|
132105
132272
|
bytes[i] = binaryString.charCodeAt(i);
|
|
@@ -132171,9 +132338,23 @@ class NetworkManager extends SDKModel {
|
|
|
132171
132338
|
cacheDisabledSettingChanged({ data: enabled }) {
|
|
132172
132339
|
void this.#networkAgent.invoke_setCacheDisabled({ cacheDisabled: enabled });
|
|
132173
132340
|
}
|
|
132341
|
+
preserveLogChanged({ data: enabled }) {
|
|
132342
|
+
this.#updateDurableMessages(enabled);
|
|
132343
|
+
}
|
|
132344
|
+
#updateDurableMessages(enabled) {
|
|
132345
|
+
if (enabled) {
|
|
132346
|
+
void this.#networkAgent.invoke_configureDurableMessages({
|
|
132347
|
+
maxTotalBufferSize: MAX_RESPONSE_BODY_TOTAL_BUFFER_LENGTH,
|
|
132348
|
+
});
|
|
132349
|
+
}
|
|
132350
|
+
else {
|
|
132351
|
+
void this.#networkAgent.invoke_configureDurableMessages({});
|
|
132352
|
+
}
|
|
132353
|
+
}
|
|
132174
132354
|
dispose() {
|
|
132175
132355
|
const settings = this.target().targetManager().settings;
|
|
132176
132356
|
settings.moduleSetting('cache-disabled').removeChangeListener(this.cacheDisabledSettingChanged, this);
|
|
132357
|
+
settings.moduleSetting('network-log.preserve-log').removeChangeListener(this.preserveLogChanged, this);
|
|
132177
132358
|
}
|
|
132178
132359
|
bypassServiceWorkerChanged() {
|
|
132179
132360
|
void this.#networkAgent.invoke_setBypassServiceWorker({ bypass: this.#bypassServiceWorkerSetting.get() });
|
|
@@ -132191,6 +132372,9 @@ class NetworkManager extends SDKModel {
|
|
|
132191
132372
|
async enableDeviceBoundSessions(enable = true) {
|
|
132192
132373
|
return await this.#networkAgent.invoke_enableDeviceBoundSessions({ enable });
|
|
132193
132374
|
}
|
|
132375
|
+
async deleteDeviceBoundSession(key) {
|
|
132376
|
+
return await this.#networkAgent.invoke_deleteDeviceBoundSession({ key });
|
|
132377
|
+
}
|
|
132194
132378
|
async loadNetworkResource(frameId, url, options) {
|
|
132195
132379
|
const result = await this.#networkAgent.invoke_loadNetworkResource({ frameId: frameId ?? undefined, url, options });
|
|
132196
132380
|
if (result.getError()) {
|
|
@@ -138205,8 +138389,7 @@ class OverlayModel extends SDKModel {
|
|
|
138205
138389
|
gridHighlightConfig: {},
|
|
138206
138390
|
flexContainerHighlightConfig: {},
|
|
138207
138391
|
flexItemHighlightConfig: {},
|
|
138208
|
-
contrastAlgorithm:
|
|
138209
|
-
"apca" :
|
|
138392
|
+
contrastAlgorithm: settings.moduleSetting('apca').get() ? "apca" :
|
|
138210
138393
|
"aa" ,
|
|
138211
138394
|
};
|
|
138212
138395
|
if (mode === 'all' || mode === 'content') {
|
|
@@ -141212,7 +141395,8 @@ class Resource {
|
|
|
141212
141395
|
if (ContentData.isError(contentData)) {
|
|
141213
141396
|
return;
|
|
141214
141397
|
}
|
|
141215
|
-
|
|
141398
|
+
const imageSrc = contentData.asImagePreviewUrl();
|
|
141399
|
+
image.src = imageSrc ?? '';
|
|
141216
141400
|
}
|
|
141217
141401
|
async innerRequestContent() {
|
|
141218
141402
|
if (this.request) {
|
|
@@ -148149,6 +148333,169 @@ class WebAuthnDispatcher {
|
|
|
148149
148333
|
}
|
|
148150
148334
|
SDKModel.register(WebAuthnModel, { capabilities: 65536 , autostart: false });
|
|
148151
148335
|
|
|
148336
|
+
// Copyright 2026 The Chromium Authors
|
|
148337
|
+
const CALL_FRAME_REGEX = /^\s*at\s+/;
|
|
148338
|
+
function parseRawFramesFromErrorStack(stack) {
|
|
148339
|
+
const lines = stack.split('\n');
|
|
148340
|
+
const firstAtLineIndex = findFramesStartLine(lines);
|
|
148341
|
+
const rawFrames = [];
|
|
148342
|
+
if (firstAtLineIndex === -1) {
|
|
148343
|
+
return rawFrames;
|
|
148344
|
+
}
|
|
148345
|
+
for (let i = firstAtLineIndex; i < lines.length; ++i) {
|
|
148346
|
+
const line = lines[i];
|
|
148347
|
+
const match = CALL_FRAME_REGEX.exec(line);
|
|
148348
|
+
if (!match) {
|
|
148349
|
+
if (line.trim() === '') {
|
|
148350
|
+
continue;
|
|
148351
|
+
}
|
|
148352
|
+
return null;
|
|
148353
|
+
}
|
|
148354
|
+
let lineContent = line.substring(match[0].length);
|
|
148355
|
+
let isAsync = false;
|
|
148356
|
+
if (lineContent.startsWith('async ')) {
|
|
148357
|
+
isAsync = true;
|
|
148358
|
+
lineContent = lineContent.substring(6);
|
|
148359
|
+
}
|
|
148360
|
+
let isConstructor = false;
|
|
148361
|
+
if (lineContent.startsWith('new ')) {
|
|
148362
|
+
isConstructor = true;
|
|
148363
|
+
lineContent = lineContent.substring(4);
|
|
148364
|
+
}
|
|
148365
|
+
let functionName = '';
|
|
148366
|
+
let url = '';
|
|
148367
|
+
let lineNumber = -1;
|
|
148368
|
+
let columnNumber = -1;
|
|
148369
|
+
let typeName;
|
|
148370
|
+
let methodName;
|
|
148371
|
+
let isEval = false;
|
|
148372
|
+
let isWasm = false;
|
|
148373
|
+
let wasmModuleName;
|
|
148374
|
+
let wasmFunctionIndex;
|
|
148375
|
+
let promiseIndex;
|
|
148376
|
+
let evalOrigin;
|
|
148377
|
+
const openParenIndex = lineContent.indexOf(' (');
|
|
148378
|
+
if (lineContent.endsWith(')') && openParenIndex !== -1) {
|
|
148379
|
+
functionName = lineContent.substring(0, openParenIndex).trim();
|
|
148380
|
+
let location = lineContent.substring(openParenIndex + 2, lineContent.length - 1);
|
|
148381
|
+
if (location.startsWith('eval at ')) {
|
|
148382
|
+
isEval = true;
|
|
148383
|
+
const commaIndex = location.lastIndexOf(', ');
|
|
148384
|
+
let evalOriginStr = location;
|
|
148385
|
+
if (commaIndex !== -1) {
|
|
148386
|
+
evalOriginStr = location.substring(0, commaIndex);
|
|
148387
|
+
location = location.substring(commaIndex + 2);
|
|
148388
|
+
}
|
|
148389
|
+
else {
|
|
148390
|
+
location = '';
|
|
148391
|
+
}
|
|
148392
|
+
if (evalOriginStr.startsWith('eval at ')) {
|
|
148393
|
+
evalOriginStr = evalOriginStr.substring(8);
|
|
148394
|
+
}
|
|
148395
|
+
const innerOpenParen = evalOriginStr.indexOf(' (');
|
|
148396
|
+
let evalFunctionName = evalOriginStr;
|
|
148397
|
+
let evalLocation = '';
|
|
148398
|
+
if (innerOpenParen !== -1) {
|
|
148399
|
+
evalFunctionName = evalOriginStr.substring(0, innerOpenParen).trim();
|
|
148400
|
+
evalLocation = evalOriginStr.substring(innerOpenParen + 2, evalOriginStr.length - 1);
|
|
148401
|
+
evalOrigin = parseRawFramesFromErrorStack(` at ${evalFunctionName} (${evalLocation})`)?.[0];
|
|
148402
|
+
}
|
|
148403
|
+
else {
|
|
148404
|
+
evalOrigin = parseRawFramesFromErrorStack(` at ${evalFunctionName}`)?.[0];
|
|
148405
|
+
}
|
|
148406
|
+
}
|
|
148407
|
+
if (location.startsWith('index ')) {
|
|
148408
|
+
promiseIndex = parseInt(location.substring(6), 10);
|
|
148409
|
+
url = '';
|
|
148410
|
+
}
|
|
148411
|
+
else if (location === '<anonymous>' || location === 'native') {
|
|
148412
|
+
url = '';
|
|
148413
|
+
}
|
|
148414
|
+
else if (location.includes(':wasm-function[')) {
|
|
148415
|
+
isWasm = true;
|
|
148416
|
+
const wasmMatch = /^(.*):wasm-function\[(\d+)\]:(0x[0-9a-fA-F]+)$/.exec(location);
|
|
148417
|
+
if (wasmMatch) {
|
|
148418
|
+
url = wasmMatch[1];
|
|
148419
|
+
wasmFunctionIndex = parseInt(wasmMatch[2], 10);
|
|
148420
|
+
columnNumber = parseInt(wasmMatch[3], 16);
|
|
148421
|
+
}
|
|
148422
|
+
}
|
|
148423
|
+
else {
|
|
148424
|
+
const splitResult = ParsedURL.splitLineAndColumn(location);
|
|
148425
|
+
url = splitResult.url;
|
|
148426
|
+
lineNumber = splitResult.lineNumber ?? -1;
|
|
148427
|
+
columnNumber = splitResult.columnNumber ?? -1;
|
|
148428
|
+
}
|
|
148429
|
+
}
|
|
148430
|
+
else {
|
|
148431
|
+
const splitResult = ParsedURL.splitLineAndColumn(lineContent);
|
|
148432
|
+
url = splitResult.url;
|
|
148433
|
+
lineNumber = splitResult.lineNumber ?? -1;
|
|
148434
|
+
columnNumber = splitResult.columnNumber ?? -1;
|
|
148435
|
+
}
|
|
148436
|
+
if (functionName) {
|
|
148437
|
+
const aliasMatch = /(.*)\s+\[as\s+(.*)\]/.exec(functionName);
|
|
148438
|
+
if (aliasMatch) {
|
|
148439
|
+
methodName = aliasMatch[2];
|
|
148440
|
+
functionName = aliasMatch[1];
|
|
148441
|
+
}
|
|
148442
|
+
const dotIndex = functionName.indexOf('.');
|
|
148443
|
+
if (dotIndex !== -1) {
|
|
148444
|
+
typeName = functionName.substring(0, dotIndex);
|
|
148445
|
+
methodName = methodName ?? functionName.substring(dotIndex + 1);
|
|
148446
|
+
}
|
|
148447
|
+
if (isWasm && typeName) {
|
|
148448
|
+
wasmModuleName = typeName;
|
|
148449
|
+
}
|
|
148450
|
+
}
|
|
148451
|
+
rawFrames.push({
|
|
148452
|
+
url: url,
|
|
148453
|
+
functionName,
|
|
148454
|
+
lineNumber,
|
|
148455
|
+
columnNumber,
|
|
148456
|
+
parsedFrameInfo: {
|
|
148457
|
+
isAsync,
|
|
148458
|
+
isConstructor,
|
|
148459
|
+
isEval,
|
|
148460
|
+
evalOrigin,
|
|
148461
|
+
isWasm,
|
|
148462
|
+
wasmModuleName,
|
|
148463
|
+
wasmFunctionIndex,
|
|
148464
|
+
typeName,
|
|
148465
|
+
methodName,
|
|
148466
|
+
promiseIndex,
|
|
148467
|
+
},
|
|
148468
|
+
});
|
|
148469
|
+
}
|
|
148470
|
+
return rawFrames;
|
|
148471
|
+
}
|
|
148472
|
+
function findFramesStartLine(lines) {
|
|
148473
|
+
return lines.findIndex(line => CALL_FRAME_REGEX.test(line));
|
|
148474
|
+
}
|
|
148475
|
+
function parseMessage(stack) {
|
|
148476
|
+
const lines = stack.split('\n');
|
|
148477
|
+
const firstAtLineIndex = findFramesStartLine(lines);
|
|
148478
|
+
if (firstAtLineIndex !== -1) {
|
|
148479
|
+
return lines.slice(0, firstAtLineIndex).join('\n');
|
|
148480
|
+
}
|
|
148481
|
+
return stack;
|
|
148482
|
+
}
|
|
148483
|
+
function augmentRawFramesWithScriptIds(rawFrames, protocolStackTrace) {
|
|
148484
|
+
for (const rawFrame of rawFrames) {
|
|
148485
|
+
const isWasm = rawFrame.parsedFrameInfo?.isWasm;
|
|
148486
|
+
const protocolFrame = protocolStackTrace.callFrames.find(frame => {
|
|
148487
|
+
if (isWasm) {
|
|
148488
|
+
return rawFrame.url === frame.url && rawFrame.columnNumber === frame.columnNumber;
|
|
148489
|
+
}
|
|
148490
|
+
return rawFrame.url === frame.url && rawFrame.lineNumber === frame.lineNumber &&
|
|
148491
|
+
rawFrame.columnNumber === frame.columnNumber;
|
|
148492
|
+
});
|
|
148493
|
+
if (protocolFrame) {
|
|
148494
|
+
rawFrame.scriptId = protocolFrame.scriptId;
|
|
148495
|
+
}
|
|
148496
|
+
}
|
|
148497
|
+
}
|
|
148498
|
+
|
|
148152
148499
|
// Copyright 2025 The Chromium Authors
|
|
148153
148500
|
class StackTraceImpl extends ObjectWrapper {
|
|
148154
148501
|
syncFragment;
|
|
@@ -148157,7 +148504,9 @@ class StackTraceImpl extends ObjectWrapper {
|
|
|
148157
148504
|
super();
|
|
148158
148505
|
this.syncFragment = syncFragment;
|
|
148159
148506
|
this.asyncFragments = asyncFragments;
|
|
148160
|
-
const fragment = syncFragment instanceof DebuggableFragmentImpl
|
|
148507
|
+
const fragment = (syncFragment instanceof DebuggableFragmentImpl || syncFragment instanceof ParsedErrorStackFragmentImpl) ?
|
|
148508
|
+
syncFragment.fragment :
|
|
148509
|
+
syncFragment;
|
|
148161
148510
|
fragment.stackTraces.add(this);
|
|
148162
148511
|
this.asyncFragments.forEach(asyncFragment => asyncFragment.fragment.stackTraces.add(this));
|
|
148163
148512
|
}
|
|
@@ -148215,6 +148564,88 @@ class FrameImpl {
|
|
|
148215
148564
|
this.rawName = rawName;
|
|
148216
148565
|
}
|
|
148217
148566
|
}
|
|
148567
|
+
class ParsedErrorStackFragmentImpl {
|
|
148568
|
+
fragment;
|
|
148569
|
+
constructor(fragment) {
|
|
148570
|
+
this.fragment = fragment;
|
|
148571
|
+
}
|
|
148572
|
+
get frames() {
|
|
148573
|
+
if (!this.fragment.node) {
|
|
148574
|
+
return [];
|
|
148575
|
+
}
|
|
148576
|
+
const frames = [];
|
|
148577
|
+
for (const node of this.fragment.node.getCallStack()) {
|
|
148578
|
+
for (const frame of node.frames) {
|
|
148579
|
+
frames.push(new ParsedErrorStackFrameImpl(frame, node.parsedFrameInfo, node.evalOriginFrames));
|
|
148580
|
+
}
|
|
148581
|
+
}
|
|
148582
|
+
return frames;
|
|
148583
|
+
}
|
|
148584
|
+
}
|
|
148585
|
+
class ParsedErrorStackFrameImpl {
|
|
148586
|
+
#frame;
|
|
148587
|
+
#parsedFrameInfo;
|
|
148588
|
+
#evalOriginFrames;
|
|
148589
|
+
constructor(frame, parsedFrameInfo, evalOriginFrames) {
|
|
148590
|
+
this.#frame = frame;
|
|
148591
|
+
this.#parsedFrameInfo = parsedFrameInfo;
|
|
148592
|
+
this.#evalOriginFrames = evalOriginFrames;
|
|
148593
|
+
}
|
|
148594
|
+
get url() {
|
|
148595
|
+
return this.#frame.url;
|
|
148596
|
+
}
|
|
148597
|
+
get uiSourceCode() {
|
|
148598
|
+
return this.#frame.uiSourceCode;
|
|
148599
|
+
}
|
|
148600
|
+
get name() {
|
|
148601
|
+
return this.#frame.name;
|
|
148602
|
+
}
|
|
148603
|
+
get line() {
|
|
148604
|
+
return this.#frame.line;
|
|
148605
|
+
}
|
|
148606
|
+
get column() {
|
|
148607
|
+
return this.#frame.column;
|
|
148608
|
+
}
|
|
148609
|
+
get missingDebugInfo() {
|
|
148610
|
+
return this.#frame.missingDebugInfo;
|
|
148611
|
+
}
|
|
148612
|
+
get rawName() {
|
|
148613
|
+
return this.#frame.rawName;
|
|
148614
|
+
}
|
|
148615
|
+
get isAsync() {
|
|
148616
|
+
return this.#parsedFrameInfo?.isAsync;
|
|
148617
|
+
}
|
|
148618
|
+
get isConstructor() {
|
|
148619
|
+
return this.#parsedFrameInfo?.isConstructor;
|
|
148620
|
+
}
|
|
148621
|
+
get isEval() {
|
|
148622
|
+
return this.#parsedFrameInfo?.isEval;
|
|
148623
|
+
}
|
|
148624
|
+
get evalOrigin() {
|
|
148625
|
+
if (!this.#evalOriginFrames || this.#evalOriginFrames.length === 0) {
|
|
148626
|
+
return undefined;
|
|
148627
|
+
}
|
|
148628
|
+
return new ParsedErrorStackFrameImpl(this.#evalOriginFrames[0], this.#parsedFrameInfo?.evalOrigin?.parsedFrameInfo);
|
|
148629
|
+
}
|
|
148630
|
+
get isWasm() {
|
|
148631
|
+
return this.#parsedFrameInfo?.isWasm;
|
|
148632
|
+
}
|
|
148633
|
+
get wasmModuleName() {
|
|
148634
|
+
return this.#parsedFrameInfo?.wasmModuleName;
|
|
148635
|
+
}
|
|
148636
|
+
get wasmFunctionIndex() {
|
|
148637
|
+
return this.#parsedFrameInfo?.wasmFunctionIndex;
|
|
148638
|
+
}
|
|
148639
|
+
get typeName() {
|
|
148640
|
+
return this.#parsedFrameInfo?.typeName;
|
|
148641
|
+
}
|
|
148642
|
+
get methodName() {
|
|
148643
|
+
return this.#parsedFrameInfo?.methodName;
|
|
148644
|
+
}
|
|
148645
|
+
get promiseIndex() {
|
|
148646
|
+
return this.#parsedFrameInfo?.promiseIndex;
|
|
148647
|
+
}
|
|
148648
|
+
}
|
|
148218
148649
|
class DebuggableFragmentImpl {
|
|
148219
148650
|
fragment;
|
|
148220
148651
|
callFrames;
|
|
@@ -148273,6 +148704,13 @@ class DebuggableFrameImpl {
|
|
|
148273
148704
|
}
|
|
148274
148705
|
|
|
148275
148706
|
// Copyright 2022 The Chromium Authors
|
|
148707
|
+
function concatErrorDescriptionAndIssueSummary(description, issueSummary) {
|
|
148708
|
+
const pos = description.indexOf('\n');
|
|
148709
|
+
const prefix = pos === -1 ? description : description.substring(0, pos);
|
|
148710
|
+
const suffix = pos === -1 ? '' : description.substring(pos);
|
|
148711
|
+
description = `${prefix}. ${issueSummary}${suffix}`;
|
|
148712
|
+
return description;
|
|
148713
|
+
}
|
|
148276
148714
|
function parseSourcePositionsFromErrorStack(runtimeModel, stack) {
|
|
148277
148715
|
if (!(/\n\s*at\s/.test(stack) || stack.startsWith('SyntaxError:'))) {
|
|
148278
148716
|
return null;
|
|
@@ -148376,6 +148814,7 @@ function framesMatch(parsedFrame, protocolFrame) {
|
|
|
148376
148814
|
var ErrorStackParser = /*#__PURE__*/Object.freeze({
|
|
148377
148815
|
__proto__: null,
|
|
148378
148816
|
augmentErrorStackWithScriptIds: augmentErrorStackWithScriptIds,
|
|
148817
|
+
concatErrorDescriptionAndIssueSummary: concatErrorDescriptionAndIssueSummary,
|
|
148379
148818
|
parseSourcePositionsFromErrorStack: parseSourcePositionsFromErrorStack
|
|
148380
148819
|
});
|
|
148381
148820
|
|
|
@@ -148426,9 +148865,12 @@ class FrameNode {
|
|
|
148426
148865
|
rawFrame;
|
|
148427
148866
|
frames = [];
|
|
148428
148867
|
fragment;
|
|
148868
|
+
parsedFrameInfo;
|
|
148869
|
+
evalOriginFrames;
|
|
148429
148870
|
constructor(rawFrame, parent) {
|
|
148430
148871
|
this.rawFrame = rawFrame;
|
|
148431
148872
|
this.parent = parent;
|
|
148873
|
+
this.parsedFrameInfo = rawFrame.parsedFrameInfo;
|
|
148432
148874
|
}
|
|
148433
148875
|
*getCallStack() {
|
|
148434
148876
|
for (let node = this; node.parent; node = node.parent) {
|
|
@@ -148458,6 +148900,9 @@ class Trie {
|
|
|
148458
148900
|
}
|
|
148459
148901
|
const compareResult = compareRawFrames(child.rawFrame, rawFrame);
|
|
148460
148902
|
if (compareResult === 0) {
|
|
148903
|
+
if (rawFrame.parsedFrameInfo && !child.parsedFrameInfo) {
|
|
148904
|
+
child.parsedFrameInfo = rawFrame.parsedFrameInfo;
|
|
148905
|
+
}
|
|
148461
148906
|
return child;
|
|
148462
148907
|
}
|
|
148463
148908
|
if (compareResult > 0) {
|
|
@@ -148523,6 +148968,21 @@ class StackTraceModel extends SDKModel {
|
|
|
148523
148968
|
]);
|
|
148524
148969
|
return new StackTraceImpl(syncFragment, asyncFragments);
|
|
148525
148970
|
}
|
|
148971
|
+
async createFromErrorStackLikeString(stack, rawFramesToUIFrames, exceptionDetails) {
|
|
148972
|
+
const rawFrames = parseRawFramesFromErrorStack(stack);
|
|
148973
|
+
if (!rawFrames) {
|
|
148974
|
+
return null;
|
|
148975
|
+
}
|
|
148976
|
+
if (exceptionDetails?.stackTrace) {
|
|
148977
|
+
augmentRawFramesWithScriptIds(rawFrames, exceptionDetails.stackTrace);
|
|
148978
|
+
}
|
|
148979
|
+
const [syncFragment, asyncFragments] = await Promise.all([
|
|
148980
|
+
this.#createFragment(rawFrames, rawFramesToUIFrames),
|
|
148981
|
+
exceptionDetails?.stackTrace ? this.#createAsyncFragments(exceptionDetails.stackTrace, rawFramesToUIFrames) :
|
|
148982
|
+
Promise.resolve([]),
|
|
148983
|
+
]);
|
|
148984
|
+
return new StackTraceImpl(new ParsedErrorStackFragmentImpl(syncFragment), asyncFragments);
|
|
148985
|
+
}
|
|
148526
148986
|
async createFromDebuggerPaused(pausedDetails, rawFramesToUIFrames) {
|
|
148527
148987
|
const [syncFragment, asyncFragments] = await Promise.all([
|
|
148528
148988
|
this.#createDebuggableFragment(pausedDetails, rawFramesToUIFrames),
|
|
@@ -148601,9 +149061,21 @@ class StackTraceModel extends SDKModel {
|
|
|
148601
149061
|
const rawFrames = fragment.node.getCallStack().map(node => node.rawFrame).toArray();
|
|
148602
149062
|
const uiFrames = await rawFramesToUIFrames(rawFrames, this.target());
|
|
148603
149063
|
console.assert(rawFrames.length === uiFrames.length, 'Broken rawFramesToUIFrames implementation');
|
|
149064
|
+
const evalOriginPromises = [];
|
|
149065
|
+
for (const node of fragment.node.getCallStack()) {
|
|
149066
|
+
if (node.parsedFrameInfo?.evalOrigin) {
|
|
149067
|
+
evalOriginPromises.push(rawFramesToUIFrames([node.parsedFrameInfo.evalOrigin], this.target()));
|
|
149068
|
+
}
|
|
149069
|
+
}
|
|
149070
|
+
const evalUiFrames = await Promise.all(evalOriginPromises);
|
|
148604
149071
|
let i = 0;
|
|
149072
|
+
let evalI = 0;
|
|
148605
149073
|
for (const node of fragment.node.getCallStack()) {
|
|
148606
149074
|
node.frames = uiFrames[i++].map(frame => new FrameImpl(frame.url, frame.uiSourceCode, frame.name, frame.line, frame.column, frame.missingDebugInfo, node.rawFrame.functionName));
|
|
149075
|
+
if (node.parsedFrameInfo?.evalOrigin) {
|
|
149076
|
+
const evalOriginRawFrame = node.parsedFrameInfo.evalOrigin;
|
|
149077
|
+
node.evalOriginFrames = evalUiFrames[evalI++][0].map(frame => new FrameImpl(frame.url, frame.uiSourceCode, frame.name, frame.line, frame.column, frame.missingDebugInfo, evalOriginRawFrame.functionName));
|
|
149078
|
+
}
|
|
148607
149079
|
}
|
|
148608
149080
|
}
|
|
148609
149081
|
#affectedFragments(script) {
|
|
@@ -149017,8 +149489,8 @@ class UISourceCode extends ObjectWrapper {
|
|
|
149017
149489
|
editDisabled() {
|
|
149018
149490
|
return this.#disableEdit;
|
|
149019
149491
|
}
|
|
149020
|
-
isIgnoreListed() {
|
|
149021
|
-
return
|
|
149492
|
+
isIgnoreListed(ignoreListManager = IgnoreListManager.instance()) {
|
|
149493
|
+
return ignoreListManager.isUserOrSourceMapIgnoreListedUISourceCode(this);
|
|
149022
149494
|
}
|
|
149023
149495
|
}
|
|
149024
149496
|
var Events$2;
|
|
@@ -149094,8 +149566,8 @@ class UILocation {
|
|
|
149094
149566
|
}
|
|
149095
149567
|
return this.columnNumber - other.columnNumber;
|
|
149096
149568
|
}
|
|
149097
|
-
isIgnoreListed() {
|
|
149098
|
-
return this.uiSourceCode.isIgnoreListed();
|
|
149569
|
+
isIgnoreListed(ignoreListManager = IgnoreListManager.instance()) {
|
|
149570
|
+
return this.uiSourceCode.isIgnoreListed(ignoreListManager);
|
|
149099
149571
|
}
|
|
149100
149572
|
}
|
|
149101
149573
|
class UIFunctionBounds {
|
|
@@ -152518,6 +152990,85 @@ class ResourceScriptFile extends ObjectWrapper {
|
|
|
152518
152990
|
}
|
|
152519
152991
|
}
|
|
152520
152992
|
|
|
152993
|
+
// Copyright 2026 The Chromium Authors
|
|
152994
|
+
function isErrorLike(stack) {
|
|
152995
|
+
return /\n\s*at\s/.test(stack) || stack.startsWith('SyntaxError:');
|
|
152996
|
+
}
|
|
152997
|
+
class UnparsableError extends ObjectWrapper {
|
|
152998
|
+
errorStack;
|
|
152999
|
+
cause;
|
|
153000
|
+
constructor(errorStack, cause) {
|
|
153001
|
+
super();
|
|
153002
|
+
this.errorStack = errorStack;
|
|
153003
|
+
this.cause = cause;
|
|
153004
|
+
this.cause?.addEventListener("UPDATED" , this.#fireUpdated, this);
|
|
153005
|
+
}
|
|
153006
|
+
dispose() {
|
|
153007
|
+
this.cause?.removeEventListener("UPDATED" , this.#fireUpdated, this);
|
|
153008
|
+
if (this.cause instanceof SymbolizedErrorObject || this.cause instanceof UnparsableError) {
|
|
153009
|
+
this.cause.dispose();
|
|
153010
|
+
}
|
|
153011
|
+
}
|
|
153012
|
+
#fireUpdated() {
|
|
153013
|
+
this.dispatchEventToListeners("UPDATED" );
|
|
153014
|
+
}
|
|
153015
|
+
}
|
|
153016
|
+
class SymbolizedErrorObject extends ObjectWrapper {
|
|
153017
|
+
message;
|
|
153018
|
+
stackTrace;
|
|
153019
|
+
cause;
|
|
153020
|
+
constructor(message, stackTrace, cause) {
|
|
153021
|
+
super();
|
|
153022
|
+
this.message = message;
|
|
153023
|
+
this.stackTrace = stackTrace;
|
|
153024
|
+
this.cause = cause;
|
|
153025
|
+
this.stackTrace.addEventListener("UPDATED" , this.#fireUpdated, this);
|
|
153026
|
+
this.cause?.addEventListener("UPDATED" , this.#fireUpdated, this);
|
|
153027
|
+
}
|
|
153028
|
+
dispose() {
|
|
153029
|
+
this.stackTrace.removeEventListener("UPDATED" , this.#fireUpdated, this);
|
|
153030
|
+
this.cause?.removeEventListener("UPDATED" , this.#fireUpdated, this);
|
|
153031
|
+
if (this.cause instanceof SymbolizedErrorObject || this.cause instanceof UnparsableError) {
|
|
153032
|
+
this.cause.dispose();
|
|
153033
|
+
}
|
|
153034
|
+
}
|
|
153035
|
+
#fireUpdated() {
|
|
153036
|
+
this.dispatchEventToListeners("UPDATED" );
|
|
153037
|
+
}
|
|
153038
|
+
}
|
|
153039
|
+
class SymbolizedSyntaxError extends ObjectWrapper {
|
|
153040
|
+
message;
|
|
153041
|
+
#uiLocation = null;
|
|
153042
|
+
constructor(message) {
|
|
153043
|
+
super();
|
|
153044
|
+
this.message = message;
|
|
153045
|
+
}
|
|
153046
|
+
get uiLocation() {
|
|
153047
|
+
return this.#uiLocation;
|
|
153048
|
+
}
|
|
153049
|
+
static async fromExceptionDetails(target, debuggerWorkspaceBinding, exceptionDetails) {
|
|
153050
|
+
const { exception, scriptId, lineNumber, columnNumber } = exceptionDetails;
|
|
153051
|
+
if (!exception || exception.subtype !== 'error' || exception.className !== 'SyntaxError') {
|
|
153052
|
+
throw new Error('SymbolizedSyntaxError.fromExceptionDetails expects a SyntaxError');
|
|
153053
|
+
}
|
|
153054
|
+
if (!scriptId) {
|
|
153055
|
+
return null;
|
|
153056
|
+
}
|
|
153057
|
+
const debuggerModel = target.model(DebuggerModel);
|
|
153058
|
+
if (!debuggerModel) {
|
|
153059
|
+
return null;
|
|
153060
|
+
}
|
|
153061
|
+
const rawLocation = debuggerModel.createRawLocationByScriptId(scriptId, lineNumber, columnNumber);
|
|
153062
|
+
const symbolizedSyntaxError = new SymbolizedSyntaxError(exception.description || '');
|
|
153063
|
+
await debuggerWorkspaceBinding.createLiveLocation(rawLocation, symbolizedSyntaxError.#update.bind(symbolizedSyntaxError), new LiveLocationPool());
|
|
153064
|
+
return symbolizedSyntaxError;
|
|
153065
|
+
}
|
|
153066
|
+
async #update(liveLocation) {
|
|
153067
|
+
this.#uiLocation = await liveLocation.uiLocation();
|
|
153068
|
+
this.dispatchEventToListeners("UPDATED" );
|
|
153069
|
+
}
|
|
153070
|
+
}
|
|
153071
|
+
|
|
152521
153072
|
// Copyright 2014 The Chromium Authors
|
|
152522
153073
|
class DebuggerWorkspaceBinding {
|
|
152523
153074
|
resourceMapping;
|
|
@@ -152649,6 +153200,55 @@ class DebuggerWorkspaceBinding {
|
|
|
152649
153200
|
this.recordLiveLocationChange(stackTracePromise);
|
|
152650
153201
|
return await stackTracePromise;
|
|
152651
153202
|
}
|
|
153203
|
+
async createStackTraceFromErrorStackLikeString(target, stack, exceptionDetails) {
|
|
153204
|
+
const model = target.model(StackTraceModel);
|
|
153205
|
+
const stackTracePromise = model.createFromErrorStackLikeString(stack, this.#translateRawFrames.bind(this), exceptionDetails);
|
|
153206
|
+
this.recordLiveLocationChange(stackTracePromise);
|
|
153207
|
+
return await stackTracePromise;
|
|
153208
|
+
}
|
|
153209
|
+
async createSymbolizedError(remoteObject, exceptionDetails) {
|
|
153210
|
+
let errorStack = '';
|
|
153211
|
+
let causeRemoteObject;
|
|
153212
|
+
let fetchedExceptionDetails = exceptionDetails;
|
|
153213
|
+
if (remoteObject.subtype === 'error') {
|
|
153214
|
+
const remoteError = RemoteError.objectAsError(remoteObject);
|
|
153215
|
+
errorStack = remoteError.errorStack;
|
|
153216
|
+
const [details, causeRemote] = await Promise.all([
|
|
153217
|
+
exceptionDetails ? Promise.resolve(exceptionDetails) : remoteError.exceptionDetails(),
|
|
153218
|
+
remoteError.cause(),
|
|
153219
|
+
]);
|
|
153220
|
+
fetchedExceptionDetails = details;
|
|
153221
|
+
causeRemoteObject = causeRemote;
|
|
153222
|
+
if (remoteObject.className === 'SyntaxError' && fetchedExceptionDetails) {
|
|
153223
|
+
const syntaxError = await SymbolizedSyntaxError.fromExceptionDetails(remoteObject.runtimeModel().target(), this, fetchedExceptionDetails);
|
|
153224
|
+
if (syntaxError) {
|
|
153225
|
+
return syntaxError;
|
|
153226
|
+
}
|
|
153227
|
+
}
|
|
153228
|
+
}
|
|
153229
|
+
else if (remoteObject.type === 'string') {
|
|
153230
|
+
errorStack = remoteObject.description || '';
|
|
153231
|
+
if (!isErrorLike(errorStack)) {
|
|
153232
|
+
return null;
|
|
153233
|
+
}
|
|
153234
|
+
}
|
|
153235
|
+
else {
|
|
153236
|
+
return null;
|
|
153237
|
+
}
|
|
153238
|
+
const [stackTrace, cause] = await Promise.all([
|
|
153239
|
+
this.createStackTraceFromErrorStackLikeString(remoteObject.runtimeModel().target(), errorStack, fetchedExceptionDetails),
|
|
153240
|
+
causeRemoteObject ? this.createSymbolizedError(causeRemoteObject) : Promise.resolve(null),
|
|
153241
|
+
]);
|
|
153242
|
+
const issueSummary = fetchedExceptionDetails?.exceptionMetaData?.issueSummary;
|
|
153243
|
+
if (typeof issueSummary === 'string') {
|
|
153244
|
+
errorStack = concatErrorDescriptionAndIssueSummary(errorStack, issueSummary);
|
|
153245
|
+
}
|
|
153246
|
+
if (!stackTrace) {
|
|
153247
|
+
return new UnparsableError(errorStack, cause);
|
|
153248
|
+
}
|
|
153249
|
+
const message = parseMessage(errorStack);
|
|
153250
|
+
return new SymbolizedErrorObject(message, stackTrace, cause);
|
|
153251
|
+
}
|
|
152652
153252
|
async createLiveLocation(rawLocation, updateDelegate, locationPool) {
|
|
152653
153253
|
const modelData = this.#debuggerModelToData.get(rawLocation.debuggerModel);
|
|
152654
153254
|
if (!modelData) {
|
|
@@ -154814,7 +155414,12 @@ class NetworkRequestFormatter {
|
|
|
154814
155414
|
static formatFailureReasons(reasons) {
|
|
154815
155415
|
const lines = [];
|
|
154816
155416
|
if (reasons.blockedReason) {
|
|
154817
|
-
|
|
155417
|
+
if (reasons.blockedReason === "inspector" ) {
|
|
155418
|
+
lines.push('Blocked reason: a custom network condition in DevTools is blocking this request');
|
|
155419
|
+
}
|
|
155420
|
+
else {
|
|
155421
|
+
lines.push(`Blocked reason: ${reasons.blockedReason}`);
|
|
155422
|
+
}
|
|
154818
155423
|
}
|
|
154819
155424
|
if (reasons.corsErrorStatus) {
|
|
154820
155425
|
lines.push(`CORS error: ${reasons.corsErrorStatus.corsError} ${reasons.corsErrorStatus.failedParameter}`);
|
|
@@ -164264,13 +164869,61 @@ var Statistics = /*#__PURE__*/Object.freeze({
|
|
|
164264
164869
|
linearInterpolation: linearInterpolation
|
|
164265
164870
|
});
|
|
164266
164871
|
|
|
164872
|
+
// Copyright 2024 The Chromium Authors
|
|
164873
|
+
var InsightWarning;
|
|
164874
|
+
(function (InsightWarning) {
|
|
164875
|
+
InsightWarning["NO_FP"] = "NO_FP";
|
|
164876
|
+
InsightWarning["NO_LCP"] = "NO_LCP";
|
|
164877
|
+
InsightWarning["NO_DOCUMENT_REQUEST"] = "NO_DOCUMENT_REQUEST";
|
|
164878
|
+
InsightWarning["NO_LAYOUT"] = "NO_LAYOUT";
|
|
164879
|
+
})(InsightWarning || (InsightWarning = {}));
|
|
164880
|
+
var InsightCategory;
|
|
164881
|
+
(function (InsightCategory) {
|
|
164882
|
+
InsightCategory["ALL"] = "All";
|
|
164883
|
+
InsightCategory["INP"] = "INP";
|
|
164884
|
+
InsightCategory["LCP"] = "LCP";
|
|
164885
|
+
InsightCategory["CLS"] = "CLS";
|
|
164886
|
+
})(InsightCategory || (InsightCategory = {}));
|
|
164887
|
+
var InsightKeys;
|
|
164888
|
+
(function (InsightKeys) {
|
|
164889
|
+
InsightKeys["LCP_BREAKDOWN"] = "LCPBreakdown";
|
|
164890
|
+
InsightKeys["INP_BREAKDOWN"] = "INPBreakdown";
|
|
164891
|
+
InsightKeys["CLS_CULPRITS"] = "CLSCulprits";
|
|
164892
|
+
InsightKeys["THIRD_PARTIES"] = "ThirdParties";
|
|
164893
|
+
InsightKeys["DOCUMENT_LATENCY"] = "DocumentLatency";
|
|
164894
|
+
InsightKeys["DOM_SIZE"] = "DOMSize";
|
|
164895
|
+
InsightKeys["DUPLICATE_JAVASCRIPT"] = "DuplicatedJavaScript";
|
|
164896
|
+
InsightKeys["FONT_DISPLAY"] = "FontDisplay";
|
|
164897
|
+
InsightKeys["FORCED_REFLOW"] = "ForcedReflow";
|
|
164898
|
+
InsightKeys["IMAGE_DELIVERY"] = "ImageDelivery";
|
|
164899
|
+
InsightKeys["LCP_DISCOVERY"] = "LCPDiscovery";
|
|
164900
|
+
InsightKeys["LEGACY_JAVASCRIPT"] = "LegacyJavaScript";
|
|
164901
|
+
InsightKeys["NETWORK_DEPENDENCY_TREE"] = "NetworkDependencyTree";
|
|
164902
|
+
InsightKeys["RENDER_BLOCKING"] = "RenderBlocking";
|
|
164903
|
+
InsightKeys["SLOW_CSS_SELECTOR"] = "SlowCSSSelector";
|
|
164904
|
+
InsightKeys["VIEWPORT"] = "Viewport";
|
|
164905
|
+
InsightKeys["MODERN_HTTP"] = "ModernHTTP";
|
|
164906
|
+
InsightKeys["CACHE"] = "Cache";
|
|
164907
|
+
InsightKeys["CHARACTER_SET"] = "CharacterSet";
|
|
164908
|
+
})(InsightKeys || (InsightKeys = {}));
|
|
164909
|
+
|
|
164910
|
+
var types$1 = /*#__PURE__*/Object.freeze({
|
|
164911
|
+
__proto__: null,
|
|
164912
|
+
get InsightCategory () { return InsightCategory; },
|
|
164913
|
+
get InsightKeys () { return InsightKeys; },
|
|
164914
|
+
get InsightWarning () { return InsightWarning; }
|
|
164915
|
+
});
|
|
164916
|
+
|
|
164267
164917
|
// Copyright 2024 The Chromium Authors
|
|
164268
164918
|
const GRAPH_SAVINGS_PRECISION = 50;
|
|
164269
164919
|
function getInsight(insightName, insightSet) {
|
|
164270
164920
|
return insightSet.model[insightName];
|
|
164271
164921
|
}
|
|
164922
|
+
function isInsightKey(key) {
|
|
164923
|
+
return Object.values(InsightKeys).includes(key);
|
|
164924
|
+
}
|
|
164272
164925
|
function getLCP(insightSet) {
|
|
164273
|
-
const insight = getInsight(
|
|
164926
|
+
const insight = getInsight(InsightKeys.LCP_BREAKDOWN, insightSet);
|
|
164274
164927
|
if (!insight || !insight.lcpMs || !insight.lcpEvent) {
|
|
164275
164928
|
return null;
|
|
164276
164929
|
}
|
|
@@ -164278,7 +164931,7 @@ function getLCP(insightSet) {
|
|
|
164278
164931
|
return { value, event: insight.lcpEvent };
|
|
164279
164932
|
}
|
|
164280
164933
|
function getINP(insightSet) {
|
|
164281
|
-
const insight = getInsight(
|
|
164934
|
+
const insight = getInsight(InsightKeys.INP_BREAKDOWN, insightSet);
|
|
164282
164935
|
if (!insight?.longestInteractionEvent?.dur) {
|
|
164283
164936
|
return null;
|
|
164284
164937
|
}
|
|
@@ -164286,7 +164939,7 @@ function getINP(insightSet) {
|
|
|
164286
164939
|
return { value, event: insight.longestInteractionEvent };
|
|
164287
164940
|
}
|
|
164288
164941
|
function getCLS(insightSet) {
|
|
164289
|
-
const insight = getInsight(
|
|
164942
|
+
const insight = getInsight(InsightKeys.CLS_CULPRITS, insightSet);
|
|
164290
164943
|
if (!insight) {
|
|
164291
164944
|
return { value: 0, worstClusterEvent: null };
|
|
164292
164945
|
}
|
|
@@ -164546,33 +165199,12 @@ var Common = /*#__PURE__*/Object.freeze({
|
|
|
164546
165199
|
getInsight: getInsight,
|
|
164547
165200
|
getLCP: getLCP,
|
|
164548
165201
|
insightBounds: insightBounds,
|
|
165202
|
+
isInsightKey: isInsightKey,
|
|
164549
165203
|
isRequestCompressed: isRequestCompressed,
|
|
164550
165204
|
isRequestServedFromBrowserCache: isRequestServedFromBrowserCache,
|
|
164551
165205
|
metricSavingsForWastedBytes: metricSavingsForWastedBytes
|
|
164552
165206
|
});
|
|
164553
165207
|
|
|
164554
|
-
// Copyright 2024 The Chromium Authors
|
|
164555
|
-
var InsightWarning;
|
|
164556
|
-
(function (InsightWarning) {
|
|
164557
|
-
InsightWarning["NO_FP"] = "NO_FP";
|
|
164558
|
-
InsightWarning["NO_LCP"] = "NO_LCP";
|
|
164559
|
-
InsightWarning["NO_DOCUMENT_REQUEST"] = "NO_DOCUMENT_REQUEST";
|
|
164560
|
-
InsightWarning["NO_LAYOUT"] = "NO_LAYOUT";
|
|
164561
|
-
})(InsightWarning || (InsightWarning = {}));
|
|
164562
|
-
var InsightCategory;
|
|
164563
|
-
(function (InsightCategory) {
|
|
164564
|
-
InsightCategory["ALL"] = "All";
|
|
164565
|
-
InsightCategory["INP"] = "INP";
|
|
164566
|
-
InsightCategory["LCP"] = "LCP";
|
|
164567
|
-
InsightCategory["CLS"] = "CLS";
|
|
164568
|
-
})(InsightCategory || (InsightCategory = {}));
|
|
164569
|
-
|
|
164570
|
-
var types$1 = /*#__PURE__*/Object.freeze({
|
|
164571
|
-
__proto__: null,
|
|
164572
|
-
get InsightCategory () { return InsightCategory; },
|
|
164573
|
-
get InsightWarning () { return InsightWarning; }
|
|
164574
|
-
});
|
|
164575
|
-
|
|
164576
165208
|
// Copyright 2025 The Chromium Authors
|
|
164577
165209
|
const UIStrings$J = {
|
|
164578
165210
|
title: 'Use efficient cache lifetimes',
|
|
@@ -164587,7 +165219,7 @@ const i18nString$v = getLocalizedString.bind(undefined, str_$I);
|
|
|
164587
165219
|
const IGNORE_THRESHOLD_IN_PERCENT = 0.925;
|
|
164588
165220
|
function finalize$i(partialModel) {
|
|
164589
165221
|
return {
|
|
164590
|
-
insightKey:
|
|
165222
|
+
insightKey: InsightKeys.CACHE,
|
|
164591
165223
|
strings: UIStrings$J,
|
|
164592
165224
|
title: i18nString$v(UIStrings$J.title),
|
|
164593
165225
|
description: i18nString$v(UIStrings$J.description),
|
|
@@ -164661,7 +165293,7 @@ function cachingDisabled(headers, parsedCacheControl) {
|
|
|
164661
165293
|
return false;
|
|
164662
165294
|
}
|
|
164663
165295
|
function isCacheInsight(model) {
|
|
164664
|
-
return model.insightKey ===
|
|
165296
|
+
return model.insightKey === InsightKeys.CACHE;
|
|
164665
165297
|
}
|
|
164666
165298
|
function generateInsight$i(data, context) {
|
|
164667
165299
|
const isWithinContext = (event) => eventIsInBounds(event, context.bounds);
|
|
@@ -164748,7 +165380,7 @@ const str_$H = registerUIStrings('models/trace/insights/CharacterSet.ts', UIStri
|
|
|
164748
165380
|
const i18nString$u = getLocalizedString.bind(undefined, str_$H);
|
|
164749
165381
|
const CHARSET_HTTP_REGEX = /charset\s*=\s*[a-zA-Z0-9\-_:.()]{2,}/i;
|
|
164750
165382
|
function isCharacterSetInsight(model) {
|
|
164751
|
-
return model.insightKey ===
|
|
165383
|
+
return model.insightKey === InsightKeys.CHARACTER_SET;
|
|
164752
165384
|
}
|
|
164753
165385
|
function finalize$h(partialModel) {
|
|
164754
165386
|
let hasFailure = false;
|
|
@@ -164756,7 +165388,7 @@ function finalize$h(partialModel) {
|
|
|
164756
165388
|
hasFailure = !partialModel.data.checklist.httpCharset.value && !partialModel.data.checklist.metaCharset.value;
|
|
164757
165389
|
}
|
|
164758
165390
|
return {
|
|
164759
|
-
insightKey:
|
|
165391
|
+
insightKey: InsightKeys.CHARACTER_SET,
|
|
164760
165392
|
strings: UIStrings$I,
|
|
164761
165393
|
title: i18nString$u(UIStrings$I.title),
|
|
164762
165394
|
description: i18nString$u(UIStrings$I.description),
|
|
@@ -165075,7 +165707,7 @@ function getUnsizedImageRootCauses(unsizedImageEvents, paintImageEvents, shiftsB
|
|
|
165075
165707
|
return rootCausesByShift;
|
|
165076
165708
|
}
|
|
165077
165709
|
function isCLSCulpritsInsight(insight) {
|
|
165078
|
-
return insight.insightKey ===
|
|
165710
|
+
return insight.insightKey === InsightKeys.CLS_CULPRITS;
|
|
165079
165711
|
}
|
|
165080
165712
|
function getFontRootCauses(networkRequests, prePaintEvents, shiftsByPrePaint, rootCausesByShift) {
|
|
165081
165713
|
const fontRequests = networkRequests.filter(req => req.args.data.resourceType === 'Font' && req.args.data.mimeType.startsWith('font'));
|
|
@@ -165150,7 +165782,7 @@ function finalize$g(partialModel) {
|
|
|
165150
165782
|
}
|
|
165151
165783
|
}
|
|
165152
165784
|
return {
|
|
165153
|
-
insightKey:
|
|
165785
|
+
insightKey: InsightKeys.CLS_CULPRITS,
|
|
165154
165786
|
strings: UIStrings$H,
|
|
165155
165787
|
title: i18nString$t(UIStrings$H.title),
|
|
165156
165788
|
description: i18nString$t(UIStrings$H.description),
|
|
@@ -165315,7 +165947,7 @@ function finalize$f(partialModel) {
|
|
|
165315
165947
|
!partialModel.data.checklist.serverResponseIsFast.value || !partialModel.data.checklist.noRedirects.value;
|
|
165316
165948
|
}
|
|
165317
165949
|
return {
|
|
165318
|
-
insightKey:
|
|
165950
|
+
insightKey: InsightKeys.DOCUMENT_LATENCY,
|
|
165319
165951
|
strings: UIStrings$G,
|
|
165320
165952
|
title: i18nString$s(UIStrings$G.title),
|
|
165321
165953
|
description: i18nString$s(UIStrings$G.description),
|
|
@@ -165457,7 +166089,7 @@ const STYLE_RECALC_ELEMENTS_THRESHOLD = 300;
|
|
|
165457
166089
|
function finalize$e(partialModel) {
|
|
165458
166090
|
const relatedEvents = [...partialModel.largeLayoutUpdates, ...partialModel.largeStyleRecalcs];
|
|
165459
166091
|
return {
|
|
165460
|
-
insightKey:
|
|
166092
|
+
insightKey: InsightKeys.DOM_SIZE,
|
|
165461
166093
|
strings: UIStrings$F,
|
|
165462
166094
|
title: i18nString$r(UIStrings$F.title),
|
|
165463
166095
|
description: i18nString$r(UIStrings$F.description),
|
|
@@ -165469,7 +166101,7 @@ function finalize$e(partialModel) {
|
|
|
165469
166101
|
};
|
|
165470
166102
|
}
|
|
165471
166103
|
function isDomSizeInsight(model) {
|
|
165472
|
-
return model.insightKey ===
|
|
166104
|
+
return model.insightKey === InsightKeys.DOM_SIZE;
|
|
165473
166105
|
}
|
|
165474
166106
|
function generateInsight$e(data, context) {
|
|
165475
166107
|
const isWithinContext = (event) => eventIsInBounds(event, context.bounds);
|
|
@@ -165578,13 +166210,14 @@ const UIStrings$E = {
|
|
|
165578
166210
|
description: 'Remove large, [duplicate JavaScript modules](https://developer.chrome.com/docs/performance/insights/duplicated-javascript) from bundles to reduce unnecessary bytes consumed by network activity.',
|
|
165579
166211
|
columnSource: 'Source',
|
|
165580
166212
|
columnDuplicatedBytes: 'Duplicated bytes',
|
|
166213
|
+
noDuplicatedJavaScript: 'No duplicated JavaScript found',
|
|
165581
166214
|
};
|
|
165582
166215
|
const str_$D = registerUIStrings('models/trace/insights/DuplicatedJavaScript.ts', UIStrings$E);
|
|
165583
166216
|
const i18nString$q = getLocalizedString.bind(undefined, str_$D);
|
|
165584
166217
|
function finalize$d(partialModel) {
|
|
165585
166218
|
const requests = partialModel.scriptsWithDuplication.map(script => script.request).filter(e => !!e);
|
|
165586
166219
|
return {
|
|
165587
|
-
insightKey:
|
|
166220
|
+
insightKey: InsightKeys.DUPLICATE_JAVASCRIPT,
|
|
165588
166221
|
strings: UIStrings$E,
|
|
165589
166222
|
title: i18nString$q(UIStrings$E.title),
|
|
165590
166223
|
description: i18nString$q(UIStrings$E.description),
|
|
@@ -165596,7 +166229,7 @@ function finalize$d(partialModel) {
|
|
|
165596
166229
|
};
|
|
165597
166230
|
}
|
|
165598
166231
|
function isDuplicatedJavaScriptInsight(model) {
|
|
165599
|
-
return model.insightKey ===
|
|
166232
|
+
return model.insightKey === InsightKeys.DUPLICATE_JAVASCRIPT;
|
|
165600
166233
|
}
|
|
165601
166234
|
function generateInsight$d(data, context) {
|
|
165602
166235
|
const scripts = data.Scripts.scripts.filter(script => {
|
|
@@ -165663,12 +166296,13 @@ const UIStrings$D = {
|
|
|
165663
166296
|
description: 'Consider setting [`font-display`](https://developer.chrome.com/docs/performance/insights/font-display) to `swap` or `optional` to ensure text is consistently visible. `swap` can be further optimized to mitigate layout shifts with [font metric overrides](https://developer.chrome.com/blog/font-fallbacks).',
|
|
165664
166297
|
fontColumn: 'Font',
|
|
165665
166298
|
wastedTimeColumn: 'Wasted time',
|
|
166299
|
+
noFonts: 'No fonts with suboptimal font-display found',
|
|
165666
166300
|
};
|
|
165667
166301
|
const str_$C = registerUIStrings('models/trace/insights/FontDisplay.ts', UIStrings$D);
|
|
165668
166302
|
const i18nString$p = getLocalizedString.bind(undefined, str_$C);
|
|
165669
166303
|
function finalize$c(partialModel) {
|
|
165670
166304
|
return {
|
|
165671
|
-
insightKey:
|
|
166305
|
+
insightKey: InsightKeys.FONT_DISPLAY,
|
|
165672
166306
|
strings: UIStrings$D,
|
|
165673
166307
|
title: i18nString$p(UIStrings$D.title),
|
|
165674
166308
|
description: i18nString$p(UIStrings$D.description),
|
|
@@ -165679,7 +166313,7 @@ function finalize$c(partialModel) {
|
|
|
165679
166313
|
};
|
|
165680
166314
|
}
|
|
165681
166315
|
function isFontDisplayInsight(model) {
|
|
165682
|
-
return model.insightKey ===
|
|
166316
|
+
return model.insightKey === InsightKeys.FONT_DISPLAY;
|
|
165683
166317
|
}
|
|
165684
166318
|
function generateInsight$c(data, context) {
|
|
165685
166319
|
const fonts = [];
|
|
@@ -165801,7 +166435,7 @@ function getLargestTopLevelFunctionData(forcedReflowEvents, traceParsedData) {
|
|
|
165801
166435
|
}
|
|
165802
166436
|
function finalize$b(partialModel) {
|
|
165803
166437
|
return {
|
|
165804
|
-
insightKey:
|
|
166438
|
+
insightKey: InsightKeys.FORCED_REFLOW,
|
|
165805
166439
|
strings: UIStrings$C,
|
|
165806
166440
|
title: i18nString$o(UIStrings$C.title),
|
|
165807
166441
|
description: i18nString$o(UIStrings$C.description),
|
|
@@ -165817,7 +166451,7 @@ function getBottomCallFrameForEvent(event, traceParsedData) {
|
|
|
165817
166451
|
return profileStackTrace?.callFrames[0] ?? eventTopCallFrame ?? null;
|
|
165818
166452
|
}
|
|
165819
166453
|
function isForcedReflowInsight(model) {
|
|
165820
|
-
return model.insightKey ===
|
|
166454
|
+
return model.insightKey === InsightKeys.FORCED_REFLOW;
|
|
165821
166455
|
}
|
|
165822
166456
|
function generateInsight$b(traceParsedData, context) {
|
|
165823
166457
|
const isWithinContext = (event) => {
|
|
@@ -165926,7 +166560,7 @@ function getOptimizationMessageWithBytes(optimization) {
|
|
|
165926
166560
|
}
|
|
165927
166561
|
function finalize$a(partialModel) {
|
|
165928
166562
|
return {
|
|
165929
|
-
insightKey:
|
|
166563
|
+
insightKey: InsightKeys.IMAGE_DELIVERY,
|
|
165930
166564
|
strings: UIStrings$B,
|
|
165931
166565
|
title: i18nString$n(UIStrings$B.title),
|
|
165932
166566
|
description: i18nString$n(UIStrings$B.description),
|
|
@@ -166082,7 +166716,7 @@ const UIStrings$A = {
|
|
|
166082
166716
|
const str_$z = registerUIStrings('models/trace/insights/INPBreakdown.ts', UIStrings$A);
|
|
166083
166717
|
const i18nString$m = getLocalizedString.bind(undefined, str_$z);
|
|
166084
166718
|
function isINPBreakdownInsight(insight) {
|
|
166085
|
-
return insight.insightKey ===
|
|
166719
|
+
return insight.insightKey === InsightKeys.INP_BREAKDOWN;
|
|
166086
166720
|
}
|
|
166087
166721
|
function finalize$9(partialModel) {
|
|
166088
166722
|
let state = 'pass';
|
|
@@ -166096,7 +166730,7 @@ function finalize$9(partialModel) {
|
|
|
166096
166730
|
}
|
|
166097
166731
|
}
|
|
166098
166732
|
return {
|
|
166099
|
-
insightKey:
|
|
166733
|
+
insightKey: InsightKeys.INP_BREAKDOWN,
|
|
166100
166734
|
strings: UIStrings$A,
|
|
166101
166735
|
title: i18nString$m(UIStrings$A.title),
|
|
166102
166736
|
description: i18nString$m(UIStrings$A.description),
|
|
@@ -166242,7 +166876,7 @@ function finalize$8(partialModel) {
|
|
|
166242
166876
|
}
|
|
166243
166877
|
}
|
|
166244
166878
|
return {
|
|
166245
|
-
insightKey:
|
|
166879
|
+
insightKey: InsightKeys.LCP_BREAKDOWN,
|
|
166246
166880
|
strings: UIStrings$z,
|
|
166247
166881
|
title: i18nString$l(UIStrings$z.title),
|
|
166248
166882
|
description: i18nString$l(UIStrings$z.description),
|
|
@@ -166335,7 +166969,7 @@ function finalize$7(partialModel) {
|
|
|
166335
166969
|
[partialModel.lcpEvent, partialModel.lcpRequest] :
|
|
166336
166970
|
[];
|
|
166337
166971
|
return {
|
|
166338
|
-
insightKey:
|
|
166972
|
+
insightKey: InsightKeys.LCP_DISCOVERY,
|
|
166339
166973
|
strings: UIStrings$y,
|
|
166340
166974
|
title: i18nString$k(UIStrings$y.title),
|
|
166341
166975
|
description: i18nString$k(UIStrings$y.description),
|
|
@@ -167376,6 +168010,7 @@ const UIStrings$x = {
|
|
|
167376
168010
|
description: 'Polyfills and transforms enable older browsers to use new JavaScript features. However, many aren\'t necessary for modern browsers. Consider modifying your JavaScript build process to not transpile [Baseline](https://web.dev/articles/baseline-and-polyfills) features, unless you know you must support older browsers. [Learn why most sites can deploy ES6+ code without transpiling](https://developer.chrome.com/docs/performance/insights/legacy-javascript)',
|
|
167377
168011
|
columnScript: 'Script',
|
|
167378
168012
|
columnWastedBytes: 'Wasted bytes',
|
|
168013
|
+
noLegacyJavaScript: 'No legacy JavaScript found',
|
|
167379
168014
|
};
|
|
167380
168015
|
const str_$w = registerUIStrings('models/trace/insights/LegacyJavaScript.ts', UIStrings$x);
|
|
167381
168016
|
const i18nString$j = getLocalizedString.bind(undefined, str_$w);
|
|
@@ -167383,7 +168018,7 @@ const BYTE_THRESHOLD = 5000;
|
|
|
167383
168018
|
function finalize$6(partialModel) {
|
|
167384
168019
|
const requests = [...partialModel.legacyJavaScriptResults.keys()].map(script => script.request).filter(e => !!e);
|
|
167385
168020
|
return {
|
|
167386
|
-
insightKey:
|
|
168021
|
+
insightKey: InsightKeys.LEGACY_JAVASCRIPT,
|
|
167387
168022
|
strings: UIStrings$x,
|
|
167388
168023
|
title: i18nString$j(UIStrings$x.title),
|
|
167389
168024
|
description: i18nString$j(UIStrings$x.description),
|
|
@@ -167395,7 +168030,7 @@ function finalize$6(partialModel) {
|
|
|
167395
168030
|
};
|
|
167396
168031
|
}
|
|
167397
168032
|
function isLegacyJavaScript(model) {
|
|
167398
|
-
return model.insightKey ===
|
|
168033
|
+
return model.insightKey === InsightKeys.LEGACY_JAVASCRIPT;
|
|
167399
168034
|
}
|
|
167400
168035
|
function generateInsight$6(data, context) {
|
|
167401
168036
|
const scripts = data.Scripts.scripts.filter(script => {
|
|
@@ -167464,7 +168099,7 @@ const UIStrings$w = {
|
|
|
167464
168099
|
const str_$v = registerUIStrings('models/trace/insights/ModernHTTP.ts', UIStrings$w);
|
|
167465
168100
|
const i18nString$i = getLocalizedString.bind(undefined, str_$v);
|
|
167466
168101
|
function isModernHTTPInsight(model) {
|
|
167467
|
-
return model.insightKey ===
|
|
168102
|
+
return model.insightKey === InsightKeys.MODERN_HTTP;
|
|
167468
168103
|
}
|
|
167469
168104
|
function isMultiplexableStaticAsset(request, entityMappings, firstPartyEntity) {
|
|
167470
168105
|
if (!STATIC_RESOURCE_TYPES.has(request.args.data.resourceType)) {
|
|
@@ -167560,7 +168195,7 @@ function computeMetricSavings(http1Requests, context) {
|
|
|
167560
168195
|
}
|
|
167561
168196
|
function finalize$5(partialModel) {
|
|
167562
168197
|
return {
|
|
167563
|
-
insightKey:
|
|
168198
|
+
insightKey: InsightKeys.MODERN_HTTP,
|
|
167564
168199
|
strings: UIStrings$w,
|
|
167565
168200
|
title: i18nString$i(UIStrings$w.title),
|
|
167566
168201
|
description: i18nString$i(UIStrings$w.description),
|
|
@@ -167640,7 +168275,7 @@ const IGNORE_THRESHOLD_IN_MILLISECONDS = Milli(50);
|
|
|
167640
168275
|
const TOO_MANY_PRECONNECTS_THRESHOLD = 4;
|
|
167641
168276
|
function finalize$4(partialModel) {
|
|
167642
168277
|
return {
|
|
167643
|
-
insightKey:
|
|
168278
|
+
insightKey: InsightKeys.NETWORK_DEPENDENCY_TREE,
|
|
167644
168279
|
strings: UIStrings$v,
|
|
167645
168280
|
title: i18nString$h(UIStrings$v.title),
|
|
167646
168281
|
description: i18nString$h(UIStrings$v.description),
|
|
@@ -167979,7 +168614,7 @@ function generatePreconnectCandidates(data, context, contextRequests) {
|
|
|
167979
168614
|
return preconnectCandidates.slice(0, TOO_MANY_PRECONNECTS_THRESHOLD);
|
|
167980
168615
|
}
|
|
167981
168616
|
function isNetworkDependencyTreeInsight(model) {
|
|
167982
|
-
return model.insightKey ===
|
|
168617
|
+
return model.insightKey === InsightKeys.NETWORK_DEPENDENCY_TREE;
|
|
167983
168618
|
}
|
|
167984
168619
|
function generateInsight$4(data, context) {
|
|
167985
168620
|
if (!context.navigation) {
|
|
@@ -168115,7 +168750,7 @@ function computeSavings(data, context, renderBlockingRequests) {
|
|
|
168115
168750
|
}
|
|
168116
168751
|
function finalize$3(partialModel) {
|
|
168117
168752
|
return {
|
|
168118
|
-
insightKey:
|
|
168753
|
+
insightKey: InsightKeys.RENDER_BLOCKING,
|
|
168119
168754
|
strings: UIStrings$u,
|
|
168120
168755
|
title: i18nString$g(UIStrings$u.title),
|
|
168121
168756
|
description: i18nString$g(UIStrings$u.description),
|
|
@@ -168239,7 +168874,7 @@ function aggregateSelectorStats(data, context) {
|
|
|
168239
168874
|
}
|
|
168240
168875
|
function finalize$2(partialModel) {
|
|
168241
168876
|
return {
|
|
168242
|
-
insightKey:
|
|
168877
|
+
insightKey: InsightKeys.SLOW_CSS_SELECTOR,
|
|
168243
168878
|
strings: UIStrings$t,
|
|
168244
168879
|
title: i18nString$f(UIStrings$t.title),
|
|
168245
168880
|
description: i18nString$f(UIStrings$t.description),
|
|
@@ -168250,7 +168885,7 @@ function finalize$2(partialModel) {
|
|
|
168250
168885
|
};
|
|
168251
168886
|
}
|
|
168252
168887
|
function isSlowCSSSelectorInsight(model) {
|
|
168253
|
-
return model.insightKey ===
|
|
168888
|
+
return model.insightKey === InsightKeys.SLOW_CSS_SELECTOR;
|
|
168254
168889
|
}
|
|
168255
168890
|
function generateInsight$2(data, context) {
|
|
168256
168891
|
const selectorStatsData = data.SelectorStats;
|
|
@@ -168324,7 +168959,7 @@ function getRelatedEvents(summaries, firstPartyEntity) {
|
|
|
168324
168959
|
}
|
|
168325
168960
|
function finalize$1(partialModel) {
|
|
168326
168961
|
return {
|
|
168327
|
-
insightKey:
|
|
168962
|
+
insightKey: InsightKeys.THIRD_PARTIES,
|
|
168328
168963
|
strings: UIStrings$s,
|
|
168329
168964
|
title: i18nString$e(UIStrings$s.title),
|
|
168330
168965
|
description: i18nString$e(UIStrings$s.description),
|
|
@@ -168337,7 +168972,7 @@ function finalize$1(partialModel) {
|
|
|
168337
168972
|
};
|
|
168338
168973
|
}
|
|
168339
168974
|
function isThirdPartyInsight(model) {
|
|
168340
|
-
return model.insightKey ===
|
|
168975
|
+
return model.insightKey === InsightKeys.THIRD_PARTIES;
|
|
168341
168976
|
}
|
|
168342
168977
|
function generateInsight$1(data, context) {
|
|
168343
168978
|
const entitySummaries = summarizeByThirdParty(data, context.bounds);
|
|
@@ -168398,7 +169033,7 @@ const str_$q = registerUIStrings('models/trace/insights/Viewport.ts', UIStrings$
|
|
|
168398
169033
|
const i18nString$d = getLocalizedString.bind(undefined, str_$q);
|
|
168399
169034
|
function finalize(partialModel) {
|
|
168400
169035
|
return {
|
|
168401
|
-
insightKey:
|
|
169036
|
+
insightKey: InsightKeys.VIEWPORT,
|
|
168402
169037
|
strings: UIStrings$r,
|
|
168403
169038
|
title: i18nString$d(UIStrings$r.title),
|
|
168404
169039
|
description: i18nString$d(UIStrings$r.description),
|
|
@@ -168409,7 +169044,7 @@ function finalize(partialModel) {
|
|
|
168409
169044
|
};
|
|
168410
169045
|
}
|
|
168411
169046
|
function isViewportInsight(model) {
|
|
168412
|
-
return model.insightKey ===
|
|
169047
|
+
return model.insightKey === InsightKeys.VIEWPORT;
|
|
168413
169048
|
}
|
|
168414
169049
|
function generateInsight(data, context) {
|
|
168415
169050
|
const viewportEvent = data.UserInteractions.parseMetaViewportEvents.find(event => {
|
|
@@ -172601,7 +173236,7 @@ var Show;
|
|
|
172601
173236
|
},
|
|
172602
173237
|
'capabilities': ['touch', 'mobile'],
|
|
172603
173238
|
'user-agent': 'Mozilla/5.0 (Linux; Android 13; Pixel 7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Mobile Safari/537.36',
|
|
172604
|
-
'user-agent-metadata': { 'platform': 'Android', 'platformVersion': '13', 'architecture': '', 'model': 'Pixel
|
|
173239
|
+
'user-agent-metadata': { 'platform': 'Android', 'platformVersion': '13', 'architecture': '', 'model': 'Pixel 7', 'mobile': true },
|
|
172605
173240
|
'type': 'phone',
|
|
172606
173241
|
},
|
|
172607
173242
|
{
|
|
@@ -174130,7 +174765,7 @@ class DeviceModeModel extends ObjectWrapper {
|
|
|
174130
174765
|
this.#appliedUserAgentType = this.#uaSetting.get();
|
|
174131
174766
|
this.applyDeviceMetrics(new Size(screenWidth, screenHeight), new Insets(0, 0, 0, 0), new Insets(0, 0, 0, 0), this.#scaleSetting.get(), this.#deviceScaleFactorSetting.get() || defaultDeviceScaleFactor, mobile, screenHeight >= screenWidth ? "portraitPrimary" :
|
|
174132
174767
|
"landscapePrimary" , resetPageScaleFactor);
|
|
174133
|
-
this.applyUserAgent(mobile ? defaultMobileUserAgent : '', mobile ? defaultMobileUserAgentMetadata : null);
|
|
174768
|
+
this.applyUserAgent(mobile ? DeviceModeModel.defaultMobileUserAgent() : '', mobile ? DeviceModeModel.defaultMobileUserAgentMetadata() : null);
|
|
174134
174769
|
this.applyTouch(this.#uaSetting.get() === "Desktop (touch)" || this.#uaSetting.get() === "Mobile" , this.#uaSetting.get() === "Mobile" );
|
|
174135
174770
|
}
|
|
174136
174771
|
if (overlayModel) {
|
|
@@ -174325,6 +174960,28 @@ class DeviceModeModel extends ObjectWrapper {
|
|
|
174325
174960
|
maskLength: (this.#mode.orientation === VerticalSpanned) ? hinge.width : hinge.height,
|
|
174326
174961
|
};
|
|
174327
174962
|
}
|
|
174963
|
+
static getDynamicMobileUA() {
|
|
174964
|
+
const now = new Date();
|
|
174965
|
+
const year = now.getFullYear();
|
|
174966
|
+
const isLateInYear = now.getMonth() >= 9;
|
|
174967
|
+
const androidVersion = isLateInYear ? (year - 2010) : (year - 2011);
|
|
174968
|
+
const pixelModel = isLateInYear ? (year - 2016) : (year - 2017);
|
|
174969
|
+
const ua = `Mozilla/5.0 (Linux; Android ${androidVersion}; Pixel ${pixelModel}) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Mobile Safari/537.36`;
|
|
174970
|
+
const metadata = {
|
|
174971
|
+
platform: 'Android',
|
|
174972
|
+
platformVersion: androidVersion.toString(),
|
|
174973
|
+
architecture: '',
|
|
174974
|
+
model: `Pixel ${pixelModel}`,
|
|
174975
|
+
mobile: true,
|
|
174976
|
+
};
|
|
174977
|
+
return { userAgent: ua, metadata };
|
|
174978
|
+
}
|
|
174979
|
+
static defaultMobileUserAgent() {
|
|
174980
|
+
return MultitargetNetworkManager.patchUserAgentWithChromeVersion(DeviceModeModel.getDynamicMobileUA().userAgent);
|
|
174981
|
+
}
|
|
174982
|
+
static defaultMobileUserAgentMetadata() {
|
|
174983
|
+
return DeviceModeModel.getDynamicMobileUA().metadata;
|
|
174984
|
+
}
|
|
174328
174985
|
}
|
|
174329
174986
|
class Insets {
|
|
174330
174987
|
left;
|
|
@@ -174377,15 +175034,6 @@ const MinDeviceSize = 50;
|
|
|
174377
175034
|
const MaxDeviceSize = 9999;
|
|
174378
175035
|
const MinDeviceScaleFactor = 0;
|
|
174379
175036
|
const MaxDeviceScaleFactor = 10;
|
|
174380
|
-
const mobileUserAgent = 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Mobile Safari/537.36';
|
|
174381
|
-
const defaultMobileUserAgent = MultitargetNetworkManager.patchUserAgentWithChromeVersion(mobileUserAgent);
|
|
174382
|
-
const defaultMobileUserAgentMetadata = {
|
|
174383
|
-
platform: 'Android',
|
|
174384
|
-
platformVersion: '6.0',
|
|
174385
|
-
architecture: '',
|
|
174386
|
-
model: 'Nexus 5',
|
|
174387
|
-
mobile: true,
|
|
174388
|
-
};
|
|
174389
175037
|
const defaultMobileScaleFactor = 2;
|
|
174390
175038
|
|
|
174391
175039
|
// Copyright 2024 The Chromium Authors
|
|
@@ -181098,6 +181746,7 @@ const UIStrings$g = {
|
|
|
181098
181746
|
PrefixedVideoExitFullScreen: "HTMLVideoElement.webkitExitFullScreen() is deprecated. Please use Document.exitFullscreen() instead.",
|
|
181099
181747
|
PrefixedVideoExitFullscreen: "HTMLVideoElement.webkitExitFullscreen() is deprecated. Please use Document.exitFullscreen() instead.",
|
|
181100
181748
|
PrefixedVideoSupportsFullscreen: "HTMLVideoElement.webkitSupportsFullscreen is deprecated. Please use Document.fullscreenEnabled instead.",
|
|
181749
|
+
PreventSvgFilterPaint: "SVG filters cannot be applied to cross-origin iframes, restricted iframes (e.g., sandboxed), or plugins.",
|
|
181101
181750
|
RangeExpand: "Range.expand() is deprecated. Please use Selection.modify() instead.",
|
|
181102
181751
|
RelatedWebsiteSets: "`Related Website Sets` is deprecated and will be removed. See https://privacysandbox.com/news/update-on-plans-for-privacy-sandbox-technologies/ for more details.",
|
|
181103
181752
|
RequestedSubresourceWithEmbeddedCredentials: "Subresource requests whose URLs contain embedded credentials (e.g. `https://user:pass@host/`) are blocked.",
|
|
@@ -181218,6 +181867,9 @@ const DEPRECATIONS_METADATA = {
|
|
|
181218
181867
|
"chromeStatusFeature": 5176235376246784,
|
|
181219
181868
|
"milestone": 106
|
|
181220
181869
|
},
|
|
181870
|
+
"PreventSvgFilterPaint": {
|
|
181871
|
+
"chromeStatusFeature": 5117170452398080
|
|
181872
|
+
},
|
|
181221
181873
|
"RTCConstraintEnableDtlsSrtpFalse": {
|
|
181222
181874
|
"milestone": 97
|
|
181223
181875
|
},
|
|
@@ -181566,6 +182218,26 @@ const genericNavigationEntryMarkedSkippable = {
|
|
|
181566
182218
|
linkTitle: i18nLazyString$7(UIStrings$e.historyManipulationInterventionPageTitle),
|
|
181567
182219
|
}],
|
|
181568
182220
|
};
|
|
182221
|
+
const genericFormModelContextMissingToolName = {
|
|
182222
|
+
file: 'genericFormModelContextMissingToolName.md',
|
|
182223
|
+
links: [],
|
|
182224
|
+
};
|
|
182225
|
+
const genericFormModelContextMissingToolDescription = {
|
|
182226
|
+
file: 'genericFormModelContextMissingToolDescription.md',
|
|
182227
|
+
links: [],
|
|
182228
|
+
};
|
|
182229
|
+
const genericFormModelContextParameterMissingTitleAndDescription = {
|
|
182230
|
+
file: 'genericFormModelContextParameterMissingTitleAndDescription.md',
|
|
182231
|
+
links: [],
|
|
182232
|
+
};
|
|
182233
|
+
const genericFormModelContextRequiredParameterMissingName = {
|
|
182234
|
+
file: 'genericFormModelContextRequiredParameterMissingName.md',
|
|
182235
|
+
links: [],
|
|
182236
|
+
};
|
|
182237
|
+
const genericFormModelContextParameterMissingName = {
|
|
182238
|
+
file: 'genericFormModelContextParameterMissingName.md',
|
|
182239
|
+
links: [],
|
|
182240
|
+
};
|
|
181569
182241
|
const issueDescriptions$4 = new Map([
|
|
181570
182242
|
["FormLabelForNameError" , genericFormLabelForNameError],
|
|
181571
182243
|
["FormInputWithNoLabelError" , genericFormInputWithNoLabelError],
|
|
@@ -181606,6 +182278,26 @@ const issueDescriptions$4 = new Map([
|
|
|
181606
182278
|
"NavigationEntryMarkedSkippable" ,
|
|
181607
182279
|
genericNavigationEntryMarkedSkippable,
|
|
181608
182280
|
],
|
|
182281
|
+
[
|
|
182282
|
+
"FormModelContextMissingToolName" ,
|
|
182283
|
+
genericFormModelContextMissingToolName,
|
|
182284
|
+
],
|
|
182285
|
+
[
|
|
182286
|
+
"FormModelContextMissingToolDescription" ,
|
|
182287
|
+
genericFormModelContextMissingToolDescription,
|
|
182288
|
+
],
|
|
182289
|
+
[
|
|
182290
|
+
"FormModelContextParameterMissingTitleAndDescription" ,
|
|
182291
|
+
genericFormModelContextParameterMissingTitleAndDescription,
|
|
182292
|
+
],
|
|
182293
|
+
[
|
|
182294
|
+
"FormModelContextRequiredParameterMissingName" ,
|
|
182295
|
+
genericFormModelContextRequiredParameterMissingName,
|
|
182296
|
+
],
|
|
182297
|
+
[
|
|
182298
|
+
"FormModelContextParameterMissingName" ,
|
|
182299
|
+
genericFormModelContextParameterMissingName,
|
|
182300
|
+
],
|
|
181609
182301
|
]);
|
|
181610
182302
|
const issueTypes = new Map([
|
|
181611
182303
|
["FormLabelForNameError" , "PageError" ],
|
|
@@ -181621,6 +182313,11 @@ const issueTypes = new Map([
|
|
|
181621
182313
|
["FormLabelForMatchesNonExistingIdError" , "PageError" ],
|
|
181622
182314
|
["FormLabelHasNeitherForNorNestedInputError" , "Improvement" ],
|
|
181623
182315
|
["FormInputHasWrongButWellIntendedAutocompleteValueError" , "Improvement" ],
|
|
182316
|
+
["FormModelContextMissingToolName" , "PageError" ],
|
|
182317
|
+
["FormModelContextMissingToolDescription" , "PageError" ],
|
|
182318
|
+
["FormModelContextParameterMissingTitleAndDescription" , "PageError" ],
|
|
182319
|
+
["FormModelContextRequiredParameterMissingName" , "PageError" ],
|
|
182320
|
+
["FormModelContextParameterMissingName" , "PageError" ],
|
|
181624
182321
|
]);
|
|
181625
182322
|
|
|
181626
182323
|
// Copyright 2020 The Chromium Authors
|
|
@@ -183772,12 +184469,11 @@ class IssuesManager extends ObjectWrapper {
|
|
|
183772
184469
|
#updateIssueHiddenStatus(issue, values) {
|
|
183773
184470
|
const code = issue.code();
|
|
183774
184471
|
if (values?.[code]) {
|
|
183775
|
-
|
|
183776
|
-
|
|
183777
|
-
|
|
184472
|
+
const isHidden = values[code] === "Hidden" ;
|
|
184473
|
+
if (issue.isHidden() !== isHidden) {
|
|
184474
|
+
issue.setHidden(isHidden);
|
|
184475
|
+
this.dispatchEventToListeners("IssueHiddenStatusUpdated" , { issue });
|
|
183778
184476
|
}
|
|
183779
|
-
issue.setHidden(false);
|
|
183780
|
-
return;
|
|
183781
184477
|
}
|
|
183782
184478
|
}
|
|
183783
184479
|
#updateFilteredIssues() {
|
|
@@ -183806,7 +184502,10 @@ class IssuesManager extends ObjectWrapper {
|
|
|
183806
184502
|
}
|
|
183807
184503
|
unhideAllIssues() {
|
|
183808
184504
|
for (const issue of this.#allIssues.values()) {
|
|
183809
|
-
issue.
|
|
184505
|
+
if (issue.isHidden()) {
|
|
184506
|
+
issue.setHidden(false);
|
|
184507
|
+
this.dispatchEventToListeners("IssueHiddenStatusUpdated" , { issue });
|
|
184508
|
+
}
|
|
183810
184509
|
}
|
|
183811
184510
|
this.hideIssueSetting?.set(defaultHideIssueByCodeSetting());
|
|
183812
184511
|
}
|
|
@@ -183860,8 +184559,9 @@ var mcp = /*#__PURE__*/Object.freeze({
|
|
|
183860
184559
|
* Copyright 2025 Google LLC
|
|
183861
184560
|
* SPDX-License-Identifier: Apache-2.0
|
|
183862
184561
|
*/
|
|
184562
|
+
const agenticBrowsingConfig = agenticBrowsingConfig$1;
|
|
183863
184563
|
const snapshot = snapshot$1;
|
|
183864
184564
|
const navigation = navigation$1;
|
|
183865
184565
|
const generateReport = generateReport$1;
|
|
183866
184566
|
|
|
183867
|
-
export { Browser as BrowserEnum, CDPSessionEvent, Client$1 as Client, mcp as DevTools, KnownDevices, Locator, McpServer, PipeTransport, PredefinedNetworkConditions, SetLevelRequestSchema, StdioClientTransport, StdioServerTransport, ajv, debug$2 as debug, detectBrowserPlatform, generateReport, hideBin, navigation, puppeteer, resolveDefaultUserDataDir, semver, snapshot, Yargs as yargs, z$1 as zod };
|
|
184567
|
+
export { Browser as BrowserEnum, CDPSessionEvent, Client$1 as Client, mcp as DevTools, KnownDevices, ListRootsRequestSchema, ListRootsResultSchema, Locator, McpServer, PipeTransport, PredefinedNetworkConditions, RootsListChangedNotificationSchema, SetLevelRequestSchema, StdioClientTransport, StdioServerTransport, agenticBrowsingConfig, ajv, debug$2 as debug, detectBrowserPlatform, generateReport, hideBin, navigation, puppeteer, resolveDefaultUserDataDir, semver, snapshot, Yargs as yargs, z$1 as zod };
|