chrome-devtools-frontend 1.0.1589336 → 1.0.1590494
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/front_end/core/common/Settings.ts +30 -1
- package/front_end/generated/Deprecation.ts +7 -0
- package/front_end/generated/InspectorBackendCommands.ts +9 -3
- package/front_end/generated/protocol-mapping.d.ts +9 -0
- package/front_end/generated/protocol-proxy-api.d.ts +7 -0
- package/front_end/generated/protocol.ts +98 -0
- package/front_end/models/javascript_metadata/NativeFunctions.js +48 -0
- package/front_end/panels/ai_assistance/AiAssistancePanel.ts +140 -32
- package/front_end/panels/ai_assistance/README.md +71 -0
- package/front_end/panels/ai_assistance/aiAssistancePanel.css +5 -0
- package/front_end/panels/ai_assistance/ai_assistance.ts +1 -0
- package/front_end/panels/ai_assistance/components/ChatMessage.ts +110 -7
- package/front_end/panels/ai_assistance/components/ChatView.ts +10 -0
- package/front_end/panels/ai_assistance/components/WalkthroughView.ts +208 -0
- package/front_end/panels/ai_assistance/components/chatMessage.css +2 -2
- package/front_end/panels/ai_assistance/components/walkthroughView.css +121 -0
- package/front_end/panels/application/DeviceBoundSessionsView.ts +64 -2
- package/front_end/panels/console/ConsoleView.ts +8 -8
- package/front_end/panels/console/console-meta.ts +10 -6
- package/front_end/panels/elements/ColorSwatchPopoverIcon.ts +14 -14
- package/front_end/panels/elements/ComputedStyleWidget.ts +27 -22
- package/front_end/panels/elements/ElementsTreeElement.ts +56 -2
- package/front_end/panels/elements/ElementsTreeOutline.ts +2 -0
- package/front_end/panels/elements/StyleEditorWidget.ts +12 -12
- package/front_end/panels/elements/StylePropertiesSection.ts +65 -64
- package/front_end/panels/elements/StylePropertyTreeElement.ts +138 -135
- package/front_end/panels/elements/StylesContainer.ts +57 -0
- package/front_end/panels/elements/StylesSidebarPane.ts +2 -1
- package/front_end/panels/layer_viewer/Layers3DView.ts +2 -2
- package/front_end/panels/network/RequestInitiatorView.ts +3 -2
- package/front_end/panels/timeline/timeline-meta.ts +4 -4
- package/front_end/panels/whats_new/ReleaseNoteText.ts +10 -16
- package/front_end/panels/whats_new/resources/WNDT.md +6 -6
- package/front_end/third_party/chromium/README.chromium +1 -1
- package/front_end/ui/components/markdown_view/MarkdownView.ts +5 -6
- package/front_end/ui/components/markdown_view/markdownView.css +6 -0
- package/front_end/ui/components/markdown_view/markdown_view.ts +0 -2
- package/front_end/ui/legacy/Treeoutline.ts +58 -10
- package/front_end/ui/legacy/Widget.ts +11 -1
- package/front_end/ui/legacy/inspectorCommon.css +2 -0
- package/front_end/ui/visual_logging/KnownContextValues.ts +11 -1
- package/package.json +1 -1
- package/front_end/ui/components/markdown_view/MarkdownLink.ts +0 -53
- package/front_end/ui/components/markdown_view/markdownLink.css +0 -11
|
@@ -684,7 +684,7 @@ export class VersionController {
|
|
|
684
684
|
static readonly SYNCED_VERSION_SETTING_NAME = 'syncedInspectorVersion';
|
|
685
685
|
static readonly LOCAL_VERSION_SETTING_NAME = 'localInspectorVersion';
|
|
686
686
|
|
|
687
|
-
static readonly CURRENT_VERSION =
|
|
687
|
+
static readonly CURRENT_VERSION = 41;
|
|
688
688
|
|
|
689
689
|
readonly #settings: Settings;
|
|
690
690
|
readonly #globalVersionSetting: Setting<number>;
|
|
@@ -1447,6 +1447,35 @@ export class VersionController {
|
|
|
1447
1447
|
}
|
|
1448
1448
|
}
|
|
1449
1449
|
|
|
1450
|
+
// This migration handles two setting renames that requires inverted logic
|
|
1451
|
+
// (from "Hide X" to "X") and flipped the default values to true.
|
|
1452
|
+
updateVersionFrom40To41(): void {
|
|
1453
|
+
// 1. Rename 'Hide network messages' to 'Network messages'
|
|
1454
|
+
if (this.#settings.syncedStorage.has('hide-network-messages')) {
|
|
1455
|
+
const oldNetworkSetting = this.#settings.createSetting('hide-network-messages', false, SettingStorageType.SYNCED);
|
|
1456
|
+
if (!this.#settings.syncedStorage.has('network-messages')) {
|
|
1457
|
+
const newNetworkSetting = this.#settings.createSetting('network-messages', true, SettingStorageType.SYNCED);
|
|
1458
|
+
// If the user had a saved preference for the old setting, migrate it by
|
|
1459
|
+
// inverting the value to match the new logic.
|
|
1460
|
+
newNetworkSetting.set(!oldNetworkSetting.get());
|
|
1461
|
+
}
|
|
1462
|
+
this.#removeSetting(oldNetworkSetting);
|
|
1463
|
+
}
|
|
1464
|
+
|
|
1465
|
+
// 2. Rename 'Hide `chrome` frame in Layers view' to 'Chrome frame in Layers view'
|
|
1466
|
+
if (this.#settings.syncedStorage.has('frame-viewer-hide-chrome-window')) {
|
|
1467
|
+
const oldChromeFrameSetting =
|
|
1468
|
+
this.#settings.createSetting('frame-viewer-hide-chrome-window', false, SettingStorageType.SYNCED);
|
|
1469
|
+
if (!this.#settings.syncedStorage.has('frame-viewer-chrome-window')) {
|
|
1470
|
+
const newChromeFrameSetting =
|
|
1471
|
+
this.#settings.createSetting('frame-viewer-chrome-window', true, SettingStorageType.SYNCED);
|
|
1472
|
+
// Similar to above, move the preference and invert the boolean.
|
|
1473
|
+
newChromeFrameSetting.set(!oldChromeFrameSetting.get());
|
|
1474
|
+
}
|
|
1475
|
+
this.#removeSetting(oldChromeFrameSetting);
|
|
1476
|
+
}
|
|
1477
|
+
}
|
|
1478
|
+
|
|
1450
1479
|
/*
|
|
1451
1480
|
* Any new migration should be added before this comment.
|
|
1452
1481
|
*
|
|
@@ -106,6 +106,10 @@ export const UIStrings = {
|
|
|
106
106
|
* @description Warning for using deprecated 'measureInputUsage' method.
|
|
107
107
|
*/
|
|
108
108
|
LanguageModel_MeasureInputUsage: "LanguageModel.measureInputUsage() is deprecated. Please use LanguageModel.measureContextUsage() instead. This alias is only available in extensions.",
|
|
109
|
+
/**
|
|
110
|
+
* @description Warning for using deprecated 'onquotaoverflow' event handler.
|
|
111
|
+
*/
|
|
112
|
+
LanguageModel_OnQuotaOverflow: "LanguageModel.onquotaoverflow is deprecated. Please use LanguageModel.oncontextoverflow instead. The LanguageModel.onquotaoverflow alias is only available in extensions.",
|
|
109
113
|
/**
|
|
110
114
|
* @description Warning message for web developers when they call the deprecated LanguageModel.params() method.
|
|
111
115
|
*/
|
|
@@ -334,6 +338,9 @@ export const DEPRECATIONS_METADATA: Partial<Record<string, DeprecationDescriptor
|
|
|
334
338
|
"LanguageModel_MeasureInputUsage": {
|
|
335
339
|
"chromeStatusFeature": 5134603979063296
|
|
336
340
|
},
|
|
341
|
+
"LanguageModel_OnQuotaOverflow": {
|
|
342
|
+
"chromeStatusFeature": 5134603979063296
|
|
343
|
+
},
|
|
337
344
|
"LocalCSSFileExtensionRejected": {
|
|
338
345
|
"milestone": 64
|
|
339
346
|
},
|
|
@@ -93,7 +93,7 @@ inspectorBackend.registerEnum("Audits.StyleSheetLoadingIssueReason", {LateImport
|
|
|
93
93
|
inspectorBackend.registerEnum("Audits.PropertyRuleIssueReason", {InvalidSyntax: "InvalidSyntax", InvalidInitialValue: "InvalidInitialValue", InvalidInherits: "InvalidInherits", InvalidName: "InvalidName"});
|
|
94
94
|
inspectorBackend.registerEnum("Audits.UserReidentificationIssueType", {BlockedFrameNavigation: "BlockedFrameNavigation", BlockedSubresource: "BlockedSubresource", NoisedCanvasReadback: "NoisedCanvasReadback"});
|
|
95
95
|
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"});
|
|
96
|
-
inspectorBackend.registerEnum("Audits.InspectorIssueCode", {CookieIssue: "CookieIssue", MixedContentIssue: "MixedContentIssue", BlockedByResponseIssue: "BlockedByResponseIssue", HeavyAdIssue: "HeavyAdIssue", ContentSecurityPolicyIssue: "ContentSecurityPolicyIssue", SharedArrayBufferIssue: "SharedArrayBufferIssue", LowTextContrastIssue: "LowTextContrastIssue", 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"});
|
|
96
|
+
inspectorBackend.registerEnum("Audits.InspectorIssueCode", {CookieIssue: "CookieIssue", MixedContentIssue: "MixedContentIssue", BlockedByResponseIssue: "BlockedByResponseIssue", HeavyAdIssue: "HeavyAdIssue", ContentSecurityPolicyIssue: "ContentSecurityPolicyIssue", SharedArrayBufferIssue: "SharedArrayBufferIssue", LowTextContrastIssue: "LowTextContrastIssue", 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"});
|
|
97
97
|
inspectorBackend.registerEvent("Audits.issueAdded", ["issue"]);
|
|
98
98
|
inspectorBackend.registerEnum("Audits.GetEncodedResponseRequestEncoding", {Webp: "webp", Jpeg: "jpeg", Png: "png"});
|
|
99
99
|
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.");
|
|
@@ -136,7 +136,10 @@ inspectorBackend.registerType("Audits.StylesheetLoadingIssueDetails", [{"name":
|
|
|
136
136
|
inspectorBackend.registerType("Audits.PropertyRuleIssueDetails", [{"name": "sourceCodeLocation", "type": "object", "optional": false, "description": "Source code position of the property rule.", "typeRef": "Audits.SourceCodeLocation"}, {"name": "propertyRuleIssueReason", "type": "string", "optional": false, "description": "Reason why the property rule was discarded.", "typeRef": "Audits.PropertyRuleIssueReason"}, {"name": "propertyValue", "type": "string", "optional": true, "description": "The value of the property rule property that failed to parse", "typeRef": null}]);
|
|
137
137
|
inspectorBackend.registerType("Audits.UserReidentificationIssueDetails", [{"name": "type", "type": "string", "optional": false, "description": "", "typeRef": "Audits.UserReidentificationIssueType"}, {"name": "request", "type": "object", "optional": true, "description": "Applies to BlockedFrameNavigation and BlockedSubresource issue types.", "typeRef": "Audits.AffectedRequest"}, {"name": "sourceCodeLocation", "type": "object", "optional": true, "description": "Applies to NoisedCanvasReadback issue type.", "typeRef": "Audits.SourceCodeLocation"}]);
|
|
138
138
|
inspectorBackend.registerType("Audits.PermissionElementIssueDetails", [{"name": "issueType", "type": "string", "optional": false, "description": "", "typeRef": "Audits.PermissionElementIssueType"}, {"name": "type", "type": "string", "optional": true, "description": "The value of the type attribute.", "typeRef": null}, {"name": "nodeId", "type": "number", "optional": true, "description": "The node ID of the <permission> element.", "typeRef": "DOM.BackendNodeId"}, {"name": "isWarning", "type": "boolean", "optional": true, "description": "True if the issue is a warning, false if it is an error.", "typeRef": null}, {"name": "permissionName", "type": "string", "optional": true, "description": "Fields for message construction: Used for messages that reference a specific permission name", "typeRef": null}, {"name": "occluderNodeInfo", "type": "string", "optional": true, "description": "Used for messages about occlusion", "typeRef": null}, {"name": "occluderParentNodeInfo", "type": "string", "optional": true, "description": "Used for messages about occluder's parent", "typeRef": null}, {"name": "disableReason", "type": "string", "optional": true, "description": "Used for messages about activation disabled reason", "typeRef": null}]);
|
|
139
|
-
inspectorBackend.registerType("Audits.
|
|
139
|
+
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}]);
|
|
140
|
+
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}]);
|
|
141
|
+
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"}]);
|
|
142
|
+
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": "lowTextContrastIssueDetails", "type": "object", "optional": true, "description": "", "typeRef": "Audits.LowTextContrastIssueDetails"}, {"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"}]);
|
|
140
143
|
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"}]);
|
|
141
144
|
|
|
142
145
|
// Autofill.
|
|
@@ -514,7 +517,8 @@ inspectorBackend.registerCommand("Emulation.setAutoDarkModeOverride", [{"name":
|
|
|
514
517
|
inspectorBackend.registerCommand("Emulation.setCPUThrottlingRate", [{"name": "rate", "type": "number", "optional": false, "description": "Throttling rate as a slowdown factor (1 is no throttle, 2 is 2x slowdown, etc).", "typeRef": null}], [], "Enables CPU throttling to emulate slow CPUs.");
|
|
515
518
|
inspectorBackend.registerCommand("Emulation.setDefaultBackgroundColorOverride", [{"name": "color", "type": "object", "optional": true, "description": "RGBA of the default background color. If not specified, any existing override will be cleared.", "typeRef": "DOM.RGBA"}], [], "Sets or clears an override of the default background color of the frame. This override is used if the content does not specify one.");
|
|
516
519
|
inspectorBackend.registerCommand("Emulation.setSafeAreaInsetsOverride", [{"name": "insets", "type": "object", "optional": false, "description": "", "typeRef": "Emulation.SafeAreaInsets"}], [], "Overrides the values for env(safe-area-inset-*) and env(safe-area-max-inset-*). Unset values will cause the respective variables to be undefined, even if previously overridden.");
|
|
517
|
-
inspectorBackend.
|
|
520
|
+
inspectorBackend.registerEnum("Emulation.SetDeviceMetricsOverrideRequestScrollbarType", {Overlay: "overlay", Default: "default"});
|
|
521
|
+
inspectorBackend.registerCommand("Emulation.setDeviceMetricsOverride", [{"name": "width", "type": "number", "optional": false, "description": "Overriding width value in pixels (minimum 0, maximum 10000000). 0 disables the override.", "typeRef": null}, {"name": "height", "type": "number", "optional": false, "description": "Overriding height value in pixels (minimum 0, maximum 10000000). 0 disables the override.", "typeRef": null}, {"name": "deviceScaleFactor", "type": "number", "optional": false, "description": "Overriding device scale factor value. 0 disables the override.", "typeRef": null}, {"name": "mobile", "type": "boolean", "optional": false, "description": "Whether to emulate mobile device. This includes viewport meta tag, overlay scrollbars, text autosizing and more.", "typeRef": null}, {"name": "scale", "type": "number", "optional": true, "description": "Scale to apply to resulting view image.", "typeRef": null}, {"name": "screenWidth", "type": "number", "optional": true, "description": "Overriding screen width value in pixels (minimum 0, maximum 10000000).", "typeRef": null}, {"name": "screenHeight", "type": "number", "optional": true, "description": "Overriding screen height value in pixels (minimum 0, maximum 10000000).", "typeRef": null}, {"name": "positionX", "type": "number", "optional": true, "description": "Overriding view X position on screen in pixels (minimum 0, maximum 10000000).", "typeRef": null}, {"name": "positionY", "type": "number", "optional": true, "description": "Overriding view Y position on screen in pixels (minimum 0, maximum 10000000).", "typeRef": null}, {"name": "dontSetVisibleSize", "type": "boolean", "optional": true, "description": "Do not set visible view size, rely upon explicit setVisibleSize call.", "typeRef": null}, {"name": "screenOrientation", "type": "object", "optional": true, "description": "Screen orientation override.", "typeRef": "Emulation.ScreenOrientation"}, {"name": "viewport", "type": "object", "optional": true, "description": "If set, the visible area of the page will be overridden to this viewport. This viewport change is not observed by the page, e.g. viewport-relative elements do not change positions.", "typeRef": "Page.Viewport"}, {"name": "displayFeature", "type": "object", "optional": true, "description": "If set, the display feature of a multi-segment screen. If not set, multi-segment support is turned-off. Deprecated, use Emulation.setDisplayFeaturesOverride.", "typeRef": "Emulation.DisplayFeature"}, {"name": "devicePosture", "type": "object", "optional": true, "description": "If set, the posture of a foldable device. If not set the posture is set to continuous. Deprecated, use Emulation.setDevicePostureOverride.", "typeRef": "Emulation.DevicePosture"}, {"name": "scrollbarType", "type": "string", "optional": true, "description": "Scrollbar type. Default: `default`.", "typeRef": "Emulation.SetDeviceMetricsOverrideRequestScrollbarType"}], [], "Overrides the values of device screen dimensions (window.screen.width, window.screen.height, window.innerWidth, window.innerHeight, and \"device-width\"/\"device-height\"-related CSS media query results).");
|
|
518
522
|
inspectorBackend.registerCommand("Emulation.setDevicePostureOverride", [{"name": "posture", "type": "object", "optional": false, "description": "", "typeRef": "Emulation.DevicePosture"}], [], "Start reporting the given posture value to the Device Posture API. This override can also be set in setDeviceMetricsOverride().");
|
|
519
523
|
inspectorBackend.registerCommand("Emulation.clearDevicePostureOverride", [], [], "Clears a device posture override set with either setDeviceMetricsOverride() or setDevicePostureOverride() and starts using posture information from the platform again. Does nothing if no override is set.");
|
|
520
524
|
inspectorBackend.registerCommand("Emulation.setDisplayFeaturesOverride", [{"name": "features", "type": "array", "optional": false, "description": "", "typeRef": "Emulation.DisplayFeature"}], [], "Start using the given display features to pupulate the Viewport Segments API. This override can also be set in setDeviceMetricsOverride().");
|
|
@@ -578,11 +582,13 @@ inspectorBackend.registerCommand("EventBreakpoints.disable", [], [], "Removes al
|
|
|
578
582
|
inspectorBackend.registerEnum("Extensions.StorageArea", {Session: "session", Local: "local", Sync: "sync", Managed: "managed"});
|
|
579
583
|
inspectorBackend.registerCommand("Extensions.triggerAction", [{"name": "id", "type": "string", "optional": false, "description": "Extension id.", "typeRef": null}, {"name": "targetId", "type": "string", "optional": false, "description": "A tab target ID to trigger the default extension action on.", "typeRef": null}], [], "Runs an extension default action. Available if the client is connected using the --remote-debugging-pipe flag and the --enable-unsafe-extension-debugging flag is set.");
|
|
580
584
|
inspectorBackend.registerCommand("Extensions.loadUnpacked", [{"name": "path", "type": "string", "optional": false, "description": "Absolute file path.", "typeRef": null}, {"name": "enableInIncognito", "type": "boolean", "optional": true, "description": "Enable the extension in incognito", "typeRef": null}], ["id"], "Installs an unpacked extension from the filesystem similar to --load-extension CLI flags. Returns extension ID once the extension has been installed. Available if the client is connected using the --remote-debugging-pipe flag and the --enable-unsafe-extension-debugging flag is set.");
|
|
585
|
+
inspectorBackend.registerCommand("Extensions.getExtensions", [], ["extensions"], "Gets a list of all unpacked extensions. Available if the client is connected using the --remote-debugging-pipe flag and the --enable-unsafe-extension-debugging flag is set.");
|
|
581
586
|
inspectorBackend.registerCommand("Extensions.uninstall", [{"name": "id", "type": "string", "optional": false, "description": "Extension id.", "typeRef": null}], [], "Uninstalls an unpacked extension (others not supported) from the profile. Available if the client is connected using the --remote-debugging-pipe flag and the --enable-unsafe-extension-debugging.");
|
|
582
587
|
inspectorBackend.registerCommand("Extensions.getStorageItems", [{"name": "id", "type": "string", "optional": false, "description": "ID of extension.", "typeRef": null}, {"name": "storageArea", "type": "string", "optional": false, "description": "StorageArea to retrieve data from.", "typeRef": "Extensions.StorageArea"}, {"name": "keys", "type": "array", "optional": true, "description": "Keys to retrieve.", "typeRef": "string"}], ["data"], "Gets data from extension storage in the given `storageArea`. If `keys` is specified, these are used to filter the result.");
|
|
583
588
|
inspectorBackend.registerCommand("Extensions.removeStorageItems", [{"name": "id", "type": "string", "optional": false, "description": "ID of extension.", "typeRef": null}, {"name": "storageArea", "type": "string", "optional": false, "description": "StorageArea to remove data from.", "typeRef": "Extensions.StorageArea"}, {"name": "keys", "type": "array", "optional": false, "description": "Keys to remove.", "typeRef": "string"}], [], "Removes `keys` from extension storage in the given `storageArea`.");
|
|
584
589
|
inspectorBackend.registerCommand("Extensions.clearStorageItems", [{"name": "id", "type": "string", "optional": false, "description": "ID of extension.", "typeRef": null}, {"name": "storageArea", "type": "string", "optional": false, "description": "StorageArea to remove data from.", "typeRef": "Extensions.StorageArea"}], [], "Clears extension storage in the given `storageArea`.");
|
|
585
590
|
inspectorBackend.registerCommand("Extensions.setStorageItems", [{"name": "id", "type": "string", "optional": false, "description": "ID of extension.", "typeRef": null}, {"name": "storageArea", "type": "string", "optional": false, "description": "StorageArea to set data in.", "typeRef": "Extensions.StorageArea"}, {"name": "values", "type": "object", "optional": false, "description": "Values to set.", "typeRef": null}], [], "Sets `values` in extension storage in the given `storageArea`. The provided `values` will be merged with existing values in the storage area.");
|
|
591
|
+
inspectorBackend.registerType("Extensions.ExtensionInfo", [{"name": "id", "type": "string", "optional": false, "description": "Extension id.", "typeRef": null}, {"name": "name", "type": "string", "optional": false, "description": "Extension name.", "typeRef": null}, {"name": "version", "type": "string", "optional": false, "description": "Extension version.", "typeRef": null}, {"name": "path", "type": "string", "optional": false, "description": "The path from which the extension was loaded.", "typeRef": null}, {"name": "enabled", "type": "boolean", "optional": false, "description": "Extension enabled status.", "typeRef": null}]);
|
|
586
592
|
|
|
587
593
|
// FedCm.
|
|
588
594
|
inspectorBackend.registerEnum("FedCm.LoginState", {SignIn: "SignIn", SignUp: "SignUp"});
|
|
@@ -2823,6 +2823,15 @@ export namespace ProtocolMapping {
|
|
|
2823
2823
|
paramsType: [Protocol.Extensions.LoadUnpackedRequest];
|
|
2824
2824
|
returnType: Protocol.Extensions.LoadUnpackedResponse;
|
|
2825
2825
|
};
|
|
2826
|
+
/**
|
|
2827
|
+
* Gets a list of all unpacked extensions.
|
|
2828
|
+
* Available if the client is connected using the --remote-debugging-pipe flag
|
|
2829
|
+
* and the --enable-unsafe-extension-debugging flag is set.
|
|
2830
|
+
*/
|
|
2831
|
+
'Extensions.getExtensions': {
|
|
2832
|
+
paramsType: [];
|
|
2833
|
+
returnType: Protocol.Extensions.GetExtensionsResponse;
|
|
2834
|
+
};
|
|
2826
2835
|
/**
|
|
2827
2836
|
* Uninstalls an unpacked extension (others not supported) from the profile.
|
|
2828
2837
|
* Available if the client is connected using the --remote-debugging-pipe flag
|
|
@@ -1898,6 +1898,13 @@ declare namespace ProtocolProxyApi {
|
|
|
1898
1898
|
*/
|
|
1899
1899
|
invoke_loadUnpacked(params: Protocol.Extensions.LoadUnpackedRequest): Promise<Protocol.Extensions.LoadUnpackedResponse>;
|
|
1900
1900
|
|
|
1901
|
+
/**
|
|
1902
|
+
* Gets a list of all unpacked extensions.
|
|
1903
|
+
* Available if the client is connected using the --remote-debugging-pipe flag
|
|
1904
|
+
* and the --enable-unsafe-extension-debugging flag is set.
|
|
1905
|
+
*/
|
|
1906
|
+
invoke_getExtensions(): Promise<Protocol.Extensions.GetExtensionsResponse>;
|
|
1907
|
+
|
|
1901
1908
|
/**
|
|
1902
1909
|
* Uninstalls an unpacked extension (others not supported) from the profile.
|
|
1903
1910
|
* Available if the client is connected using the --remote-debugging-pipe flag
|
|
@@ -1542,6 +1542,63 @@ export namespace Audits {
|
|
|
1542
1542
|
disableReason?: string;
|
|
1543
1543
|
}
|
|
1544
1544
|
|
|
1545
|
+
/**
|
|
1546
|
+
* Metadata about the ad script that was on the stack that caused the current
|
|
1547
|
+
* script in the `AdAncestry` to be considered ad related.
|
|
1548
|
+
*/
|
|
1549
|
+
export interface AdScriptIdentifier {
|
|
1550
|
+
/**
|
|
1551
|
+
* The script's v8 identifier.
|
|
1552
|
+
*/
|
|
1553
|
+
scriptId: Runtime.ScriptId;
|
|
1554
|
+
/**
|
|
1555
|
+
* v8's debugging id for the v8::Context.
|
|
1556
|
+
*/
|
|
1557
|
+
debuggerId: Runtime.UniqueDebuggerId;
|
|
1558
|
+
/**
|
|
1559
|
+
* The script's url (or generated name based on id if inline script).
|
|
1560
|
+
*/
|
|
1561
|
+
name: string;
|
|
1562
|
+
}
|
|
1563
|
+
|
|
1564
|
+
/**
|
|
1565
|
+
* Providence about how an ad script was determined to be such. It is an ad
|
|
1566
|
+
* because its url matched a filterlist rule, or because some other ad script
|
|
1567
|
+
* was on the stack when this script was loaded.
|
|
1568
|
+
*/
|
|
1569
|
+
export interface AdAncestry {
|
|
1570
|
+
/**
|
|
1571
|
+
* The ad-script in the stack when the offending script was loaded. This is
|
|
1572
|
+
* recursive down to the root script that was tagged due to the filterlist
|
|
1573
|
+
* rule.
|
|
1574
|
+
*/
|
|
1575
|
+
adAncestryChain: AdScriptIdentifier[];
|
|
1576
|
+
/**
|
|
1577
|
+
* The filterlist rule that caused the root (last) script in
|
|
1578
|
+
* `adAncestry` to be ad-tagged.
|
|
1579
|
+
*/
|
|
1580
|
+
rootScriptFilterlistRule?: string;
|
|
1581
|
+
}
|
|
1582
|
+
|
|
1583
|
+
/**
|
|
1584
|
+
* The issue warns about blocked calls to privacy sensitive APIs via the
|
|
1585
|
+
* Selective Permissions Intervention.
|
|
1586
|
+
*/
|
|
1587
|
+
export interface SelectivePermissionsInterventionIssueDetails {
|
|
1588
|
+
/**
|
|
1589
|
+
* Which API was intervened on.
|
|
1590
|
+
*/
|
|
1591
|
+
apiName: string;
|
|
1592
|
+
/**
|
|
1593
|
+
* Why the ad script using the API is considered an ad.
|
|
1594
|
+
*/
|
|
1595
|
+
adAncestry: AdAncestry;
|
|
1596
|
+
/**
|
|
1597
|
+
* The stack trace at the time of the intervention.
|
|
1598
|
+
*/
|
|
1599
|
+
stackTrace?: Runtime.StackTrace;
|
|
1600
|
+
}
|
|
1601
|
+
|
|
1545
1602
|
/**
|
|
1546
1603
|
* A unique identifier for the type of issue. Each type may use one of the
|
|
1547
1604
|
* optional fields in InspectorIssueDetails to convey more specific
|
|
@@ -1577,6 +1634,7 @@ export namespace Audits {
|
|
|
1577
1634
|
UserReidentificationIssue = 'UserReidentificationIssue',
|
|
1578
1635
|
PermissionElementIssue = 'PermissionElementIssue',
|
|
1579
1636
|
PerformanceIssue = 'PerformanceIssue',
|
|
1637
|
+
SelectivePermissionsInterventionIssue = 'SelectivePermissionsInterventionIssue',
|
|
1580
1638
|
}
|
|
1581
1639
|
|
|
1582
1640
|
/**
|
|
@@ -1617,6 +1675,7 @@ export namespace Audits {
|
|
|
1617
1675
|
userReidentificationIssueDetails?: UserReidentificationIssueDetails;
|
|
1618
1676
|
permissionElementIssueDetails?: PermissionElementIssueDetails;
|
|
1619
1677
|
performanceIssueDetails?: PerformanceIssueDetails;
|
|
1678
|
+
selectivePermissionsInterventionIssueDetails?: SelectivePermissionsInterventionIssueDetails;
|
|
1620
1679
|
}
|
|
1621
1680
|
|
|
1622
1681
|
/**
|
|
@@ -7072,6 +7131,11 @@ export namespace Emulation {
|
|
|
7072
7131
|
insets: SafeAreaInsets;
|
|
7073
7132
|
}
|
|
7074
7133
|
|
|
7134
|
+
export const enum SetDeviceMetricsOverrideRequestScrollbarType {
|
|
7135
|
+
Overlay = 'overlay',
|
|
7136
|
+
Default = 'default',
|
|
7137
|
+
}
|
|
7138
|
+
|
|
7075
7139
|
export interface SetDeviceMetricsOverrideRequest {
|
|
7076
7140
|
/**
|
|
7077
7141
|
* Overriding width value in pixels (minimum 0, maximum 10000000). 0 disables the override.
|
|
@@ -7137,6 +7201,10 @@ export namespace Emulation {
|
|
|
7137
7201
|
* @deprecated
|
|
7138
7202
|
*/
|
|
7139
7203
|
devicePosture?: DevicePosture;
|
|
7204
|
+
/**
|
|
7205
|
+
* Scrollbar type. Default: `default`.
|
|
7206
|
+
*/
|
|
7207
|
+
scrollbarType?: SetDeviceMetricsOverrideRequestScrollbarType;
|
|
7140
7208
|
}
|
|
7141
7209
|
|
|
7142
7210
|
export interface SetDevicePostureOverrideRequest {
|
|
@@ -7521,6 +7589,32 @@ export namespace Extensions {
|
|
|
7521
7589
|
Managed = 'managed',
|
|
7522
7590
|
}
|
|
7523
7591
|
|
|
7592
|
+
/**
|
|
7593
|
+
* Detailed information about an extension.
|
|
7594
|
+
*/
|
|
7595
|
+
export interface ExtensionInfo {
|
|
7596
|
+
/**
|
|
7597
|
+
* Extension id.
|
|
7598
|
+
*/
|
|
7599
|
+
id: string;
|
|
7600
|
+
/**
|
|
7601
|
+
* Extension name.
|
|
7602
|
+
*/
|
|
7603
|
+
name: string;
|
|
7604
|
+
/**
|
|
7605
|
+
* Extension version.
|
|
7606
|
+
*/
|
|
7607
|
+
version: string;
|
|
7608
|
+
/**
|
|
7609
|
+
* The path from which the extension was loaded.
|
|
7610
|
+
*/
|
|
7611
|
+
path: string;
|
|
7612
|
+
/**
|
|
7613
|
+
* Extension enabled status.
|
|
7614
|
+
*/
|
|
7615
|
+
enabled: boolean;
|
|
7616
|
+
}
|
|
7617
|
+
|
|
7524
7618
|
export interface TriggerActionRequest {
|
|
7525
7619
|
/**
|
|
7526
7620
|
* Extension id.
|
|
@@ -7550,6 +7644,10 @@ export namespace Extensions {
|
|
|
7550
7644
|
id: string;
|
|
7551
7645
|
}
|
|
7552
7646
|
|
|
7647
|
+
export interface GetExtensionsResponse extends ProtocolResponseWithError {
|
|
7648
|
+
extensions: ExtensionInfo[];
|
|
7649
|
+
}
|
|
7650
|
+
|
|
7553
7651
|
export interface UninstallRequest {
|
|
7554
7652
|
/**
|
|
7555
7653
|
* Extension id.
|
|
@@ -6551,6 +6551,30 @@ export const NativeFunctions = [
|
|
|
6551
6551
|
name: "timeout",
|
|
6552
6552
|
signatures: [["milliseconds"]]
|
|
6553
6553
|
},
|
|
6554
|
+
{
|
|
6555
|
+
name: "beforeHTML",
|
|
6556
|
+
signatures: [["html","?options"]]
|
|
6557
|
+
},
|
|
6558
|
+
{
|
|
6559
|
+
name: "beforeHTMLUnsafe",
|
|
6560
|
+
signatures: [["html","?options"]]
|
|
6561
|
+
},
|
|
6562
|
+
{
|
|
6563
|
+
name: "afterHTML",
|
|
6564
|
+
signatures: [["html","?options"]]
|
|
6565
|
+
},
|
|
6566
|
+
{
|
|
6567
|
+
name: "afterHTMLUnsafe",
|
|
6568
|
+
signatures: [["html","?options"]]
|
|
6569
|
+
},
|
|
6570
|
+
{
|
|
6571
|
+
name: "replaceWithHTML",
|
|
6572
|
+
signatures: [["html","?options"]]
|
|
6573
|
+
},
|
|
6574
|
+
{
|
|
6575
|
+
name: "replaceWithHTMLUnsafe",
|
|
6576
|
+
signatures: [["html","?options"]]
|
|
6577
|
+
},
|
|
6554
6578
|
{
|
|
6555
6579
|
name: "Comment",
|
|
6556
6580
|
signatures: [["?data"]]
|
|
@@ -6599,6 +6623,30 @@ export const NativeFunctions = [
|
|
|
6599
6623
|
name: "streamHTMLUnsafe",
|
|
6600
6624
|
signatures: [["?options"]]
|
|
6601
6625
|
},
|
|
6626
|
+
{
|
|
6627
|
+
name: "streamAppendHTML",
|
|
6628
|
+
signatures: [["?options"]]
|
|
6629
|
+
},
|
|
6630
|
+
{
|
|
6631
|
+
name: "streamHTML",
|
|
6632
|
+
signatures: [["?options"]]
|
|
6633
|
+
},
|
|
6634
|
+
{
|
|
6635
|
+
name: "appendHTML",
|
|
6636
|
+
signatures: [["html","?options"]]
|
|
6637
|
+
},
|
|
6638
|
+
{
|
|
6639
|
+
name: "appendHTMLUnsafe",
|
|
6640
|
+
signatures: [["html","?options"]]
|
|
6641
|
+
},
|
|
6642
|
+
{
|
|
6643
|
+
name: "prependHTML",
|
|
6644
|
+
signatures: [["html","?options"]]
|
|
6645
|
+
},
|
|
6646
|
+
{
|
|
6647
|
+
name: "prependHTMLUnsafe",
|
|
6648
|
+
signatures: [["html","?options"]]
|
|
6649
|
+
},
|
|
6602
6650
|
{
|
|
6603
6651
|
name: "scrollIntoViewIfNeeded",
|
|
6604
6652
|
signatures: [["?centerIfNeeded"]]
|