chrome-devtools-mcp 0.20.0 → 0.20.1
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 +8 -0
- package/build/src/DevtoolsUtils.js +0 -46
- package/build/src/McpContext.js +12 -32
- package/build/src/third_party/THIRD_PARTY_NOTICES +1 -1
- package/build/src/third_party/bundled-packages.json +2 -2
- package/build/src/third_party/devtools-formatter-worker.js +0 -1
- package/build/src/third_party/index.js +160 -12
- package/build/src/version.js +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -228,10 +228,18 @@ Configure the following fields and press `CTRL+S` to save the configuration:
|
|
|
228
228
|
Follow the MCP install <a href="https://code.visualstudio.com/docs/copilot/chat/mcp-servers#_add-an-mcp-server">guide</a>,
|
|
229
229
|
with the standard config from above. You can also install the Chrome DevTools MCP server using the VS Code CLI:
|
|
230
230
|
|
|
231
|
+
For macOS and Linux:
|
|
232
|
+
|
|
231
233
|
```bash
|
|
232
234
|
code --add-mcp '{"name":"io.github.ChromeDevTools/chrome-devtools-mcp","command":"npx","args":["-y","chrome-devtools-mcp"],"env":{}}'
|
|
233
235
|
```
|
|
234
236
|
|
|
237
|
+
For Windows (PowerShell):
|
|
238
|
+
|
|
239
|
+
```powershell
|
|
240
|
+
code --add-mcp '{"""name""":"""io.github.ChromeDevTools/chrome-devtools-mcp""","""command""":"""npx""","""args""":["""-y""","""chrome-devtools-mcp"""]}'
|
|
241
|
+
```
|
|
242
|
+
|
|
235
243
|
</details>
|
|
236
244
|
|
|
237
245
|
<details>
|
|
@@ -6,52 +6,6 @@
|
|
|
6
6
|
import { PuppeteerDevToolsConnection } from './DevToolsConnectionAdapter.js';
|
|
7
7
|
import { Mutex } from './Mutex.js';
|
|
8
8
|
import { DevTools } from './third_party/index.js';
|
|
9
|
-
export function extractUrlLikeFromDevToolsTitle(title) {
|
|
10
|
-
const match = title.match(new RegExp(`DevTools - (.*)`));
|
|
11
|
-
return match?.[1] ?? undefined;
|
|
12
|
-
}
|
|
13
|
-
export function urlsEqual(url1, url2) {
|
|
14
|
-
const normalizedUrl1 = normalizeUrl(url1);
|
|
15
|
-
const normalizedUrl2 = normalizeUrl(url2);
|
|
16
|
-
return normalizedUrl1 === normalizedUrl2;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* For the sake of the MCP server, when we determine if two URLs are equal we
|
|
20
|
-
* remove some parts:
|
|
21
|
-
*
|
|
22
|
-
* 1. We do not care about the protocol.
|
|
23
|
-
* 2. We do not care about trailing slashes.
|
|
24
|
-
* 3. We do not care about "www".
|
|
25
|
-
* 4. We ignore the hash parts.
|
|
26
|
-
*
|
|
27
|
-
* For example, if the user types "record a trace on foo.com", we would want to
|
|
28
|
-
* match a tab in the connected Chrome instance that is showing "www.foo.com/"
|
|
29
|
-
*/
|
|
30
|
-
function normalizeUrl(url) {
|
|
31
|
-
let result = url.trim();
|
|
32
|
-
// Remove protocols
|
|
33
|
-
if (result.startsWith('https://')) {
|
|
34
|
-
result = result.slice(8);
|
|
35
|
-
}
|
|
36
|
-
else if (result.startsWith('http://')) {
|
|
37
|
-
result = result.slice(7);
|
|
38
|
-
}
|
|
39
|
-
// Remove 'www.'. This ensures that we find the right URL regardless of if the user adds `www` or not.
|
|
40
|
-
if (result.startsWith('www.')) {
|
|
41
|
-
result = result.slice(4);
|
|
42
|
-
}
|
|
43
|
-
// We use target URLs to locate DevTools but those often do
|
|
44
|
-
// no include hash.
|
|
45
|
-
const hashIdx = result.lastIndexOf('#');
|
|
46
|
-
if (hashIdx !== -1) {
|
|
47
|
-
result = result.slice(0, hashIdx);
|
|
48
|
-
}
|
|
49
|
-
// Remove trailing slash
|
|
50
|
-
if (result.endsWith('/')) {
|
|
51
|
-
result = result.slice(0, -1);
|
|
52
|
-
}
|
|
53
|
-
return result;
|
|
54
|
-
}
|
|
55
9
|
/**
|
|
56
10
|
* A mock implementation of an issues manager that only implements the methods
|
|
57
11
|
* that are actually used by the IssuesAggregator
|
package/build/src/McpContext.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import fs from 'node:fs/promises';
|
|
7
7
|
import path from 'node:path';
|
|
8
|
-
import {
|
|
8
|
+
import { UniverseManager } from './DevtoolsUtils.js';
|
|
9
9
|
import { McpPage } from './McpPage.js';
|
|
10
10
|
import { NetworkCollector, ConsoleCollector } from './PageCollector.js';
|
|
11
11
|
import { Locator } from './third_party/index.js';
|
|
@@ -467,38 +467,18 @@ export class McpContext {
|
|
|
467
467
|
async detectOpenDevToolsWindows() {
|
|
468
468
|
this.logger('Detecting open DevTools windows');
|
|
469
469
|
const { pages } = await this.#getAllPages();
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
mcpPage
|
|
473
|
-
|
|
474
|
-
for (const devToolsPage of pages) {
|
|
475
|
-
if (devToolsPage.url().startsWith('devtools://')) {
|
|
476
|
-
try {
|
|
477
|
-
this.logger('Calling getTargetInfo for ' + devToolsPage.url());
|
|
478
|
-
const data = await devToolsPage
|
|
479
|
-
// @ts-expect-error no types for _client().
|
|
480
|
-
._client()
|
|
481
|
-
.send('Target.getTargetInfo');
|
|
482
|
-
const devtoolsPageTitle = data.targetInfo.title;
|
|
483
|
-
const urlLike = extractUrlLikeFromDevToolsTitle(devtoolsPageTitle);
|
|
484
|
-
if (!urlLike) {
|
|
485
|
-
continue;
|
|
486
|
-
}
|
|
487
|
-
// TODO: lookup without a loop.
|
|
488
|
-
for (const page of this.#pages) {
|
|
489
|
-
if (urlsEqual(page.url(), urlLike)) {
|
|
490
|
-
const mcpPage = this.#mcpPages.get(page);
|
|
491
|
-
if (mcpPage) {
|
|
492
|
-
mcpPage.devToolsPage = devToolsPage;
|
|
493
|
-
}
|
|
494
|
-
}
|
|
495
|
-
}
|
|
496
|
-
}
|
|
497
|
-
catch (error) {
|
|
498
|
-
this.logger('Issue occurred while trying to find DevTools', error);
|
|
499
|
-
}
|
|
470
|
+
await Promise.all(pages.map(async (page) => {
|
|
471
|
+
const mcpPage = this.#mcpPages.get(page);
|
|
472
|
+
if (!mcpPage) {
|
|
473
|
+
return;
|
|
500
474
|
}
|
|
501
|
-
|
|
475
|
+
if (await page.hasDevTools()) {
|
|
476
|
+
mcpPage.devToolsPage = await page.openDevTools();
|
|
477
|
+
}
|
|
478
|
+
else {
|
|
479
|
+
mcpPage.devToolsPage = undefined;
|
|
480
|
+
}
|
|
481
|
+
}));
|
|
502
482
|
}
|
|
503
483
|
getExtensionServiceWorkers() {
|
|
504
484
|
return this.#extensionServiceWorkers;
|
|
@@ -768,7 +768,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
|
|
|
768
768
|
|
|
769
769
|
Name: puppeteer-core
|
|
770
770
|
URL: https://github.com/puppeteer/puppeteer/tree/main/packages/puppeteer-core
|
|
771
|
-
Version: 24.39.
|
|
771
|
+
Version: 24.39.1
|
|
772
772
|
License: Apache-2.0
|
|
773
773
|
|
|
774
774
|
-------------------- DEPENDENCY DIVIDER --------------------
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"@modelcontextprotocol/sdk": "1.27.1",
|
|
3
|
-
"chrome-devtools-frontend": "1.0.
|
|
3
|
+
"chrome-devtools-frontend": "1.0.1596260",
|
|
4
4
|
"core-js": "3.48.0",
|
|
5
5
|
"debug": "4.4.3",
|
|
6
6
|
"lighthouse": "13.0.3",
|
|
7
7
|
"yargs": "18.0.0",
|
|
8
|
-
"puppeteer-core": "24.39.
|
|
8
|
+
"puppeteer-core": "24.39.1"
|
|
9
9
|
}
|
|
@@ -3126,7 +3126,6 @@ var ExperimentName;
|
|
|
3126
3126
|
ExperimentName["AUTHORED_DEPLOYED_GROUPING"] = "authored-deployed-grouping";
|
|
3127
3127
|
ExperimentName["JUST_MY_CODE"] = "just-my-code";
|
|
3128
3128
|
ExperimentName["USE_SOURCE_MAP_SCOPES"] = "use-source-map-scopes";
|
|
3129
|
-
ExperimentName["TIMELINE_SHOW_POST_MESSAGE_EVENTS"] = "timeline-show-postmessage-events";
|
|
3130
3129
|
ExperimentName["TIMELINE_DEBUG_MODE"] = "timeline-debug-mode";
|
|
3131
3130
|
ExperimentName["DURABLE_MESSAGES"] = "durable-messages";
|
|
3132
3131
|
ExperimentName["JPEG_XL"] = "jpeg-xl";
|
|
@@ -41893,7 +41893,7 @@ function mergeUint8Arrays(items) {
|
|
|
41893
41893
|
* Copyright 2025 Google Inc.
|
|
41894
41894
|
* SPDX-License-Identifier: Apache-2.0
|
|
41895
41895
|
*/
|
|
41896
|
-
const packageVersion = '24.39.
|
|
41896
|
+
const packageVersion = '24.39.1';
|
|
41897
41897
|
|
|
41898
41898
|
/**
|
|
41899
41899
|
* @license
|
|
@@ -56846,9 +56846,9 @@ class Puppeteer {
|
|
|
56846
56846
|
* SPDX-License-Identifier: Apache-2.0
|
|
56847
56847
|
*/
|
|
56848
56848
|
const PUPPETEER_REVISIONS = Object.freeze({
|
|
56849
|
-
chrome: '146.0.7680.
|
|
56850
|
-
'chrome-headless-shell': '146.0.7680.
|
|
56851
|
-
firefox: 'stable_148.0',
|
|
56849
|
+
chrome: '146.0.7680.76',
|
|
56850
|
+
'chrome-headless-shell': '146.0.7680.76',
|
|
56851
|
+
firefox: 'stable_148.0.2',
|
|
56852
56852
|
});
|
|
56853
56853
|
|
|
56854
56854
|
/**
|
|
@@ -91604,7 +91604,6 @@ var ExperimentName;
|
|
|
91604
91604
|
ExperimentName["AUTHORED_DEPLOYED_GROUPING"] = "authored-deployed-grouping";
|
|
91605
91605
|
ExperimentName["JUST_MY_CODE"] = "just-my-code";
|
|
91606
91606
|
ExperimentName["USE_SOURCE_MAP_SCOPES"] = "use-source-map-scopes";
|
|
91607
|
-
ExperimentName["TIMELINE_SHOW_POST_MESSAGE_EVENTS"] = "timeline-show-postmessage-events";
|
|
91608
91607
|
ExperimentName["TIMELINE_DEBUG_MODE"] = "timeline-debug-mode";
|
|
91609
91608
|
ExperimentName["DURABLE_MESSAGES"] = "durable-messages";
|
|
91610
91609
|
ExperimentName["JPEG_XL"] = "jpeg-xl";
|
|
@@ -102393,13 +102392,12 @@ function registerCommands(inspectorBackend) {
|
|
|
102393
102392
|
inspectorBackend.registerEnum("Audits.PropertyRuleIssueReason", { InvalidSyntax: "InvalidSyntax", InvalidInitialValue: "InvalidInitialValue", InvalidInherits: "InvalidInherits", InvalidName: "InvalidName" });
|
|
102394
102393
|
inspectorBackend.registerEnum("Audits.UserReidentificationIssueType", { BlockedFrameNavigation: "BlockedFrameNavigation", BlockedSubresource: "BlockedSubresource", NoisedCanvasReadback: "NoisedCanvasReadback" });
|
|
102395
102394
|
inspectorBackend.registerEnum("Audits.PermissionElementIssueType", { InvalidType: "InvalidType", FencedFrameDisallowed: "FencedFrameDisallowed", CspFrameAncestorsMissing: "CspFrameAncestorsMissing", PermissionsPolicyBlocked: "PermissionsPolicyBlocked", PaddingRightUnsupported: "PaddingRightUnsupported", PaddingBottomUnsupported: "PaddingBottomUnsupported", InsetBoxShadowUnsupported: "InsetBoxShadowUnsupported", RequestInProgress: "RequestInProgress", UntrustedEvent: "UntrustedEvent", RegistrationFailed: "RegistrationFailed", TypeNotSupported: "TypeNotSupported", InvalidTypeActivation: "InvalidTypeActivation", SecurityChecksFailed: "SecurityChecksFailed", ActivationDisabled: "ActivationDisabled", GeolocationDeprecated: "GeolocationDeprecated", InvalidDisplayStyle: "InvalidDisplayStyle", NonOpaqueColor: "NonOpaqueColor", LowContrast: "LowContrast", FontSizeTooSmall: "FontSizeTooSmall", FontSizeTooLarge: "FontSizeTooLarge", InvalidSizeValue: "InvalidSizeValue" });
|
|
102396
|
-
inspectorBackend.registerEnum("Audits.InspectorIssueCode", { CookieIssue: "CookieIssue", MixedContentIssue: "MixedContentIssue", BlockedByResponseIssue: "BlockedByResponseIssue", HeavyAdIssue: "HeavyAdIssue", ContentSecurityPolicyIssue: "ContentSecurityPolicyIssue", SharedArrayBufferIssue: "SharedArrayBufferIssue",
|
|
102395
|
+
inspectorBackend.registerEnum("Audits.InspectorIssueCode", { CookieIssue: "CookieIssue", MixedContentIssue: "MixedContentIssue", BlockedByResponseIssue: "BlockedByResponseIssue", HeavyAdIssue: "HeavyAdIssue", ContentSecurityPolicyIssue: "ContentSecurityPolicyIssue", SharedArrayBufferIssue: "SharedArrayBufferIssue", CorsIssue: "CorsIssue", AttributionReportingIssue: "AttributionReportingIssue", QuirksModeIssue: "QuirksModeIssue", PartitioningBlobURLIssue: "PartitioningBlobURLIssue", NavigatorUserAgentIssue: "NavigatorUserAgentIssue", GenericIssue: "GenericIssue", DeprecationIssue: "DeprecationIssue", ClientHintIssue: "ClientHintIssue", FederatedAuthRequestIssue: "FederatedAuthRequestIssue", BounceTrackingIssue: "BounceTrackingIssue", CookieDeprecationMetadataIssue: "CookieDeprecationMetadataIssue", StylesheetLoadingIssue: "StylesheetLoadingIssue", FederatedAuthUserInfoRequestIssue: "FederatedAuthUserInfoRequestIssue", PropertyRuleIssue: "PropertyRuleIssue", SharedDictionaryIssue: "SharedDictionaryIssue", ElementAccessibilityIssue: "ElementAccessibilityIssue", SRIMessageSignatureIssue: "SRIMessageSignatureIssue", UnencodedDigestIssue: "UnencodedDigestIssue", ConnectionAllowlistIssue: "ConnectionAllowlistIssue", UserReidentificationIssue: "UserReidentificationIssue", PermissionElementIssue: "PermissionElementIssue", PerformanceIssue: "PerformanceIssue", SelectivePermissionsInterventionIssue: "SelectivePermissionsInterventionIssue" });
|
|
102397
102396
|
inspectorBackend.registerEvent("Audits.issueAdded", ["issue"]);
|
|
102398
102397
|
inspectorBackend.registerEnum("Audits.GetEncodedResponseRequestEncoding", { Webp: "webp", Jpeg: "jpeg", Png: "png" });
|
|
102399
102398
|
inspectorBackend.registerCommand("Audits.getEncodedResponse", [{ "name": "requestId", "type": "string", "optional": false, "description": "Identifier of the network request to get content for.", "typeRef": "Network.RequestId" }, { "name": "encoding", "type": "string", "optional": false, "description": "The encoding to use.", "typeRef": "Audits.GetEncodedResponseRequestEncoding" }, { "name": "quality", "type": "number", "optional": true, "description": "The quality of the encoding (0-1). (defaults to 1)", "typeRef": null }, { "name": "sizeOnly", "type": "boolean", "optional": true, "description": "Whether to only return the size information (defaults to false).", "typeRef": null }], ["body", "originalSize", "encodedSize"], "Returns the response body and size if it were re-encoded with the specified settings. Only applies to images.");
|
|
102400
102399
|
inspectorBackend.registerCommand("Audits.disable", [], [], "Disables issues domain, prevents further issues from being reported to the client.");
|
|
102401
102400
|
inspectorBackend.registerCommand("Audits.enable", [], [], "Enables issues domain, sends the issues collected so far to the client by means of the `issueAdded` event.");
|
|
102402
|
-
inspectorBackend.registerCommand("Audits.checkContrast", [{ "name": "reportAAA", "type": "boolean", "optional": true, "description": "Whether to report WCAG AAA level issues. Default is false.", "typeRef": null }], [], "Runs the contrast check for the target page. Found issues are reported using Audits.issueAdded event.");
|
|
102403
102401
|
inspectorBackend.registerCommand("Audits.checkFormsIssues", [], ["formIssues"], "Runs the form issues check for the target page. Found issues are reported using Audits.issueAdded event.");
|
|
102404
102402
|
inspectorBackend.registerType("Audits.AffectedCookie", [{ "name": "name", "type": "string", "optional": false, "description": "The following three properties uniquely identify a cookie", "typeRef": null }, { "name": "path", "type": "string", "optional": false, "description": "", "typeRef": null }, { "name": "domain", "type": "string", "optional": false, "description": "", "typeRef": null }]);
|
|
102405
102403
|
inspectorBackend.registerType("Audits.AffectedRequest", [{ "name": "requestId", "type": "string", "optional": true, "description": "The unique request id.", "typeRef": "Network.RequestId" }, { "name": "url", "type": "string", "optional": false, "description": "", "typeRef": null }]);
|
|
@@ -102413,7 +102411,6 @@ function registerCommands(inspectorBackend) {
|
|
|
102413
102411
|
inspectorBackend.registerType("Audits.SourceCodeLocation", [{ "name": "scriptId", "type": "string", "optional": true, "description": "", "typeRef": "Runtime.ScriptId" }, { "name": "url", "type": "string", "optional": false, "description": "", "typeRef": null }, { "name": "lineNumber", "type": "number", "optional": false, "description": "", "typeRef": null }, { "name": "columnNumber", "type": "number", "optional": false, "description": "", "typeRef": null }]);
|
|
102414
102412
|
inspectorBackend.registerType("Audits.ContentSecurityPolicyIssueDetails", [{ "name": "blockedURL", "type": "string", "optional": true, "description": "The url not included in allowed sources.", "typeRef": null }, { "name": "violatedDirective", "type": "string", "optional": false, "description": "Specific directive that is violated, causing the CSP issue.", "typeRef": null }, { "name": "isReportOnly", "type": "boolean", "optional": false, "description": "", "typeRef": null }, { "name": "contentSecurityPolicyViolationType", "type": "string", "optional": false, "description": "", "typeRef": "Audits.ContentSecurityPolicyViolationType" }, { "name": "frameAncestor", "type": "object", "optional": true, "description": "", "typeRef": "Audits.AffectedFrame" }, { "name": "sourceCodeLocation", "type": "object", "optional": true, "description": "", "typeRef": "Audits.SourceCodeLocation" }, { "name": "violatingNodeId", "type": "number", "optional": true, "description": "", "typeRef": "DOM.BackendNodeId" }]);
|
|
102415
102413
|
inspectorBackend.registerType("Audits.SharedArrayBufferIssueDetails", [{ "name": "sourceCodeLocation", "type": "object", "optional": false, "description": "", "typeRef": "Audits.SourceCodeLocation" }, { "name": "isWarning", "type": "boolean", "optional": false, "description": "", "typeRef": null }, { "name": "type", "type": "string", "optional": false, "description": "", "typeRef": "Audits.SharedArrayBufferIssueType" }]);
|
|
102416
|
-
inspectorBackend.registerType("Audits.LowTextContrastIssueDetails", [{ "name": "violatingNodeId", "type": "number", "optional": false, "description": "", "typeRef": "DOM.BackendNodeId" }, { "name": "violatingNodeSelector", "type": "string", "optional": false, "description": "", "typeRef": null }, { "name": "contrastRatio", "type": "number", "optional": false, "description": "", "typeRef": null }, { "name": "thresholdAA", "type": "number", "optional": false, "description": "", "typeRef": null }, { "name": "thresholdAAA", "type": "number", "optional": false, "description": "", "typeRef": null }, { "name": "fontSize", "type": "string", "optional": false, "description": "", "typeRef": null }, { "name": "fontWeight", "type": "string", "optional": false, "description": "", "typeRef": null }]);
|
|
102417
102414
|
inspectorBackend.registerType("Audits.CorsIssueDetails", [{ "name": "corsErrorStatus", "type": "object", "optional": false, "description": "", "typeRef": "Network.CorsErrorStatus" }, { "name": "isWarning", "type": "boolean", "optional": false, "description": "", "typeRef": null }, { "name": "request", "type": "object", "optional": false, "description": "", "typeRef": "Audits.AffectedRequest" }, { "name": "location", "type": "object", "optional": true, "description": "", "typeRef": "Audits.SourceCodeLocation" }, { "name": "initiatorOrigin", "type": "string", "optional": true, "description": "", "typeRef": null }, { "name": "resourceIPAddressSpace", "type": "string", "optional": true, "description": "", "typeRef": "Network.IPAddressSpace" }, { "name": "clientSecurityState", "type": "object", "optional": true, "description": "", "typeRef": "Network.ClientSecurityState" }]);
|
|
102418
102415
|
inspectorBackend.registerType("Audits.AttributionReportingIssueDetails", [{ "name": "violationType", "type": "string", "optional": false, "description": "", "typeRef": "Audits.AttributionReportingIssueType" }, { "name": "request", "type": "object", "optional": true, "description": "", "typeRef": "Audits.AffectedRequest" }, { "name": "violatingNodeId", "type": "number", "optional": true, "description": "", "typeRef": "DOM.BackendNodeId" }, { "name": "invalidParameter", "type": "string", "optional": true, "description": "", "typeRef": null }]);
|
|
102419
102416
|
inspectorBackend.registerType("Audits.QuirksModeIssueDetails", [{ "name": "isLimitedQuirksMode", "type": "boolean", "optional": false, "description": "If false, it means the document's mode is \\\"quirks\\\" instead of \\\"limited-quirks\\\".", "typeRef": null }, { "name": "documentNodeId", "type": "number", "optional": false, "description": "", "typeRef": "DOM.BackendNodeId" }, { "name": "url", "type": "string", "optional": false, "description": "", "typeRef": null }, { "name": "frameId", "type": "string", "optional": false, "description": "", "typeRef": "Page.FrameId" }, { "name": "loaderId", "type": "string", "optional": false, "description": "", "typeRef": "Network.LoaderId" }]);
|
|
@@ -102439,7 +102436,7 @@ function registerCommands(inspectorBackend) {
|
|
|
102439
102436
|
inspectorBackend.registerType("Audits.AdScriptIdentifier", [{ "name": "scriptId", "type": "string", "optional": false, "description": "The script's v8 identifier.", "typeRef": "Runtime.ScriptId" }, { "name": "debuggerId", "type": "string", "optional": false, "description": "v8's debugging id for the v8::Context.", "typeRef": "Runtime.UniqueDebuggerId" }, { "name": "name", "type": "string", "optional": false, "description": "The script's url (or generated name based on id if inline script).", "typeRef": null }]);
|
|
102440
102437
|
inspectorBackend.registerType("Audits.AdAncestry", [{ "name": "adAncestryChain", "type": "array", "optional": false, "description": "The ad-script in the stack when the offending script was loaded. This is recursive down to the root script that was tagged due to the filterlist rule.", "typeRef": "Audits.AdScriptIdentifier" }, { "name": "rootScriptFilterlistRule", "type": "string", "optional": true, "description": "The filterlist rule that caused the root (last) script in `adAncestry` to be ad-tagged.", "typeRef": null }]);
|
|
102441
102438
|
inspectorBackend.registerType("Audits.SelectivePermissionsInterventionIssueDetails", [{ "name": "apiName", "type": "string", "optional": false, "description": "Which API was intervened on.", "typeRef": null }, { "name": "adAncestry", "type": "object", "optional": false, "description": "Why the ad script using the API is considered an ad.", "typeRef": "Audits.AdAncestry" }, { "name": "stackTrace", "type": "object", "optional": true, "description": "The stack trace at the time of the intervention.", "typeRef": "Runtime.StackTrace" }]);
|
|
102442
|
-
inspectorBackend.registerType("Audits.InspectorIssueDetails", [{ "name": "cookieIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.CookieIssueDetails" }, { "name": "mixedContentIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.MixedContentIssueDetails" }, { "name": "blockedByResponseIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.BlockedByResponseIssueDetails" }, { "name": "heavyAdIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.HeavyAdIssueDetails" }, { "name": "contentSecurityPolicyIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.ContentSecurityPolicyIssueDetails" }, { "name": "sharedArrayBufferIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.SharedArrayBufferIssueDetails" }, { "name": "
|
|
102439
|
+
inspectorBackend.registerType("Audits.InspectorIssueDetails", [{ "name": "cookieIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.CookieIssueDetails" }, { "name": "mixedContentIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.MixedContentIssueDetails" }, { "name": "blockedByResponseIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.BlockedByResponseIssueDetails" }, { "name": "heavyAdIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.HeavyAdIssueDetails" }, { "name": "contentSecurityPolicyIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.ContentSecurityPolicyIssueDetails" }, { "name": "sharedArrayBufferIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.SharedArrayBufferIssueDetails" }, { "name": "corsIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.CorsIssueDetails" }, { "name": "attributionReportingIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.AttributionReportingIssueDetails" }, { "name": "quirksModeIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.QuirksModeIssueDetails" }, { "name": "partitioningBlobURLIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.PartitioningBlobURLIssueDetails" }, { "name": "navigatorUserAgentIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.NavigatorUserAgentIssueDetails" }, { "name": "genericIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.GenericIssueDetails" }, { "name": "deprecationIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.DeprecationIssueDetails" }, { "name": "clientHintIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.ClientHintIssueDetails" }, { "name": "federatedAuthRequestIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.FederatedAuthRequestIssueDetails" }, { "name": "bounceTrackingIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.BounceTrackingIssueDetails" }, { "name": "cookieDeprecationMetadataIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.CookieDeprecationMetadataIssueDetails" }, { "name": "stylesheetLoadingIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.StylesheetLoadingIssueDetails" }, { "name": "propertyRuleIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.PropertyRuleIssueDetails" }, { "name": "federatedAuthUserInfoRequestIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.FederatedAuthUserInfoRequestIssueDetails" }, { "name": "sharedDictionaryIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.SharedDictionaryIssueDetails" }, { "name": "elementAccessibilityIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.ElementAccessibilityIssueDetails" }, { "name": "sriMessageSignatureIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.SRIMessageSignatureIssueDetails" }, { "name": "unencodedDigestIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.UnencodedDigestIssueDetails" }, { "name": "connectionAllowlistIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.ConnectionAllowlistIssueDetails" }, { "name": "userReidentificationIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.UserReidentificationIssueDetails" }, { "name": "permissionElementIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.PermissionElementIssueDetails" }, { "name": "performanceIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.PerformanceIssueDetails" }, { "name": "selectivePermissionsInterventionIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.SelectivePermissionsInterventionIssueDetails" }]);
|
|
102443
102440
|
inspectorBackend.registerType("Audits.InspectorIssue", [{ "name": "code", "type": "string", "optional": false, "description": "", "typeRef": "Audits.InspectorIssueCode" }, { "name": "details", "type": "object", "optional": false, "description": "", "typeRef": "Audits.InspectorIssueDetails" }, { "name": "issueId", "type": "string", "optional": true, "description": "A unique id for this issue. May be omitted if no other entity (e.g. exception, CDP message, etc.) is referencing this issue.", "typeRef": "Audits.IssueId" }]);
|
|
102444
102441
|
inspectorBackend.registerEnum("Autofill.FillingStrategy", { AutocompleteAttribute: "autocompleteAttribute", AutofillInferred: "autofillInferred" });
|
|
102445
102442
|
inspectorBackend.registerEvent("Autofill.addressFormFilled", ["filledFields", "addressUi"]);
|
|
@@ -103275,7 +103272,7 @@ function registerCommands(inspectorBackend) {
|
|
|
103275
103272
|
inspectorBackend.registerEnum("Page.ClientNavigationDisposition", { CurrentTab: "currentTab", NewTab: "newTab", NewWindow: "newWindow", Download: "download" });
|
|
103276
103273
|
inspectorBackend.registerEnum("Page.ReferrerPolicy", { NoReferrer: "noReferrer", NoReferrerWhenDowngrade: "noReferrerWhenDowngrade", Origin: "origin", OriginWhenCrossOrigin: "originWhenCrossOrigin", SameOrigin: "sameOrigin", StrictOrigin: "strictOrigin", StrictOriginWhenCrossOrigin: "strictOriginWhenCrossOrigin", UnsafeUrl: "unsafeUrl" });
|
|
103277
103274
|
inspectorBackend.registerEnum("Page.NavigationType", { Navigation: "Navigation", BackForwardCacheRestore: "BackForwardCacheRestore" });
|
|
103278
|
-
inspectorBackend.registerEnum("Page.BackForwardCacheNotRestoredReason", { NotPrimaryMainFrame: "NotPrimaryMainFrame", BackForwardCacheDisabled: "BackForwardCacheDisabled", RelatedActiveContentsExist: "RelatedActiveContentsExist", HTTPStatusNotOK: "HTTPStatusNotOK", SchemeNotHTTPOrHTTPS: "SchemeNotHTTPOrHTTPS", Loading: "Loading", WasGrantedMediaAccess: "WasGrantedMediaAccess", DisableForRenderFrameHostCalled: "DisableForRenderFrameHostCalled", DomainNotAllowed: "DomainNotAllowed", HTTPMethodNotGET: "HTTPMethodNotGET", SubframeIsNavigating: "SubframeIsNavigating", Timeout: "Timeout", CacheLimit: "CacheLimit", JavaScriptExecution: "JavaScriptExecution", RendererProcessKilled: "RendererProcessKilled", RendererProcessCrashed: "RendererProcessCrashed", SchedulerTrackedFeatureUsed: "SchedulerTrackedFeatureUsed", ConflictingBrowsingInstance: "ConflictingBrowsingInstance", CacheFlushed: "CacheFlushed", ServiceWorkerVersionActivation: "ServiceWorkerVersionActivation", SessionRestored: "SessionRestored", ServiceWorkerPostMessage: "ServiceWorkerPostMessage", EnteredBackForwardCacheBeforeServiceWorkerHostAdded: "EnteredBackForwardCacheBeforeServiceWorkerHostAdded", RenderFrameHostReused_SameSite: "RenderFrameHostReused_SameSite", RenderFrameHostReused_CrossSite: "RenderFrameHostReused_CrossSite", ServiceWorkerClaim: "ServiceWorkerClaim", IgnoreEventAndEvict: "IgnoreEventAndEvict", HaveInnerContents: "HaveInnerContents", TimeoutPuttingInCache: "TimeoutPuttingInCache", BackForwardCacheDisabledByLowMemory: "BackForwardCacheDisabledByLowMemory", BackForwardCacheDisabledByCommandLine: "BackForwardCacheDisabledByCommandLine", NetworkRequestDatAPIpeDrainedAsBytesConsumer: "NetworkRequestDatapipeDrainedAsBytesConsumer", NetworkRequestRedirected: "NetworkRequestRedirected", NetworkRequestTimeout: "NetworkRequestTimeout", NetworkExceedsBufferLimit: "NetworkExceedsBufferLimit", NavigationCancelledWhileRestoring: "NavigationCancelledWhileRestoring", NotMostRecentNavigationEntry: "NotMostRecentNavigationEntry", BackForwardCacheDisabledForPrerender: "BackForwardCacheDisabledForPrerender", UserAgentOverrideDiffers: "UserAgentOverrideDiffers", ForegroundCacheLimit: "ForegroundCacheLimit", BrowsingInstanceNotSwapped: "BrowsingInstanceNotSwapped", BackForwardCacheDisabledForDelegate: "BackForwardCacheDisabledForDelegate", UnloadHandlerExistsInMainFrame: "UnloadHandlerExistsInMainFrame", UnloadHandlerExistsInSubFrame: "UnloadHandlerExistsInSubFrame", ServiceWorkerUnregistration: "ServiceWorkerUnregistration", CacheControlNoStore: "CacheControlNoStore", CacheControlNoStoreCookieModified: "CacheControlNoStoreCookieModified", CacheControlNoStoreHTTPOnlyCookieModified: "CacheControlNoStoreHTTPOnlyCookieModified", NoResponseHead: "NoResponseHead", Unknown: "Unknown", ActivationNavigationsDisallowedForBug1234857: "ActivationNavigationsDisallowedForBug1234857", ErrorDocument: "ErrorDocument", FencedFramesEmbedder: "FencedFramesEmbedder", CookieDisabled: "CookieDisabled", HTTPAuthRequired: "HTTPAuthRequired", CookieFlushed: "CookieFlushed", BroadcastChannelOnMessage: "BroadcastChannelOnMessage", WebViewSettingsChanged: "WebViewSettingsChanged", WebViewJavaScriptObjectChanged: "WebViewJavaScriptObjectChanged", WebViewMessageListenerInjected: "WebViewMessageListenerInjected", WebViewSafeBrowsingAllowlistChanged: "WebViewSafeBrowsingAllowlistChanged", WebViewDocumentStartJavascriptChanged: "WebViewDocumentStartJavascriptChanged", WebSocket: "WebSocket", WebTransport: "WebTransport", WebRTC: "WebRTC", MainResourceHasCacheControlNoStore: "MainResourceHasCacheControlNoStore", MainResourceHasCacheControlNoCache: "MainResourceHasCacheControlNoCache", SubresourceHasCacheControlNoStore: "SubresourceHasCacheControlNoStore", SubresourceHasCacheControlNoCache: "SubresourceHasCacheControlNoCache", ContainsPlugins: "ContainsPlugins", DocumentLoaded: "DocumentLoaded", OutstandingNetworkRequestOthers: "OutstandingNetworkRequestOthers", RequestedMIDIPermission: "RequestedMIDIPermission", RequestedAudioCapturePermission: "RequestedAudioCapturePermission", RequestedVideoCapturePermission: "RequestedVideoCapturePermission", RequestedBackForwardCacheBlockedSensors: "RequestedBackForwardCacheBlockedSensors", RequestedBackgroundWorkPermission: "RequestedBackgroundWorkPermission", BroadcastChannel: "BroadcastChannel", WebXR: "WebXR", SharedWorker: "SharedWorker", SharedWorkerMessage: "SharedWorkerMessage", SharedWorkerWithNoActiveClient: "SharedWorkerWithNoActiveClient", WebLocks: "WebLocks", WebLocksContention: "WebLocksContention", WebHID: "WebHID", WebBluetooth: "WebBluetooth", WebShare: "WebShare", RequestedStorageAccessGrant: "RequestedStorageAccessGrant", WebNfc: "WebNfc", OutstandingNetworkRequestFetch: "OutstandingNetworkRequestFetch", OutstandingNetworkRequestXHR: "OutstandingNetworkRequestXHR", AppBanner: "AppBanner", Printing: "Printing", WebDatabase: "WebDatabase", PictureInPicture: "PictureInPicture", SpeechRecognizer: "SpeechRecognizer", IdleManager: "IdleManager", PaymentManager: "PaymentManager", SpeechSynthesis: "SpeechSynthesis", KeyboardLock: "KeyboardLock", WebOTPService: "WebOTPService", OutstandingNetworkRequestDirectSocket: "OutstandingNetworkRequestDirectSocket", InjectedJavascript: "InjectedJavascript", InjectedStyleSheet: "InjectedStyleSheet", KeepaliveRequest: "KeepaliveRequest", IndexedDBEvent: "IndexedDBEvent", Dummy: "Dummy", JsNetworkRequestReceivedCacheControlNoStoreResource: "JsNetworkRequestReceivedCacheControlNoStoreResource", WebRTCUsedWithCCNS: "WebRTCUsedWithCCNS", WebTransportUsedWithCCNS: "WebTransportUsedWithCCNS", WebSocketUsedWithCCNS: "WebSocketUsedWithCCNS", SmartCard: "SmartCard", LiveMediaStreamTrack: "LiveMediaStreamTrack", UnloadHandler: "UnloadHandler", ParserAborted: "ParserAborted", ContentSecurityHandler: "ContentSecurityHandler", ContentWebAuthenticationAPI: "ContentWebAuthenticationAPI", ContentFileChooser: "ContentFileChooser", ContentSerial: "ContentSerial", ContentFileSystemAccess: "ContentFileSystemAccess", ContentMediaDevicesDispatcherHost: "ContentMediaDevicesDispatcherHost", ContentWebBluetooth: "ContentWebBluetooth", ContentWebUSB: "ContentWebUSB", ContentMediaSessionService: "ContentMediaSessionService", ContentScreenReader: "ContentScreenReader", ContentDiscarded: "ContentDiscarded", EmbedderPopupBlockerTabHelper: "EmbedderPopupBlockerTabHelper", EmbedderSafeBrowsingTriggeredPopupBlocker: "EmbedderSafeBrowsingTriggeredPopupBlocker", EmbedderSafeBrowsingThreatDetails: "EmbedderSafeBrowsingThreatDetails", EmbedderAppBannerManager: "EmbedderAppBannerManager", EmbedderDomDistillerViewerSource: "EmbedderDomDistillerViewerSource", EmbedderDomDistillerSelfDeletingRequestDelegate: "EmbedderDomDistillerSelfDeletingRequestDelegate", EmbedderOomInterventionTabHelper: "EmbedderOomInterventionTabHelper", EmbedderOfflinePage: "EmbedderOfflinePage", EmbedderChromePasswordManagerClientBindCredentialManager: "EmbedderChromePasswordManagerClientBindCredentialManager", EmbedderPermissionRequestManager: "EmbedderPermissionRequestManager", EmbedderModalDialog: "EmbedderModalDialog", EmbedderExtensions: "EmbedderExtensions", EmbedderExtensionMessaging: "EmbedderExtensionMessaging", EmbedderExtensionMessagingForOpenPort: "EmbedderExtensionMessagingForOpenPort", EmbedderExtensionSentMessageToCachedFrame: "EmbedderExtensionSentMessageToCachedFrame", RequestedByWebViewClient: "RequestedByWebViewClient", PostMessageByWebViewClient: "PostMessageByWebViewClient", CacheControlNoStoreDeviceBoundSessionTerminated: "CacheControlNoStoreDeviceBoundSessionTerminated", CacheLimitPrunedOnModerateMemoryPressure: "CacheLimitPrunedOnModerateMemoryPressure", CacheLimitPrunedOnCriticalMemoryPressure: "CacheLimitPrunedOnCriticalMemoryPressure" });
|
|
103275
|
+
inspectorBackend.registerEnum("Page.BackForwardCacheNotRestoredReason", { NotPrimaryMainFrame: "NotPrimaryMainFrame", BackForwardCacheDisabled: "BackForwardCacheDisabled", RelatedActiveContentsExist: "RelatedActiveContentsExist", HTTPStatusNotOK: "HTTPStatusNotOK", SchemeNotHTTPOrHTTPS: "SchemeNotHTTPOrHTTPS", Loading: "Loading", WasGrantedMediaAccess: "WasGrantedMediaAccess", DisableForRenderFrameHostCalled: "DisableForRenderFrameHostCalled", DomainNotAllowed: "DomainNotAllowed", HTTPMethodNotGET: "HTTPMethodNotGET", SubframeIsNavigating: "SubframeIsNavigating", Timeout: "Timeout", CacheLimit: "CacheLimit", JavaScriptExecution: "JavaScriptExecution", RendererProcessKilled: "RendererProcessKilled", RendererProcessCrashed: "RendererProcessCrashed", SchedulerTrackedFeatureUsed: "SchedulerTrackedFeatureUsed", ConflictingBrowsingInstance: "ConflictingBrowsingInstance", CacheFlushed: "CacheFlushed", ServiceWorkerVersionActivation: "ServiceWorkerVersionActivation", SessionRestored: "SessionRestored", ServiceWorkerPostMessage: "ServiceWorkerPostMessage", EnteredBackForwardCacheBeforeServiceWorkerHostAdded: "EnteredBackForwardCacheBeforeServiceWorkerHostAdded", RenderFrameHostReused_SameSite: "RenderFrameHostReused_SameSite", RenderFrameHostReused_CrossSite: "RenderFrameHostReused_CrossSite", ServiceWorkerClaim: "ServiceWorkerClaim", IgnoreEventAndEvict: "IgnoreEventAndEvict", HaveInnerContents: "HaveInnerContents", TimeoutPuttingInCache: "TimeoutPuttingInCache", BackForwardCacheDisabledByLowMemory: "BackForwardCacheDisabledByLowMemory", BackForwardCacheDisabledByCommandLine: "BackForwardCacheDisabledByCommandLine", NetworkRequestDatAPIpeDrainedAsBytesConsumer: "NetworkRequestDatapipeDrainedAsBytesConsumer", NetworkRequestRedirected: "NetworkRequestRedirected", NetworkRequestTimeout: "NetworkRequestTimeout", NetworkExceedsBufferLimit: "NetworkExceedsBufferLimit", NavigationCancelledWhileRestoring: "NavigationCancelledWhileRestoring", NotMostRecentNavigationEntry: "NotMostRecentNavigationEntry", BackForwardCacheDisabledForPrerender: "BackForwardCacheDisabledForPrerender", UserAgentOverrideDiffers: "UserAgentOverrideDiffers", ForegroundCacheLimit: "ForegroundCacheLimit", ForwardCacheDisabled: "ForwardCacheDisabled", BrowsingInstanceNotSwapped: "BrowsingInstanceNotSwapped", BackForwardCacheDisabledForDelegate: "BackForwardCacheDisabledForDelegate", UnloadHandlerExistsInMainFrame: "UnloadHandlerExistsInMainFrame", UnloadHandlerExistsInSubFrame: "UnloadHandlerExistsInSubFrame", ServiceWorkerUnregistration: "ServiceWorkerUnregistration", CacheControlNoStore: "CacheControlNoStore", CacheControlNoStoreCookieModified: "CacheControlNoStoreCookieModified", CacheControlNoStoreHTTPOnlyCookieModified: "CacheControlNoStoreHTTPOnlyCookieModified", NoResponseHead: "NoResponseHead", Unknown: "Unknown", ActivationNavigationsDisallowedForBug1234857: "ActivationNavigationsDisallowedForBug1234857", ErrorDocument: "ErrorDocument", FencedFramesEmbedder: "FencedFramesEmbedder", CookieDisabled: "CookieDisabled", HTTPAuthRequired: "HTTPAuthRequired", CookieFlushed: "CookieFlushed", BroadcastChannelOnMessage: "BroadcastChannelOnMessage", WebViewSettingsChanged: "WebViewSettingsChanged", WebViewJavaScriptObjectChanged: "WebViewJavaScriptObjectChanged", WebViewMessageListenerInjected: "WebViewMessageListenerInjected", WebViewSafeBrowsingAllowlistChanged: "WebViewSafeBrowsingAllowlistChanged", WebViewDocumentStartJavascriptChanged: "WebViewDocumentStartJavascriptChanged", WebSocket: "WebSocket", WebTransport: "WebTransport", WebRTC: "WebRTC", MainResourceHasCacheControlNoStore: "MainResourceHasCacheControlNoStore", MainResourceHasCacheControlNoCache: "MainResourceHasCacheControlNoCache", SubresourceHasCacheControlNoStore: "SubresourceHasCacheControlNoStore", SubresourceHasCacheControlNoCache: "SubresourceHasCacheControlNoCache", ContainsPlugins: "ContainsPlugins", DocumentLoaded: "DocumentLoaded", OutstandingNetworkRequestOthers: "OutstandingNetworkRequestOthers", RequestedMIDIPermission: "RequestedMIDIPermission", RequestedAudioCapturePermission: "RequestedAudioCapturePermission", RequestedVideoCapturePermission: "RequestedVideoCapturePermission", RequestedBackForwardCacheBlockedSensors: "RequestedBackForwardCacheBlockedSensors", RequestedBackgroundWorkPermission: "RequestedBackgroundWorkPermission", BroadcastChannel: "BroadcastChannel", WebXR: "WebXR", SharedWorker: "SharedWorker", SharedWorkerMessage: "SharedWorkerMessage", SharedWorkerWithNoActiveClient: "SharedWorkerWithNoActiveClient", WebLocks: "WebLocks", WebLocksContention: "WebLocksContention", WebHID: "WebHID", WebBluetooth: "WebBluetooth", WebShare: "WebShare", RequestedStorageAccessGrant: "RequestedStorageAccessGrant", WebNfc: "WebNfc", OutstandingNetworkRequestFetch: "OutstandingNetworkRequestFetch", OutstandingNetworkRequestXHR: "OutstandingNetworkRequestXHR", AppBanner: "AppBanner", Printing: "Printing", WebDatabase: "WebDatabase", PictureInPicture: "PictureInPicture", SpeechRecognizer: "SpeechRecognizer", IdleManager: "IdleManager", PaymentManager: "PaymentManager", SpeechSynthesis: "SpeechSynthesis", KeyboardLock: "KeyboardLock", WebOTPService: "WebOTPService", OutstandingNetworkRequestDirectSocket: "OutstandingNetworkRequestDirectSocket", InjectedJavascript: "InjectedJavascript", InjectedStyleSheet: "InjectedStyleSheet", KeepaliveRequest: "KeepaliveRequest", IndexedDBEvent: "IndexedDBEvent", Dummy: "Dummy", JsNetworkRequestReceivedCacheControlNoStoreResource: "JsNetworkRequestReceivedCacheControlNoStoreResource", WebRTCUsedWithCCNS: "WebRTCUsedWithCCNS", WebTransportUsedWithCCNS: "WebTransportUsedWithCCNS", WebSocketUsedWithCCNS: "WebSocketUsedWithCCNS", SmartCard: "SmartCard", LiveMediaStreamTrack: "LiveMediaStreamTrack", UnloadHandler: "UnloadHandler", ParserAborted: "ParserAborted", ContentSecurityHandler: "ContentSecurityHandler", ContentWebAuthenticationAPI: "ContentWebAuthenticationAPI", ContentFileChooser: "ContentFileChooser", ContentSerial: "ContentSerial", ContentFileSystemAccess: "ContentFileSystemAccess", ContentMediaDevicesDispatcherHost: "ContentMediaDevicesDispatcherHost", ContentWebBluetooth: "ContentWebBluetooth", ContentWebUSB: "ContentWebUSB", ContentMediaSessionService: "ContentMediaSessionService", ContentScreenReader: "ContentScreenReader", ContentDiscarded: "ContentDiscarded", EmbedderPopupBlockerTabHelper: "EmbedderPopupBlockerTabHelper", EmbedderSafeBrowsingTriggeredPopupBlocker: "EmbedderSafeBrowsingTriggeredPopupBlocker", EmbedderSafeBrowsingThreatDetails: "EmbedderSafeBrowsingThreatDetails", EmbedderAppBannerManager: "EmbedderAppBannerManager", EmbedderDomDistillerViewerSource: "EmbedderDomDistillerViewerSource", EmbedderDomDistillerSelfDeletingRequestDelegate: "EmbedderDomDistillerSelfDeletingRequestDelegate", EmbedderOomInterventionTabHelper: "EmbedderOomInterventionTabHelper", EmbedderOfflinePage: "EmbedderOfflinePage", EmbedderChromePasswordManagerClientBindCredentialManager: "EmbedderChromePasswordManagerClientBindCredentialManager", EmbedderPermissionRequestManager: "EmbedderPermissionRequestManager", EmbedderModalDialog: "EmbedderModalDialog", EmbedderExtensions: "EmbedderExtensions", EmbedderExtensionMessaging: "EmbedderExtensionMessaging", EmbedderExtensionMessagingForOpenPort: "EmbedderExtensionMessagingForOpenPort", EmbedderExtensionSentMessageToCachedFrame: "EmbedderExtensionSentMessageToCachedFrame", RequestedByWebViewClient: "RequestedByWebViewClient", PostMessageByWebViewClient: "PostMessageByWebViewClient", CacheControlNoStoreDeviceBoundSessionTerminated: "CacheControlNoStoreDeviceBoundSessionTerminated", CacheLimitPrunedOnModerateMemoryPressure: "CacheLimitPrunedOnModerateMemoryPressure", CacheLimitPrunedOnCriticalMemoryPressure: "CacheLimitPrunedOnCriticalMemoryPressure" });
|
|
103279
103276
|
inspectorBackend.registerEnum("Page.BackForwardCacheNotRestoredReasonType", { SupportPending: "SupportPending", PageSupportNeeded: "PageSupportNeeded", Circumstantial: "Circumstantial" });
|
|
103280
103277
|
inspectorBackend.registerEvent("Page.domContentEventFired", ["timestamp"]);
|
|
103281
103278
|
inspectorBackend.registerEnum("Page.FileChooserOpenedEventMode", { SelectSingle: "selectSingle", SelectMultiple: "selectMultiple" });
|
|
@@ -106740,7 +106737,6 @@ var DevtoolsExperiments;
|
|
|
106740
106737
|
DevtoolsExperiments[DevtoolsExperiments["authored-deployed-grouping"] = 63] = "authored-deployed-grouping";
|
|
106741
106738
|
DevtoolsExperiments[DevtoolsExperiments["just-my-code"] = 65] = "just-my-code";
|
|
106742
106739
|
DevtoolsExperiments[DevtoolsExperiments["use-source-map-scopes"] = 76] = "use-source-map-scopes";
|
|
106743
|
-
DevtoolsExperiments[DevtoolsExperiments["timeline-show-postmessage-events"] = 86] = "timeline-show-postmessage-events";
|
|
106744
106740
|
DevtoolsExperiments[DevtoolsExperiments["timeline-debug-mode"] = 93] = "timeline-debug-mode";
|
|
106745
106741
|
DevtoolsExperiments[DevtoolsExperiments["durable-messages"] = 110] = "durable-messages";
|
|
106746
106742
|
DevtoolsExperiments[DevtoolsExperiments["jpeg-xl"] = 111] = "jpeg-xl";
|
|
@@ -127111,7 +127107,7 @@ class SourceMapScopesInfo {
|
|
|
127111
127107
|
return rangeChain;
|
|
127112
127108
|
}
|
|
127113
127109
|
findOriginalFunctionName(position) {
|
|
127114
|
-
const originalInnerMostScope = this.findOriginalFunctionScope(position)?.scope
|
|
127110
|
+
const originalInnerMostScope = this.findOriginalFunctionScope(position)?.scope;
|
|
127115
127111
|
return this.#findFunctionNameInOriginalScopeChain(originalInnerMostScope);
|
|
127116
127112
|
}
|
|
127117
127113
|
findOriginalFunctionScope({ line, column }) {
|
|
@@ -131837,6 +131833,104 @@ class DOMNode extends ObjectWrapper {
|
|
|
131837
131833
|
}
|
|
131838
131834
|
return this.domModel().nodeForId(response.nodeId);
|
|
131839
131835
|
}
|
|
131836
|
+
async takeSnapshot(ownerDocumentSnapshot) {
|
|
131837
|
+
const snapshot = (this instanceof DOMDocument) ? new DOMDocumentSnapshot(this.domModel(), {
|
|
131838
|
+
nodeId: this.id,
|
|
131839
|
+
backendNodeId: this.backendNodeId(),
|
|
131840
|
+
nodeType: this.nodeType(),
|
|
131841
|
+
nodeName: this.nodeName(),
|
|
131842
|
+
localName: this.localName(),
|
|
131843
|
+
nodeValue: this.nodeValueInternal,
|
|
131844
|
+
}) :
|
|
131845
|
+
new DOMNodeSnapshot(this.domModel());
|
|
131846
|
+
snapshot.id = this.id;
|
|
131847
|
+
snapshot.#backendNodeId = this.#backendNodeId;
|
|
131848
|
+
snapshot.#frameOwnerFrameId = this.#frameOwnerFrameId;
|
|
131849
|
+
snapshot.#nodeType = this.#nodeType;
|
|
131850
|
+
snapshot.#nodeName = this.#nodeName;
|
|
131851
|
+
snapshot.#localName = this.#localName;
|
|
131852
|
+
snapshot.nodeValueInternal = this.nodeValueInternal;
|
|
131853
|
+
snapshot.#pseudoType = this.#pseudoType;
|
|
131854
|
+
snapshot.#pseudoIdentifier = this.#pseudoIdentifier;
|
|
131855
|
+
snapshot.#shadowRootType = this.#shadowRootType;
|
|
131856
|
+
snapshot.#xmlVersion = this.#xmlVersion;
|
|
131857
|
+
snapshot.#isSVGNode = this.#isSVGNode;
|
|
131858
|
+
snapshot.#isScrollable = this.#isScrollable;
|
|
131859
|
+
snapshot.#affectedByStartingStyles = this.#affectedByStartingStyles;
|
|
131860
|
+
snapshot.ownerDocument =
|
|
131861
|
+
ownerDocumentSnapshot || ((snapshot instanceof DOMDocument) ? snapshot : this.ownerDocument);
|
|
131862
|
+
snapshot.#isInShadowTree = this.#isInShadowTree;
|
|
131863
|
+
snapshot.childNodeCountInternal = this.childNodeCountInternal;
|
|
131864
|
+
if (snapshot instanceof DOMDocument && this instanceof DOMDocument) {
|
|
131865
|
+
snapshot.documentURL = this.documentURL;
|
|
131866
|
+
snapshot.baseURL = this.baseURL;
|
|
131867
|
+
}
|
|
131868
|
+
if (!this.childrenInternal && this.childNodeCountInternal > 0) {
|
|
131869
|
+
await this.getSubtree(1, false);
|
|
131870
|
+
}
|
|
131871
|
+
for (const [name, attr] of this.#attributes) {
|
|
131872
|
+
snapshot.#attributes.set(name, { name: attr.name, value: attr.value, _node: snapshot });
|
|
131873
|
+
}
|
|
131874
|
+
if (this.childrenInternal) {
|
|
131875
|
+
snapshot.childrenInternal = [];
|
|
131876
|
+
for (const child of this.childrenInternal) {
|
|
131877
|
+
const childSnapshot = await child.takeSnapshot(snapshot.ownerDocument || undefined);
|
|
131878
|
+
childSnapshot.parentNode = snapshot;
|
|
131879
|
+
childSnapshot.ownerDocument = (snapshot instanceof DOMDocument) ? snapshot : snapshot.ownerDocument;
|
|
131880
|
+
snapshot.childrenInternal.push(childSnapshot);
|
|
131881
|
+
if (childSnapshot.ownerDocument instanceof DOMDocument) {
|
|
131882
|
+
if (childSnapshot.nodeName() === 'HTML' && !childSnapshot.ownerDocument.documentElement) {
|
|
131883
|
+
childSnapshot.ownerDocument.documentElement = childSnapshot;
|
|
131884
|
+
}
|
|
131885
|
+
if (childSnapshot.nodeName() === 'BODY' && !childSnapshot.ownerDocument.body) {
|
|
131886
|
+
childSnapshot.ownerDocument.body = childSnapshot;
|
|
131887
|
+
}
|
|
131888
|
+
}
|
|
131889
|
+
}
|
|
131890
|
+
}
|
|
131891
|
+
for (const root of this.shadowRootsInternal) {
|
|
131892
|
+
const rootSnapshot = await root.takeSnapshot(snapshot.ownerDocument || undefined);
|
|
131893
|
+
rootSnapshot.parentNode = snapshot;
|
|
131894
|
+
rootSnapshot.ownerDocument = snapshot.ownerDocument;
|
|
131895
|
+
snapshot.shadowRootsInternal.push(rootSnapshot);
|
|
131896
|
+
}
|
|
131897
|
+
if (this.templateContentInternal) {
|
|
131898
|
+
const templateSnapshot = await this.templateContentInternal.takeSnapshot(snapshot.ownerDocument || undefined);
|
|
131899
|
+
templateSnapshot.parentNode = snapshot;
|
|
131900
|
+
templateSnapshot.ownerDocument = snapshot.ownerDocument;
|
|
131901
|
+
snapshot.templateContentInternal = templateSnapshot;
|
|
131902
|
+
}
|
|
131903
|
+
if (this.contentDocumentInternal) {
|
|
131904
|
+
const contentDocSnapshot = await this.contentDocumentInternal.takeSnapshot();
|
|
131905
|
+
contentDocSnapshot.parentNode = snapshot;
|
|
131906
|
+
snapshot.contentDocumentInternal = contentDocSnapshot;
|
|
131907
|
+
}
|
|
131908
|
+
if (this.#importedDocument) {
|
|
131909
|
+
const importedDocSnapshot = await this.#importedDocument.takeSnapshot(snapshot.ownerDocument || undefined);
|
|
131910
|
+
importedDocSnapshot.parentNode = snapshot;
|
|
131911
|
+
importedDocSnapshot.ownerDocument = snapshot.ownerDocument;
|
|
131912
|
+
snapshot.#importedDocument = importedDocSnapshot;
|
|
131913
|
+
}
|
|
131914
|
+
for (const [pseudoType, nodes] of this.#pseudoElements) {
|
|
131915
|
+
const snapshots = [];
|
|
131916
|
+
for (const node of nodes) {
|
|
131917
|
+
const pseudoSnapshot = await node.takeSnapshot(snapshot.ownerDocument || undefined);
|
|
131918
|
+
pseudoSnapshot.parentNode = snapshot;
|
|
131919
|
+
pseudoSnapshot.ownerDocument = snapshot.ownerDocument;
|
|
131920
|
+
snapshots.push(pseudoSnapshot);
|
|
131921
|
+
}
|
|
131922
|
+
snapshot.#pseudoElements.set(pseudoType, snapshots);
|
|
131923
|
+
}
|
|
131924
|
+
if (this.#distributedNodes) {
|
|
131925
|
+
snapshot.#distributedNodes = [...this.#distributedNodes];
|
|
131926
|
+
}
|
|
131927
|
+
snapshot.assignedSlot = this.assignedSlot;
|
|
131928
|
+
snapshot.#retainedNodes = this.#retainedNodes;
|
|
131929
|
+
if (this.#adoptedStyleSheets.length) {
|
|
131930
|
+
snapshot.setAdoptedStyleSheets(this.#adoptedStyleSheets.map(sheet => sheet.id));
|
|
131931
|
+
}
|
|
131932
|
+
return snapshot;
|
|
131933
|
+
}
|
|
131840
131934
|
classNames() {
|
|
131841
131935
|
const classes = this.getAttribute('class');
|
|
131842
131936
|
return classes ? classes.split(/\s+/) : [];
|
|
@@ -132618,6 +132712,60 @@ class DOMModelUndoStack {
|
|
|
132618
132712
|
}
|
|
132619
132713
|
}
|
|
132620
132714
|
SDKModel.register(DOMModel, { capabilities: 2 , autostart: true });
|
|
132715
|
+
class DOMNodeSnapshot extends DOMNode {
|
|
132716
|
+
init(_doc, _isInShadowTree, _payload, _retainedNodes) {
|
|
132717
|
+
}
|
|
132718
|
+
setNodeName(_name, _callback) {
|
|
132719
|
+
}
|
|
132720
|
+
setNodeValue(_value, _callback) {
|
|
132721
|
+
}
|
|
132722
|
+
setAttribute(_name, _text, _callback) {
|
|
132723
|
+
}
|
|
132724
|
+
setAttributeValue(_name, _value, _callback) {
|
|
132725
|
+
}
|
|
132726
|
+
removeAttribute(_name) {
|
|
132727
|
+
return Promise.resolve();
|
|
132728
|
+
}
|
|
132729
|
+
setOuterHTML(_html, _callback) {
|
|
132730
|
+
}
|
|
132731
|
+
removeNode(_callback) {
|
|
132732
|
+
return Promise.resolve();
|
|
132733
|
+
}
|
|
132734
|
+
copyTo(_targetNode, _anchorNode, _callback) {
|
|
132735
|
+
}
|
|
132736
|
+
moveTo(_targetNode, _anchorNode, _callback) {
|
|
132737
|
+
}
|
|
132738
|
+
setAsInspectedNode() {
|
|
132739
|
+
return Promise.resolve();
|
|
132740
|
+
}
|
|
132741
|
+
}
|
|
132742
|
+
class DOMDocumentSnapshot extends DOMDocument {
|
|
132743
|
+
init(_doc, _isInShadowTree, _payload, _retainedNodes) {
|
|
132744
|
+
}
|
|
132745
|
+
setNodeName(_name, _callback) {
|
|
132746
|
+
}
|
|
132747
|
+
setNodeValue(_value, _callback) {
|
|
132748
|
+
}
|
|
132749
|
+
setAttribute(_name, _text, _callback) {
|
|
132750
|
+
}
|
|
132751
|
+
setAttributeValue(_name, _value, _callback) {
|
|
132752
|
+
}
|
|
132753
|
+
removeAttribute(_name) {
|
|
132754
|
+
return Promise.resolve();
|
|
132755
|
+
}
|
|
132756
|
+
setOuterHTML(_html, _callback) {
|
|
132757
|
+
}
|
|
132758
|
+
removeNode(_callback) {
|
|
132759
|
+
return Promise.resolve();
|
|
132760
|
+
}
|
|
132761
|
+
copyTo(_targetNode, _anchorNode, _callback) {
|
|
132762
|
+
}
|
|
132763
|
+
moveTo(_targetNode, _anchorNode, _callback) {
|
|
132764
|
+
}
|
|
132765
|
+
setAsInspectedNode() {
|
|
132766
|
+
return Promise.resolve();
|
|
132767
|
+
}
|
|
132768
|
+
}
|
|
132621
132769
|
|
|
132622
132770
|
// Copyright 2021 The Chromium Authors
|
|
132623
132771
|
class Resource {
|
package/build/src/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "chrome-devtools-mcp",
|
|
3
|
-
"version": "0.20.
|
|
3
|
+
"version": "0.20.1",
|
|
4
4
|
"description": "MCP server for Chrome DevTools",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"@types/yargs": "^17.0.33",
|
|
60
60
|
"@typescript-eslint/eslint-plugin": "^8.43.0",
|
|
61
61
|
"@typescript-eslint/parser": "^8.43.0",
|
|
62
|
-
"chrome-devtools-frontend": "1.0.
|
|
62
|
+
"chrome-devtools-frontend": "1.0.1596260",
|
|
63
63
|
"core-js": "3.48.0",
|
|
64
64
|
"debug": "4.4.3",
|
|
65
65
|
"eslint": "^9.35.0",
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
"globals": "^17.0.0",
|
|
69
69
|
"lighthouse": "13.0.3",
|
|
70
70
|
"prettier": "^3.6.2",
|
|
71
|
-
"puppeteer": "24.39.
|
|
71
|
+
"puppeteer": "24.39.1",
|
|
72
72
|
"rollup": "4.59.0",
|
|
73
73
|
"rollup-plugin-cleanup": "^3.2.1",
|
|
74
74
|
"rollup-plugin-license": "^3.6.0",
|