chrome-devtools-mcp 1.2.0 → 1.3.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 -2
- package/build/src/HeapSnapshotManager.js +25 -16
- package/build/src/McpContext.js +35 -1
- package/build/src/McpResponse.js +77 -7
- package/build/src/PageCollector.js +1 -1
- package/build/src/bin/chrome-devtools-cli-options.js +84 -0
- package/build/src/bin/chrome-devtools-mcp-cli-options.js +45 -1
- package/build/src/{DevToolsConnectionAdapter.js → devtools/DevToolsConnectionAdapter.js} +1 -1
- package/build/src/{DevtoolsUtils.js → devtools/DevtoolsUtils.js} +75 -71
- package/build/src/devtools/McpHostBindingAdapter.js +165 -0
- package/build/src/formatters/ConsoleFormatter.js +1 -1
- package/build/src/formatters/HeapSnapshotFormatter.js +22 -0
- package/build/src/third_party/THIRD_PARTY_NOTICES +2 -2
- package/build/src/third_party/bundled-packages.json +1 -1
- package/build/src/third_party/devtools-formatter-worker.js +0 -1
- package/build/src/third_party/devtools-heap-snapshot-worker.js +54 -3
- package/build/src/third_party/index.js +449 -196
- package/build/src/tools/memory.js +76 -0
- package/build/src/tools/screencast.js +30 -9
- package/build/src/tools/screenshot.js +158 -76
- package/build/src/version.js +1 -1
- package/package.json +3 -3
|
@@ -10507,6 +10507,18 @@ function requireSemver$1 () {
|
|
|
10507
10507
|
const { safeRe: re, t } = requireRe();
|
|
10508
10508
|
const parseOptions = requireParseOptions();
|
|
10509
10509
|
const { compareIdentifiers } = requireIdentifiers();
|
|
10510
|
+
const isPrereleaseIdentifier = (prerelease, identifier) => {
|
|
10511
|
+
const identifiers = identifier.split('.');
|
|
10512
|
+
if (identifiers.length > prerelease.length) {
|
|
10513
|
+
return false
|
|
10514
|
+
}
|
|
10515
|
+
for (let i = 0; i < identifiers.length; i++) {
|
|
10516
|
+
if (compareIdentifiers(prerelease[i], identifiers[i]) !== 0) {
|
|
10517
|
+
return false
|
|
10518
|
+
}
|
|
10519
|
+
}
|
|
10520
|
+
return true
|
|
10521
|
+
};
|
|
10510
10522
|
class SemVer {
|
|
10511
10523
|
constructor (version, options) {
|
|
10512
10524
|
options = parseOptions(options);
|
|
@@ -10752,8 +10764,9 @@ function requireSemver$1 () {
|
|
|
10752
10764
|
if (identifierBase === false) {
|
|
10753
10765
|
prerelease = [identifier];
|
|
10754
10766
|
}
|
|
10755
|
-
if (
|
|
10756
|
-
|
|
10767
|
+
if (isPrereleaseIdentifier(this.prerelease, identifier)) {
|
|
10768
|
+
const prereleaseBase = this.prerelease[identifier.split('.').length];
|
|
10769
|
+
if (isNaN(prereleaseBase)) {
|
|
10757
10770
|
this.prerelease = prerelease;
|
|
10758
10771
|
}
|
|
10759
10772
|
} else {
|
|
@@ -11572,10 +11585,10 @@ function requireRange () {
|
|
|
11572
11585
|
if (M === '0') {
|
|
11573
11586
|
if (m === '0') {
|
|
11574
11587
|
ret = `>=${M}.${m}.${p
|
|
11575
|
-
}
|
|
11588
|
+
} <${M}.${m}.${+p + 1}-0`;
|
|
11576
11589
|
} else {
|
|
11577
11590
|
ret = `>=${M}.${m}.${p
|
|
11578
|
-
}
|
|
11591
|
+
} <${M}.${+m + 1}.0-0`;
|
|
11579
11592
|
}
|
|
11580
11593
|
} else {
|
|
11581
11594
|
ret = `>=${M}.${m}.${p
|
|
@@ -73114,7 +73127,7 @@ const DELIMITERS = {
|
|
|
73114
73127
|
comma: ","};
|
|
73115
73128
|
const DEFAULT_DELIMITER = DELIMITERS.comma;
|
|
73116
73129
|
function escapeString(value) {
|
|
73117
|
-
return value.replace(/\\/g, `\\\\`).replace(/"/g, `\\"`).replace(/\n/g, `\\n`).replace(/\r/g, `\\r`).replace(/\t/g, `\\t`);
|
|
73130
|
+
return value.replace(/\\/g, `\\\\`).replace(/"/g, `\\"`).replace(/\n/g, `\\n`).replace(/\r/g, `\\r`).replace(/\t/g, `\\t`).replace(/[\u0000-\u001F]/g, (c) => `\\u${c.charCodeAt(0).toString(16).padStart(4, "0")}`);
|
|
73118
73131
|
}
|
|
73119
73132
|
function isBooleanOrNullLiteral(token) {
|
|
73120
73133
|
return token === "true" || token === "false" || token === "null";
|
|
@@ -73187,7 +73200,7 @@ function isSafeUnquoted(value, delimiter = DEFAULT_DELIMITER) {
|
|
|
73187
73200
|
if (value.includes(":")) return false;
|
|
73188
73201
|
if (value.includes("\"") || value.includes("\\")) return false;
|
|
73189
73202
|
if (/[[\]{}]/.test(value)) return false;
|
|
73190
|
-
if (/[\
|
|
73203
|
+
if (/[\u0000-\u001F]/.test(value)) return false;
|
|
73191
73204
|
if (value.includes(delimiter)) return false;
|
|
73192
73205
|
if (value.startsWith("-")) return false;
|
|
73193
73206
|
return true;
|
|
@@ -73323,10 +73336,7 @@ function* encodeKeyValuePairLines(key, value, depth, options, siblings, rootLite
|
|
|
73323
73336
|
}
|
|
73324
73337
|
function* encodeArrayLines(key, value, depth, options) {
|
|
73325
73338
|
if (value.length === 0) {
|
|
73326
|
-
yield indentedLine(depth,
|
|
73327
|
-
key,
|
|
73328
|
-
delimiter: options.delimiter
|
|
73329
|
-
}), options.indent);
|
|
73339
|
+
yield indentedLine(depth, key != null ? `${encodeKey(key)}: []` : "[]", options.indent);
|
|
73330
73340
|
return;
|
|
73331
73341
|
}
|
|
73332
73342
|
if (isArrayOfPrimitives(value)) {
|
|
@@ -73424,7 +73434,7 @@ function* encodeObjectAsListItemLines(obj, depth, options) {
|
|
|
73424
73434
|
}
|
|
73425
73435
|
const encodedKey = encodeKey(firstKey);
|
|
73426
73436
|
if (isJsonPrimitive(firstValue)) yield indentedListItem(depth, `${encodedKey}: ${encodePrimitive(firstValue, options.delimiter)}`, options.indent);
|
|
73427
|
-
else if (isJsonArray(firstValue)) if (firstValue.length === 0) yield indentedListItem(depth, `${encodedKey}
|
|
73437
|
+
else if (isJsonArray(firstValue)) if (firstValue.length === 0) yield indentedListItem(depth, `${encodedKey}: []`, options.indent);
|
|
73428
73438
|
else if (isArrayOfPrimitives(firstValue)) yield indentedListItem(depth, `${encodedKey}${encodeInlineArrayLine(firstValue, options.delimiter)}`, options.indent);
|
|
73429
73439
|
else {
|
|
73430
73440
|
yield indentedListItem(depth, `${encodedKey}${formatHeader(firstValue.length, { delimiter: options.delimiter })}`, options.indent);
|
|
@@ -76810,7 +76820,6 @@ var ExperimentName;
|
|
|
76810
76820
|
ExperimentName["ALL"] = "*";
|
|
76811
76821
|
ExperimentName["PROTOCOL_MONITOR"] = "protocol-monitor";
|
|
76812
76822
|
ExperimentName["INSTRUMENTATION_BREAKPOINTS"] = "instrumentation-breakpoints";
|
|
76813
|
-
ExperimentName["USE_SOURCE_MAP_SCOPES"] = "use-source-map-scopes";
|
|
76814
76823
|
ExperimentName["DURABLE_MESSAGES"] = "durable-messages";
|
|
76815
76824
|
ExperimentName["JPEG_XL"] = "jpeg-xl";
|
|
76816
76825
|
ExperimentName["PLUS_BUTTON"] = "plus-button";
|
|
@@ -83483,6 +83492,7 @@ var ClientFeature;
|
|
|
83483
83492
|
ClientFeature[ClientFeature["CHROME_ACCESSIBILITY_AGENT"] = 26] = "CHROME_ACCESSIBILITY_AGENT";
|
|
83484
83493
|
ClientFeature[ClientFeature["CHROME_CONVERSATION_SUMMARY_AGENT"] = 27] = "CHROME_CONVERSATION_SUMMARY_AGENT";
|
|
83485
83494
|
ClientFeature[ClientFeature["CHROME_STORAGE_AGENT"] = 28] = "CHROME_STORAGE_AGENT";
|
|
83495
|
+
ClientFeature[ClientFeature["CHROME_DEVTOOLS_V2_AGENT"] = 29] = "CHROME_DEVTOOLS_V2_AGENT";
|
|
83486
83496
|
})(ClientFeature || (ClientFeature = {}));
|
|
83487
83497
|
var UserTier;
|
|
83488
83498
|
(function (UserTier) {
|
|
@@ -85996,7 +86006,9 @@ var Action;
|
|
|
85996
86006
|
Action[Action["AiCodeGenerationRequestTriggeredFromSources"] = 205] = "AiCodeGenerationRequestTriggeredFromSources";
|
|
85997
86007
|
Action[Action["AiCodeCompletionFreCompletedFromConsole"] = 206] = "AiCodeCompletionFreCompletedFromConsole";
|
|
85998
86008
|
Action[Action["AiCodeCompletionFreCompletedFromSources"] = 207] = "AiCodeCompletionFreCompletedFromSources";
|
|
85999
|
-
Action[Action["
|
|
86009
|
+
Action[Action["AiAssistanceOpenedFromApplicationPanelFloatingButton"] = 208] = "AiAssistanceOpenedFromApplicationPanelFloatingButton";
|
|
86010
|
+
Action[Action["AiAssistanceOpenedFromApplicationPanel"] = 209] = "AiAssistanceOpenedFromApplicationPanel";
|
|
86011
|
+
Action[Action["MAX_VALUE"] = 210] = "MAX_VALUE";
|
|
86000
86012
|
})(Action || (Action = {}));
|
|
86001
86013
|
var PanelCodes;
|
|
86002
86014
|
(function (PanelCodes) {
|
|
@@ -86066,7 +86078,8 @@ var PanelCodes;
|
|
|
86066
86078
|
PanelCodes[PanelCodes["developer-resources"] = 66] = "developer-resources";
|
|
86067
86079
|
PanelCodes[PanelCodes["autofill-view"] = 67] = "autofill-view";
|
|
86068
86080
|
PanelCodes[PanelCodes["freestyler"] = 68] = "freestyler";
|
|
86069
|
-
PanelCodes[PanelCodes["
|
|
86081
|
+
PanelCodes[PanelCodes["ads"] = 69] = "ads";
|
|
86082
|
+
PanelCodes[PanelCodes["MAX_VALUE"] = 70] = "MAX_VALUE";
|
|
86070
86083
|
})(PanelCodes || (PanelCodes = {}));
|
|
86071
86084
|
var MediaTypes;
|
|
86072
86085
|
(function (MediaTypes) {
|
|
@@ -86239,7 +86252,6 @@ var DevtoolsExperiments;
|
|
|
86239
86252
|
(function (DevtoolsExperiments) {
|
|
86240
86253
|
DevtoolsExperiments[DevtoolsExperiments["protocol-monitor"] = 13] = "protocol-monitor";
|
|
86241
86254
|
DevtoolsExperiments[DevtoolsExperiments["instrumentation-breakpoints"] = 61] = "instrumentation-breakpoints";
|
|
86242
|
-
DevtoolsExperiments[DevtoolsExperiments["use-source-map-scopes"] = 76] = "use-source-map-scopes";
|
|
86243
86255
|
DevtoolsExperiments[DevtoolsExperiments["durable-messages"] = 110] = "durable-messages";
|
|
86244
86256
|
DevtoolsExperiments[DevtoolsExperiments["jpeg-xl"] = 111] = "jpeg-xl";
|
|
86245
86257
|
DevtoolsExperiments[DevtoolsExperiments["plus-button"] = 112] = "plus-button";
|
|
@@ -86935,7 +86947,7 @@ function registerCommands(inspectorBackend) {
|
|
|
86935
86947
|
inspectorBackend.registerCommand("DOM.getContainerForNode", [{ "name": "nodeId", "type": "number", "optional": false, "description": "", "typeRef": "DOM.NodeId" }, { "name": "containerName", "type": "string", "optional": true, "description": "", "typeRef": null }, { "name": "physicalAxes", "type": "string", "optional": true, "description": "", "typeRef": "DOM.PhysicalAxes" }, { "name": "logicalAxes", "type": "string", "optional": true, "description": "", "typeRef": "DOM.LogicalAxes" }, { "name": "queriesScrollState", "type": "boolean", "optional": true, "description": "", "typeRef": null }, { "name": "queriesAnchored", "type": "boolean", "optional": true, "description": "", "typeRef": null }], ["nodeId"], "Returns the query container of the given node based on container query conditions: containerName, physical and logical axes, and whether it queries scroll-state or anchored elements. If no axes are provided and queriesScrollState is false, the style container is returned, which is the direct parent or the closest element with a matching container-name.");
|
|
86936
86948
|
inspectorBackend.registerCommand("DOM.getQueryingDescendantsForContainer", [{ "name": "nodeId", "type": "number", "optional": false, "description": "Id of the container node to find querying descendants from.", "typeRef": "DOM.NodeId" }], ["nodeIds"], "Returns the descendants of a container query container that have container queries against this container.");
|
|
86937
86949
|
inspectorBackend.registerCommand("DOM.getAnchorElement", [{ "name": "nodeId", "type": "number", "optional": false, "description": "Id of the positioned element from which to find the anchor.", "typeRef": "DOM.NodeId" }, { "name": "anchorSpecifier", "type": "string", "optional": true, "description": "An optional anchor specifier, as defined in https://www.w3.org/TR/css-anchor-position-1/#anchor-specifier. If not provided, it will return the implicit anchor element for the given positioned element.", "typeRef": null }], ["nodeId"], "Returns the target anchor element of the given anchor query according to https://www.w3.org/TR/css-anchor-position-1/#target.");
|
|
86938
|
-
inspectorBackend.registerCommand("DOM.forceShowPopover", [{ "name": "nodeId", "type": "number", "optional": false, "description": "Id of the popover HTMLElement", "typeRef": "DOM.NodeId" }, { "name": "enable", "type": "boolean", "optional": false, "description": "If true, opens the popover and keeps it open. If false, closes the popover if it was previously force-opened.", "typeRef": null }], ["nodeIds"], "When enabling, this API force-opens the popover identified by nodeId and keeps it open until disabled.");
|
|
86950
|
+
inspectorBackend.registerCommand("DOM.forceShowPopover", [{ "name": "nodeId", "type": "number", "optional": false, "description": "Id of the popover HTMLElement", "typeRef": "DOM.NodeId" }, { "name": "enable", "type": "boolean", "optional": false, "description": "If true, opens the popover and keeps it open. If false, closes the popover if it was previously force-opened.", "typeRef": null }, { "name": "invokerNodeId", "type": "number", "optional": true, "description": "Optional ID of the element invoking this popover, used to establish the implicit anchor. If not provided, it will fall back to the first invoker in the document, preferring elements with a popovertarget attribute over those with a commandfor attribute. Note that if there are multiple invokers, this is just an estimate.", "typeRef": "DOM.BackendNodeId" }], ["nodeIds"], "When enabling, this API force-opens the popover identified by nodeId and keeps it open until disabled.");
|
|
86939
86951
|
inspectorBackend.registerType("DOM.BackendNode", [{ "name": "nodeType", "type": "number", "optional": false, "description": "`Node`'s nodeType.", "typeRef": null }, { "name": "nodeName", "type": "string", "optional": false, "description": "`Node`'s nodeName.", "typeRef": null }, { "name": "backendNodeId", "type": "number", "optional": false, "description": "", "typeRef": "DOM.BackendNodeId" }]);
|
|
86940
86952
|
inspectorBackend.registerType("DOM.Node", [{ "name": "nodeId", "type": "number", "optional": false, "description": "Node identifier that is passed into the rest of the DOM messages as the `nodeId`. Backend will only push node with given `id` once. It is aware of all requested nodes and will only fire DOM events for nodes known to the client.", "typeRef": "DOM.NodeId" }, { "name": "parentId", "type": "number", "optional": true, "description": "The id of the parent node if any.", "typeRef": "DOM.NodeId" }, { "name": "backendNodeId", "type": "number", "optional": false, "description": "The BackendNodeId for this node.", "typeRef": "DOM.BackendNodeId" }, { "name": "nodeType", "type": "number", "optional": false, "description": "`Node`'s nodeType.", "typeRef": null }, { "name": "nodeName", "type": "string", "optional": false, "description": "`Node`'s nodeName.", "typeRef": null }, { "name": "localName", "type": "string", "optional": false, "description": "`Node`'s localName.", "typeRef": null }, { "name": "nodeValue", "type": "string", "optional": false, "description": "`Node`'s nodeValue.", "typeRef": null }, { "name": "childNodeCount", "type": "number", "optional": true, "description": "Child count for `Container` nodes.", "typeRef": null }, { "name": "children", "type": "array", "optional": true, "description": "Child nodes of this node when requested with children.", "typeRef": "DOM.Node" }, { "name": "attributes", "type": "array", "optional": true, "description": "Attributes of the `Element` node in the form of flat array `[name1, value1, name2, value2]`.", "typeRef": "string" }, { "name": "documentURL", "type": "string", "optional": true, "description": "Document URL that `Document` or `FrameOwner` node points to.", "typeRef": null }, { "name": "baseURL", "type": "string", "optional": true, "description": "Base URL that `Document` or `FrameOwner` node uses for URL completion.", "typeRef": null }, { "name": "publicId", "type": "string", "optional": true, "description": "`DocumentType`'s publicId.", "typeRef": null }, { "name": "systemId", "type": "string", "optional": true, "description": "`DocumentType`'s systemId.", "typeRef": null }, { "name": "internalSubset", "type": "string", "optional": true, "description": "`DocumentType`'s internalSubset.", "typeRef": null }, { "name": "xmlVersion", "type": "string", "optional": true, "description": "`Document`'s XML version in case of XML documents.", "typeRef": null }, { "name": "name", "type": "string", "optional": true, "description": "`Attr`'s name.", "typeRef": null }, { "name": "value", "type": "string", "optional": true, "description": "`Attr`'s value.", "typeRef": null }, { "name": "pseudoType", "type": "string", "optional": true, "description": "Pseudo element type for this node.", "typeRef": "DOM.PseudoType" }, { "name": "pseudoIdentifier", "type": "string", "optional": true, "description": "Pseudo element identifier for this node. Only present if there is a valid pseudoType.", "typeRef": null }, { "name": "shadowRootType", "type": "string", "optional": true, "description": "Shadow root type.", "typeRef": "DOM.ShadowRootType" }, { "name": "frameId", "type": "string", "optional": true, "description": "Frame ID for frame owner elements.", "typeRef": "Page.FrameId" }, { "name": "contentDocument", "type": "object", "optional": true, "description": "Content document for frame owner elements.", "typeRef": "DOM.Node" }, { "name": "shadowRoots", "type": "array", "optional": true, "description": "Shadow root list for given element host.", "typeRef": "DOM.Node" }, { "name": "templateContent", "type": "object", "optional": true, "description": "Content document fragment for template elements.", "typeRef": "DOM.Node" }, { "name": "pseudoElements", "type": "array", "optional": true, "description": "Pseudo elements associated with this node.", "typeRef": "DOM.Node" }, { "name": "importedDocument", "type": "object", "optional": true, "description": "Deprecated, as the HTML Imports API has been removed (crbug.com/937746). This property used to return the imported document for the HTMLImport links. The property is always undefined now.", "typeRef": "DOM.Node" }, { "name": "distributedNodes", "type": "array", "optional": true, "description": "Distributed nodes for given insertion point.", "typeRef": "DOM.BackendNode" }, { "name": "isSVG", "type": "boolean", "optional": true, "description": "Whether the node is SVG.", "typeRef": null }, { "name": "compatibilityMode", "type": "string", "optional": true, "description": "", "typeRef": "DOM.CompatibilityMode" }, { "name": "assignedSlot", "type": "object", "optional": true, "description": "", "typeRef": "DOM.BackendNode" }, { "name": "isScrollable", "type": "boolean", "optional": true, "description": "", "typeRef": null }, { "name": "affectedByStartingStyles", "type": "boolean", "optional": true, "description": "", "typeRef": null }, { "name": "adoptedStyleSheets", "type": "array", "optional": true, "description": "", "typeRef": "DOM.StyleSheetId" }, { "name": "adProvenance", "type": "object", "optional": true, "description": "", "typeRef": "Network.AdProvenance" }]);
|
|
86941
86953
|
inspectorBackend.registerType("DOM.DetachedElementInfo", [{ "name": "treeNode", "type": "object", "optional": false, "description": "", "typeRef": "DOM.Node" }, { "name": "retainedNodeIds", "type": "array", "optional": false, "description": "", "typeRef": "DOM.NodeId" }]);
|
|
@@ -87256,7 +87268,7 @@ function registerCommands(inspectorBackend) {
|
|
|
87256
87268
|
inspectorBackend.registerEnum("Network.InitiatorType", { Parser: "parser", Script: "script", Preload: "preload", SignedExchange: "SignedExchange", Preflight: "preflight", FedCM: "FedCM", Other: "other" });
|
|
87257
87269
|
inspectorBackend.registerEnum("Network.SetCookieBlockedReason", { SecureOnly: "SecureOnly", SameSiteStrict: "SameSiteStrict", SameSiteLax: "SameSiteLax", SameSiteUnspecifiedTreatedAsLax: "SameSiteUnspecifiedTreatedAsLax", SameSiteNoneInsecure: "SameSiteNoneInsecure", UserPreferences: "UserPreferences", ThirdPartyPhaseout: "ThirdPartyPhaseout", ThirdPartyBlockedInFirstPartySet: "ThirdPartyBlockedInFirstPartySet", SyntaxError: "SyntaxError", SchemeNotSupported: "SchemeNotSupported", OverwriteSecure: "OverwriteSecure", InvalidDomain: "InvalidDomain", InvalidPrefix: "InvalidPrefix", UnknownError: "UnknownError", SchemefulSameSiteStrict: "SchemefulSameSiteStrict", SchemefulSameSiteLax: "SchemefulSameSiteLax", SchemefulSameSiteUnspecifiedTreatedAsLax: "SchemefulSameSiteUnspecifiedTreatedAsLax", NameValuePairExceedsMaxSize: "NameValuePairExceedsMaxSize", DisallowedCharacter: "DisallowedCharacter", NoCookieContent: "NoCookieContent" });
|
|
87258
87270
|
inspectorBackend.registerEnum("Network.CookieBlockedReason", { SecureOnly: "SecureOnly", NotOnPath: "NotOnPath", DomainMismatch: "DomainMismatch", SameSiteStrict: "SameSiteStrict", SameSiteLax: "SameSiteLax", SameSiteUnspecifiedTreatedAsLax: "SameSiteUnspecifiedTreatedAsLax", SameSiteNoneInsecure: "SameSiteNoneInsecure", UserPreferences: "UserPreferences", ThirdPartyPhaseout: "ThirdPartyPhaseout", ThirdPartyBlockedInFirstPartySet: "ThirdPartyBlockedInFirstPartySet", UnknownError: "UnknownError", SchemefulSameSiteStrict: "SchemefulSameSiteStrict", SchemefulSameSiteLax: "SchemefulSameSiteLax", SchemefulSameSiteUnspecifiedTreatedAsLax: "SchemefulSameSiteUnspecifiedTreatedAsLax", NameValuePairExceedsMaxSize: "NameValuePairExceedsMaxSize", PortMismatch: "PortMismatch", SchemeMismatch: "SchemeMismatch", AnonymousContext: "AnonymousContext" });
|
|
87259
|
-
inspectorBackend.registerEnum("Network.CookieExemptionReason", { None: "None", UserSetting: "UserSetting",
|
|
87271
|
+
inspectorBackend.registerEnum("Network.CookieExemptionReason", { None: "None", UserSetting: "UserSetting", EnterprisePolicy: "EnterprisePolicy", StorageAccess: "StorageAccess", TopLevelStorageAccess: "TopLevelStorageAccess", Scheme: "Scheme", SameSiteNoneCookiesInSandbox: "SameSiteNoneCookiesInSandbox" });
|
|
87260
87272
|
inspectorBackend.registerEnum("Network.AuthChallengeSource", { Server: "Server", Proxy: "Proxy" });
|
|
87261
87273
|
inspectorBackend.registerEnum("Network.AuthChallengeResponseResponse", { Default: "Default", CancelAuth: "CancelAuth", ProvideCredentials: "ProvideCredentials" });
|
|
87262
87274
|
inspectorBackend.registerEnum("Network.InterceptionStage", { Request: "Request", HeadersReceived: "HeadersReceived" });
|
|
@@ -87490,7 +87502,7 @@ function registerCommands(inspectorBackend) {
|
|
|
87490
87502
|
inspectorBackend.registerEnum("Page.SecureContextType", { Secure: "Secure", SecureLocalhost: "SecureLocalhost", InsecureScheme: "InsecureScheme", InsecureAncestor: "InsecureAncestor" });
|
|
87491
87503
|
inspectorBackend.registerEnum("Page.CrossOriginIsolatedContextType", { Isolated: "Isolated", NotIsolated: "NotIsolated", NotIsolatedFeatureDisabled: "NotIsolatedFeatureDisabled" });
|
|
87492
87504
|
inspectorBackend.registerEnum("Page.GatedAPIFeatures", { SharedArrayBuffers: "SharedArrayBuffers", SharedArrayBuffersTransferAllowed: "SharedArrayBuffersTransferAllowed", PerformanceMeasureMemory: "PerformanceMeasureMemory", PerformanceProfile: "PerformanceProfile" });
|
|
87493
|
-
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",
|
|
87505
|
+
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", 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", Webnn: "webnn", WebPrinting: "web-printing", WebShare: "web-share", WindowManagement: "window-management", Writer: "writer", XrSpatialTracking: "xr-spatial-tracking" });
|
|
87494
87506
|
inspectorBackend.registerEnum("Page.PermissionsPolicyBlockReason", { Header: "Header", IframeAttribute: "IframeAttribute", InFencedFrameTree: "InFencedFrameTree", InIsolatedApp: "InIsolatedApp" });
|
|
87495
87507
|
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" });
|
|
87496
87508
|
inspectorBackend.registerEnum("Page.OriginTrialStatus", { Enabled: "Enabled", ValidTokenNotProvided: "ValidTokenNotProvided", OSNotSupported: "OSNotSupported", TrialNotAllowed: "TrialNotAllowed" });
|
|
@@ -88268,6 +88280,9 @@ class TargetBase {
|
|
|
88268
88280
|
autofillAgent() {
|
|
88269
88281
|
return this.getAgent('Autofill');
|
|
88270
88282
|
}
|
|
88283
|
+
adsAgent() {
|
|
88284
|
+
return this.getAgent('Ads');
|
|
88285
|
+
}
|
|
88271
88286
|
browserAgent() {
|
|
88272
88287
|
return this.getAgent('Browser');
|
|
88273
88288
|
}
|
|
@@ -90513,6 +90528,8 @@ const generatedProperties = [
|
|
|
90513
90528
|
"name": "accent-color"
|
|
90514
90529
|
},
|
|
90515
90530
|
{
|
|
90531
|
+
"is_descriptor": true,
|
|
90532
|
+
"is_property": false,
|
|
90516
90533
|
"name": "additive-symbols"
|
|
90517
90534
|
},
|
|
90518
90535
|
{
|
|
@@ -91198,6 +91215,8 @@ const generatedProperties = [
|
|
|
91198
91215
|
"name": "appearance"
|
|
91199
91216
|
},
|
|
91200
91217
|
{
|
|
91218
|
+
"is_descriptor": true,
|
|
91219
|
+
"is_property": false,
|
|
91201
91220
|
"name": "ascent-override"
|
|
91202
91221
|
},
|
|
91203
91222
|
{
|
|
@@ -91318,9 +91337,13 @@ const generatedProperties = [
|
|
|
91318
91337
|
"name": "background-size"
|
|
91319
91338
|
},
|
|
91320
91339
|
{
|
|
91340
|
+
"is_descriptor": true,
|
|
91341
|
+
"is_property": false,
|
|
91321
91342
|
"name": "base-palette"
|
|
91322
91343
|
},
|
|
91323
91344
|
{
|
|
91345
|
+
"is_descriptor": true,
|
|
91346
|
+
"is_property": false,
|
|
91324
91347
|
"name": "base-url"
|
|
91325
91348
|
},
|
|
91326
91349
|
{
|
|
@@ -92603,6 +92626,8 @@ const generatedProperties = [
|
|
|
92603
92626
|
"name": "d"
|
|
92604
92627
|
},
|
|
92605
92628
|
{
|
|
92629
|
+
"is_descriptor": true,
|
|
92630
|
+
"is_property": false,
|
|
92606
92631
|
"name": "descent-override"
|
|
92607
92632
|
},
|
|
92608
92633
|
{
|
|
@@ -92683,6 +92708,8 @@ const generatedProperties = [
|
|
|
92683
92708
|
"name": "empty-cells"
|
|
92684
92709
|
},
|
|
92685
92710
|
{
|
|
92711
|
+
"is_descriptor": true,
|
|
92712
|
+
"is_property": false,
|
|
92686
92713
|
"name": "fallback"
|
|
92687
92714
|
},
|
|
92688
92715
|
{
|
|
@@ -92818,14 +92845,18 @@ const generatedProperties = [
|
|
|
92818
92845
|
"name": "font"
|
|
92819
92846
|
},
|
|
92820
92847
|
{
|
|
92848
|
+
"is_descriptor": true,
|
|
92849
|
+
"is_property": false,
|
|
92821
92850
|
"name": "font-display"
|
|
92822
92851
|
},
|
|
92823
92852
|
{
|
|
92824
92853
|
"inherited": true,
|
|
92854
|
+
"is_descriptor": true,
|
|
92825
92855
|
"name": "font-family"
|
|
92826
92856
|
},
|
|
92827
92857
|
{
|
|
92828
92858
|
"inherited": true,
|
|
92859
|
+
"is_descriptor": true,
|
|
92829
92860
|
"keywords": [
|
|
92830
92861
|
"normal"
|
|
92831
92862
|
],
|
|
@@ -92896,6 +92927,7 @@ const generatedProperties = [
|
|
|
92896
92927
|
},
|
|
92897
92928
|
{
|
|
92898
92929
|
"inherited": true,
|
|
92930
|
+
"is_descriptor": true,
|
|
92899
92931
|
"keywords": [
|
|
92900
92932
|
"normal",
|
|
92901
92933
|
"ultra-condensed",
|
|
@@ -92911,6 +92943,7 @@ const generatedProperties = [
|
|
|
92911
92943
|
},
|
|
92912
92944
|
{
|
|
92913
92945
|
"inherited": true,
|
|
92946
|
+
"is_descriptor": true,
|
|
92914
92947
|
"keywords": [
|
|
92915
92948
|
"normal",
|
|
92916
92949
|
"italic",
|
|
@@ -92953,6 +92986,7 @@ const generatedProperties = [
|
|
|
92953
92986
|
},
|
|
92954
92987
|
{
|
|
92955
92988
|
"inherited": true,
|
|
92989
|
+
"is_descriptor": true,
|
|
92956
92990
|
"longhands": [
|
|
92957
92991
|
"font-variant-ligatures",
|
|
92958
92992
|
"font-variant-caps",
|
|
@@ -93052,6 +93086,7 @@ const generatedProperties = [
|
|
|
93052
93086
|
},
|
|
93053
93087
|
{
|
|
93054
93088
|
"inherited": true,
|
|
93089
|
+
"is_descriptor": true,
|
|
93055
93090
|
"keywords": [
|
|
93056
93091
|
"normal"
|
|
93057
93092
|
],
|
|
@@ -93059,6 +93094,7 @@ const generatedProperties = [
|
|
|
93059
93094
|
},
|
|
93060
93095
|
{
|
|
93061
93096
|
"inherited": true,
|
|
93097
|
+
"is_descriptor": true,
|
|
93062
93098
|
"keywords": [
|
|
93063
93099
|
"normal",
|
|
93064
93100
|
"bold",
|
|
@@ -93237,6 +93273,8 @@ const generatedProperties = [
|
|
|
93237
93273
|
"name": "hanging-punctuation"
|
|
93238
93274
|
},
|
|
93239
93275
|
{
|
|
93276
|
+
"is_descriptor": true,
|
|
93277
|
+
"is_property": false,
|
|
93240
93278
|
"name": "hash"
|
|
93241
93279
|
},
|
|
93242
93280
|
{
|
|
@@ -93249,6 +93287,8 @@ const generatedProperties = [
|
|
|
93249
93287
|
"name": "height"
|
|
93250
93288
|
},
|
|
93251
93289
|
{
|
|
93290
|
+
"is_descriptor": true,
|
|
93291
|
+
"is_property": false,
|
|
93252
93292
|
"name": "hostname"
|
|
93253
93293
|
},
|
|
93254
93294
|
{
|
|
@@ -93298,6 +93338,8 @@ const generatedProperties = [
|
|
|
93298
93338
|
"name": "image-rendering"
|
|
93299
93339
|
},
|
|
93300
93340
|
{
|
|
93341
|
+
"is_descriptor": true,
|
|
93342
|
+
"is_property": false,
|
|
93301
93343
|
"name": "inherits"
|
|
93302
93344
|
},
|
|
93303
93345
|
{
|
|
@@ -93310,6 +93352,8 @@ const generatedProperties = [
|
|
|
93310
93352
|
"name": "initial-letter"
|
|
93311
93353
|
},
|
|
93312
93354
|
{
|
|
93355
|
+
"is_descriptor": true,
|
|
93356
|
+
"is_property": false,
|
|
93313
93357
|
"name": "initial-value"
|
|
93314
93358
|
},
|
|
93315
93359
|
{
|
|
@@ -93438,6 +93482,8 @@ const generatedProperties = [
|
|
|
93438
93482
|
"name": "line-clamp"
|
|
93439
93483
|
},
|
|
93440
93484
|
{
|
|
93485
|
+
"is_descriptor": true,
|
|
93486
|
+
"is_property": false,
|
|
93441
93487
|
"name": "line-gap-override"
|
|
93442
93488
|
},
|
|
93443
93489
|
{
|
|
@@ -93733,9 +93779,13 @@ const generatedProperties = [
|
|
|
93733
93779
|
"name": "mix-blend-mode"
|
|
93734
93780
|
},
|
|
93735
93781
|
{
|
|
93782
|
+
"is_descriptor": true,
|
|
93783
|
+
"is_property": false,
|
|
93736
93784
|
"name": "navigation"
|
|
93737
93785
|
},
|
|
93738
93786
|
{
|
|
93787
|
+
"is_descriptor": true,
|
|
93788
|
+
"is_property": false,
|
|
93739
93789
|
"name": "negative"
|
|
93740
93790
|
},
|
|
93741
93791
|
{
|
|
@@ -93922,6 +93972,8 @@ const generatedProperties = [
|
|
|
93922
93972
|
"name": "overlay"
|
|
93923
93973
|
},
|
|
93924
93974
|
{
|
|
93975
|
+
"is_descriptor": true,
|
|
93976
|
+
"is_property": false,
|
|
93925
93977
|
"name": "override-colors"
|
|
93926
93978
|
},
|
|
93927
93979
|
{
|
|
@@ -93956,6 +94008,8 @@ const generatedProperties = [
|
|
|
93956
94008
|
"name": "overscroll-behavior-y"
|
|
93957
94009
|
},
|
|
93958
94010
|
{
|
|
94011
|
+
"is_descriptor": true,
|
|
94012
|
+
"is_property": false,
|
|
93959
94013
|
"name": "pad"
|
|
93960
94014
|
},
|
|
93961
94015
|
{
|
|
@@ -94030,6 +94084,7 @@ const generatedProperties = [
|
|
|
94030
94084
|
"name": "page-break-inside"
|
|
94031
94085
|
},
|
|
94032
94086
|
{
|
|
94087
|
+
"is_descriptor": true,
|
|
94033
94088
|
"keywords": [
|
|
94034
94089
|
"none",
|
|
94035
94090
|
"clamp",
|
|
@@ -94038,6 +94093,7 @@ const generatedProperties = [
|
|
|
94038
94093
|
"name": "page-margin-safety"
|
|
94039
94094
|
},
|
|
94040
94095
|
{
|
|
94096
|
+
"is_descriptor": true,
|
|
94041
94097
|
"name": "page-orientation"
|
|
94042
94098
|
},
|
|
94043
94099
|
{
|
|
@@ -94057,9 +94113,13 @@ const generatedProperties = [
|
|
|
94057
94113
|
"name": "path-length"
|
|
94058
94114
|
},
|
|
94059
94115
|
{
|
|
94116
|
+
"is_descriptor": true,
|
|
94117
|
+
"is_property": false,
|
|
94060
94118
|
"name": "pathname"
|
|
94061
94119
|
},
|
|
94062
94120
|
{
|
|
94121
|
+
"is_descriptor": true,
|
|
94122
|
+
"is_property": false,
|
|
94063
94123
|
"name": "pattern"
|
|
94064
94124
|
},
|
|
94065
94125
|
{
|
|
@@ -94110,6 +94170,8 @@ const generatedProperties = [
|
|
|
94110
94170
|
"name": "pointer-events"
|
|
94111
94171
|
},
|
|
94112
94172
|
{
|
|
94173
|
+
"is_descriptor": true,
|
|
94174
|
+
"is_property": false,
|
|
94113
94175
|
"name": "port"
|
|
94114
94176
|
},
|
|
94115
94177
|
{
|
|
@@ -94125,7 +94187,8 @@ const generatedProperties = [
|
|
|
94125
94187
|
{
|
|
94126
94188
|
"keywords": [
|
|
94127
94189
|
"auto",
|
|
94128
|
-
"none"
|
|
94190
|
+
"none",
|
|
94191
|
+
"normal"
|
|
94129
94192
|
],
|
|
94130
94193
|
"name": "position-anchor"
|
|
94131
94194
|
},
|
|
@@ -94186,6 +94249,8 @@ const generatedProperties = [
|
|
|
94186
94249
|
"name": "position-visibility"
|
|
94187
94250
|
},
|
|
94188
94251
|
{
|
|
94252
|
+
"is_descriptor": true,
|
|
94253
|
+
"is_property": false,
|
|
94189
94254
|
"name": "prefix"
|
|
94190
94255
|
},
|
|
94191
94256
|
{
|
|
@@ -94197,6 +94262,8 @@ const generatedProperties = [
|
|
|
94197
94262
|
"name": "print-color-adjust"
|
|
94198
94263
|
},
|
|
94199
94264
|
{
|
|
94265
|
+
"is_descriptor": true,
|
|
94266
|
+
"is_property": false,
|
|
94200
94267
|
"name": "protocol"
|
|
94201
94268
|
},
|
|
94202
94269
|
{
|
|
@@ -94211,6 +94278,8 @@ const generatedProperties = [
|
|
|
94211
94278
|
"name": "r"
|
|
94212
94279
|
},
|
|
94213
94280
|
{
|
|
94281
|
+
"is_descriptor": true,
|
|
94282
|
+
"is_property": false,
|
|
94214
94283
|
"name": "range"
|
|
94215
94284
|
},
|
|
94216
94285
|
{
|
|
@@ -94240,6 +94309,8 @@ const generatedProperties = [
|
|
|
94240
94309
|
"name": "resize"
|
|
94241
94310
|
},
|
|
94242
94311
|
{
|
|
94312
|
+
"is_descriptor": true,
|
|
94313
|
+
"is_property": false,
|
|
94243
94314
|
"name": "result"
|
|
94244
94315
|
},
|
|
94245
94316
|
{
|
|
@@ -94739,6 +94810,8 @@ const generatedProperties = [
|
|
|
94739
94810
|
"name": "scrollbar-width"
|
|
94740
94811
|
},
|
|
94741
94812
|
{
|
|
94813
|
+
"is_descriptor": true,
|
|
94814
|
+
"is_property": false,
|
|
94742
94815
|
"name": "search"
|
|
94743
94816
|
},
|
|
94744
94817
|
{
|
|
@@ -94770,6 +94843,8 @@ const generatedProperties = [
|
|
|
94770
94843
|
"name": "size"
|
|
94771
94844
|
},
|
|
94772
94845
|
{
|
|
94846
|
+
"is_descriptor": true,
|
|
94847
|
+
"is_property": false,
|
|
94773
94848
|
"name": "size-adjust"
|
|
94774
94849
|
},
|
|
94775
94850
|
{
|
|
@@ -94785,9 +94860,13 @@ const generatedProperties = [
|
|
|
94785
94860
|
"name": "speak"
|
|
94786
94861
|
},
|
|
94787
94862
|
{
|
|
94863
|
+
"is_descriptor": true,
|
|
94864
|
+
"is_property": false,
|
|
94788
94865
|
"name": "speak-as"
|
|
94789
94866
|
},
|
|
94790
94867
|
{
|
|
94868
|
+
"is_descriptor": true,
|
|
94869
|
+
"is_property": false,
|
|
94791
94870
|
"name": "src"
|
|
94792
94871
|
},
|
|
94793
94872
|
{
|
|
@@ -94845,15 +94924,23 @@ const generatedProperties = [
|
|
|
94845
94924
|
"name": "stroke-width"
|
|
94846
94925
|
},
|
|
94847
94926
|
{
|
|
94927
|
+
"is_descriptor": true,
|
|
94928
|
+
"is_property": false,
|
|
94848
94929
|
"name": "suffix"
|
|
94849
94930
|
},
|
|
94850
94931
|
{
|
|
94932
|
+
"is_descriptor": true,
|
|
94933
|
+
"is_property": false,
|
|
94851
94934
|
"name": "symbols"
|
|
94852
94935
|
},
|
|
94853
94936
|
{
|
|
94937
|
+
"is_descriptor": true,
|
|
94938
|
+
"is_property": false,
|
|
94854
94939
|
"name": "syntax"
|
|
94855
94940
|
},
|
|
94856
94941
|
{
|
|
94942
|
+
"is_descriptor": true,
|
|
94943
|
+
"is_property": false,
|
|
94857
94944
|
"name": "system"
|
|
94858
94945
|
},
|
|
94859
94946
|
{
|
|
@@ -95316,6 +95403,8 @@ const generatedProperties = [
|
|
|
95316
95403
|
"name": "trigger-scope"
|
|
95317
95404
|
},
|
|
95318
95405
|
{
|
|
95406
|
+
"is_descriptor": true,
|
|
95407
|
+
"is_property": false,
|
|
95319
95408
|
"name": "types"
|
|
95320
95409
|
},
|
|
95321
95410
|
{
|
|
@@ -95330,6 +95419,8 @@ const generatedProperties = [
|
|
|
95330
95419
|
"name": "unicode-bidi"
|
|
95331
95420
|
},
|
|
95332
95421
|
{
|
|
95422
|
+
"is_descriptor": true,
|
|
95423
|
+
"is_property": false,
|
|
95333
95424
|
"name": "unicode-range"
|
|
95334
95425
|
},
|
|
95335
95426
|
{
|
|
@@ -97252,7 +97343,8 @@ const generatedPropertyValues = {
|
|
|
97252
97343
|
"position-anchor": {
|
|
97253
97344
|
"values": [
|
|
97254
97345
|
"auto",
|
|
97255
|
-
"none"
|
|
97346
|
+
"none",
|
|
97347
|
+
"normal"
|
|
97256
97348
|
]
|
|
97257
97349
|
},
|
|
97258
97350
|
"position-area": {
|
|
@@ -100428,8 +100520,7 @@ class ColorMatcher extends matcherBase(ColorMatch) {
|
|
|
100428
100520
|
if (callee && colorFunc.match(/^(rgba?|hsla?|hwba?|lab|lch|oklab|oklch|color)$/)) {
|
|
100429
100521
|
const args = ASTUtils.children(node.getChild('ArgList'));
|
|
100430
100522
|
const colorText = args.length >= 2 ? matching.getComputedTextRange(args[0], args[args.length - 1]) : '';
|
|
100431
|
-
const isRelativeColorSyntax = Boolean(colorText.match(/^[^)]*\(\W*from\W+/) && !matching.hasUnresolvedSubstitutions(node)
|
|
100432
|
-
CSS.supports('color', colorFunc + colorText));
|
|
100523
|
+
const isRelativeColorSyntax = Boolean(colorText.match(/^[^)]*\(\W*from\W+/) && !matching.hasUnresolvedSubstitutions(node));
|
|
100433
100524
|
if (!isRelativeColorSyntax) {
|
|
100434
100525
|
return new ColorMatch(text, node);
|
|
100435
100526
|
}
|
|
@@ -102809,6 +102900,7 @@ class CSSFunctionRule extends CSSRule {
|
|
|
102809
102900
|
styleSheetId: payload.styleSheetId
|
|
102810
102901
|
},
|
|
102811
102902
|
header: styleSheetHeaderForRule(cssModel, payload),
|
|
102903
|
+
originTreeScopeNodeId: payload.originTreeScopeNodeId
|
|
102812
102904
|
});
|
|
102813
102905
|
this.#name = new CSSValue(payload.name);
|
|
102814
102906
|
this.#parameters = payload.parameters.map(({ name }) => name);
|
|
@@ -103038,6 +103130,27 @@ function queryMatches(style) {
|
|
|
103038
103130
|
}
|
|
103039
103131
|
return true;
|
|
103040
103132
|
}
|
|
103133
|
+
function treeScopeDistance(node, property) {
|
|
103134
|
+
if (!property.ownerStyle.parentRule && property.ownerStyle.type !== Type$3.Inline) {
|
|
103135
|
+
return -1;
|
|
103136
|
+
}
|
|
103137
|
+
const root = node.getTreeRoot();
|
|
103138
|
+
const nodeId = property.ownerStyle.parentRule?.treeScope ?? root?.backendNodeId();
|
|
103139
|
+
if (nodeId === undefined) {
|
|
103140
|
+
return -1;
|
|
103141
|
+
}
|
|
103142
|
+
return distanceToTreeScope(node, nodeId);
|
|
103143
|
+
}
|
|
103144
|
+
function distanceToTreeScope(node, treeScope) {
|
|
103145
|
+
let distance = 0;
|
|
103146
|
+
for (let ancestor = node; ancestor; ancestor = ancestor.parentNode) {
|
|
103147
|
+
if (ancestor.backendNodeId() === treeScope) {
|
|
103148
|
+
return distance;
|
|
103149
|
+
}
|
|
103150
|
+
distance++;
|
|
103151
|
+
}
|
|
103152
|
+
return -1;
|
|
103153
|
+
}
|
|
103041
103154
|
class CSSRegisteredProperty {
|
|
103042
103155
|
#registration;
|
|
103043
103156
|
#cssModel;
|
|
@@ -103153,7 +103266,9 @@ class CSSMatchedStyles {
|
|
|
103153
103266
|
this.#registeredPropertyMap.set(prop.propertyName(), prop);
|
|
103154
103267
|
}
|
|
103155
103268
|
for (const rule of this.#functionRules) {
|
|
103156
|
-
this.#functionRuleMap.
|
|
103269
|
+
const rules = this.#functionRuleMap.get(rule.functionName().text) ?? [];
|
|
103270
|
+
rules.push(rule);
|
|
103271
|
+
this.#functionRuleMap.set(rule.functionName().text, rules);
|
|
103157
103272
|
}
|
|
103158
103273
|
}
|
|
103159
103274
|
async buildMainCascade(inlinePayload, attributesPayload, matchedPayload, inheritedPayload, animationStylesPayload, transitionsStylePayload, inheritedAnimatedPayload) {
|
|
@@ -103468,9 +103583,23 @@ class CSSMatchedStyles {
|
|
|
103468
103583
|
getRegisteredProperty(name) {
|
|
103469
103584
|
return this.#registeredPropertyMap.get(name);
|
|
103470
103585
|
}
|
|
103471
|
-
getRegisteredFunction(name) {
|
|
103472
|
-
const
|
|
103473
|
-
|
|
103586
|
+
getRegisteredFunction(name, sourceProperty) {
|
|
103587
|
+
const minTreeScopeDistance = treeScopeDistance(this.#node, sourceProperty);
|
|
103588
|
+
const functionRules = this.#functionRuleMap.get(name) ?? [];
|
|
103589
|
+
let result = { treeScopeDistance: -1 };
|
|
103590
|
+
for (const functionRule of functionRules) {
|
|
103591
|
+
if (!functionRule.treeScope) {
|
|
103592
|
+
continue;
|
|
103593
|
+
}
|
|
103594
|
+
const distance = distanceToTreeScope(this.#node, functionRule.treeScope);
|
|
103595
|
+
if (distance === -1 || distance < minTreeScopeDistance) {
|
|
103596
|
+
continue;
|
|
103597
|
+
}
|
|
103598
|
+
if (result.treeScopeDistance === -1 || distance < result.treeScopeDistance) {
|
|
103599
|
+
result = { registeredFunction: functionRule.nameWithParameters(), treeScopeDistance: distance };
|
|
103600
|
+
}
|
|
103601
|
+
}
|
|
103602
|
+
return result;
|
|
103474
103603
|
}
|
|
103475
103604
|
functionRules() {
|
|
103476
103605
|
return this.#functionRules;
|
|
@@ -103673,24 +103802,6 @@ class NodeCascade {
|
|
|
103673
103802
|
}
|
|
103674
103803
|
}
|
|
103675
103804
|
}
|
|
103676
|
-
#treeScopeDistance(property) {
|
|
103677
|
-
if (!property.ownerStyle.parentRule && property.ownerStyle.type !== Type$3.Inline) {
|
|
103678
|
-
return -1;
|
|
103679
|
-
}
|
|
103680
|
-
const root = this.#node.getTreeRoot();
|
|
103681
|
-
const nodeId = property.ownerStyle.parentRule?.treeScope ?? root?.backendNodeId();
|
|
103682
|
-
if (nodeId === undefined) {
|
|
103683
|
-
return -1;
|
|
103684
|
-
}
|
|
103685
|
-
let distance = 0;
|
|
103686
|
-
for (let ancestor = this.#node; ancestor; ancestor = ancestor.parentNode) {
|
|
103687
|
-
if (ancestor.backendNodeId() === nodeId) {
|
|
103688
|
-
return distance;
|
|
103689
|
-
}
|
|
103690
|
-
distance++;
|
|
103691
|
-
}
|
|
103692
|
-
return -1;
|
|
103693
|
-
}
|
|
103694
103805
|
#needsCascadeContextStep() {
|
|
103695
103806
|
if (!this.#node.isInShadowTree()) {
|
|
103696
103807
|
return false;
|
|
@@ -103705,7 +103816,8 @@ class NodeCascade {
|
|
|
103705
103816
|
const activeProperty = this.activeProperties.get(canonicalName);
|
|
103706
103817
|
if (activeProperty?.important && !propertyWithHigherSpecificity.important ||
|
|
103707
103818
|
activeProperty && this.#needsCascadeContextStep() &&
|
|
103708
|
-
this.#
|
|
103819
|
+
treeScopeDistance(this.#node, activeProperty) >
|
|
103820
|
+
treeScopeDistance(this.#node, propertyWithHigherSpecificity)) {
|
|
103709
103821
|
this.propertiesState.set(propertyWithHigherSpecificity, "Overloaded" );
|
|
103710
103822
|
return;
|
|
103711
103823
|
}
|
|
@@ -105664,10 +105776,6 @@ const UIStrings$15 = {
|
|
|
105664
105776
|
thisSetcookieWasBlockedBecauseTheNameValuePairExceedsMaxSize: 'This attempt to set a cookie via a `Set-Cookie` header was blocked because the cookie was too large. The combined size of the name and value must be less than or equal to 4096 characters.',
|
|
105665
105777
|
setcookieHeaderIsIgnoredIn: 'Set-Cookie header is ignored in response from url: {PH1}. The combined size of the name and value must be less than or equal to 4096 characters.',
|
|
105666
105778
|
exemptionReasonUserSetting: 'This cookie is allowed by user preference.',
|
|
105667
|
-
exemptionReasonTPCDMetadata: 'This cookie is allowed by a third-party cookie deprecation trial grace period. Learn more: goo.gle/dt-grace.',
|
|
105668
|
-
exemptionReasonTPCDDeprecationTrial: 'This cookie is allowed by third-party cookie deprecation trial. Learn more: goo.gle/ps-dt.',
|
|
105669
|
-
exemptionReasonTopLevelTPCDDeprecationTrial: 'This cookie is allowed by top-level third-party cookie deprecation trial. Learn more: goo.gle/ps-dt.',
|
|
105670
|
-
exemptionReasonTPCDHeuristics: 'This cookie is allowed by third-party cookie heuristics. Learn more: goo.gle/hbe',
|
|
105671
105779
|
exemptionReasonEnterprisePolicy: 'This cookie is allowed by Chrome Enterprise policy. Learn more: goo.gle/ce-3pc',
|
|
105672
105780
|
exemptionReasonStorageAccessAPI: 'This cookie is allowed by the Storage Access API. Learn more: goo.gle/saa',
|
|
105673
105781
|
exemptionReasonTopLevelStorageAccessAPI: 'This cookie is allowed by the top-level Storage Access API. Learn more: goo.gle/saa-top',
|
|
@@ -105774,6 +105882,7 @@ class NetworkRequest extends ObjectWrapper {
|
|
|
105774
105882
|
#contentDataProvider;
|
|
105775
105883
|
#isSameSite = null;
|
|
105776
105884
|
#wasIntercepted = false;
|
|
105885
|
+
#isImportedHar = false;
|
|
105777
105886
|
#associatedData = new Map();
|
|
105778
105887
|
#hasOverriddenContent = false;
|
|
105779
105888
|
#hasThirdPartyCookiePhaseoutIssue = false;
|
|
@@ -106370,6 +106479,12 @@ class NetworkRequest extends ObjectWrapper {
|
|
|
106370
106479
|
setWasIntercepted(wasIntercepted) {
|
|
106371
106480
|
this.#wasIntercepted = wasIntercepted;
|
|
106372
106481
|
}
|
|
106482
|
+
isImportedHar() {
|
|
106483
|
+
return this.#isImportedHar;
|
|
106484
|
+
}
|
|
106485
|
+
setIsImportedHar(isImportedHar) {
|
|
106486
|
+
this.#isImportedHar = isImportedHar;
|
|
106487
|
+
}
|
|
106373
106488
|
setEarlyHintsHeaders(headers) {
|
|
106374
106489
|
this.earlyHintsHeaders = headers;
|
|
106375
106490
|
}
|
|
@@ -111416,22 +111531,20 @@ class SourceMap {
|
|
|
111416
111531
|
nameIndex += tokenIter.nextVLQ();
|
|
111417
111532
|
this.mappings().push(new SourceMapEntry(lineNumber, columnNumber, sourceIndex, sourceURL, sourceLineNumber, sourceColumnNumber, names[nameIndex]));
|
|
111418
111533
|
}
|
|
111419
|
-
if (
|
|
111420
|
-
|
|
111421
|
-
|
|
111422
|
-
|
|
111423
|
-
|
|
111424
|
-
|
|
111425
|
-
|
|
111426
|
-
|
|
111427
|
-
|
|
111428
|
-
|
|
111429
|
-
|
|
111430
|
-
|
|
111431
|
-
|
|
111432
|
-
|
|
111433
|
-
this.#scopesInfo.addOriginalScopes(new Array(map.sources.length).fill(null));
|
|
111434
|
-
}
|
|
111534
|
+
if (!this.#scopesInfo) {
|
|
111535
|
+
this.#scopesInfo = new SourceMapScopesInfo(this, { scopes: [], ranges: [] });
|
|
111536
|
+
}
|
|
111537
|
+
if (map.scopes) {
|
|
111538
|
+
const { scopes, ranges } = decode(map, { mode: 2 , generatedOffset: { line: baseLineNumber, column: baseColumnNumber } });
|
|
111539
|
+
this.#scopesInfo.addOriginalScopes(scopes);
|
|
111540
|
+
this.#scopesInfo.addGeneratedRanges(ranges);
|
|
111541
|
+
}
|
|
111542
|
+
else if (map.x_com_bloomberg_sourcesFunctionMappings) {
|
|
111543
|
+
const originalScopes = this.parseBloombergScopes(map);
|
|
111544
|
+
this.#scopesInfo.addOriginalScopes(originalScopes);
|
|
111545
|
+
}
|
|
111546
|
+
else {
|
|
111547
|
+
this.#scopesInfo.addOriginalScopes(new Array(map.sources.length).fill(null));
|
|
111435
111548
|
}
|
|
111436
111549
|
}
|
|
111437
111550
|
parseBloombergScopes(map) {
|
|
@@ -118460,6 +118573,10 @@ class DebuggerModel extends SDKModel {
|
|
|
118460
118573
|
scriptForId(scriptId) {
|
|
118461
118574
|
return this.#scripts.get(scriptId) || null;
|
|
118462
118575
|
}
|
|
118576
|
+
isWasm(scriptId) {
|
|
118577
|
+
const script = this.scriptForId(scriptId);
|
|
118578
|
+
return script ? script.isWasm() : false;
|
|
118579
|
+
}
|
|
118463
118580
|
scriptsForSourceURL(sourceURL) {
|
|
118464
118581
|
return this.#scriptsBySourceURL.get(sourceURL) || [];
|
|
118465
118582
|
}
|
|
@@ -118604,10 +118721,10 @@ class DebuggerModel extends SDKModel {
|
|
|
118604
118721
|
this.dispatchEventToListeners(Events$5.DiscardedAnonymousScriptSource, script);
|
|
118605
118722
|
}
|
|
118606
118723
|
}
|
|
118607
|
-
createRawLocation(script, lineNumber, columnNumber
|
|
118608
|
-
return this.createRawLocationByScriptId(script.scriptId, lineNumber, columnNumber
|
|
118724
|
+
createRawLocation(script, lineNumber, columnNumber) {
|
|
118725
|
+
return this.createRawLocationByScriptId(script.scriptId, lineNumber, columnNumber);
|
|
118609
118726
|
}
|
|
118610
|
-
createRawLocationByURL(sourceURL, lineNumber, columnNumber
|
|
118727
|
+
createRawLocationByURL(sourceURL, lineNumber, columnNumber) {
|
|
118611
118728
|
for (const script of this.#scriptsBySourceURL.get(sourceURL) || []) {
|
|
118612
118729
|
if (script.lineOffset > lineNumber ||
|
|
118613
118730
|
(script.lineOffset === lineNumber && columnNumber !== undefined && script.columnOffset > columnNumber)) {
|
|
@@ -118617,12 +118734,12 @@ class DebuggerModel extends SDKModel {
|
|
|
118617
118734
|
(script.endLine === lineNumber && columnNumber !== undefined && script.endColumn <= columnNumber)) {
|
|
118618
118735
|
continue;
|
|
118619
118736
|
}
|
|
118620
|
-
return new Location$2(this, script.scriptId, lineNumber, columnNumber
|
|
118737
|
+
return new Location$2(this, script.scriptId, lineNumber, columnNumber);
|
|
118621
118738
|
}
|
|
118622
118739
|
return null;
|
|
118623
118740
|
}
|
|
118624
|
-
createRawLocationByScriptId(scriptId, lineNumber, columnNumber
|
|
118625
|
-
return new Location$2(this, scriptId, lineNumber, columnNumber
|
|
118741
|
+
createRawLocationByScriptId(scriptId, lineNumber, columnNumber) {
|
|
118742
|
+
return new Location$2(this, scriptId, lineNumber, columnNumber);
|
|
118626
118743
|
}
|
|
118627
118744
|
createRawLocationsByStackTrace(stackTrace) {
|
|
118628
118745
|
const rawLocations = [];
|
|
@@ -120921,6 +121038,7 @@ class ConsoleMessage {
|
|
|
120921
121038
|
#exceptionId = undefined;
|
|
120922
121039
|
#affectedResources;
|
|
120923
121040
|
category;
|
|
121041
|
+
exceptionDetails;
|
|
120924
121042
|
stackFrameWithBreakpoint = null;
|
|
120925
121043
|
#originatingBreakpointType = null;
|
|
120926
121044
|
constructor(runtimeModel, source, level, messageText, details) {
|
|
@@ -120940,6 +121058,7 @@ class ConsoleMessage {
|
|
|
120940
121058
|
this.workerId = details?.workerId;
|
|
120941
121059
|
this.#affectedResources = details?.affectedResources;
|
|
120942
121060
|
this.category = details?.category;
|
|
121061
|
+
this.exceptionDetails = details?.exceptionDetails;
|
|
120943
121062
|
if (!this.#executionContextId && this.#runtimeModel) {
|
|
120944
121063
|
if (this.scriptId) {
|
|
120945
121064
|
this.#executionContextId = this.#runtimeModel.executionContextIdForScriptId(this.scriptId);
|
|
@@ -120978,6 +121097,7 @@ class ConsoleMessage {
|
|
|
120978
121097
|
executionContextId: exceptionDetails.executionContextId,
|
|
120979
121098
|
scriptId: exceptionDetails.scriptId,
|
|
120980
121099
|
affectedResources,
|
|
121100
|
+
exceptionDetails,
|
|
120981
121101
|
};
|
|
120982
121102
|
return new ConsoleMessage(runtimeModel, "javascript" , "error" , RuntimeModel.simpleTextFromException(exceptionDetails), details);
|
|
120983
121103
|
}
|
|
@@ -123837,7 +123957,7 @@ SDKModel.register(WebAuthnModel, { capabilities: 65536 , autostart: false });
|
|
|
123837
123957
|
|
|
123838
123958
|
// Copyright 2026 The Chromium Authors
|
|
123839
123959
|
const CALL_FRAME_REGEX = /^\s*at\s+/;
|
|
123840
|
-
function parseRawFramesFromErrorStack(stack) {
|
|
123960
|
+
function parseRawFramesFromErrorStack(stack, resolveURL) {
|
|
123841
123961
|
const lines = stack.split('\n');
|
|
123842
123962
|
const firstAtLineIndex = findFramesStartLine(lines);
|
|
123843
123963
|
const rawFrames = [];
|
|
@@ -123877,63 +123997,74 @@ function parseRawFramesFromErrorStack(stack) {
|
|
|
123877
123997
|
let promiseIndex;
|
|
123878
123998
|
let evalOrigin;
|
|
123879
123999
|
const openParenIndex = lineContent.indexOf(' (');
|
|
124000
|
+
let location = '';
|
|
123880
124001
|
if (lineContent.endsWith(')') && openParenIndex !== -1) {
|
|
123881
124002
|
functionName = lineContent.substring(0, openParenIndex).trim();
|
|
123882
|
-
|
|
123883
|
-
|
|
123884
|
-
|
|
123885
|
-
|
|
123886
|
-
|
|
123887
|
-
|
|
123888
|
-
|
|
123889
|
-
|
|
123890
|
-
|
|
123891
|
-
|
|
123892
|
-
|
|
123893
|
-
|
|
123894
|
-
|
|
123895
|
-
|
|
123896
|
-
|
|
123897
|
-
const innerOpenParen = evalOriginStr.indexOf(' (');
|
|
123898
|
-
let evalFunctionName = evalOriginStr;
|
|
123899
|
-
let evalLocation = '';
|
|
123900
|
-
if (innerOpenParen !== -1) {
|
|
123901
|
-
evalFunctionName = evalOriginStr.substring(0, innerOpenParen).trim();
|
|
123902
|
-
evalLocation = evalOriginStr.substring(innerOpenParen + 2, evalOriginStr.length - 1);
|
|
123903
|
-
evalOrigin = parseRawFramesFromErrorStack(` at ${evalFunctionName} (${evalLocation})`)?.[0];
|
|
123904
|
-
}
|
|
123905
|
-
else {
|
|
123906
|
-
evalOrigin = parseRawFramesFromErrorStack(` at ${evalFunctionName}`)?.[0];
|
|
123907
|
-
}
|
|
124003
|
+
location = lineContent.substring(openParenIndex + 2, lineContent.length - 1);
|
|
124004
|
+
}
|
|
124005
|
+
else if (lineContent.startsWith('(') && lineContent.endsWith(')')) {
|
|
124006
|
+
location = lineContent.substring(1, lineContent.length - 1);
|
|
124007
|
+
}
|
|
124008
|
+
else {
|
|
124009
|
+
location = lineContent;
|
|
124010
|
+
}
|
|
124011
|
+
if (location.startsWith('eval at ')) {
|
|
124012
|
+
isEval = true;
|
|
124013
|
+
const commaIndex = location.lastIndexOf(', ');
|
|
124014
|
+
let evalOriginStr = location;
|
|
124015
|
+
if (commaIndex !== -1) {
|
|
124016
|
+
evalOriginStr = location.substring(0, commaIndex);
|
|
124017
|
+
location = location.substring(commaIndex + 2);
|
|
123908
124018
|
}
|
|
123909
|
-
|
|
123910
|
-
|
|
123911
|
-
url = '';
|
|
124019
|
+
else {
|
|
124020
|
+
location = '';
|
|
123912
124021
|
}
|
|
123913
|
-
|
|
123914
|
-
|
|
124022
|
+
if (evalOriginStr.startsWith('eval at ')) {
|
|
124023
|
+
evalOriginStr = evalOriginStr.substring(8);
|
|
123915
124024
|
}
|
|
123916
|
-
|
|
123917
|
-
|
|
123918
|
-
|
|
123919
|
-
|
|
123920
|
-
|
|
123921
|
-
|
|
123922
|
-
|
|
123923
|
-
}
|
|
124025
|
+
const innerOpenParen = evalOriginStr.indexOf(' (');
|
|
124026
|
+
let evalFunctionName = evalOriginStr;
|
|
124027
|
+
let evalLocation = '';
|
|
124028
|
+
if (innerOpenParen !== -1) {
|
|
124029
|
+
evalFunctionName = evalOriginStr.substring(0, innerOpenParen).trim();
|
|
124030
|
+
evalLocation = evalOriginStr.substring(innerOpenParen + 2, evalOriginStr.length - 1);
|
|
124031
|
+
evalOrigin = parseRawFramesFromErrorStack(` at ${evalFunctionName} (${evalLocation})`, resolveURL)?.[0];
|
|
123924
124032
|
}
|
|
123925
124033
|
else {
|
|
123926
|
-
|
|
123927
|
-
url = splitResult.url;
|
|
123928
|
-
lineNumber = splitResult.lineNumber ?? -1;
|
|
123929
|
-
columnNumber = splitResult.columnNumber ?? -1;
|
|
124034
|
+
evalOrigin = parseRawFramesFromErrorStack(` at ${evalFunctionName}`, resolveURL)?.[0];
|
|
123930
124035
|
}
|
|
123931
124036
|
}
|
|
123932
|
-
|
|
123933
|
-
|
|
123934
|
-
url =
|
|
124037
|
+
if (location.startsWith('index ')) {
|
|
124038
|
+
promiseIndex = parseInt(location.substring(6), 10);
|
|
124039
|
+
url = '';
|
|
124040
|
+
}
|
|
124041
|
+
else if (location === '<anonymous>' || location === 'native') {
|
|
124042
|
+
url = '';
|
|
124043
|
+
}
|
|
124044
|
+
else if (location.includes(':wasm-function[')) {
|
|
124045
|
+
isWasm = true;
|
|
124046
|
+
const wasmMatch = /^(.*):wasm-function\[(\d+)\]:(0x[0-9a-fA-F]+)$/.exec(location);
|
|
124047
|
+
if (wasmMatch) {
|
|
124048
|
+
url = wasmMatch[1];
|
|
124049
|
+
wasmFunctionIndex = parseInt(wasmMatch[2], 10);
|
|
124050
|
+
columnNumber = parseInt(wasmMatch[3], 16);
|
|
124051
|
+
lineNumber = 0;
|
|
124052
|
+
}
|
|
124053
|
+
}
|
|
124054
|
+
else if (location) {
|
|
124055
|
+
const splitResult = ParsedURL.splitLineAndColumn(location);
|
|
123935
124056
|
lineNumber = splitResult.lineNumber ?? -1;
|
|
123936
124057
|
columnNumber = splitResult.columnNumber ?? -1;
|
|
124058
|
+
if (resolveURL && splitResult.url !== '<anonymous>' && splitResult.url !== 'native') {
|
|
124059
|
+
const resolved = resolveURL(splitResult.url);
|
|
124060
|
+
if (!resolved) {
|
|
124061
|
+
return null;
|
|
124062
|
+
}
|
|
124063
|
+
url = resolved;
|
|
124064
|
+
}
|
|
124065
|
+
else {
|
|
124066
|
+
url = splitResult.url;
|
|
124067
|
+
}
|
|
123937
124068
|
}
|
|
123938
124069
|
if (functionName) {
|
|
123939
124070
|
const aliasMatch = /(.*)\s+\[as\s+(.*)\]/.exec(functionName);
|
|
@@ -123955,12 +124086,12 @@ function parseRawFramesFromErrorStack(stack) {
|
|
|
123955
124086
|
functionName,
|
|
123956
124087
|
lineNumber,
|
|
123957
124088
|
columnNumber,
|
|
124089
|
+
isWasm,
|
|
123958
124090
|
parsedFrameInfo: {
|
|
123959
124091
|
isAsync,
|
|
123960
124092
|
isConstructor,
|
|
123961
124093
|
isEval,
|
|
123962
124094
|
evalOrigin,
|
|
123963
|
-
isWasm,
|
|
123964
124095
|
wasmModuleName,
|
|
123965
124096
|
wasmFunctionIndex,
|
|
123966
124097
|
typeName,
|
|
@@ -123984,11 +124115,7 @@ function parseMessage(stack) {
|
|
|
123984
124115
|
}
|
|
123985
124116
|
function augmentRawFramesWithScriptIds(rawFrames, protocolStackTrace) {
|
|
123986
124117
|
function augmentFrame(rawFrame) {
|
|
123987
|
-
const isWasm = rawFrame.parsedFrameInfo?.isWasm;
|
|
123988
124118
|
const protocolFrame = protocolStackTrace.callFrames.find(frame => {
|
|
123989
|
-
if (isWasm) {
|
|
123990
|
-
return rawFrame.url === frame.url && rawFrame.columnNumber === frame.columnNumber;
|
|
123991
|
-
}
|
|
123992
124119
|
return rawFrame.url === frame.url && rawFrame.lineNumber === frame.lineNumber &&
|
|
123993
124120
|
rawFrame.columnNumber === frame.columnNumber;
|
|
123994
124121
|
});
|
|
@@ -124062,7 +124189,9 @@ class FrameImpl {
|
|
|
124062
124189
|
column;
|
|
124063
124190
|
missingDebugInfo;
|
|
124064
124191
|
rawName;
|
|
124065
|
-
|
|
124192
|
+
isWasm;
|
|
124193
|
+
isInline;
|
|
124194
|
+
constructor(url, uiSourceCode, name, line, column, missingDebugInfo, rawName, isWasm, isInline) {
|
|
124066
124195
|
this.url = url;
|
|
124067
124196
|
this.uiSourceCode = uiSourceCode;
|
|
124068
124197
|
this.name = name;
|
|
@@ -124070,6 +124199,8 @@ class FrameImpl {
|
|
|
124070
124199
|
this.column = column;
|
|
124071
124200
|
this.missingDebugInfo = missingDebugInfo;
|
|
124072
124201
|
this.rawName = rawName;
|
|
124202
|
+
this.isWasm = isWasm;
|
|
124203
|
+
this.isInline = isInline;
|
|
124073
124204
|
}
|
|
124074
124205
|
}
|
|
124075
124206
|
function createParsedErrorStackFrameImplFromEvalOrigin(evalOrigin, parsedFrameInfo) {
|
|
@@ -124142,7 +124273,10 @@ class ParsedErrorStackFrameImpl {
|
|
|
124142
124273
|
return this.#evalOrigin;
|
|
124143
124274
|
}
|
|
124144
124275
|
get isWasm() {
|
|
124145
|
-
return this.#
|
|
124276
|
+
return this.#frame.isWasm;
|
|
124277
|
+
}
|
|
124278
|
+
get isInline() {
|
|
124279
|
+
return this.#frame.isInline;
|
|
124146
124280
|
}
|
|
124147
124281
|
get wasmModuleName() {
|
|
124148
124282
|
return this.#parsedFrameInfo?.wasmModuleName;
|
|
@@ -124212,6 +124346,12 @@ class DebuggableFrameImpl {
|
|
|
124212
124346
|
get rawName() {
|
|
124213
124347
|
return this.#frame.rawName;
|
|
124214
124348
|
}
|
|
124349
|
+
get isWasm() {
|
|
124350
|
+
return this.#frame.isWasm;
|
|
124351
|
+
}
|
|
124352
|
+
get isInline() {
|
|
124353
|
+
return this.#frame.isInline;
|
|
124354
|
+
}
|
|
124215
124355
|
get sdkFrame() {
|
|
124216
124356
|
return this.#sdkFrame;
|
|
124217
124357
|
}
|
|
@@ -124270,9 +124410,9 @@ function parseSourcePositionsFromErrorStack(runtimeModel, stack) {
|
|
|
124270
124410
|
}
|
|
124271
124411
|
continue;
|
|
124272
124412
|
}
|
|
124273
|
-
let url = parseOrScriptMatch(debuggerModel, splitResult.url);
|
|
124413
|
+
let url = parseOrScriptMatch$1(debuggerModel, splitResult.url);
|
|
124274
124414
|
if (!url && ParsedURL.isRelativeURL(splitResult.url)) {
|
|
124275
|
-
url = parseOrScriptMatch(debuggerModel, ParsedURL.completeURL(baseURL, splitResult.url));
|
|
124415
|
+
url = parseOrScriptMatch$1(debuggerModel, ParsedURL.completeURL(baseURL, splitResult.url));
|
|
124276
124416
|
}
|
|
124277
124417
|
if (!url) {
|
|
124278
124418
|
return null;
|
|
@@ -124292,7 +124432,7 @@ function parseSourcePositionsFromErrorStack(runtimeModel, stack) {
|
|
|
124292
124432
|
}
|
|
124293
124433
|
return linkInfos;
|
|
124294
124434
|
}
|
|
124295
|
-
function parseOrScriptMatch(debuggerModel, url) {
|
|
124435
|
+
function parseOrScriptMatch$1(debuggerModel, url) {
|
|
124296
124436
|
if (!url) {
|
|
124297
124437
|
return null;
|
|
124298
124438
|
}
|
|
@@ -124484,14 +124624,28 @@ class StackTraceModel extends SDKModel {
|
|
|
124484
124624
|
return model;
|
|
124485
124625
|
}
|
|
124486
124626
|
async createFromProtocolRuntime(stackTrace, rawFramesToUIFrames) {
|
|
124627
|
+
const debuggerModel = this.target().model(DebuggerModel);
|
|
124628
|
+
const syncFrames = stackTrace.callFrames.map((frame) => {
|
|
124629
|
+
const isWasm = debuggerModel?.isWasm(frame.scriptId) ?? false;
|
|
124630
|
+
return { ...frame, isWasm };
|
|
124631
|
+
});
|
|
124487
124632
|
const [syncFragment, asyncFragments] = await Promise.all([
|
|
124488
|
-
this.#createFragment(
|
|
124633
|
+
this.#createFragment(syncFrames, rawFramesToUIFrames),
|
|
124489
124634
|
this.#createAsyncFragments(stackTrace, rawFramesToUIFrames),
|
|
124490
124635
|
]);
|
|
124491
124636
|
return new StackTraceImpl(syncFragment, asyncFragments);
|
|
124492
124637
|
}
|
|
124493
124638
|
async createFromErrorStackLikeString(stack, rawFramesToUIFrames, exceptionDetails) {
|
|
124494
|
-
const
|
|
124639
|
+
const debuggerModel = this.target().model(DebuggerModel);
|
|
124640
|
+
const baseURL = this.target().inspectedURL();
|
|
124641
|
+
const resolveURL = (url) => {
|
|
124642
|
+
let urlWithScheme = parseOrScriptMatch(debuggerModel, url);
|
|
124643
|
+
if (!urlWithScheme && ParsedURL.isRelativeURL(url)) {
|
|
124644
|
+
urlWithScheme = parseOrScriptMatch(debuggerModel, ParsedURL.completeURL(baseURL, url));
|
|
124645
|
+
}
|
|
124646
|
+
return urlWithScheme;
|
|
124647
|
+
};
|
|
124648
|
+
const rawFrames = parseRawFramesFromErrorStack(stack, resolveURL);
|
|
124495
124649
|
if (!rawFrames) {
|
|
124496
124650
|
return null;
|
|
124497
124651
|
}
|
|
@@ -124539,6 +124693,7 @@ class StackTraceModel extends SDKModel {
|
|
|
124539
124693
|
functionName: frame.functionName,
|
|
124540
124694
|
lineNumber: frame.location().lineNumber,
|
|
124541
124695
|
columnNumber: frame.location().columnNumber,
|
|
124696
|
+
isWasm: frame.script.isWasm(),
|
|
124542
124697
|
})), rawFramesToUIFrames);
|
|
124543
124698
|
return new DebuggableFragmentImpl(fragment, pausedDetails.callFrames);
|
|
124544
124699
|
}
|
|
@@ -124551,7 +124706,12 @@ class StackTraceModel extends SDKModel {
|
|
|
124551
124706
|
continue;
|
|
124552
124707
|
}
|
|
124553
124708
|
const model = _a$4.#modelForTarget(target);
|
|
124554
|
-
const
|
|
124709
|
+
const targetDebuggerModel = target.model(DebuggerModel);
|
|
124710
|
+
const asyncFrames = asyncStackTrace.callFrames.map((frame) => {
|
|
124711
|
+
const isWasm = targetDebuggerModel?.isWasm(frame.scriptId) ?? false;
|
|
124712
|
+
return { ...frame, isWasm };
|
|
124713
|
+
});
|
|
124714
|
+
const asyncFragmentPromise = model.#createFragment(asyncFrames, rawFramesToUIFrames)
|
|
124555
124715
|
.then(fragment => new AsyncFragmentImpl(asyncStackTrace.description ?? '', fragment));
|
|
124556
124716
|
asyncFragments.push(asyncFragmentPromise);
|
|
124557
124717
|
}
|
|
@@ -124593,7 +124753,9 @@ class StackTraceModel extends SDKModel {
|
|
|
124593
124753
|
let i = 0;
|
|
124594
124754
|
let evalI = 0;
|
|
124595
124755
|
for (const node of fragment.node.getCallStack()) {
|
|
124596
|
-
|
|
124756
|
+
const group = uiFrames[i++];
|
|
124757
|
+
node.frames =
|
|
124758
|
+
group.map((frame, index) => new FrameImpl(frame.url, frame.uiSourceCode, frame.name, frame.line, frame.column, frame.missingDebugInfo, node.rawFrame.functionName, node.rawFrame.isWasm, index < group.length - 1));
|
|
124597
124759
|
if (node.parsedFrameInfo?.evalOrigin) {
|
|
124598
124760
|
node.evalOrigin = evalOrigins[evalI++];
|
|
124599
124761
|
}
|
|
@@ -124624,13 +124786,34 @@ class StackTraceModel extends SDKModel {
|
|
|
124624
124786
|
_a$4 = StackTraceModel;
|
|
124625
124787
|
async function translateEvalOrigin(rawFrame, rawFramesToUIFrames, target) {
|
|
124626
124788
|
const uiFrames = await rawFramesToUIFrames([rawFrame], target);
|
|
124627
|
-
const
|
|
124789
|
+
const group = uiFrames[0];
|
|
124790
|
+
const frames = group.map((frame, index) => new FrameImpl(frame.url, frame.uiSourceCode, frame.name, frame.line, frame.column, frame.missingDebugInfo, rawFrame.functionName, rawFrame.isWasm, index < group.length - 1));
|
|
124628
124791
|
let parentEvalOrigin;
|
|
124629
124792
|
if (rawFrame.parsedFrameInfo?.evalOrigin) {
|
|
124630
124793
|
parentEvalOrigin = await translateEvalOrigin(rawFrame.parsedFrameInfo.evalOrigin, rawFramesToUIFrames, target);
|
|
124631
124794
|
}
|
|
124632
124795
|
return new EvalOrigin(frames, parentEvalOrigin);
|
|
124633
124796
|
}
|
|
124797
|
+
function parseOrScriptMatch(debuggerModel, url) {
|
|
124798
|
+
if (!url) {
|
|
124799
|
+
return null;
|
|
124800
|
+
}
|
|
124801
|
+
if (ParsedURL.isValidUrlString(url)) {
|
|
124802
|
+
return url;
|
|
124803
|
+
}
|
|
124804
|
+
if (debuggerModel.scriptsForSourceURL(url).length) {
|
|
124805
|
+
return url;
|
|
124806
|
+
}
|
|
124807
|
+
try {
|
|
124808
|
+
const fileUrl = new URL(url, 'file://');
|
|
124809
|
+
if (debuggerModel.scriptsForSourceURL(fileUrl.href).length) {
|
|
124810
|
+
return fileUrl.href;
|
|
124811
|
+
}
|
|
124812
|
+
}
|
|
124813
|
+
catch {
|
|
124814
|
+
}
|
|
124815
|
+
return null;
|
|
124816
|
+
}
|
|
124634
124817
|
SDKModel.register(StackTraceModel, { capabilities: 0 , autostart: false });
|
|
124635
124818
|
|
|
124636
124819
|
// Copyright 2011 The Chromium Authors
|
|
@@ -128106,7 +128289,8 @@ class DefaultScriptMapping {
|
|
|
128106
128289
|
}
|
|
128107
128290
|
this.#uiSourceCodeToScript.set(uiSourceCode, script);
|
|
128108
128291
|
this.#scriptToUISourceCode.set(script, uiSourceCode);
|
|
128109
|
-
|
|
128292
|
+
const mimeType = script.isWasm() ? 'application/wasm' : 'text/javascript';
|
|
128293
|
+
this.#project.addUISourceCodeWithProvider(uiSourceCode, script, null, mimeType);
|
|
128110
128294
|
void this.#debuggerWorkspaceBinding.updateLocations(script);
|
|
128111
128295
|
}
|
|
128112
128296
|
discardedScriptSource(event) {
|
|
@@ -128555,6 +128739,7 @@ class SymbolizedErrorObject extends ObjectWrapper {
|
|
|
128555
128739
|
message;
|
|
128556
128740
|
stackTrace;
|
|
128557
128741
|
cause;
|
|
128742
|
+
#syntaxErrorLocation = null;
|
|
128558
128743
|
constructor(message, stackTrace, cause) {
|
|
128559
128744
|
super();
|
|
128560
128745
|
this.message = message;
|
|
@@ -128570,39 +128755,35 @@ class SymbolizedErrorObject extends ObjectWrapper {
|
|
|
128570
128755
|
this.cause.dispose();
|
|
128571
128756
|
}
|
|
128572
128757
|
}
|
|
128573
|
-
|
|
128574
|
-
this
|
|
128575
|
-
}
|
|
128576
|
-
}
|
|
128577
|
-
class SymbolizedSyntaxError extends ObjectWrapper {
|
|
128578
|
-
message;
|
|
128579
|
-
#uiLocation = null;
|
|
128580
|
-
constructor(message) {
|
|
128581
|
-
super();
|
|
128582
|
-
this.message = message;
|
|
128758
|
+
get syntaxErrorLocation() {
|
|
128759
|
+
return this.#syntaxErrorLocation;
|
|
128583
128760
|
}
|
|
128584
|
-
|
|
128585
|
-
return this.#uiLocation;
|
|
128586
|
-
}
|
|
128587
|
-
static async fromExceptionDetails(target, debuggerWorkspaceBinding, exceptionDetails) {
|
|
128761
|
+
static async createForSyntaxError(target, debuggerWorkspaceBinding, message, exceptionDetails, stackTrace, cause) {
|
|
128588
128762
|
const { exception, scriptId, lineNumber, columnNumber } = exceptionDetails;
|
|
128589
128763
|
if (!exception || exception.subtype !== 'error' || exception.className !== 'SyntaxError') {
|
|
128590
|
-
throw new Error('
|
|
128764
|
+
throw new Error('SymbolizedErrorObject.createForSyntaxError expects a SyntaxError');
|
|
128591
128765
|
}
|
|
128766
|
+
const symbolizedError = new SymbolizedErrorObject(message, stackTrace, cause);
|
|
128592
128767
|
if (!scriptId) {
|
|
128593
|
-
return
|
|
128768
|
+
return symbolizedError;
|
|
128594
128769
|
}
|
|
128595
|
-
const
|
|
128596
|
-
|
|
128597
|
-
|
|
128770
|
+
const topFrame = exceptionDetails.stackTrace?.callFrames[0];
|
|
128771
|
+
const isProgrammaticThrow = topFrame && topFrame.scriptId === scriptId && topFrame.lineNumber === lineNumber &&
|
|
128772
|
+
topFrame.columnNumber === columnNumber;
|
|
128773
|
+
if (!isProgrammaticThrow) {
|
|
128774
|
+
const debuggerModel = target.model(DebuggerModel);
|
|
128775
|
+
if (debuggerModel) {
|
|
128776
|
+
const rawLocation = debuggerModel.createRawLocationByScriptId(scriptId, lineNumber, columnNumber);
|
|
128777
|
+
await debuggerWorkspaceBinding.createLiveLocation(rawLocation, symbolizedError.#updateSyntaxErrorLocation.bind(symbolizedError), new LiveLocationPool());
|
|
128778
|
+
}
|
|
128598
128779
|
}
|
|
128599
|
-
|
|
128600
|
-
const symbolizedSyntaxError = new SymbolizedSyntaxError(exception.description || '');
|
|
128601
|
-
await debuggerWorkspaceBinding.createLiveLocation(rawLocation, symbolizedSyntaxError.#update.bind(symbolizedSyntaxError), new LiveLocationPool());
|
|
128602
|
-
return symbolizedSyntaxError;
|
|
128780
|
+
return symbolizedError;
|
|
128603
128781
|
}
|
|
128604
|
-
async #
|
|
128605
|
-
this.#
|
|
128782
|
+
async #updateSyntaxErrorLocation(liveLocation) {
|
|
128783
|
+
this.#syntaxErrorLocation = await liveLocation.uiLocation();
|
|
128784
|
+
this.dispatchEventToListeners("UPDATED" );
|
|
128785
|
+
}
|
|
128786
|
+
#fireUpdated() {
|
|
128606
128787
|
this.dispatchEventToListeners("UPDATED" );
|
|
128607
128788
|
}
|
|
128608
128789
|
}
|
|
@@ -128757,12 +128938,6 @@ class DebuggerWorkspaceBinding {
|
|
|
128757
128938
|
]);
|
|
128758
128939
|
fetchedExceptionDetails = details;
|
|
128759
128940
|
causeRemoteObject = causeRemote;
|
|
128760
|
-
if (remoteObject.className === 'SyntaxError' && fetchedExceptionDetails) {
|
|
128761
|
-
const syntaxError = await SymbolizedSyntaxError.fromExceptionDetails(remoteObject.runtimeModel().target(), this, fetchedExceptionDetails);
|
|
128762
|
-
if (syntaxError) {
|
|
128763
|
-
return syntaxError;
|
|
128764
|
-
}
|
|
128765
|
-
}
|
|
128766
128941
|
}
|
|
128767
128942
|
else if (remoteObject.type === 'string') {
|
|
128768
128943
|
errorStack = remoteObject.description || '';
|
|
@@ -128785,6 +128960,9 @@ class DebuggerWorkspaceBinding {
|
|
|
128785
128960
|
return new UnparsableError(errorStack, cause);
|
|
128786
128961
|
}
|
|
128787
128962
|
const message = parseMessage(errorStack);
|
|
128963
|
+
if (remoteObject.subtype === 'error' && remoteObject.className === 'SyntaxError' && fetchedExceptionDetails) {
|
|
128964
|
+
return await SymbolizedErrorObject.createForSyntaxError(remoteObject.runtimeModel().target(), this, message, fetchedExceptionDetails, stackTrace, cause);
|
|
128965
|
+
}
|
|
128788
128966
|
return new SymbolizedErrorObject(message, stackTrace, cause);
|
|
128789
128967
|
}
|
|
128790
128968
|
async createLiveLocation(rawLocation, updateDelegate, locationPool) {
|
|
@@ -130924,21 +131102,17 @@ class NetworkRequestFormatter {
|
|
|
130924
131102
|
return `${title}\n<binary data>`;
|
|
130925
131103
|
}
|
|
130926
131104
|
static formatInitiatorUrl(initiatorUrl, allowedOrigin) {
|
|
130927
|
-
|
|
130928
|
-
|
|
130929
|
-
|
|
130930
|
-
return initiatorUrl;
|
|
130931
|
-
}
|
|
130932
|
-
return '<redacted cross-origin initiator URL>';
|
|
130933
|
-
}
|
|
130934
|
-
catch {
|
|
130935
|
-
return '<redacted cross-origin initiator URL>';
|
|
131105
|
+
const initiatorOrigin = ParsedURL.extractOrigin(initiatorUrl);
|
|
131106
|
+
if (initiatorOrigin && initiatorOrigin === allowedOrigin) {
|
|
131107
|
+
return initiatorUrl;
|
|
130936
131108
|
}
|
|
131109
|
+
return '<redacted cross-origin initiator URL>';
|
|
130937
131110
|
}
|
|
130938
131111
|
static formatStatus(status) {
|
|
130939
131112
|
let responseStatus = '';
|
|
130940
131113
|
if (status.statusCode) {
|
|
130941
|
-
|
|
131114
|
+
const statusText = status.statusText ? ` ${status.statusText}` : '';
|
|
131115
|
+
responseStatus = `Response status: ${status.statusCode}${statusText}\n`;
|
|
130942
131116
|
}
|
|
130943
131117
|
const flags = [];
|
|
130944
131118
|
flags.push(status.finished ? 'finished' : 'pending');
|
|
@@ -131019,7 +131193,7 @@ Request initiator chain:\n${this.formatRequestInitiatorChain()}`;
|
|
|
131019
131193
|
});
|
|
131020
131194
|
}
|
|
131021
131195
|
formatRequestInitiatorChain() {
|
|
131022
|
-
const allowedOrigin =
|
|
131196
|
+
const allowedOrigin = ParsedURL.extractOrigin(this.#request.url());
|
|
131023
131197
|
let initiatorChain = '';
|
|
131024
131198
|
let lineStart = '- URL: ';
|
|
131025
131199
|
const graph = NetworkLog.instance().initiatorGraphForRequest(this.#request);
|
|
@@ -131553,7 +131727,7 @@ const markerTypeGuards = [
|
|
|
131553
131727
|
isMarkDOMContent,
|
|
131554
131728
|
isMarkLoad,
|
|
131555
131729
|
isFirstPaint,
|
|
131556
|
-
|
|
131730
|
+
isAnyFirstContentfulPaint,
|
|
131557
131731
|
isAnyLargestContentfulPaintCandidate,
|
|
131558
131732
|
isNavigationStart,
|
|
131559
131733
|
isSoftNavigationStart,
|
|
@@ -131563,6 +131737,7 @@ const MarkerName = [
|
|
|
131563
131737
|
"MarkLoad" ,
|
|
131564
131738
|
"firstPaint" ,
|
|
131565
131739
|
"firstContentfulPaint" ,
|
|
131740
|
+
"SyntheticSoftFirstContentfulPaint" ,
|
|
131566
131741
|
"largestContentfulPaint::Candidate" ,
|
|
131567
131742
|
"largestContentfulPaint::CandidateForSoftNavigation" ,
|
|
131568
131743
|
"navigationStart" ,
|
|
@@ -131806,6 +131981,12 @@ function isLayoutInvalidationTracking(event) {
|
|
|
131806
131981
|
function isFirstContentfulPaint(event) {
|
|
131807
131982
|
return event.name === "firstContentfulPaint" ;
|
|
131808
131983
|
}
|
|
131984
|
+
function isSoftFirstContentfulPaint(event) {
|
|
131985
|
+
return event.name === "SyntheticSoftFirstContentfulPaint" ;
|
|
131986
|
+
}
|
|
131987
|
+
function isAnyFirstContentfulPaint(event) {
|
|
131988
|
+
return event.name === "firstContentfulPaint" || event.name === "SyntheticSoftFirstContentfulPaint" ;
|
|
131989
|
+
}
|
|
131809
131990
|
function isAnyLargestContentfulPaintCandidate(event) {
|
|
131810
131991
|
return event.name === "largestContentfulPaint::Candidate" || event.name === "largestContentfulPaint::CandidateForSoftNavigation" ;
|
|
131811
131992
|
}
|
|
@@ -132107,6 +132288,7 @@ var TraceEvents = /*#__PURE__*/Object.freeze({
|
|
|
132107
132288
|
isAnimationFrameAsyncEnd: isAnimationFrameAsyncEnd,
|
|
132108
132289
|
isAnimationFrameAsyncStart: isAnimationFrameAsyncStart,
|
|
132109
132290
|
isAnimationFramePresentation: isAnimationFramePresentation,
|
|
132291
|
+
isAnyFirstContentfulPaint: isAnyFirstContentfulPaint,
|
|
132110
132292
|
isAnyLargestContentfulPaintCandidate: isAnyLargestContentfulPaintCandidate,
|
|
132111
132293
|
isAnyScriptSourceEvent: isAnyScriptSourceEvent,
|
|
132112
132294
|
isAuctionWorkletDoneWithProcess: isAuctionWorkletDoneWithProcess,
|
|
@@ -132223,6 +132405,7 @@ var TraceEvents = /*#__PURE__*/Object.freeze({
|
|
|
132223
132405
|
isScrollLayer: isScrollLayer,
|
|
132224
132406
|
isSelectorStats: isSelectorStats,
|
|
132225
132407
|
isSetLayerId: isSetLayerId,
|
|
132408
|
+
isSoftFirstContentfulPaint: isSoftFirstContentfulPaint,
|
|
132226
132409
|
isSoftLargestContentfulPaintCandidate: isSoftLargestContentfulPaintCandidate,
|
|
132227
132410
|
isSoftNavigationStart: isSoftNavigationStart,
|
|
132228
132411
|
isStyleInvalidatorInvalidationTracking: isStyleInvalidatorInvalidationTracking,
|
|
@@ -132504,6 +132687,18 @@ function timeStampForEventAdjustedByClosestNavigation(event, traceBounds, naviga
|
|
|
132504
132687
|
eventTimeStamp = event.ts - navigationForEvent.ts;
|
|
132505
132688
|
}
|
|
132506
132689
|
}
|
|
132690
|
+
else if (isSoftFirstContentfulPaint(event) && event.args?.context?.performanceTimelineNavigationId) {
|
|
132691
|
+
const navigationForEvent = softNavigationsById.get(event.args.context.performanceTimelineNavigationId);
|
|
132692
|
+
if (navigationForEvent) {
|
|
132693
|
+
eventTimeStamp = event.ts - navigationForEvent.ts;
|
|
132694
|
+
}
|
|
132695
|
+
}
|
|
132696
|
+
else if (isSoftNavigationStart(event)) {
|
|
132697
|
+
const navigationForEvent = getNavigationForTraceEvent(event, event.args.frame, navigationsByFrameId);
|
|
132698
|
+
if (navigationForEvent) {
|
|
132699
|
+
eventTimeStamp = event.ts - navigationForEvent.ts;
|
|
132700
|
+
}
|
|
132701
|
+
}
|
|
132507
132702
|
else if (event.args?.data?.navigationId) {
|
|
132508
132703
|
const navigationForEvent = navigationsByNavigationId.get(event.args.data.navigationId);
|
|
132509
132704
|
if (navigationForEvent) {
|
|
@@ -134660,6 +134855,13 @@ function handleEvent$o(event) {
|
|
|
134660
134855
|
}
|
|
134661
134856
|
async function finalize$H() {
|
|
134662
134857
|
const { rendererProcessesByFrame } = data$p();
|
|
134858
|
+
const allowedProtocols = [
|
|
134859
|
+
'blob:',
|
|
134860
|
+
'file:',
|
|
134861
|
+
'filesystem:',
|
|
134862
|
+
'http:',
|
|
134863
|
+
'https:',
|
|
134864
|
+
];
|
|
134663
134865
|
for (const [requestId, request] of requestMap.entries()) {
|
|
134664
134866
|
if (!request.sendRequests) {
|
|
134665
134867
|
continue;
|
|
@@ -134677,7 +134879,7 @@ async function finalize$H() {
|
|
|
134677
134879
|
dur = Micro(nextWillSendRequest.ts - willSendRequest.ts);
|
|
134678
134880
|
}
|
|
134679
134881
|
redirects.push({
|
|
134680
|
-
url: sendRequest.args.data.url,
|
|
134882
|
+
url: allowedProtocols.some(p => sendRequest.args.data.url.startsWith(p)) ? sendRequest.args.data.url : '',
|
|
134681
134883
|
priority: sendRequest.args.data.priority,
|
|
134682
134884
|
requestMethod: sendRequest.args.data.requestMethod,
|
|
134683
134885
|
ts,
|
|
@@ -134743,14 +134945,7 @@ async function finalize$H() {
|
|
|
134743
134945
|
lrServerResponseTime = Math.max(0, parseInt(ResponseMsHeader.value, 10));
|
|
134744
134946
|
}
|
|
134745
134947
|
}
|
|
134746
|
-
|
|
134747
|
-
'blob:',
|
|
134748
|
-
'file:',
|
|
134749
|
-
'filesystem:',
|
|
134750
|
-
'http:',
|
|
134751
|
-
'https:',
|
|
134752
|
-
];
|
|
134753
|
-
if (!allowedProtocols.some(p => firstSendRequest.args.data.url.startsWith(p))) {
|
|
134948
|
+
if (!allowedProtocols.some(p => finalSendRequest.args.data.url.startsWith(p))) {
|
|
134754
134949
|
continue;
|
|
134755
134950
|
}
|
|
134756
134951
|
const initialPriority = finalSendRequest.args.data.priority;
|
|
@@ -134863,7 +135058,10 @@ async function finalize$H() {
|
|
|
134863
135058
|
responseHeaders: request.receiveResponse?.args.data.headers ?? null,
|
|
134864
135059
|
fetchPriorityHint: finalSendRequest.args.data.fetchPriorityHint ?? 'auto',
|
|
134865
135060
|
initiator: finalSendRequest.args.data.initiator,
|
|
134866
|
-
stackTrace: finalSendRequest.args.data.stackTrace
|
|
135061
|
+
stackTrace: finalSendRequest.args.data.stackTrace?.map(frame => ({
|
|
135062
|
+
...frame,
|
|
135063
|
+
url: allowedProtocols.some(p => frame.url.startsWith(p)) ? frame.url : '',
|
|
135064
|
+
})),
|
|
134867
135065
|
timing,
|
|
134868
135066
|
lrServerResponseTime,
|
|
134869
135067
|
url,
|
|
@@ -137398,6 +137596,25 @@ function handleEvent$b(event) {
|
|
|
137398
137596
|
return;
|
|
137399
137597
|
}
|
|
137400
137598
|
pageLoadEventsArray.push(event);
|
|
137599
|
+
if (isSoftNavigationStart(event) && event.args?.context?.firstContentfulPaint) {
|
|
137600
|
+
const syntheticSoftFcpEvent = SyntheticEventsManager
|
|
137601
|
+
.registerSyntheticEvent({
|
|
137602
|
+
name: "SyntheticSoftFirstContentfulPaint" ,
|
|
137603
|
+
ph: "R" ,
|
|
137604
|
+
rawSourceEvent: event,
|
|
137605
|
+
pid: event.pid,
|
|
137606
|
+
tid: event.tid,
|
|
137607
|
+
ts: Micro(event.args.context.firstContentfulPaint),
|
|
137608
|
+
cat: event.cat,
|
|
137609
|
+
args: {
|
|
137610
|
+
frame: event.args.frame,
|
|
137611
|
+
context: {
|
|
137612
|
+
...event.args.context,
|
|
137613
|
+
},
|
|
137614
|
+
},
|
|
137615
|
+
});
|
|
137616
|
+
pageLoadEventsArray.push(syntheticSoftFcpEvent);
|
|
137617
|
+
}
|
|
137401
137618
|
}
|
|
137402
137619
|
function storePageLoadMetricAgainstNavigationId(navigation, event) {
|
|
137403
137620
|
const frameId = getFrameIdForPageLoadEvent(event);
|
|
@@ -137413,7 +137630,7 @@ function storePageLoadMetricAgainstNavigationId(navigation, event) {
|
|
|
137413
137630
|
if (isNavigationStart(event)) {
|
|
137414
137631
|
return;
|
|
137415
137632
|
}
|
|
137416
|
-
if (
|
|
137633
|
+
if (isAnyFirstContentfulPaint(event)) {
|
|
137417
137634
|
const fcpTime = Micro(event.ts - navigation.ts);
|
|
137418
137635
|
const classification = scoreClassificationForFirstContentfulPaint(fcpTime);
|
|
137419
137636
|
const metricScore = { event, metricName: "FCP" , classification, navigation, timing: fcpTime };
|
|
@@ -137523,7 +137740,7 @@ function storeMetricScore(frameId, navigation, metricScore) {
|
|
|
137523
137740
|
metrics.set(metricScore.metricName, metricScore);
|
|
137524
137741
|
}
|
|
137525
137742
|
function getFrameIdForPageLoadEvent(event) {
|
|
137526
|
-
if (
|
|
137743
|
+
if (isAnyFirstContentfulPaint(event) || isInteractiveTime(event) ||
|
|
137527
137744
|
isAnyLargestContentfulPaintCandidate(event) || isNavigationStart(event) ||
|
|
137528
137745
|
isSoftNavigationStart(event) || isLayoutShift(event) ||
|
|
137529
137746
|
isFirstPaint(event)) {
|
|
@@ -137539,7 +137756,7 @@ function getFrameIdForPageLoadEvent(event) {
|
|
|
137539
137756
|
assertNever(event, `Unexpected event type: ${event}`);
|
|
137540
137757
|
}
|
|
137541
137758
|
function getNavigationForPageLoadEvent(event) {
|
|
137542
|
-
if (
|
|
137759
|
+
if (isAnyFirstContentfulPaint(event) || isAnyLargestContentfulPaintCandidate(event) ||
|
|
137543
137760
|
isFirstPaint(event)) {
|
|
137544
137761
|
const { navigationsByNavigationId, softNavigationsById } = data$p();
|
|
137545
137762
|
let navigation;
|
|
@@ -137550,6 +137767,12 @@ function getNavigationForPageLoadEvent(event) {
|
|
|
137550
137767
|
return null;
|
|
137551
137768
|
}
|
|
137552
137769
|
}
|
|
137770
|
+
else if (isSoftFirstContentfulPaint(event) && event.args.context?.performanceTimelineNavigationId) {
|
|
137771
|
+
navigation = softNavigationsById.get(event.args.context.performanceTimelineNavigationId);
|
|
137772
|
+
if (!navigation) {
|
|
137773
|
+
return null;
|
|
137774
|
+
}
|
|
137775
|
+
}
|
|
137553
137776
|
else {
|
|
137554
137777
|
const navigationId = event.args.data?.navigationId;
|
|
137555
137778
|
if (!navigationId) {
|
|
@@ -137667,7 +137890,7 @@ async function finalize$u() {
|
|
|
137667
137890
|
const allFinalLCPEvents = gatherFinalLCPEvents();
|
|
137668
137891
|
const mainFrame = data$p().mainFrameId;
|
|
137669
137892
|
const allEventsButLCP = pageLoadEventsArray.filter(event => !isAnyLargestContentfulPaintCandidate(event));
|
|
137670
|
-
const markerEvents = [...
|
|
137893
|
+
const markerEvents = [...allEventsButLCP, ...allFinalLCPEvents].filter(isMarkerEvent);
|
|
137671
137894
|
allMarkerEvents =
|
|
137672
137895
|
markerEvents.filter(event => getFrameIdForPageLoadEvent(event) === mainFrame).sort((a, b) => a.ts - b.ts);
|
|
137673
137896
|
}
|
|
@@ -148184,10 +148407,12 @@ const UIStrings$r = {
|
|
|
148184
148407
|
wasmModuleCacheHit: 'Wasm module cache hit',
|
|
148185
148408
|
wasmModuleCacheInvalid: 'Wasm module cache invalid',
|
|
148186
148409
|
frameStartedLoading: 'Frame started loading',
|
|
148410
|
+
softNavigationStart: 'Soft navigation start',
|
|
148187
148411
|
onloadEvent: 'Onload event',
|
|
148188
148412
|
domcontentloadedEvent: 'DOMContentLoaded event',
|
|
148189
148413
|
firstPaint: 'First Paint',
|
|
148190
148414
|
firstContentfulPaint: 'First Contentful Paint',
|
|
148415
|
+
softFirstContentfulPaint: 'Soft First Contentful Paint',
|
|
148191
148416
|
largestContentfulPaint: 'Largest Contentful Paint',
|
|
148192
148417
|
softLargestContentfulPaint: 'Soft Largest Contentful Paint',
|
|
148193
148418
|
timestamp: 'Timestamp',
|
|
@@ -148386,8 +148611,10 @@ function maybeInitSylesMap() {
|
|
|
148386
148611
|
["FrameStartedLoading" ]: new TimelineRecordStyle(i18nString$c(UIStrings$r.frameStartedLoading), defaultCategoryStyles.loading, true),
|
|
148387
148612
|
["MarkLoad" ]: new TimelineRecordStyle(i18nString$c(UIStrings$r.onloadEvent), defaultCategoryStyles.scripting, true),
|
|
148388
148613
|
["MarkDOMContent" ]: new TimelineRecordStyle(i18nString$c(UIStrings$r.domcontentloadedEvent), defaultCategoryStyles.scripting, true),
|
|
148614
|
+
["SoftNavigationStart" ]: new TimelineRecordStyle(i18nString$c(UIStrings$r.softNavigationStart), defaultCategoryStyles.loading, true),
|
|
148389
148615
|
["firstPaint" ]: new TimelineRecordStyle(i18nString$c(UIStrings$r.firstPaint), defaultCategoryStyles.painting, true),
|
|
148390
148616
|
["firstContentfulPaint" ]: new TimelineRecordStyle(i18nString$c(UIStrings$r.firstContentfulPaint), defaultCategoryStyles.rendering, true),
|
|
148617
|
+
["SyntheticSoftFirstContentfulPaint" ]: new TimelineRecordStyle(i18nString$c(UIStrings$r.softFirstContentfulPaint), defaultCategoryStyles.rendering, true),
|
|
148391
148618
|
["largestContentfulPaint::Candidate" ]: new TimelineRecordStyle(i18nString$c(UIStrings$r.largestContentfulPaint), defaultCategoryStyles.rendering, true),
|
|
148392
148619
|
["largestContentfulPaint::CandidateForSoftNavigation" ]: new TimelineRecordStyle(i18nString$c(UIStrings$r.softLargestContentfulPaint), defaultCategoryStyles.rendering, true),
|
|
148393
148620
|
["TimeStamp" ]: new TimelineRecordStyle(i18nString$c(UIStrings$r.timestamp), defaultCategoryStyles.scripting),
|
|
@@ -148493,9 +148720,11 @@ function setTimelineMainEventCategories(categories) {
|
|
|
148493
148720
|
function markerDetailsForEvent(event) {
|
|
148494
148721
|
let title = '';
|
|
148495
148722
|
let color = 'var(--color-text-primary)';
|
|
148496
|
-
if (
|
|
148723
|
+
if (isAnyFirstContentfulPaint(event)) {
|
|
148497
148724
|
color = 'var(--sys-color-green-bright)';
|
|
148498
|
-
title =
|
|
148725
|
+
title = (isSoftFirstContentfulPaint(event)) ?
|
|
148726
|
+
"FCP*" :
|
|
148727
|
+
"FCP" ;
|
|
148499
148728
|
}
|
|
148500
148729
|
if (isAnyLargestContentfulPaintCandidate(event)) {
|
|
148501
148730
|
color = 'var(--sys-color-green)';
|
|
@@ -153261,10 +153490,14 @@ class Diff {
|
|
|
153261
153490
|
removedCount = 0;
|
|
153262
153491
|
addedSize = 0;
|
|
153263
153492
|
removedSize = 0;
|
|
153264
|
-
deletedIndexes = [];
|
|
153265
|
-
addedIndexes = [];
|
|
153266
153493
|
countDelta;
|
|
153267
153494
|
sizeDelta;
|
|
153495
|
+
addedIndexes = [];
|
|
153496
|
+
addedIds = [];
|
|
153497
|
+
addedSelfSizes = [];
|
|
153498
|
+
deletedIndexes = [];
|
|
153499
|
+
deletedIds = [];
|
|
153500
|
+
deletedSelfSizes = [];
|
|
153268
153501
|
constructor(name) {
|
|
153269
153502
|
this.name = name;
|
|
153270
153503
|
}
|
|
@@ -153584,6 +153817,9 @@ class HeapSnapshotProxy extends HeapSnapshotProxyObject {
|
|
|
153584
153817
|
nodeClassKey(snapshotObjectId) {
|
|
153585
153818
|
return this.callMethodPromise('nodeClassKey', snapshotObjectId);
|
|
153586
153819
|
}
|
|
153820
|
+
nodeIndexForId(nodeId) {
|
|
153821
|
+
return this.callMethodPromise('nodeIndexForId', nodeId);
|
|
153822
|
+
}
|
|
153587
153823
|
createEdgesProvider(nodeIndex) {
|
|
153588
153824
|
return this.callFactoryMethod('createEdgesProvider', HeapSnapshotProviderProxy, nodeIndex);
|
|
153589
153825
|
}
|
|
@@ -153644,6 +153880,9 @@ class HeapSnapshotProxy extends HeapSnapshotProxyObject {
|
|
|
153644
153880
|
getRetainingPaths(nodeIndex, maxDepth, maxNodes, maxSiblings) {
|
|
153645
153881
|
return this.callMethodPromise('getRetainingPaths', nodeIndex, maxDepth, maxNodes, maxSiblings);
|
|
153646
153882
|
}
|
|
153883
|
+
getDominatorsOf(nodeIndex) {
|
|
153884
|
+
return this.callMethodPromise('getDominatorsOf', nodeIndex);
|
|
153885
|
+
}
|
|
153647
153886
|
unignoreNodeInRetainersView(nodeIndex) {
|
|
153648
153887
|
return this.callMethodPromise('unignoreNodeInRetainersView', nodeIndex);
|
|
153649
153888
|
}
|
|
@@ -155911,6 +156150,8 @@ const UIStrings$h = {
|
|
|
155911
156150
|
UnloadHandler: "Unload event listeners are deprecated and will be removed.",
|
|
155912
156151
|
V8SharedArrayBufferConstructedInExtensionWithoutIsolation: "Extensions should opt into cross-origin isolation to continue using `SharedArrayBuffer`. See https://developer.chrome.com/docs/extensions/mv3/cross-origin-isolation/.",
|
|
155913
156152
|
WebBluetoothRemoteCharacteristicWriteValue: "`BluetoothRemoteGATTCharacteristic.writeValue()` is deprecated. Use `writeValueWithResponse()` or `writeValueWithoutResponse()` instead.",
|
|
156153
|
+
WebTransportDatagramDuplexStreamIncomingHighWaterMark: "WebTransportDatagramDuplexStream.incomingHighWaterMark has been renamed to incomingMaxBufferedDatagrams. incomingHighWaterMark will be removed in a future version of Chrome.",
|
|
156154
|
+
WebTransportDatagramDuplexStreamOutgoingHighWaterMark: "WebTransportDatagramDuplexStream.outgoingHighWaterMark has been renamed to outgoingMaxBufferedDatagrams. outgoingHighWaterMark will be removed in a future version of Chrome.",
|
|
155914
156155
|
XHRJSONEncodingDetection: "UTF-16 is not supported by response json in `XMLHttpRequest`",
|
|
155915
156156
|
XMLHttpRequestSynchronousInNonWorkerOutsideBeforeUnload: "Synchronous `XMLHttpRequest` on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.",
|
|
155916
156157
|
XSLT: "XSLTProcessor and XSLT Processing Instructions have been deprecated by all browsers. These features will be removed from this browser soon.",
|
|
@@ -156061,6 +156302,14 @@ const DEPRECATIONS_METADATA = {
|
|
|
156061
156302
|
"WebBluetoothRemoteCharacteristicWriteValue": {
|
|
156062
156303
|
"chromeStatusFeature": 5088568590598144
|
|
156063
156304
|
},
|
|
156305
|
+
"WebTransportDatagramDuplexStreamIncomingHighWaterMark": {
|
|
156306
|
+
"chromeStatusFeature": 5143839699501056,
|
|
156307
|
+
"milestone": 156
|
|
156308
|
+
},
|
|
156309
|
+
"WebTransportDatagramDuplexStreamOutgoingHighWaterMark": {
|
|
156310
|
+
"chromeStatusFeature": 5143839699501056,
|
|
156311
|
+
"milestone": 156
|
|
156312
|
+
},
|
|
156064
156313
|
"XHRJSONEncodingDetection": {
|
|
156065
156314
|
"milestone": 93
|
|
156066
156315
|
},
|
|
@@ -159048,6 +159297,9 @@ const issueCodeHandlers = new Map([
|
|
|
159048
159297
|
SelectivePermissionsInterventionIssue.fromInspectorIssue,
|
|
159049
159298
|
],
|
|
159050
159299
|
]);
|
|
159300
|
+
function isIssueCodeSupported(code) {
|
|
159301
|
+
return issueCodeHandlers.has(code);
|
|
159302
|
+
}
|
|
159051
159303
|
function createIssuesFromProtocolIssue(issuesModel, inspectorIssue) {
|
|
159052
159304
|
const handler = issueCodeHandlers.get(inspectorIssue.code);
|
|
159053
159305
|
if (handler) {
|
|
@@ -159321,7 +159573,8 @@ var mcp = /*#__PURE__*/Object.freeze({
|
|
|
159321
159573
|
Target: Target,
|
|
159322
159574
|
TargetManager: TargetManager,
|
|
159323
159575
|
TraceEngine: trace,
|
|
159324
|
-
createIssuesFromProtocolIssue: createIssuesFromProtocolIssue
|
|
159576
|
+
createIssuesFromProtocolIssue: createIssuesFromProtocolIssue,
|
|
159577
|
+
isIssueCodeSupported: isIssueCodeSupported
|
|
159325
159578
|
});
|
|
159326
159579
|
|
|
159327
159580
|
/**
|