chrome-devtools-mcp 0.24.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/McpPage.js +4 -4
- package/build/src/McpResponse.js +18 -16
- package/build/src/TextSnapshot.js +2 -2
- package/build/src/bin/chrome-devtools-cli-options.js +27 -4
- package/build/src/bin/chrome-devtools-mcp-cli-options.js +8 -5
- package/build/src/bin/chrome-devtools-mcp-main.js +0 -5
- package/build/src/third_party/THIRD_PARTY_NOTICES +3 -3
- package/build/src/third_party/bundled-packages.json +2 -2
- package/build/src/third_party/devtools-formatter-worker.js +18 -0
- package/build/src/third_party/devtools-heap-snapshot-worker.js +18 -0
- package/build/src/third_party/index.js +578 -278
- 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/tools/categories.js +6 -3
- package/build/src/tools/input.js +44 -0
- package/build/src/tools/pages.js +5 -5
- package/build/src/tools/{inPage.js → thirdPartyDeveloper.js} +15 -15
- package/build/src/tools/tools.js +2 -2
- package/build/src/tools/webmcp.js +2 -4
- package/build/src/version.js +1 -1
- package/package.json +3 -4
|
@@ -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
|
: [
|
|
@@ -99632,8 +99722,13 @@ function decode$1(input) {
|
|
|
99632
99722
|
}
|
|
99633
99723
|
return bytes;
|
|
99634
99724
|
}
|
|
99635
|
-
function encode(input) {
|
|
99636
|
-
|
|
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) => {
|
|
99637
99732
|
const reader = new FileReader();
|
|
99638
99733
|
reader.onerror = () => reject(new Error('failed to convert to base64: internal error'));
|
|
99639
99734
|
reader.onload = () => {
|
|
@@ -99874,6 +99969,15 @@ const HOST_RUNTIME$2 = {
|
|
|
99874
99969
|
return new WebWorker(url);
|
|
99875
99970
|
},
|
|
99876
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
|
+
},
|
|
99877
99981
|
};
|
|
99878
99982
|
|
|
99879
99983
|
var HostRuntime$1 = /*#__PURE__*/Object.freeze({
|
|
@@ -99956,6 +100060,15 @@ const HOST_RUNTIME$1 = {
|
|
|
99956
100060
|
return new NodeWorker(url);
|
|
99957
100061
|
},
|
|
99958
100062
|
workerScope: new NodeWorkerScope(),
|
|
100063
|
+
getOnLine() {
|
|
100064
|
+
return true;
|
|
100065
|
+
},
|
|
100066
|
+
getUserAgent() {
|
|
100067
|
+
return 'Node.js';
|
|
100068
|
+
},
|
|
100069
|
+
getLocalStorage() {
|
|
100070
|
+
return undefined;
|
|
100071
|
+
},
|
|
99959
100072
|
};
|
|
99960
100073
|
|
|
99961
100074
|
var HostRuntime = /*#__PURE__*/Object.freeze({
|
|
@@ -104959,9 +105072,10 @@ function getLocaleFetchUrl(locale, 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,
|
|
105075
|
+
async function fetchAndRegisterLocaleData(locale,
|
|
105076
|
+
location = globalThis.location?.toString() ?? '') {
|
|
104963
105077
|
const localeDataTextPromise = fetch(getLocaleFetchUrl(locale)).then(result => result.json());
|
|
104964
|
-
const timeoutPromise = new Promise((_, reject) =>
|
|
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
|
}
|
|
@@ -110656,7 +110770,7 @@ function registerCommands(inspectorBackend) {
|
|
|
110656
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 }]);
|
|
110657
110771
|
inspectorBackend.registerCommand("CrashReportContext.getEntries", [], ["entries"], "Returns all entries in the CrashReportContext across all frames in the page.");
|
|
110658
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" }]);
|
|
110659
|
-
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" });
|
|
110660
110774
|
inspectorBackend.registerEnum("DOM.ShadowRootType", { UserAgent: "user-agent", Open: "open", Closed: "closed" });
|
|
110661
110775
|
inspectorBackend.registerEnum("DOM.CompatibilityMode", { QuirksMode: "QuirksMode", LimitedQuirksMode: "LimitedQuirksMode", NoQuirksMode: "NoQuirksMode" });
|
|
110662
110776
|
inspectorBackend.registerEnum("DOM.PhysicalAxes", { Horizontal: "Horizontal", Vertical: "Vertical", Both: "Both" });
|
|
@@ -110876,10 +110990,10 @@ function registerCommands(inspectorBackend) {
|
|
|
110876
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.");
|
|
110877
110991
|
inspectorBackend.registerCommand("EventBreakpoints.disable", [], [], "Removes all breakpoints");
|
|
110878
110992
|
inspectorBackend.registerEnum("Extensions.StorageArea", { Session: "session", Local: "local", Sync: "sync", Managed: "managed" });
|
|
110879
|
-
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.
|
|
110880
|
-
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.
|
|
110881
|
-
inspectorBackend.registerCommand("Extensions.getExtensions", [], ["extensions"], "Gets a list of all unpacked extensions.
|
|
110882
|
-
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.");
|
|
110883
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.");
|
|
110884
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`.");
|
|
110885
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`.");
|
|
@@ -111291,7 +111405,7 @@ function registerCommands(inspectorBackend) {
|
|
|
111291
111405
|
inspectorBackend.registerEnum("Page.SecureContextType", { Secure: "Secure", SecureLocalhost: "SecureLocalhost", InsecureScheme: "InsecureScheme", InsecureAncestor: "InsecureAncestor" });
|
|
111292
111406
|
inspectorBackend.registerEnum("Page.CrossOriginIsolatedContextType", { Isolated: "Isolated", NotIsolated: "NotIsolated", NotIsolatedFeatureDisabled: "NotIsolatedFeatureDisabled" });
|
|
111293
111407
|
inspectorBackend.registerEnum("Page.GatedAPIFeatures", { SharedArrayBuffers: "SharedArrayBuffers", SharedArrayBuffersTransferAllowed: "SharedArrayBuffersTransferAllowed", PerformanceMeasureMemory: "PerformanceMeasureMemory", PerformanceProfile: "PerformanceProfile" });
|
|
111294
|
-
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" });
|
|
111295
111409
|
inspectorBackend.registerEnum("Page.PermissionsPolicyBlockReason", { Header: "Header", IframeAttribute: "IframeAttribute", InFencedFrameTree: "InFencedFrameTree", InIsolatedApp: "InIsolatedApp" });
|
|
111296
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" });
|
|
111297
111411
|
inspectorBackend.registerEnum("Page.OriginTrialStatus", { Enabled: "Enabled", ValidTokenNotProvided: "ValidTokenNotProvided", OSNotSupported: "OSNotSupported", TrialNotAllowed: "TrialNotAllowed" });
|
|
@@ -111302,7 +111416,7 @@ function registerCommands(inspectorBackend) {
|
|
|
111302
111416
|
inspectorBackend.registerEnum("Page.ClientNavigationDisposition", { CurrentTab: "currentTab", NewTab: "newTab", NewWindow: "newWindow", Download: "download" });
|
|
111303
111417
|
inspectorBackend.registerEnum("Page.ReferrerPolicy", { NoReferrer: "noReferrer", NoReferrerWhenDowngrade: "noReferrerWhenDowngrade", Origin: "origin", OriginWhenCrossOrigin: "originWhenCrossOrigin", SameOrigin: "sameOrigin", StrictOrigin: "strictOrigin", StrictOriginWhenCrossOrigin: "strictOriginWhenCrossOrigin", UnsafeUrl: "unsafeUrl" });
|
|
111304
111418
|
inspectorBackend.registerEnum("Page.NavigationType", { Navigation: "Navigation", BackForwardCacheRestore: "BackForwardCacheRestore" });
|
|
111305
|
-
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" });
|
|
111306
111420
|
inspectorBackend.registerEnum("Page.BackForwardCacheNotRestoredReasonType", { SupportPending: "SupportPending", PageSupportNeeded: "PageSupportNeeded", Circumstantial: "Circumstantial" });
|
|
111307
111421
|
inspectorBackend.registerEvent("Page.domContentEventFired", ["timestamp"]);
|
|
111308
111422
|
inspectorBackend.registerEnum("Page.FileChooserOpenedEventMode", { SelectSingle: "selectSingle", SelectMultiple: "selectMultiple" });
|
|
@@ -111730,7 +111844,7 @@ function registerCommands(inspectorBackend) {
|
|
|
111730
111844
|
inspectorBackend.registerCommand("WebMCP.disable", [], [], "Disables the WebMCP domain.");
|
|
111731
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.");
|
|
111732
111846
|
inspectorBackend.registerCommand("WebMCP.cancelInvocation", [{ "name": "invocationId", "type": "string", "optional": false, "description": "Invocation identifier to cancel.", "typeRef": null }], [], "Cancels a pending tool invocation.");
|
|
111733
|
-
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": "autosubmit", "type": "boolean", "optional": true, "description": "If the declarative tool was declared with the autosubmit attribute.", "typeRef": null }]);
|
|
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 }]);
|
|
111734
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" }]);
|
|
111735
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" }]);
|
|
111736
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" });
|
|
@@ -114256,11 +114370,12 @@ var ErrorType;
|
|
|
114256
114370
|
ErrorType["ABORT"] = "ABORT";
|
|
114257
114371
|
})(ErrorType || (ErrorType = {}));
|
|
114258
114372
|
function setDebugDispatchHttpRequestEnabled(enabled) {
|
|
114373
|
+
const localStorage = HOST_RUNTIME.getLocalStorage();
|
|
114259
114374
|
if (enabled) {
|
|
114260
|
-
localStorage
|
|
114375
|
+
localStorage?.setItem('debugDispatchHttpRequestEnabled', 'true');
|
|
114261
114376
|
}
|
|
114262
114377
|
else {
|
|
114263
|
-
localStorage
|
|
114378
|
+
localStorage?.removeItem('debugDispatchHttpRequestEnabled');
|
|
114264
114379
|
}
|
|
114265
114380
|
}
|
|
114266
114381
|
globalThis.setDebugDispatchHttpRequestEnabled = setDebugDispatchHttpRequestEnabled;
|
|
@@ -115650,10 +115765,10 @@ const generatedProperties = [
|
|
|
115650
115765
|
"column-height",
|
|
115651
115766
|
"column-rule-break",
|
|
115652
115767
|
"column-rule-color",
|
|
115653
|
-
"column-rule-
|
|
115654
|
-
"column-rule-
|
|
115655
|
-
"column-rule-
|
|
115656
|
-
"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",
|
|
115657
115772
|
"column-rule-style",
|
|
115658
115773
|
"column-rule-visibility-items",
|
|
115659
115774
|
"column-rule-width",
|
|
@@ -115883,10 +115998,10 @@ const generatedProperties = [
|
|
|
115883
115998
|
"row-gap",
|
|
115884
115999
|
"row-rule-break",
|
|
115885
116000
|
"row-rule-color",
|
|
115886
|
-
"row-rule-
|
|
115887
|
-
"row-rule-
|
|
115888
|
-
"row-rule-
|
|
115889
|
-
"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",
|
|
115890
116005
|
"row-rule-style",
|
|
115891
116006
|
"row-rule-visibility-items",
|
|
115892
116007
|
"row-rule-width",
|
|
@@ -116306,7 +116421,7 @@ const generatedProperties = [
|
|
|
116306
116421
|
{
|
|
116307
116422
|
"inherited": true,
|
|
116308
116423
|
"keywords": [
|
|
116309
|
-
"
|
|
116424
|
+
"ellipsis",
|
|
116310
116425
|
"no-ellipsis"
|
|
116311
116426
|
],
|
|
116312
116427
|
"name": "block-ellipsis"
|
|
@@ -116974,68 +117089,68 @@ const generatedProperties = [
|
|
|
116974
117089
|
},
|
|
116975
117090
|
{
|
|
116976
117091
|
"longhands": [
|
|
116977
|
-
"column-rule-
|
|
116978
|
-
"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"
|
|
116979
117096
|
],
|
|
116980
|
-
"name": "column-rule-
|
|
117097
|
+
"name": "column-rule-inset"
|
|
116981
117098
|
},
|
|
116982
117099
|
{
|
|
116983
|
-
"
|
|
116984
|
-
|
|
116985
|
-
"
|
|
117100
|
+
"longhands": [
|
|
117101
|
+
"column-rule-inset-cap-start",
|
|
117102
|
+
"column-rule-inset-cap-end"
|
|
116986
117103
|
],
|
|
116987
|
-
"name": "column-rule-
|
|
117104
|
+
"name": "column-rule-inset-cap"
|
|
116988
117105
|
},
|
|
116989
117106
|
{
|
|
116990
117107
|
"inherited": false,
|
|
116991
117108
|
"keywords": [
|
|
116992
117109
|
"overlap-join"
|
|
116993
117110
|
],
|
|
116994
|
-
"name": "column-rule-
|
|
117111
|
+
"name": "column-rule-inset-cap-end"
|
|
116995
117112
|
},
|
|
116996
117113
|
{
|
|
116997
|
-
"
|
|
116998
|
-
|
|
116999
|
-
"
|
|
117000
|
-
"column-rule-interior-inset-start",
|
|
117001
|
-
"column-rule-interior-inset-end"
|
|
117114
|
+
"inherited": false,
|
|
117115
|
+
"keywords": [
|
|
117116
|
+
"overlap-join"
|
|
117002
117117
|
],
|
|
117003
|
-
"name": "column-rule-inset"
|
|
117118
|
+
"name": "column-rule-inset-cap-start"
|
|
117004
117119
|
},
|
|
117005
117120
|
{
|
|
117006
117121
|
"longhands": [
|
|
117007
|
-
"column-rule-
|
|
117008
|
-
"column-rule-
|
|
117122
|
+
"column-rule-inset-cap-end",
|
|
117123
|
+
"column-rule-inset-junction-end"
|
|
117009
117124
|
],
|
|
117010
117125
|
"name": "column-rule-inset-end"
|
|
117011
117126
|
},
|
|
117012
117127
|
{
|
|
117013
117128
|
"longhands": [
|
|
117014
|
-
"column-rule-
|
|
117015
|
-
"column-rule-
|
|
117129
|
+
"column-rule-inset-junction-start",
|
|
117130
|
+
"column-rule-inset-junction-end"
|
|
117016
117131
|
],
|
|
117017
|
-
"name": "column-rule-inset-
|
|
117018
|
-
},
|
|
117019
|
-
{
|
|
117020
|
-
"longhands": [
|
|
117021
|
-
"column-rule-interior-inset-start",
|
|
117022
|
-
"column-rule-interior-inset-end"
|
|
117023
|
-
],
|
|
117024
|
-
"name": "column-rule-interior-inset"
|
|
117132
|
+
"name": "column-rule-inset-junction"
|
|
117025
117133
|
},
|
|
117026
117134
|
{
|
|
117027
117135
|
"inherited": false,
|
|
117028
117136
|
"keywords": [
|
|
117029
117137
|
"overlap-join"
|
|
117030
117138
|
],
|
|
117031
|
-
"name": "column-rule-
|
|
117139
|
+
"name": "column-rule-inset-junction-end"
|
|
117032
117140
|
},
|
|
117033
117141
|
{
|
|
117034
117142
|
"inherited": false,
|
|
117035
117143
|
"keywords": [
|
|
117036
117144
|
"overlap-join"
|
|
117037
117145
|
],
|
|
117038
|
-
"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"
|
|
117039
117154
|
},
|
|
117040
117155
|
{
|
|
117041
117156
|
"keywords": [
|
|
@@ -117175,7 +117290,7 @@ const generatedProperties = [
|
|
|
117175
117290
|
},
|
|
117176
117291
|
{
|
|
117177
117292
|
"keywords": [
|
|
117178
|
-
"
|
|
117293
|
+
"normal",
|
|
117179
117294
|
"collapse",
|
|
117180
117295
|
"-webkit-legacy"
|
|
117181
117296
|
],
|
|
@@ -119070,68 +119185,68 @@ const generatedProperties = [
|
|
|
119070
119185
|
},
|
|
119071
119186
|
{
|
|
119072
119187
|
"longhands": [
|
|
119073
|
-
"row-rule-
|
|
119074
|
-
"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"
|
|
119075
119192
|
],
|
|
119076
|
-
"name": "row-rule-
|
|
119193
|
+
"name": "row-rule-inset"
|
|
119077
119194
|
},
|
|
119078
119195
|
{
|
|
119079
|
-
"
|
|
119080
|
-
|
|
119081
|
-
"
|
|
119196
|
+
"longhands": [
|
|
119197
|
+
"row-rule-inset-cap-start",
|
|
119198
|
+
"row-rule-inset-cap-end"
|
|
119082
119199
|
],
|
|
119083
|
-
"name": "row-rule-
|
|
119200
|
+
"name": "row-rule-inset-cap"
|
|
119084
119201
|
},
|
|
119085
119202
|
{
|
|
119086
119203
|
"inherited": false,
|
|
119087
119204
|
"keywords": [
|
|
119088
119205
|
"overlap-join"
|
|
119089
119206
|
],
|
|
119090
|
-
"name": "row-rule-
|
|
119207
|
+
"name": "row-rule-inset-cap-end"
|
|
119091
119208
|
},
|
|
119092
119209
|
{
|
|
119093
|
-
"
|
|
119094
|
-
|
|
119095
|
-
"
|
|
119096
|
-
"row-rule-interior-inset-start",
|
|
119097
|
-
"row-rule-interior-inset-end"
|
|
119210
|
+
"inherited": false,
|
|
119211
|
+
"keywords": [
|
|
119212
|
+
"overlap-join"
|
|
119098
119213
|
],
|
|
119099
|
-
"name": "row-rule-inset"
|
|
119214
|
+
"name": "row-rule-inset-cap-start"
|
|
119100
119215
|
},
|
|
119101
119216
|
{
|
|
119102
119217
|
"longhands": [
|
|
119103
|
-
"row-rule-
|
|
119104
|
-
"row-rule-
|
|
119218
|
+
"row-rule-inset-cap-end",
|
|
119219
|
+
"row-rule-inset-junction-end"
|
|
119105
119220
|
],
|
|
119106
119221
|
"name": "row-rule-inset-end"
|
|
119107
119222
|
},
|
|
119108
119223
|
{
|
|
119109
119224
|
"longhands": [
|
|
119110
|
-
"row-rule-
|
|
119111
|
-
"row-rule-
|
|
119112
|
-
],
|
|
119113
|
-
"name": "row-rule-inset-start"
|
|
119114
|
-
},
|
|
119115
|
-
{
|
|
119116
|
-
"longhands": [
|
|
119117
|
-
"row-rule-interior-inset-start",
|
|
119118
|
-
"row-rule-interior-inset-end"
|
|
119225
|
+
"row-rule-inset-junction-start",
|
|
119226
|
+
"row-rule-inset-junction-end"
|
|
119119
119227
|
],
|
|
119120
|
-
"name": "row-rule-
|
|
119228
|
+
"name": "row-rule-inset-junction"
|
|
119121
119229
|
},
|
|
119122
119230
|
{
|
|
119123
119231
|
"inherited": false,
|
|
119124
119232
|
"keywords": [
|
|
119125
119233
|
"overlap-join"
|
|
119126
119234
|
],
|
|
119127
|
-
"name": "row-rule-
|
|
119235
|
+
"name": "row-rule-inset-junction-end"
|
|
119128
119236
|
},
|
|
119129
119237
|
{
|
|
119130
119238
|
"inherited": false,
|
|
119131
119239
|
"keywords": [
|
|
119132
119240
|
"overlap-join"
|
|
119133
119241
|
],
|
|
119134
|
-
"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"
|
|
119135
119250
|
},
|
|
119136
119251
|
{
|
|
119137
119252
|
"keywords": [
|
|
@@ -119180,7 +119295,7 @@ const generatedProperties = [
|
|
|
119180
119295
|
"inherited": true,
|
|
119181
119296
|
"keywords": [
|
|
119182
119297
|
"auto",
|
|
119183
|
-
"
|
|
119298
|
+
"spaces"
|
|
119184
119299
|
],
|
|
119185
119300
|
"name": "ruby-overhang"
|
|
119186
119301
|
},
|
|
@@ -119219,52 +119334,52 @@ const generatedProperties = [
|
|
|
119219
119334
|
},
|
|
119220
119335
|
{
|
|
119221
119336
|
"longhands": [
|
|
119222
|
-
"row-rule-
|
|
119223
|
-
"row-rule-
|
|
119224
|
-
"
|
|
119225
|
-
"
|
|
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"
|
|
119226
119345
|
],
|
|
119227
|
-
"name": "rule-
|
|
119346
|
+
"name": "rule-inset"
|
|
119228
119347
|
},
|
|
119229
119348
|
{
|
|
119230
119349
|
"longhands": [
|
|
119231
|
-
"row-rule-
|
|
119232
|
-
"row-rule-
|
|
119233
|
-
"
|
|
119234
|
-
"
|
|
119235
|
-
"column-rule-edge-inset-start",
|
|
119236
|
-
"column-rule-edge-inset-end",
|
|
119237
|
-
"column-rule-interior-inset-start",
|
|
119238
|
-
"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"
|
|
119239
119354
|
],
|
|
119240
|
-
"name": "rule-inset"
|
|
119355
|
+
"name": "rule-inset-cap"
|
|
119241
119356
|
},
|
|
119242
119357
|
{
|
|
119243
119358
|
"longhands": [
|
|
119244
|
-
"column-rule-
|
|
119245
|
-
"column-rule-
|
|
119246
|
-
"row-rule-
|
|
119247
|
-
"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"
|
|
119248
119363
|
],
|
|
119249
119364
|
"name": "rule-inset-end"
|
|
119250
119365
|
},
|
|
119251
119366
|
{
|
|
119252
119367
|
"longhands": [
|
|
119253
|
-
"
|
|
119254
|
-
"
|
|
119255
|
-
"
|
|
119256
|
-
"
|
|
119368
|
+
"row-rule-inset-junction-start",
|
|
119369
|
+
"row-rule-inset-junction-end",
|
|
119370
|
+
"column-rule-inset-junction-start",
|
|
119371
|
+
"column-rule-inset-junction-end"
|
|
119257
119372
|
],
|
|
119258
|
-
"name": "rule-inset-
|
|
119373
|
+
"name": "rule-inset-junction"
|
|
119259
119374
|
},
|
|
119260
119375
|
{
|
|
119261
119376
|
"longhands": [
|
|
119262
|
-
"
|
|
119263
|
-
"
|
|
119264
|
-
"
|
|
119265
|
-
"
|
|
119377
|
+
"column-rule-inset-cap-start",
|
|
119378
|
+
"column-rule-inset-junction-start",
|
|
119379
|
+
"row-rule-inset-cap-start",
|
|
119380
|
+
"row-rule-inset-junction-start"
|
|
119266
119381
|
],
|
|
119267
|
-
"name": "rule-
|
|
119382
|
+
"name": "rule-inset-start"
|
|
119268
119383
|
},
|
|
119269
119384
|
{
|
|
119270
119385
|
"inherited": false,
|
|
@@ -120554,7 +120669,7 @@ const generatedPropertyValues = {
|
|
|
120554
120669
|
},
|
|
120555
120670
|
"block-ellipsis": {
|
|
120556
120671
|
"values": [
|
|
120557
|
-
"
|
|
120672
|
+
"ellipsis",
|
|
120558
120673
|
"no-ellipsis"
|
|
120559
120674
|
]
|
|
120560
120675
|
},
|
|
@@ -120884,22 +120999,22 @@ const generatedPropertyValues = {
|
|
|
120884
120999
|
"currentcolor"
|
|
120885
121000
|
]
|
|
120886
121001
|
},
|
|
120887
|
-
"column-rule-
|
|
121002
|
+
"column-rule-inset-cap-end": {
|
|
120888
121003
|
"values": [
|
|
120889
121004
|
"overlap-join"
|
|
120890
121005
|
]
|
|
120891
121006
|
},
|
|
120892
|
-
"column-rule-
|
|
121007
|
+
"column-rule-inset-cap-start": {
|
|
120893
121008
|
"values": [
|
|
120894
121009
|
"overlap-join"
|
|
120895
121010
|
]
|
|
120896
121011
|
},
|
|
120897
|
-
"column-rule-
|
|
121012
|
+
"column-rule-inset-junction-end": {
|
|
120898
121013
|
"values": [
|
|
120899
121014
|
"overlap-join"
|
|
120900
121015
|
]
|
|
120901
121016
|
},
|
|
120902
|
-
"column-rule-
|
|
121017
|
+
"column-rule-inset-junction-start": {
|
|
120903
121018
|
"values": [
|
|
120904
121019
|
"overlap-join"
|
|
120905
121020
|
]
|
|
@@ -120997,7 +121112,7 @@ const generatedPropertyValues = {
|
|
|
120997
121112
|
},
|
|
120998
121113
|
"continue": {
|
|
120999
121114
|
"values": [
|
|
121000
|
-
"
|
|
121115
|
+
"normal",
|
|
121001
121116
|
"collapse",
|
|
121002
121117
|
"-webkit-legacy"
|
|
121003
121118
|
]
|
|
@@ -122055,22 +122170,22 @@ const generatedPropertyValues = {
|
|
|
122055
122170
|
"currentcolor"
|
|
122056
122171
|
]
|
|
122057
122172
|
},
|
|
122058
|
-
"row-rule-
|
|
122173
|
+
"row-rule-inset-cap-end": {
|
|
122059
122174
|
"values": [
|
|
122060
122175
|
"overlap-join"
|
|
122061
122176
|
]
|
|
122062
122177
|
},
|
|
122063
|
-
"row-rule-
|
|
122178
|
+
"row-rule-inset-cap-start": {
|
|
122064
122179
|
"values": [
|
|
122065
122180
|
"overlap-join"
|
|
122066
122181
|
]
|
|
122067
122182
|
},
|
|
122068
|
-
"row-rule-
|
|
122183
|
+
"row-rule-inset-junction-end": {
|
|
122069
122184
|
"values": [
|
|
122070
122185
|
"overlap-join"
|
|
122071
122186
|
]
|
|
122072
122187
|
},
|
|
122073
|
-
"row-rule-
|
|
122188
|
+
"row-rule-inset-junction-start": {
|
|
122074
122189
|
"values": [
|
|
122075
122190
|
"overlap-join"
|
|
122076
122191
|
]
|
|
@@ -122115,7 +122230,7 @@ const generatedPropertyValues = {
|
|
|
122115
122230
|
"ruby-overhang": {
|
|
122116
122231
|
"values": [
|
|
122117
122232
|
"auto",
|
|
122118
|
-
"
|
|
122233
|
+
"spaces"
|
|
122119
122234
|
]
|
|
122120
122235
|
},
|
|
122121
122236
|
"ruby-position": {
|
|
@@ -129826,7 +129941,7 @@ class Base64TextDecoder {
|
|
|
129826
129941
|
void this.#decoder.readable.pipeTo(new WritableStream({ write: onTextChunk }));
|
|
129827
129942
|
}
|
|
129828
129943
|
async addBase64Chunk(chunk) {
|
|
129829
|
-
const binString =
|
|
129944
|
+
const binString = globalThis.atob(chunk);
|
|
129830
129945
|
const bytes = Uint8Array.from(binString, m => m.codePointAt(0));
|
|
129831
129946
|
await this.#writer.ready;
|
|
129832
129947
|
await this.#writer.write(bytes);
|
|
@@ -132046,10 +132161,14 @@ class NetworkManager extends SDKModel {
|
|
|
132046
132161
|
}
|
|
132047
132162
|
void this.#networkAgent.invoke_enable({
|
|
132048
132163
|
maxPostDataSize: MAX_EAGER_POST_REQUEST_BODY_LENGTH,
|
|
132049
|
-
enableDurableMessages: hostConfig.devToolsEnableDurableMessages?.enabled,
|
|
132050
132164
|
maxTotalBufferSize: MAX_RESPONSE_BODY_TOTAL_BUFFER_LENGTH,
|
|
132051
132165
|
reportDirectSocketTraffic: true,
|
|
132052
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
|
+
}
|
|
132053
132172
|
void this.#networkAgent.invoke_setAttachDebugStack({ enabled: true });
|
|
132054
132173
|
this.#bypassServiceWorkerSetting = settings.createSetting('bypass-service-worker', false);
|
|
132055
132174
|
if (this.#bypassServiceWorkerSetting.get()) {
|
|
@@ -132147,7 +132266,7 @@ class NetworkManager extends SDKModel {
|
|
|
132147
132266
|
try {
|
|
132148
132267
|
const { postData, base64Encoded } = await manager.#networkAgent.invoke_getRequestPostData({ requestId });
|
|
132149
132268
|
if (base64Encoded && postData) {
|
|
132150
|
-
const binaryString =
|
|
132269
|
+
const binaryString = globalThis.atob(postData);
|
|
132151
132270
|
const bytes = new Uint8Array(binaryString.length);
|
|
132152
132271
|
for (let i = 0; i < binaryString.length; i++) {
|
|
132153
132272
|
bytes[i] = binaryString.charCodeAt(i);
|
|
@@ -132219,9 +132338,23 @@ class NetworkManager extends SDKModel {
|
|
|
132219
132338
|
cacheDisabledSettingChanged({ data: enabled }) {
|
|
132220
132339
|
void this.#networkAgent.invoke_setCacheDisabled({ cacheDisabled: enabled });
|
|
132221
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
|
+
}
|
|
132222
132354
|
dispose() {
|
|
132223
132355
|
const settings = this.target().targetManager().settings;
|
|
132224
132356
|
settings.moduleSetting('cache-disabled').removeChangeListener(this.cacheDisabledSettingChanged, this);
|
|
132357
|
+
settings.moduleSetting('network-log.preserve-log').removeChangeListener(this.preserveLogChanged, this);
|
|
132225
132358
|
}
|
|
132226
132359
|
bypassServiceWorkerChanged() {
|
|
132227
132360
|
void this.#networkAgent.invoke_setBypassServiceWorker({ bypass: this.#bypassServiceWorkerSetting.get() });
|
|
@@ -148349,8 +148482,14 @@ function parseMessage(stack) {
|
|
|
148349
148482
|
}
|
|
148350
148483
|
function augmentRawFramesWithScriptIds(rawFrames, protocolStackTrace) {
|
|
148351
148484
|
for (const rawFrame of rawFrames) {
|
|
148352
|
-
const
|
|
148353
|
-
|
|
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
|
+
});
|
|
148354
148493
|
if (protocolFrame) {
|
|
148355
148494
|
rawFrame.scriptId = protocolFrame.scriptId;
|
|
148356
148495
|
}
|
|
@@ -148565,6 +148704,13 @@ class DebuggableFrameImpl {
|
|
|
148565
148704
|
}
|
|
148566
148705
|
|
|
148567
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
|
+
}
|
|
148568
148714
|
function parseSourcePositionsFromErrorStack(runtimeModel, stack) {
|
|
148569
148715
|
if (!(/\n\s*at\s/.test(stack) || stack.startsWith('SyntaxError:'))) {
|
|
148570
148716
|
return null;
|
|
@@ -148668,6 +148814,7 @@ function framesMatch(parsedFrame, protocolFrame) {
|
|
|
148668
148814
|
var ErrorStackParser = /*#__PURE__*/Object.freeze({
|
|
148669
148815
|
__proto__: null,
|
|
148670
148816
|
augmentErrorStackWithScriptIds: augmentErrorStackWithScriptIds,
|
|
148817
|
+
concatErrorDescriptionAndIssueSummary: concatErrorDescriptionAndIssueSummary,
|
|
148671
148818
|
parseSourcePositionsFromErrorStack: parseSourcePositionsFromErrorStack
|
|
148672
148819
|
});
|
|
148673
148820
|
|
|
@@ -152844,7 +152991,29 @@ class ResourceScriptFile extends ObjectWrapper {
|
|
|
152844
152991
|
}
|
|
152845
152992
|
|
|
152846
152993
|
// Copyright 2026 The Chromium Authors
|
|
152847
|
-
|
|
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 {
|
|
152848
153017
|
message;
|
|
152849
153018
|
stackTrace;
|
|
152850
153019
|
cause;
|
|
@@ -152859,12 +153028,46 @@ class SymbolizedError extends ObjectWrapper {
|
|
|
152859
153028
|
dispose() {
|
|
152860
153029
|
this.stackTrace.removeEventListener("UPDATED" , this.#fireUpdated, this);
|
|
152861
153030
|
this.cause?.removeEventListener("UPDATED" , this.#fireUpdated, this);
|
|
152862
|
-
this.cause
|
|
153031
|
+
if (this.cause instanceof SymbolizedErrorObject || this.cause instanceof UnparsableError) {
|
|
153032
|
+
this.cause.dispose();
|
|
153033
|
+
}
|
|
152863
153034
|
}
|
|
152864
153035
|
#fireUpdated() {
|
|
152865
153036
|
this.dispatchEventToListeners("UPDATED" );
|
|
152866
153037
|
}
|
|
152867
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
|
+
}
|
|
152868
153071
|
|
|
152869
153072
|
// Copyright 2014 The Chromium Authors
|
|
152870
153073
|
class DebuggerWorkspaceBinding {
|
|
@@ -153016,9 +153219,18 @@ class DebuggerWorkspaceBinding {
|
|
|
153016
153219
|
]);
|
|
153017
153220
|
fetchedExceptionDetails = details;
|
|
153018
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
|
+
}
|
|
153019
153228
|
}
|
|
153020
153229
|
else if (remoteObject.type === 'string') {
|
|
153021
153230
|
errorStack = remoteObject.description || '';
|
|
153231
|
+
if (!isErrorLike(errorStack)) {
|
|
153232
|
+
return null;
|
|
153233
|
+
}
|
|
153022
153234
|
}
|
|
153023
153235
|
else {
|
|
153024
153236
|
return null;
|
|
@@ -153027,11 +153239,15 @@ class DebuggerWorkspaceBinding {
|
|
|
153027
153239
|
this.createStackTraceFromErrorStackLikeString(remoteObject.runtimeModel().target(), errorStack, fetchedExceptionDetails),
|
|
153028
153240
|
causeRemoteObject ? this.createSymbolizedError(causeRemoteObject) : Promise.resolve(null),
|
|
153029
153241
|
]);
|
|
153242
|
+
const issueSummary = fetchedExceptionDetails?.exceptionMetaData?.issueSummary;
|
|
153243
|
+
if (typeof issueSummary === 'string') {
|
|
153244
|
+
errorStack = concatErrorDescriptionAndIssueSummary(errorStack, issueSummary);
|
|
153245
|
+
}
|
|
153030
153246
|
if (!stackTrace) {
|
|
153031
|
-
return
|
|
153247
|
+
return new UnparsableError(errorStack, cause);
|
|
153032
153248
|
}
|
|
153033
153249
|
const message = parseMessage(errorStack);
|
|
153034
|
-
return new
|
|
153250
|
+
return new SymbolizedErrorObject(message, stackTrace, cause);
|
|
153035
153251
|
}
|
|
153036
153252
|
async createLiveLocation(rawLocation, updateDelegate, locationPool) {
|
|
153037
153253
|
const modelData = this.#debuggerModelToData.get(rawLocation.debuggerModel);
|
|
@@ -155198,7 +155414,12 @@ class NetworkRequestFormatter {
|
|
|
155198
155414
|
static formatFailureReasons(reasons) {
|
|
155199
155415
|
const lines = [];
|
|
155200
155416
|
if (reasons.blockedReason) {
|
|
155201
|
-
|
|
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
|
+
}
|
|
155202
155423
|
}
|
|
155203
155424
|
if (reasons.corsErrorStatus) {
|
|
155204
155425
|
lines.push(`CORS error: ${reasons.corsErrorStatus.corsError} ${reasons.corsErrorStatus.failedParameter}`);
|
|
@@ -164648,13 +164869,61 @@ var Statistics = /*#__PURE__*/Object.freeze({
|
|
|
164648
164869
|
linearInterpolation: linearInterpolation
|
|
164649
164870
|
});
|
|
164650
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
|
+
|
|
164651
164917
|
// Copyright 2024 The Chromium Authors
|
|
164652
164918
|
const GRAPH_SAVINGS_PRECISION = 50;
|
|
164653
164919
|
function getInsight(insightName, insightSet) {
|
|
164654
164920
|
return insightSet.model[insightName];
|
|
164655
164921
|
}
|
|
164922
|
+
function isInsightKey(key) {
|
|
164923
|
+
return Object.values(InsightKeys).includes(key);
|
|
164924
|
+
}
|
|
164656
164925
|
function getLCP(insightSet) {
|
|
164657
|
-
const insight = getInsight(
|
|
164926
|
+
const insight = getInsight(InsightKeys.LCP_BREAKDOWN, insightSet);
|
|
164658
164927
|
if (!insight || !insight.lcpMs || !insight.lcpEvent) {
|
|
164659
164928
|
return null;
|
|
164660
164929
|
}
|
|
@@ -164662,7 +164931,7 @@ function getLCP(insightSet) {
|
|
|
164662
164931
|
return { value, event: insight.lcpEvent };
|
|
164663
164932
|
}
|
|
164664
164933
|
function getINP(insightSet) {
|
|
164665
|
-
const insight = getInsight(
|
|
164934
|
+
const insight = getInsight(InsightKeys.INP_BREAKDOWN, insightSet);
|
|
164666
164935
|
if (!insight?.longestInteractionEvent?.dur) {
|
|
164667
164936
|
return null;
|
|
164668
164937
|
}
|
|
@@ -164670,7 +164939,7 @@ function getINP(insightSet) {
|
|
|
164670
164939
|
return { value, event: insight.longestInteractionEvent };
|
|
164671
164940
|
}
|
|
164672
164941
|
function getCLS(insightSet) {
|
|
164673
|
-
const insight = getInsight(
|
|
164942
|
+
const insight = getInsight(InsightKeys.CLS_CULPRITS, insightSet);
|
|
164674
164943
|
if (!insight) {
|
|
164675
164944
|
return { value: 0, worstClusterEvent: null };
|
|
164676
164945
|
}
|
|
@@ -164930,33 +165199,12 @@ var Common = /*#__PURE__*/Object.freeze({
|
|
|
164930
165199
|
getInsight: getInsight,
|
|
164931
165200
|
getLCP: getLCP,
|
|
164932
165201
|
insightBounds: insightBounds,
|
|
165202
|
+
isInsightKey: isInsightKey,
|
|
164933
165203
|
isRequestCompressed: isRequestCompressed,
|
|
164934
165204
|
isRequestServedFromBrowserCache: isRequestServedFromBrowserCache,
|
|
164935
165205
|
metricSavingsForWastedBytes: metricSavingsForWastedBytes
|
|
164936
165206
|
});
|
|
164937
165207
|
|
|
164938
|
-
// Copyright 2024 The Chromium Authors
|
|
164939
|
-
var InsightWarning;
|
|
164940
|
-
(function (InsightWarning) {
|
|
164941
|
-
InsightWarning["NO_FP"] = "NO_FP";
|
|
164942
|
-
InsightWarning["NO_LCP"] = "NO_LCP";
|
|
164943
|
-
InsightWarning["NO_DOCUMENT_REQUEST"] = "NO_DOCUMENT_REQUEST";
|
|
164944
|
-
InsightWarning["NO_LAYOUT"] = "NO_LAYOUT";
|
|
164945
|
-
})(InsightWarning || (InsightWarning = {}));
|
|
164946
|
-
var InsightCategory;
|
|
164947
|
-
(function (InsightCategory) {
|
|
164948
|
-
InsightCategory["ALL"] = "All";
|
|
164949
|
-
InsightCategory["INP"] = "INP";
|
|
164950
|
-
InsightCategory["LCP"] = "LCP";
|
|
164951
|
-
InsightCategory["CLS"] = "CLS";
|
|
164952
|
-
})(InsightCategory || (InsightCategory = {}));
|
|
164953
|
-
|
|
164954
|
-
var types$1 = /*#__PURE__*/Object.freeze({
|
|
164955
|
-
__proto__: null,
|
|
164956
|
-
get InsightCategory () { return InsightCategory; },
|
|
164957
|
-
get InsightWarning () { return InsightWarning; }
|
|
164958
|
-
});
|
|
164959
|
-
|
|
164960
165208
|
// Copyright 2025 The Chromium Authors
|
|
164961
165209
|
const UIStrings$J = {
|
|
164962
165210
|
title: 'Use efficient cache lifetimes',
|
|
@@ -164971,7 +165219,7 @@ const i18nString$v = getLocalizedString.bind(undefined, str_$I);
|
|
|
164971
165219
|
const IGNORE_THRESHOLD_IN_PERCENT = 0.925;
|
|
164972
165220
|
function finalize$i(partialModel) {
|
|
164973
165221
|
return {
|
|
164974
|
-
insightKey:
|
|
165222
|
+
insightKey: InsightKeys.CACHE,
|
|
164975
165223
|
strings: UIStrings$J,
|
|
164976
165224
|
title: i18nString$v(UIStrings$J.title),
|
|
164977
165225
|
description: i18nString$v(UIStrings$J.description),
|
|
@@ -165045,7 +165293,7 @@ function cachingDisabled(headers, parsedCacheControl) {
|
|
|
165045
165293
|
return false;
|
|
165046
165294
|
}
|
|
165047
165295
|
function isCacheInsight(model) {
|
|
165048
|
-
return model.insightKey ===
|
|
165296
|
+
return model.insightKey === InsightKeys.CACHE;
|
|
165049
165297
|
}
|
|
165050
165298
|
function generateInsight$i(data, context) {
|
|
165051
165299
|
const isWithinContext = (event) => eventIsInBounds(event, context.bounds);
|
|
@@ -165132,7 +165380,7 @@ const str_$H = registerUIStrings('models/trace/insights/CharacterSet.ts', UIStri
|
|
|
165132
165380
|
const i18nString$u = getLocalizedString.bind(undefined, str_$H);
|
|
165133
165381
|
const CHARSET_HTTP_REGEX = /charset\s*=\s*[a-zA-Z0-9\-_:.()]{2,}/i;
|
|
165134
165382
|
function isCharacterSetInsight(model) {
|
|
165135
|
-
return model.insightKey ===
|
|
165383
|
+
return model.insightKey === InsightKeys.CHARACTER_SET;
|
|
165136
165384
|
}
|
|
165137
165385
|
function finalize$h(partialModel) {
|
|
165138
165386
|
let hasFailure = false;
|
|
@@ -165140,7 +165388,7 @@ function finalize$h(partialModel) {
|
|
|
165140
165388
|
hasFailure = !partialModel.data.checklist.httpCharset.value && !partialModel.data.checklist.metaCharset.value;
|
|
165141
165389
|
}
|
|
165142
165390
|
return {
|
|
165143
|
-
insightKey:
|
|
165391
|
+
insightKey: InsightKeys.CHARACTER_SET,
|
|
165144
165392
|
strings: UIStrings$I,
|
|
165145
165393
|
title: i18nString$u(UIStrings$I.title),
|
|
165146
165394
|
description: i18nString$u(UIStrings$I.description),
|
|
@@ -165459,7 +165707,7 @@ function getUnsizedImageRootCauses(unsizedImageEvents, paintImageEvents, shiftsB
|
|
|
165459
165707
|
return rootCausesByShift;
|
|
165460
165708
|
}
|
|
165461
165709
|
function isCLSCulpritsInsight(insight) {
|
|
165462
|
-
return insight.insightKey ===
|
|
165710
|
+
return insight.insightKey === InsightKeys.CLS_CULPRITS;
|
|
165463
165711
|
}
|
|
165464
165712
|
function getFontRootCauses(networkRequests, prePaintEvents, shiftsByPrePaint, rootCausesByShift) {
|
|
165465
165713
|
const fontRequests = networkRequests.filter(req => req.args.data.resourceType === 'Font' && req.args.data.mimeType.startsWith('font'));
|
|
@@ -165534,7 +165782,7 @@ function finalize$g(partialModel) {
|
|
|
165534
165782
|
}
|
|
165535
165783
|
}
|
|
165536
165784
|
return {
|
|
165537
|
-
insightKey:
|
|
165785
|
+
insightKey: InsightKeys.CLS_CULPRITS,
|
|
165538
165786
|
strings: UIStrings$H,
|
|
165539
165787
|
title: i18nString$t(UIStrings$H.title),
|
|
165540
165788
|
description: i18nString$t(UIStrings$H.description),
|
|
@@ -165699,7 +165947,7 @@ function finalize$f(partialModel) {
|
|
|
165699
165947
|
!partialModel.data.checklist.serverResponseIsFast.value || !partialModel.data.checklist.noRedirects.value;
|
|
165700
165948
|
}
|
|
165701
165949
|
return {
|
|
165702
|
-
insightKey:
|
|
165950
|
+
insightKey: InsightKeys.DOCUMENT_LATENCY,
|
|
165703
165951
|
strings: UIStrings$G,
|
|
165704
165952
|
title: i18nString$s(UIStrings$G.title),
|
|
165705
165953
|
description: i18nString$s(UIStrings$G.description),
|
|
@@ -165841,7 +166089,7 @@ const STYLE_RECALC_ELEMENTS_THRESHOLD = 300;
|
|
|
165841
166089
|
function finalize$e(partialModel) {
|
|
165842
166090
|
const relatedEvents = [...partialModel.largeLayoutUpdates, ...partialModel.largeStyleRecalcs];
|
|
165843
166091
|
return {
|
|
165844
|
-
insightKey:
|
|
166092
|
+
insightKey: InsightKeys.DOM_SIZE,
|
|
165845
166093
|
strings: UIStrings$F,
|
|
165846
166094
|
title: i18nString$r(UIStrings$F.title),
|
|
165847
166095
|
description: i18nString$r(UIStrings$F.description),
|
|
@@ -165853,7 +166101,7 @@ function finalize$e(partialModel) {
|
|
|
165853
166101
|
};
|
|
165854
166102
|
}
|
|
165855
166103
|
function isDomSizeInsight(model) {
|
|
165856
|
-
return model.insightKey ===
|
|
166104
|
+
return model.insightKey === InsightKeys.DOM_SIZE;
|
|
165857
166105
|
}
|
|
165858
166106
|
function generateInsight$e(data, context) {
|
|
165859
166107
|
const isWithinContext = (event) => eventIsInBounds(event, context.bounds);
|
|
@@ -165962,13 +166210,14 @@ const UIStrings$E = {
|
|
|
165962
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.',
|
|
165963
166211
|
columnSource: 'Source',
|
|
165964
166212
|
columnDuplicatedBytes: 'Duplicated bytes',
|
|
166213
|
+
noDuplicatedJavaScript: 'No duplicated JavaScript found',
|
|
165965
166214
|
};
|
|
165966
166215
|
const str_$D = registerUIStrings('models/trace/insights/DuplicatedJavaScript.ts', UIStrings$E);
|
|
165967
166216
|
const i18nString$q = getLocalizedString.bind(undefined, str_$D);
|
|
165968
166217
|
function finalize$d(partialModel) {
|
|
165969
166218
|
const requests = partialModel.scriptsWithDuplication.map(script => script.request).filter(e => !!e);
|
|
165970
166219
|
return {
|
|
165971
|
-
insightKey:
|
|
166220
|
+
insightKey: InsightKeys.DUPLICATE_JAVASCRIPT,
|
|
165972
166221
|
strings: UIStrings$E,
|
|
165973
166222
|
title: i18nString$q(UIStrings$E.title),
|
|
165974
166223
|
description: i18nString$q(UIStrings$E.description),
|
|
@@ -165980,7 +166229,7 @@ function finalize$d(partialModel) {
|
|
|
165980
166229
|
};
|
|
165981
166230
|
}
|
|
165982
166231
|
function isDuplicatedJavaScriptInsight(model) {
|
|
165983
|
-
return model.insightKey ===
|
|
166232
|
+
return model.insightKey === InsightKeys.DUPLICATE_JAVASCRIPT;
|
|
165984
166233
|
}
|
|
165985
166234
|
function generateInsight$d(data, context) {
|
|
165986
166235
|
const scripts = data.Scripts.scripts.filter(script => {
|
|
@@ -166047,12 +166296,13 @@ const UIStrings$D = {
|
|
|
166047
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).',
|
|
166048
166297
|
fontColumn: 'Font',
|
|
166049
166298
|
wastedTimeColumn: 'Wasted time',
|
|
166299
|
+
noFonts: 'No fonts with suboptimal font-display found',
|
|
166050
166300
|
};
|
|
166051
166301
|
const str_$C = registerUIStrings('models/trace/insights/FontDisplay.ts', UIStrings$D);
|
|
166052
166302
|
const i18nString$p = getLocalizedString.bind(undefined, str_$C);
|
|
166053
166303
|
function finalize$c(partialModel) {
|
|
166054
166304
|
return {
|
|
166055
|
-
insightKey:
|
|
166305
|
+
insightKey: InsightKeys.FONT_DISPLAY,
|
|
166056
166306
|
strings: UIStrings$D,
|
|
166057
166307
|
title: i18nString$p(UIStrings$D.title),
|
|
166058
166308
|
description: i18nString$p(UIStrings$D.description),
|
|
@@ -166063,7 +166313,7 @@ function finalize$c(partialModel) {
|
|
|
166063
166313
|
};
|
|
166064
166314
|
}
|
|
166065
166315
|
function isFontDisplayInsight(model) {
|
|
166066
|
-
return model.insightKey ===
|
|
166316
|
+
return model.insightKey === InsightKeys.FONT_DISPLAY;
|
|
166067
166317
|
}
|
|
166068
166318
|
function generateInsight$c(data, context) {
|
|
166069
166319
|
const fonts = [];
|
|
@@ -166185,7 +166435,7 @@ function getLargestTopLevelFunctionData(forcedReflowEvents, traceParsedData) {
|
|
|
166185
166435
|
}
|
|
166186
166436
|
function finalize$b(partialModel) {
|
|
166187
166437
|
return {
|
|
166188
|
-
insightKey:
|
|
166438
|
+
insightKey: InsightKeys.FORCED_REFLOW,
|
|
166189
166439
|
strings: UIStrings$C,
|
|
166190
166440
|
title: i18nString$o(UIStrings$C.title),
|
|
166191
166441
|
description: i18nString$o(UIStrings$C.description),
|
|
@@ -166201,7 +166451,7 @@ function getBottomCallFrameForEvent(event, traceParsedData) {
|
|
|
166201
166451
|
return profileStackTrace?.callFrames[0] ?? eventTopCallFrame ?? null;
|
|
166202
166452
|
}
|
|
166203
166453
|
function isForcedReflowInsight(model) {
|
|
166204
|
-
return model.insightKey ===
|
|
166454
|
+
return model.insightKey === InsightKeys.FORCED_REFLOW;
|
|
166205
166455
|
}
|
|
166206
166456
|
function generateInsight$b(traceParsedData, context) {
|
|
166207
166457
|
const isWithinContext = (event) => {
|
|
@@ -166310,7 +166560,7 @@ function getOptimizationMessageWithBytes(optimization) {
|
|
|
166310
166560
|
}
|
|
166311
166561
|
function finalize$a(partialModel) {
|
|
166312
166562
|
return {
|
|
166313
|
-
insightKey:
|
|
166563
|
+
insightKey: InsightKeys.IMAGE_DELIVERY,
|
|
166314
166564
|
strings: UIStrings$B,
|
|
166315
166565
|
title: i18nString$n(UIStrings$B.title),
|
|
166316
166566
|
description: i18nString$n(UIStrings$B.description),
|
|
@@ -166466,7 +166716,7 @@ const UIStrings$A = {
|
|
|
166466
166716
|
const str_$z = registerUIStrings('models/trace/insights/INPBreakdown.ts', UIStrings$A);
|
|
166467
166717
|
const i18nString$m = getLocalizedString.bind(undefined, str_$z);
|
|
166468
166718
|
function isINPBreakdownInsight(insight) {
|
|
166469
|
-
return insight.insightKey ===
|
|
166719
|
+
return insight.insightKey === InsightKeys.INP_BREAKDOWN;
|
|
166470
166720
|
}
|
|
166471
166721
|
function finalize$9(partialModel) {
|
|
166472
166722
|
let state = 'pass';
|
|
@@ -166480,7 +166730,7 @@ function finalize$9(partialModel) {
|
|
|
166480
166730
|
}
|
|
166481
166731
|
}
|
|
166482
166732
|
return {
|
|
166483
|
-
insightKey:
|
|
166733
|
+
insightKey: InsightKeys.INP_BREAKDOWN,
|
|
166484
166734
|
strings: UIStrings$A,
|
|
166485
166735
|
title: i18nString$m(UIStrings$A.title),
|
|
166486
166736
|
description: i18nString$m(UIStrings$A.description),
|
|
@@ -166626,7 +166876,7 @@ function finalize$8(partialModel) {
|
|
|
166626
166876
|
}
|
|
166627
166877
|
}
|
|
166628
166878
|
return {
|
|
166629
|
-
insightKey:
|
|
166879
|
+
insightKey: InsightKeys.LCP_BREAKDOWN,
|
|
166630
166880
|
strings: UIStrings$z,
|
|
166631
166881
|
title: i18nString$l(UIStrings$z.title),
|
|
166632
166882
|
description: i18nString$l(UIStrings$z.description),
|
|
@@ -166719,7 +166969,7 @@ function finalize$7(partialModel) {
|
|
|
166719
166969
|
[partialModel.lcpEvent, partialModel.lcpRequest] :
|
|
166720
166970
|
[];
|
|
166721
166971
|
return {
|
|
166722
|
-
insightKey:
|
|
166972
|
+
insightKey: InsightKeys.LCP_DISCOVERY,
|
|
166723
166973
|
strings: UIStrings$y,
|
|
166724
166974
|
title: i18nString$k(UIStrings$y.title),
|
|
166725
166975
|
description: i18nString$k(UIStrings$y.description),
|
|
@@ -167760,6 +168010,7 @@ const UIStrings$x = {
|
|
|
167760
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)',
|
|
167761
168011
|
columnScript: 'Script',
|
|
167762
168012
|
columnWastedBytes: 'Wasted bytes',
|
|
168013
|
+
noLegacyJavaScript: 'No legacy JavaScript found',
|
|
167763
168014
|
};
|
|
167764
168015
|
const str_$w = registerUIStrings('models/trace/insights/LegacyJavaScript.ts', UIStrings$x);
|
|
167765
168016
|
const i18nString$j = getLocalizedString.bind(undefined, str_$w);
|
|
@@ -167767,7 +168018,7 @@ const BYTE_THRESHOLD = 5000;
|
|
|
167767
168018
|
function finalize$6(partialModel) {
|
|
167768
168019
|
const requests = [...partialModel.legacyJavaScriptResults.keys()].map(script => script.request).filter(e => !!e);
|
|
167769
168020
|
return {
|
|
167770
|
-
insightKey:
|
|
168021
|
+
insightKey: InsightKeys.LEGACY_JAVASCRIPT,
|
|
167771
168022
|
strings: UIStrings$x,
|
|
167772
168023
|
title: i18nString$j(UIStrings$x.title),
|
|
167773
168024
|
description: i18nString$j(UIStrings$x.description),
|
|
@@ -167779,7 +168030,7 @@ function finalize$6(partialModel) {
|
|
|
167779
168030
|
};
|
|
167780
168031
|
}
|
|
167781
168032
|
function isLegacyJavaScript(model) {
|
|
167782
|
-
return model.insightKey ===
|
|
168033
|
+
return model.insightKey === InsightKeys.LEGACY_JAVASCRIPT;
|
|
167783
168034
|
}
|
|
167784
168035
|
function generateInsight$6(data, context) {
|
|
167785
168036
|
const scripts = data.Scripts.scripts.filter(script => {
|
|
@@ -167848,7 +168099,7 @@ const UIStrings$w = {
|
|
|
167848
168099
|
const str_$v = registerUIStrings('models/trace/insights/ModernHTTP.ts', UIStrings$w);
|
|
167849
168100
|
const i18nString$i = getLocalizedString.bind(undefined, str_$v);
|
|
167850
168101
|
function isModernHTTPInsight(model) {
|
|
167851
|
-
return model.insightKey ===
|
|
168102
|
+
return model.insightKey === InsightKeys.MODERN_HTTP;
|
|
167852
168103
|
}
|
|
167853
168104
|
function isMultiplexableStaticAsset(request, entityMappings, firstPartyEntity) {
|
|
167854
168105
|
if (!STATIC_RESOURCE_TYPES.has(request.args.data.resourceType)) {
|
|
@@ -167944,7 +168195,7 @@ function computeMetricSavings(http1Requests, context) {
|
|
|
167944
168195
|
}
|
|
167945
168196
|
function finalize$5(partialModel) {
|
|
167946
168197
|
return {
|
|
167947
|
-
insightKey:
|
|
168198
|
+
insightKey: InsightKeys.MODERN_HTTP,
|
|
167948
168199
|
strings: UIStrings$w,
|
|
167949
168200
|
title: i18nString$i(UIStrings$w.title),
|
|
167950
168201
|
description: i18nString$i(UIStrings$w.description),
|
|
@@ -168024,7 +168275,7 @@ const IGNORE_THRESHOLD_IN_MILLISECONDS = Milli(50);
|
|
|
168024
168275
|
const TOO_MANY_PRECONNECTS_THRESHOLD = 4;
|
|
168025
168276
|
function finalize$4(partialModel) {
|
|
168026
168277
|
return {
|
|
168027
|
-
insightKey:
|
|
168278
|
+
insightKey: InsightKeys.NETWORK_DEPENDENCY_TREE,
|
|
168028
168279
|
strings: UIStrings$v,
|
|
168029
168280
|
title: i18nString$h(UIStrings$v.title),
|
|
168030
168281
|
description: i18nString$h(UIStrings$v.description),
|
|
@@ -168363,7 +168614,7 @@ function generatePreconnectCandidates(data, context, contextRequests) {
|
|
|
168363
168614
|
return preconnectCandidates.slice(0, TOO_MANY_PRECONNECTS_THRESHOLD);
|
|
168364
168615
|
}
|
|
168365
168616
|
function isNetworkDependencyTreeInsight(model) {
|
|
168366
|
-
return model.insightKey ===
|
|
168617
|
+
return model.insightKey === InsightKeys.NETWORK_DEPENDENCY_TREE;
|
|
168367
168618
|
}
|
|
168368
168619
|
function generateInsight$4(data, context) {
|
|
168369
168620
|
if (!context.navigation) {
|
|
@@ -168499,7 +168750,7 @@ function computeSavings(data, context, renderBlockingRequests) {
|
|
|
168499
168750
|
}
|
|
168500
168751
|
function finalize$3(partialModel) {
|
|
168501
168752
|
return {
|
|
168502
|
-
insightKey:
|
|
168753
|
+
insightKey: InsightKeys.RENDER_BLOCKING,
|
|
168503
168754
|
strings: UIStrings$u,
|
|
168504
168755
|
title: i18nString$g(UIStrings$u.title),
|
|
168505
168756
|
description: i18nString$g(UIStrings$u.description),
|
|
@@ -168623,7 +168874,7 @@ function aggregateSelectorStats(data, context) {
|
|
|
168623
168874
|
}
|
|
168624
168875
|
function finalize$2(partialModel) {
|
|
168625
168876
|
return {
|
|
168626
|
-
insightKey:
|
|
168877
|
+
insightKey: InsightKeys.SLOW_CSS_SELECTOR,
|
|
168627
168878
|
strings: UIStrings$t,
|
|
168628
168879
|
title: i18nString$f(UIStrings$t.title),
|
|
168629
168880
|
description: i18nString$f(UIStrings$t.description),
|
|
@@ -168634,7 +168885,7 @@ function finalize$2(partialModel) {
|
|
|
168634
168885
|
};
|
|
168635
168886
|
}
|
|
168636
168887
|
function isSlowCSSSelectorInsight(model) {
|
|
168637
|
-
return model.insightKey ===
|
|
168888
|
+
return model.insightKey === InsightKeys.SLOW_CSS_SELECTOR;
|
|
168638
168889
|
}
|
|
168639
168890
|
function generateInsight$2(data, context) {
|
|
168640
168891
|
const selectorStatsData = data.SelectorStats;
|
|
@@ -168708,7 +168959,7 @@ function getRelatedEvents(summaries, firstPartyEntity) {
|
|
|
168708
168959
|
}
|
|
168709
168960
|
function finalize$1(partialModel) {
|
|
168710
168961
|
return {
|
|
168711
|
-
insightKey:
|
|
168962
|
+
insightKey: InsightKeys.THIRD_PARTIES,
|
|
168712
168963
|
strings: UIStrings$s,
|
|
168713
168964
|
title: i18nString$e(UIStrings$s.title),
|
|
168714
168965
|
description: i18nString$e(UIStrings$s.description),
|
|
@@ -168721,7 +168972,7 @@ function finalize$1(partialModel) {
|
|
|
168721
168972
|
};
|
|
168722
168973
|
}
|
|
168723
168974
|
function isThirdPartyInsight(model) {
|
|
168724
|
-
return model.insightKey ===
|
|
168975
|
+
return model.insightKey === InsightKeys.THIRD_PARTIES;
|
|
168725
168976
|
}
|
|
168726
168977
|
function generateInsight$1(data, context) {
|
|
168727
168978
|
const entitySummaries = summarizeByThirdParty(data, context.bounds);
|
|
@@ -168782,7 +169033,7 @@ const str_$q = registerUIStrings('models/trace/insights/Viewport.ts', UIStrings$
|
|
|
168782
169033
|
const i18nString$d = getLocalizedString.bind(undefined, str_$q);
|
|
168783
169034
|
function finalize(partialModel) {
|
|
168784
169035
|
return {
|
|
168785
|
-
insightKey:
|
|
169036
|
+
insightKey: InsightKeys.VIEWPORT,
|
|
168786
169037
|
strings: UIStrings$r,
|
|
168787
169038
|
title: i18nString$d(UIStrings$r.title),
|
|
168788
169039
|
description: i18nString$d(UIStrings$r.description),
|
|
@@ -168793,7 +169044,7 @@ function finalize(partialModel) {
|
|
|
168793
169044
|
};
|
|
168794
169045
|
}
|
|
168795
169046
|
function isViewportInsight(model) {
|
|
168796
|
-
return model.insightKey ===
|
|
169047
|
+
return model.insightKey === InsightKeys.VIEWPORT;
|
|
168797
169048
|
}
|
|
168798
169049
|
function generateInsight(data, context) {
|
|
168799
169050
|
const viewportEvent = data.UserInteractions.parseMetaViewportEvents.find(event => {
|
|
@@ -181495,6 +181746,7 @@ const UIStrings$g = {
|
|
|
181495
181746
|
PrefixedVideoExitFullScreen: "HTMLVideoElement.webkitExitFullScreen() is deprecated. Please use Document.exitFullscreen() instead.",
|
|
181496
181747
|
PrefixedVideoExitFullscreen: "HTMLVideoElement.webkitExitFullscreen() is deprecated. Please use Document.exitFullscreen() instead.",
|
|
181497
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.",
|
|
181498
181750
|
RangeExpand: "Range.expand() is deprecated. Please use Selection.modify() instead.",
|
|
181499
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.",
|
|
181500
181752
|
RequestedSubresourceWithEmbeddedCredentials: "Subresource requests whose URLs contain embedded credentials (e.g. `https://user:pass@host/`) are blocked.",
|
|
@@ -181615,6 +181867,9 @@ const DEPRECATIONS_METADATA = {
|
|
|
181615
181867
|
"chromeStatusFeature": 5176235376246784,
|
|
181616
181868
|
"milestone": 106
|
|
181617
181869
|
},
|
|
181870
|
+
"PreventSvgFilterPaint": {
|
|
181871
|
+
"chromeStatusFeature": 5117170452398080
|
|
181872
|
+
},
|
|
181618
181873
|
"RTCConstraintEnableDtlsSrtpFalse": {
|
|
181619
181874
|
"milestone": 97
|
|
181620
181875
|
},
|
|
@@ -181963,6 +182218,26 @@ const genericNavigationEntryMarkedSkippable = {
|
|
|
181963
182218
|
linkTitle: i18nLazyString$7(UIStrings$e.historyManipulationInterventionPageTitle),
|
|
181964
182219
|
}],
|
|
181965
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
|
+
};
|
|
181966
182241
|
const issueDescriptions$4 = new Map([
|
|
181967
182242
|
["FormLabelForNameError" , genericFormLabelForNameError],
|
|
181968
182243
|
["FormInputWithNoLabelError" , genericFormInputWithNoLabelError],
|
|
@@ -182003,6 +182278,26 @@ const issueDescriptions$4 = new Map([
|
|
|
182003
182278
|
"NavigationEntryMarkedSkippable" ,
|
|
182004
182279
|
genericNavigationEntryMarkedSkippable,
|
|
182005
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
|
+
],
|
|
182006
182301
|
]);
|
|
182007
182302
|
const issueTypes = new Map([
|
|
182008
182303
|
["FormLabelForNameError" , "PageError" ],
|
|
@@ -182018,6 +182313,11 @@ const issueTypes = new Map([
|
|
|
182018
182313
|
["FormLabelForMatchesNonExistingIdError" , "PageError" ],
|
|
182019
182314
|
["FormLabelHasNeitherForNorNestedInputError" , "Improvement" ],
|
|
182020
182315
|
["FormInputHasWrongButWellIntendedAutocompleteValueError" , "Improvement" ],
|
|
182316
|
+
["FormModelContextMissingToolName" , "PageError" ],
|
|
182317
|
+
["FormModelContextMissingToolDescription" , "PageError" ],
|
|
182318
|
+
["FormModelContextParameterMissingTitleAndDescription" , "PageError" ],
|
|
182319
|
+
["FormModelContextRequiredParameterMissingName" , "PageError" ],
|
|
182320
|
+
["FormModelContextParameterMissingName" , "PageError" ],
|
|
182021
182321
|
]);
|
|
182022
182322
|
|
|
182023
182323
|
// Copyright 2020 The Chromium Authors
|