chrome-devtools-mcp 0.19.0 → 0.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/build/src/McpContext.js +27 -0
- package/build/src/McpResponse.js +51 -19
- package/build/src/bin/chrome-devtools-cli-options.js +651 -0
- package/build/src/{cli.js → bin/chrome-devtools-mcp-cli-options.js} +1 -1
- package/build/src/{main.js → bin/chrome-devtools-mcp-main.js} +7 -7
- package/build/src/bin/chrome-devtools-mcp.js +21 -0
- package/build/src/bin/chrome-devtools.js +4 -3
- package/build/src/bin/cliDefinitions.js +0 -36
- package/build/src/browser.js +8 -9
- package/build/src/daemon/client.js +1 -0
- package/build/src/daemon/daemon.js +7 -2
- package/build/src/daemon/utils.js +1 -1
- package/build/src/index.js +204 -16
- 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 +152 -80
- package/build/src/third_party/issue-descriptions/selectivePermissionsIntervention.md +7 -0
- package/build/src/version.js +1 -1
- package/package.json +8 -5
- package/build/src/server.js +0 -209
|
@@ -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.
|
|
41896
|
+
const packageVersion = '24.39.0';
|
|
41897
41897
|
|
|
41898
41898
|
/**
|
|
41899
41899
|
* @license
|
|
@@ -53404,6 +53404,11 @@ class CdpPage extends Page {
|
|
|
53404
53404
|
const devtoolsPage = await browser._createDevToolsPage(pageTargetId);
|
|
53405
53405
|
return devtoolsPage;
|
|
53406
53406
|
}
|
|
53407
|
+
async hasDevTools() {
|
|
53408
|
+
const browser = this.browser();
|
|
53409
|
+
const targetId = await browser._hasDevToolsTarget(this.target()._targetId);
|
|
53410
|
+
return Boolean(targetId);
|
|
53411
|
+
}
|
|
53407
53412
|
async waitForFileChooser(options = {}) {
|
|
53408
53413
|
const needsEnable = this.#fileChooserDeferreds.size === 0;
|
|
53409
53414
|
const { timeout = this._timeoutSettings.timeout() } = options;
|
|
@@ -54879,6 +54884,12 @@ class CdpBrowser extends Browser$1 {
|
|
|
54879
54884
|
}
|
|
54880
54885
|
return page;
|
|
54881
54886
|
}
|
|
54887
|
+
async _hasDevToolsTarget(pageTargetId) {
|
|
54888
|
+
const response = await this.#connection.send('Target.getDevToolsTarget', {
|
|
54889
|
+
targetId: pageTargetId,
|
|
54890
|
+
});
|
|
54891
|
+
return response.targetId;
|
|
54892
|
+
}
|
|
54882
54893
|
async installExtension(path) {
|
|
54883
54894
|
const { id } = await this.#connection.send('Extensions.loadUnpacked', { path });
|
|
54884
54895
|
return id;
|
|
@@ -56835,8 +56846,8 @@ class Puppeteer {
|
|
|
56835
56846
|
* SPDX-License-Identifier: Apache-2.0
|
|
56836
56847
|
*/
|
|
56837
56848
|
const PUPPETEER_REVISIONS = Object.freeze({
|
|
56838
|
-
chrome: '146.0.7680.
|
|
56839
|
-
'chrome-headless-shell': '146.0.7680.
|
|
56849
|
+
chrome: '146.0.7680.66',
|
|
56850
|
+
'chrome-headless-shell': '146.0.7680.66',
|
|
56840
56851
|
firefox: 'stable_148.0',
|
|
56841
56852
|
});
|
|
56842
56853
|
|
|
@@ -91588,7 +91599,6 @@ var ExperimentName;
|
|
|
91588
91599
|
ExperimentName["APCA"] = "apca";
|
|
91589
91600
|
ExperimentName["FONT_EDITOR"] = "font-editor";
|
|
91590
91601
|
ExperimentName["FULL_ACCESSIBILITY_TREE"] = "full-accessibility-tree";
|
|
91591
|
-
ExperimentName["CONTRAST_ISSUES"] = "contrast-issues";
|
|
91592
91602
|
ExperimentName["EXPERIMENTAL_COOKIE_FEATURES"] = "experimental-cookie-features";
|
|
91593
91603
|
ExperimentName["INSTRUMENTATION_BREAKPOINTS"] = "instrumentation-breakpoints";
|
|
91594
91604
|
ExperimentName["AUTHORED_DEPLOYED_GROUPING"] = "authored-deployed-grouping";
|
|
@@ -100484,8 +100494,9 @@ const UIStrings$18 = {
|
|
|
100484
100494
|
disableAsyncStackTraces: 'Disable async stack traces',
|
|
100485
100495
|
doNotCaptureAsyncStackTraces: 'Do not capture async stack traces',
|
|
100486
100496
|
captureAsyncStackTraces: 'Capture async stack traces',
|
|
100497
|
+
rulersOnHover: 'Rulers on hover',
|
|
100487
100498
|
showRulersOnHover: 'Show rulers on hover',
|
|
100488
|
-
doNotShowRulersOnHover: '
|
|
100499
|
+
doNotShowRulersOnHover: 'Don\'t show rulers on hover',
|
|
100489
100500
|
showAreaNames: 'Show area names',
|
|
100490
100501
|
showGridNamedAreas: 'Show grid named areas',
|
|
100491
100502
|
doNotShowGridNamedAreas: 'Do not show grid named areas',
|
|
@@ -100666,7 +100677,7 @@ registerSettingExtension({
|
|
|
100666
100677
|
registerSettingExtension({
|
|
100667
100678
|
category: "ELEMENTS" ,
|
|
100668
100679
|
storageType: "Synced" ,
|
|
100669
|
-
title: i18nLazyString$f(UIStrings$18.
|
|
100680
|
+
title: i18nLazyString$f(UIStrings$18.rulersOnHover),
|
|
100670
100681
|
settingName: 'show-metrics-rulers',
|
|
100671
100682
|
settingType: "boolean" ,
|
|
100672
100683
|
options: [
|
|
@@ -102372,7 +102383,7 @@ function registerCommands(inspectorBackend) {
|
|
|
102372
102383
|
inspectorBackend.registerEnum("Audits.SRIMessageSignatureError", { MissingSignatureHeader: "MissingSignatureHeader", MissingSignatureInputHeader: "MissingSignatureInputHeader", InvalidSignatureHeader: "InvalidSignatureHeader", InvalidSignatureInputHeader: "InvalidSignatureInputHeader", SignatureHeaderValueIsNotByteSequence: "SignatureHeaderValueIsNotByteSequence", SignatureHeaderValueIsParameterized: "SignatureHeaderValueIsParameterized", SignatureHeaderValueIsIncorrectLength: "SignatureHeaderValueIsIncorrectLength", SignatureInputHeaderMissingLabel: "SignatureInputHeaderMissingLabel", SignatureInputHeaderValueNotInnerList: "SignatureInputHeaderValueNotInnerList", SignatureInputHeaderValueMissingComponents: "SignatureInputHeaderValueMissingComponents", SignatureInputHeaderInvalidComponentType: "SignatureInputHeaderInvalidComponentType", SignatureInputHeaderInvalidComponentName: "SignatureInputHeaderInvalidComponentName", SignatureInputHeaderInvalidHeaderComponentParameter: "SignatureInputHeaderInvalidHeaderComponentParameter", SignatureInputHeaderInvalidDerivedComponentParameter: "SignatureInputHeaderInvalidDerivedComponentParameter", SignatureInputHeaderKeyIdLength: "SignatureInputHeaderKeyIdLength", SignatureInputHeaderInvalidParameter: "SignatureInputHeaderInvalidParameter", SignatureInputHeaderMissingRequiredParameters: "SignatureInputHeaderMissingRequiredParameters", ValidationFailedSignatureExpired: "ValidationFailedSignatureExpired", ValidationFailedInvalidLength: "ValidationFailedInvalidLength", ValidationFailedSignatureMismatch: "ValidationFailedSignatureMismatch", ValidationFailedIntegrityMismatch: "ValidationFailedIntegrityMismatch" });
|
|
102373
102384
|
inspectorBackend.registerEnum("Audits.UnencodedDigestError", { MalformedDictionary: "MalformedDictionary", UnknownAlgorithm: "UnknownAlgorithm", IncorrectDigestType: "IncorrectDigestType", IncorrectDigestLength: "IncorrectDigestLength" });
|
|
102374
102385
|
inspectorBackend.registerEnum("Audits.ConnectionAllowlistError", { InvalidHeader: "InvalidHeader", MoreThanOneList: "MoreThanOneList", ItemNotInnerList: "ItemNotInnerList", InvalidAllowlistItemType: "InvalidAllowlistItemType", ReportingEndpointNotToken: "ReportingEndpointNotToken", InvalidUrlPattern: "InvalidUrlPattern" });
|
|
102375
|
-
inspectorBackend.registerEnum("Audits.GenericIssueErrorType", { FormLabelForNameError: "FormLabelForNameError", FormDuplicateIdForInputError: "FormDuplicateIdForInputError", FormInputWithNoLabelError: "FormInputWithNoLabelError", FormAutocompleteAttributeEmptyError: "FormAutocompleteAttributeEmptyError", FormEmptyIdAndNameAttributesForInputError: "FormEmptyIdAndNameAttributesForInputError", FormAriaLabelledByToNonExistingIdError: "FormAriaLabelledByToNonExistingIdError", FormInputAssignedAutocompleteValueToIdOrNameAttributeError: "FormInputAssignedAutocompleteValueToIdOrNameAttributeError", FormLabelHasNeitherForNorNestedInputError: "FormLabelHasNeitherForNorNestedInputError", FormLabelForMatchesNonExistingIdError: "FormLabelForMatchesNonExistingIdError", FormInputHasWrongButWellIntendedAutocompleteValueError: "FormInputHasWrongButWellIntendedAutocompleteValueError", ResponseWasBlockedByORB: "ResponseWasBlockedByORB", NavigationEntryMarkedSkippable: "NavigationEntryMarkedSkippable", AutofillAndManualTextPolicyControlledFeaturesInfo: "AutofillAndManualTextPolicyControlledFeaturesInfo", AutofillPolicyControlledFeatureInfo: "AutofillPolicyControlledFeatureInfo", ManualTextPolicyControlledFeatureInfo: "ManualTextPolicyControlledFeatureInfo" });
|
|
102386
|
+
inspectorBackend.registerEnum("Audits.GenericIssueErrorType", { FormLabelForNameError: "FormLabelForNameError", FormDuplicateIdForInputError: "FormDuplicateIdForInputError", FormInputWithNoLabelError: "FormInputWithNoLabelError", FormAutocompleteAttributeEmptyError: "FormAutocompleteAttributeEmptyError", FormEmptyIdAndNameAttributesForInputError: "FormEmptyIdAndNameAttributesForInputError", FormAriaLabelledByToNonExistingIdError: "FormAriaLabelledByToNonExistingIdError", FormInputAssignedAutocompleteValueToIdOrNameAttributeError: "FormInputAssignedAutocompleteValueToIdOrNameAttributeError", FormLabelHasNeitherForNorNestedInputError: "FormLabelHasNeitherForNorNestedInputError", FormLabelForMatchesNonExistingIdError: "FormLabelForMatchesNonExistingIdError", FormInputHasWrongButWellIntendedAutocompleteValueError: "FormInputHasWrongButWellIntendedAutocompleteValueError", ResponseWasBlockedByORB: "ResponseWasBlockedByORB", NavigationEntryMarkedSkippable: "NavigationEntryMarkedSkippable", AutofillAndManualTextPolicyControlledFeaturesInfo: "AutofillAndManualTextPolicyControlledFeaturesInfo", AutofillPolicyControlledFeatureInfo: "AutofillPolicyControlledFeatureInfo", ManualTextPolicyControlledFeatureInfo: "ManualTextPolicyControlledFeatureInfo", FormModelContextParameterMissingTitleAndDescription: "FormModelContextParameterMissingTitleAndDescription" });
|
|
102376
102387
|
inspectorBackend.registerEnum("Audits.ClientHintIssueReason", { MetaTagAllowListInvalidOrigin: "MetaTagAllowListInvalidOrigin", MetaTagModifiedHTML: "MetaTagModifiedHTML" });
|
|
102377
102388
|
inspectorBackend.registerEnum("Audits.FederatedAuthRequestIssueReason", { ShouldEmbargo: "ShouldEmbargo", TooManyRequests: "TooManyRequests", WellKnownHttpNotFound: "WellKnownHttpNotFound", WellKnownNoResponse: "WellKnownNoResponse", WellKnownInvalidResponse: "WellKnownInvalidResponse", WellKnownListEmpty: "WellKnownListEmpty", WellKnownInvalidContentType: "WellKnownInvalidContentType", ConfigNotInWellKnown: "ConfigNotInWellKnown", WellKnownTooBig: "WellKnownTooBig", ConfigHttpNotFound: "ConfigHttpNotFound", ConfigNoResponse: "ConfigNoResponse", ConfigInvalidResponse: "ConfigInvalidResponse", ConfigInvalidContentType: "ConfigInvalidContentType", IdpNotPotentiallyTrustworthy: "IdpNotPotentiallyTrustworthy", DisabledInSettings: "DisabledInSettings", DisabledInFlags: "DisabledInFlags", ErrorFetchingSignin: "ErrorFetchingSignin", InvalidSigninResponse: "InvalidSigninResponse", AccountsHttpNotFound: "AccountsHttpNotFound", AccountsNoResponse: "AccountsNoResponse", AccountsInvalidResponse: "AccountsInvalidResponse", AccountsListEmpty: "AccountsListEmpty", AccountsInvalidContentType: "AccountsInvalidContentType", IdTokenHttpNotFound: "IdTokenHttpNotFound", IdTokenNoResponse: "IdTokenNoResponse", IdTokenInvalidResponse: "IdTokenInvalidResponse", IdTokenIdpErrorResponse: "IdTokenIdpErrorResponse", IdTokenCrossSiteIdpErrorResponse: "IdTokenCrossSiteIdpErrorResponse", IdTokenInvalidRequest: "IdTokenInvalidRequest", IdTokenInvalidContentType: "IdTokenInvalidContentType", ErrorIdToken: "ErrorIdToken", Canceled: "Canceled", RpPageNotVisible: "RpPageNotVisible", SilentMediationFailure: "SilentMediationFailure", NotSignedInWithIdp: "NotSignedInWithIdp", MissingTransientUserActivation: "MissingTransientUserActivation", ReplacedByActiveMode: "ReplacedByActiveMode", RelyingPartyOriginIsOpaque: "RelyingPartyOriginIsOpaque", TypeNotMatching: "TypeNotMatching", UiDismissedNoEmbargo: "UiDismissedNoEmbargo", CorsError: "CorsError", SuppressedBySegmentationPlatform: "SuppressedBySegmentationPlatform" });
|
|
102378
102389
|
inspectorBackend.registerEnum("Audits.FederatedAuthUserInfoRequestIssueReason", { NotSameOrigin: "NotSameOrigin", NotIframe: "NotIframe", NotPotentiallyTrustworthy: "NotPotentiallyTrustworthy", NoAPIPermission: "NoApiPermission", NotSignedInWithIdp: "NotSignedInWithIdp", NoAccountSharingPermission: "NoAccountSharingPermission", InvalidConfigOrWellKnown: "InvalidConfigOrWellKnown", InvalidAccountsResponse: "InvalidAccountsResponse", NoReturningUserFromFetchedAccounts: "NoReturningUserFromFetchedAccounts" });
|
|
@@ -102512,7 +102523,7 @@ function registerCommands(inspectorBackend) {
|
|
|
102512
102523
|
inspectorBackend.registerType("Browser.Bucket", [{ "name": "low", "type": "number", "optional": false, "description": "Minimum value (inclusive).", "typeRef": null }, { "name": "high", "type": "number", "optional": false, "description": "Maximum value (exclusive).", "typeRef": null }, { "name": "count", "type": "number", "optional": false, "description": "Number of samples.", "typeRef": null }]);
|
|
102513
102524
|
inspectorBackend.registerType("Browser.Histogram", [{ "name": "name", "type": "string", "optional": false, "description": "Name.", "typeRef": null }, { "name": "sum", "type": "number", "optional": false, "description": "Sum of sample values.", "typeRef": null }, { "name": "count", "type": "number", "optional": false, "description": "Total number of samples.", "typeRef": null }, { "name": "buckets", "type": "array", "optional": false, "description": "Buckets.", "typeRef": "Browser.Bucket" }]);
|
|
102514
102525
|
inspectorBackend.registerEnum("CSS.StyleSheetOrigin", { Injected: "injected", UserAgent: "user-agent", Inspector: "inspector", Regular: "regular" });
|
|
102515
|
-
inspectorBackend.registerEnum("CSS.CSSRuleType", { MediaRule: "MediaRule", SupportsRule: "SupportsRule", ContainerRule: "ContainerRule", LayerRule: "LayerRule", ScopeRule: "ScopeRule", StyleRule: "StyleRule", StartingStyleRule: "StartingStyleRule" });
|
|
102526
|
+
inspectorBackend.registerEnum("CSS.CSSRuleType", { MediaRule: "MediaRule", SupportsRule: "SupportsRule", ContainerRule: "ContainerRule", LayerRule: "LayerRule", ScopeRule: "ScopeRule", StyleRule: "StyleRule", StartingStyleRule: "StartingStyleRule", NavigationRule: "NavigationRule" });
|
|
102516
102527
|
inspectorBackend.registerEnum("CSS.CSSMediaSource", { MediaRule: "mediaRule", ImportRule: "importRule", LinkedSheet: "linkedSheet", InlineSheet: "inlineSheet" });
|
|
102517
102528
|
inspectorBackend.registerEnum("CSS.CSSAtRuleType", { FontFace: "font-face", FontFeatureValues: "font-feature-values", FontPaletteValues: "font-palette-values" });
|
|
102518
102529
|
inspectorBackend.registerEnum("CSS.CSSAtRuleSubsection", { Swash: "swash", Annotation: "annotation", Ornaments: "ornaments", Stylistic: "stylistic", Styleset: "styleset", CharacterVariant: "character-variant" });
|
|
@@ -102551,6 +102562,7 @@ function registerCommands(inspectorBackend) {
|
|
|
102551
102562
|
inspectorBackend.registerCommand("CSS.setMediaText", [{ "name": "styleSheetId", "type": "string", "optional": false, "description": "", "typeRef": "DOM.StyleSheetId" }, { "name": "range", "type": "object", "optional": false, "description": "", "typeRef": "CSS.SourceRange" }, { "name": "text", "type": "string", "optional": false, "description": "", "typeRef": null }], ["media"], "Modifies the rule selector.");
|
|
102552
102563
|
inspectorBackend.registerCommand("CSS.setContainerQueryText", [{ "name": "styleSheetId", "type": "string", "optional": false, "description": "", "typeRef": "DOM.StyleSheetId" }, { "name": "range", "type": "object", "optional": false, "description": "", "typeRef": "CSS.SourceRange" }, { "name": "text", "type": "string", "optional": false, "description": "", "typeRef": null }], ["containerQuery"], "Modifies the expression of a container query.");
|
|
102553
102564
|
inspectorBackend.registerCommand("CSS.setSupportsText", [{ "name": "styleSheetId", "type": "string", "optional": false, "description": "", "typeRef": "DOM.StyleSheetId" }, { "name": "range", "type": "object", "optional": false, "description": "", "typeRef": "CSS.SourceRange" }, { "name": "text", "type": "string", "optional": false, "description": "", "typeRef": null }], ["supports"], "Modifies the expression of a supports at-rule.");
|
|
102565
|
+
inspectorBackend.registerCommand("CSS.setNavigationText", [{ "name": "styleSheetId", "type": "string", "optional": false, "description": "", "typeRef": "DOM.StyleSheetId" }, { "name": "range", "type": "object", "optional": false, "description": "", "typeRef": "CSS.SourceRange" }, { "name": "text", "type": "string", "optional": false, "description": "", "typeRef": null }], ["navigation"], "Modifies the expression of a navigation at-rule.");
|
|
102554
102566
|
inspectorBackend.registerCommand("CSS.setScopeText", [{ "name": "styleSheetId", "type": "string", "optional": false, "description": "", "typeRef": "DOM.StyleSheetId" }, { "name": "range", "type": "object", "optional": false, "description": "", "typeRef": "CSS.SourceRange" }, { "name": "text", "type": "string", "optional": false, "description": "", "typeRef": null }], ["scope"], "Modifies the expression of a scope at-rule.");
|
|
102555
102567
|
inspectorBackend.registerCommand("CSS.setRuleSelector", [{ "name": "styleSheetId", "type": "string", "optional": false, "description": "", "typeRef": "DOM.StyleSheetId" }, { "name": "range", "type": "object", "optional": false, "description": "", "typeRef": "CSS.SourceRange" }, { "name": "selector", "type": "string", "optional": false, "description": "", "typeRef": null }], ["selectorList"], "Modifies the rule selector.");
|
|
102556
102568
|
inspectorBackend.registerCommand("CSS.setStyleSheetText", [{ "name": "styleSheetId", "type": "string", "optional": false, "description": "", "typeRef": "DOM.StyleSheetId" }, { "name": "text", "type": "string", "optional": false, "description": "", "typeRef": null }], ["sourceMapURL"], "Sets the new stylesheet text.");
|
|
@@ -102569,7 +102581,7 @@ function registerCommands(inspectorBackend) {
|
|
|
102569
102581
|
inspectorBackend.registerType("CSS.Specificity", [{ "name": "a", "type": "number", "optional": false, "description": "The a component, which represents the number of ID selectors.", "typeRef": null }, { "name": "b", "type": "number", "optional": false, "description": "The b component, which represents the number of class selectors, attributes selectors, and pseudo-classes.", "typeRef": null }, { "name": "c", "type": "number", "optional": false, "description": "The c component, which represents the number of type selectors and pseudo-elements.", "typeRef": null }]);
|
|
102570
102582
|
inspectorBackend.registerType("CSS.SelectorList", [{ "name": "selectors", "type": "array", "optional": false, "description": "Selectors in the list.", "typeRef": "CSS.Value" }, { "name": "text", "type": "string", "optional": false, "description": "Rule selector text.", "typeRef": null }]);
|
|
102571
102583
|
inspectorBackend.registerType("CSS.CSSStyleSheetHeader", [{ "name": "styleSheetId", "type": "string", "optional": false, "description": "The stylesheet identifier.", "typeRef": "DOM.StyleSheetId" }, { "name": "frameId", "type": "string", "optional": false, "description": "Owner frame identifier.", "typeRef": "Page.FrameId" }, { "name": "sourceURL", "type": "string", "optional": false, "description": "Stylesheet resource URL. Empty if this is a constructed stylesheet created using new CSSStyleSheet() (but non-empty if this is a constructed stylesheet imported as a CSS module script).", "typeRef": null }, { "name": "sourceMapURL", "type": "string", "optional": true, "description": "URL of source map associated with the stylesheet (if any).", "typeRef": null }, { "name": "origin", "type": "string", "optional": false, "description": "Stylesheet origin.", "typeRef": "CSS.StyleSheetOrigin" }, { "name": "title", "type": "string", "optional": false, "description": "Stylesheet title.", "typeRef": null }, { "name": "ownerNode", "type": "number", "optional": true, "description": "The backend id for the owner node of the stylesheet.", "typeRef": "DOM.BackendNodeId" }, { "name": "disabled", "type": "boolean", "optional": false, "description": "Denotes whether the stylesheet is disabled.", "typeRef": null }, { "name": "hasSourceURL", "type": "boolean", "optional": true, "description": "Whether the sourceURL field value comes from the sourceURL comment.", "typeRef": null }, { "name": "isInline", "type": "boolean", "optional": false, "description": "Whether this stylesheet is created for STYLE tag by parser. This flag is not set for document.written STYLE tags.", "typeRef": null }, { "name": "isMutable", "type": "boolean", "optional": false, "description": "Whether this stylesheet is mutable. Inline stylesheets become mutable after they have been modified via CSSOM API. `<link>` element's stylesheets become mutable only if DevTools modifies them. Constructed stylesheets (new CSSStyleSheet()) are mutable immediately after creation.", "typeRef": null }, { "name": "isConstructed", "type": "boolean", "optional": false, "description": "True if this stylesheet is created through new CSSStyleSheet() or imported as a CSS module script.", "typeRef": null }, { "name": "startLine", "type": "number", "optional": false, "description": "Line offset of the stylesheet within the resource (zero based).", "typeRef": null }, { "name": "startColumn", "type": "number", "optional": false, "description": "Column offset of the stylesheet within the resource (zero based).", "typeRef": null }, { "name": "length", "type": "number", "optional": false, "description": "Size of the content (in characters).", "typeRef": null }, { "name": "endLine", "type": "number", "optional": false, "description": "Line offset of the end of the stylesheet within the resource (zero based).", "typeRef": null }, { "name": "endColumn", "type": "number", "optional": false, "description": "Column offset of the end of the stylesheet within the resource (zero based).", "typeRef": null }, { "name": "loadingFailed", "type": "boolean", "optional": true, "description": "If the style sheet was loaded from a network resource, this indicates when the resource failed to load", "typeRef": null }]);
|
|
102572
|
-
inspectorBackend.registerType("CSS.CSSRule", [{ "name": "styleSheetId", "type": "string", "optional": true, "description": "The css style sheet identifier (absent for user agent stylesheet and user-specified stylesheet rules) this rule came from.", "typeRef": "DOM.StyleSheetId" }, { "name": "selectorList", "type": "object", "optional": false, "description": "Rule selector data.", "typeRef": "CSS.SelectorList" }, { "name": "nestingSelectors", "type": "array", "optional": true, "description": "Array of selectors from ancestor style rules, sorted by distance from the current rule.", "typeRef": "string" }, { "name": "origin", "type": "string", "optional": false, "description": "Parent stylesheet's origin.", "typeRef": "CSS.StyleSheetOrigin" }, { "name": "style", "type": "object", "optional": false, "description": "Associated style declaration.", "typeRef": "CSS.CSSStyle" }, { "name": "originTreeScopeNodeId", "type": "number", "optional": true, "description": "The BackendNodeId of the DOM node that constitutes the origin tree scope of this rule.", "typeRef": "DOM.BackendNodeId" }, { "name": "media", "type": "array", "optional": true, "description": "Media list array (for rules involving media queries). The array enumerates media queries starting with the innermost one, going outwards.", "typeRef": "CSS.CSSMedia" }, { "name": "containerQueries", "type": "array", "optional": true, "description": "Container query list array (for rules involving container queries). The array enumerates container queries starting with the innermost one, going outwards.", "typeRef": "CSS.CSSContainerQuery" }, { "name": "supports", "type": "array", "optional": true, "description": "@supports CSS at-rule array. The array enumerates @supports at-rules starting with the innermost one, going outwards.", "typeRef": "CSS.CSSSupports" }, { "name": "layers", "type": "array", "optional": true, "description": "Cascade layer array. Contains the layer hierarchy that this rule belongs to starting with the innermost layer and going outwards.", "typeRef": "CSS.CSSLayer" }, { "name": "scopes", "type": "array", "optional": true, "description": "@scope CSS at-rule array. The array enumerates @scope at-rules starting with the innermost one, going outwards.", "typeRef": "CSS.CSSScope" }, { "name": "ruleTypes", "type": "array", "optional": true, "description": "The array keeps the types of ancestor CSSRules from the innermost going outwards.", "typeRef": "CSS.CSSRuleType" }, { "name": "startingStyles", "type": "array", "optional": true, "description": "@starting-style CSS at-rule array. The array enumerates @starting-style at-rules starting with the innermost one, going outwards.", "typeRef": "CSS.CSSStartingStyle" }]);
|
|
102584
|
+
inspectorBackend.registerType("CSS.CSSRule", [{ "name": "styleSheetId", "type": "string", "optional": true, "description": "The css style sheet identifier (absent for user agent stylesheet and user-specified stylesheet rules) this rule came from.", "typeRef": "DOM.StyleSheetId" }, { "name": "selectorList", "type": "object", "optional": false, "description": "Rule selector data.", "typeRef": "CSS.SelectorList" }, { "name": "nestingSelectors", "type": "array", "optional": true, "description": "Array of selectors from ancestor style rules, sorted by distance from the current rule.", "typeRef": "string" }, { "name": "origin", "type": "string", "optional": false, "description": "Parent stylesheet's origin.", "typeRef": "CSS.StyleSheetOrigin" }, { "name": "style", "type": "object", "optional": false, "description": "Associated style declaration.", "typeRef": "CSS.CSSStyle" }, { "name": "originTreeScopeNodeId", "type": "number", "optional": true, "description": "The BackendNodeId of the DOM node that constitutes the origin tree scope of this rule.", "typeRef": "DOM.BackendNodeId" }, { "name": "media", "type": "array", "optional": true, "description": "Media list array (for rules involving media queries). The array enumerates media queries starting with the innermost one, going outwards.", "typeRef": "CSS.CSSMedia" }, { "name": "containerQueries", "type": "array", "optional": true, "description": "Container query list array (for rules involving container queries). The array enumerates container queries starting with the innermost one, going outwards.", "typeRef": "CSS.CSSContainerQuery" }, { "name": "supports", "type": "array", "optional": true, "description": "@supports CSS at-rule array. The array enumerates @supports at-rules starting with the innermost one, going outwards.", "typeRef": "CSS.CSSSupports" }, { "name": "layers", "type": "array", "optional": true, "description": "Cascade layer array. Contains the layer hierarchy that this rule belongs to starting with the innermost layer and going outwards.", "typeRef": "CSS.CSSLayer" }, { "name": "scopes", "type": "array", "optional": true, "description": "@scope CSS at-rule array. The array enumerates @scope at-rules starting with the innermost one, going outwards.", "typeRef": "CSS.CSSScope" }, { "name": "ruleTypes", "type": "array", "optional": true, "description": "The array keeps the types of ancestor CSSRules from the innermost going outwards.", "typeRef": "CSS.CSSRuleType" }, { "name": "startingStyles", "type": "array", "optional": true, "description": "@starting-style CSS at-rule array. The array enumerates @starting-style at-rules starting with the innermost one, going outwards.", "typeRef": "CSS.CSSStartingStyle" }, { "name": "navigations", "type": "array", "optional": true, "description": "@navigation CSS at-rule array. The array enumerates @navigation at-rules starting with the innermost one, going outwards.", "typeRef": "CSS.CSSNavigation" }]);
|
|
102573
102585
|
inspectorBackend.registerType("CSS.RuleUsage", [{ "name": "styleSheetId", "type": "string", "optional": false, "description": "The css style sheet identifier (absent for user agent stylesheet and user-specified stylesheet rules) this rule came from.", "typeRef": "DOM.StyleSheetId" }, { "name": "startOffset", "type": "number", "optional": false, "description": "Offset of the start of the rule (including selector) from the beginning of the stylesheet.", "typeRef": null }, { "name": "endOffset", "type": "number", "optional": false, "description": "Offset of the end of the rule body from the beginning of the stylesheet.", "typeRef": null }, { "name": "used", "type": "boolean", "optional": false, "description": "Indicates whether the rule was actually used by some element in the page.", "typeRef": null }]);
|
|
102574
102586
|
inspectorBackend.registerType("CSS.SourceRange", [{ "name": "startLine", "type": "number", "optional": false, "description": "Start line of range.", "typeRef": null }, { "name": "startColumn", "type": "number", "optional": false, "description": "Start column of range (inclusive).", "typeRef": null }, { "name": "endLine", "type": "number", "optional": false, "description": "End line of range", "typeRef": null }, { "name": "endColumn", "type": "number", "optional": false, "description": "End column of range (exclusive).", "typeRef": null }]);
|
|
102575
102587
|
inspectorBackend.registerType("CSS.ShorthandEntry", [{ "name": "name", "type": "string", "optional": false, "description": "Shorthand name.", "typeRef": null }, { "name": "value", "type": "string", "optional": false, "description": "Shorthand value.", "typeRef": null }, { "name": "important", "type": "boolean", "optional": true, "description": "Whether the property has \\\"!important\\\" annotation (implies `false` if absent).", "typeRef": null }]);
|
|
@@ -102582,6 +102594,7 @@ function registerCommands(inspectorBackend) {
|
|
|
102582
102594
|
inspectorBackend.registerType("CSS.MediaQueryExpression", [{ "name": "value", "type": "number", "optional": false, "description": "Media query expression value.", "typeRef": null }, { "name": "unit", "type": "string", "optional": false, "description": "Media query expression units.", "typeRef": null }, { "name": "feature", "type": "string", "optional": false, "description": "Media query expression feature.", "typeRef": null }, { "name": "valueRange", "type": "object", "optional": true, "description": "The associated range of the value text in the enclosing stylesheet (if available).", "typeRef": "CSS.SourceRange" }, { "name": "computedLength", "type": "number", "optional": true, "description": "Computed length of media query expression (if applicable).", "typeRef": null }]);
|
|
102583
102595
|
inspectorBackend.registerType("CSS.CSSContainerQuery", [{ "name": "text", "type": "string", "optional": false, "description": "Container query text.", "typeRef": null }, { "name": "range", "type": "object", "optional": true, "description": "The associated rule header range in the enclosing stylesheet (if available).", "typeRef": "CSS.SourceRange" }, { "name": "styleSheetId", "type": "string", "optional": true, "description": "Identifier of the stylesheet containing this object (if exists).", "typeRef": "DOM.StyleSheetId" }, { "name": "name", "type": "string", "optional": true, "description": "Optional name for the container.", "typeRef": null }, { "name": "physicalAxes", "type": "string", "optional": true, "description": "Optional physical axes queried for the container.", "typeRef": "DOM.PhysicalAxes" }, { "name": "logicalAxes", "type": "string", "optional": true, "description": "Optional logical axes queried for the container.", "typeRef": "DOM.LogicalAxes" }, { "name": "queriesScrollState", "type": "boolean", "optional": true, "description": "true if the query contains scroll-state() queries.", "typeRef": null }, { "name": "queriesAnchored", "type": "boolean", "optional": true, "description": "true if the query contains anchored() queries.", "typeRef": null }]);
|
|
102584
102596
|
inspectorBackend.registerType("CSS.CSSSupports", [{ "name": "text", "type": "string", "optional": false, "description": "Supports rule text.", "typeRef": null }, { "name": "active", "type": "boolean", "optional": false, "description": "Whether the supports condition is satisfied.", "typeRef": null }, { "name": "range", "type": "object", "optional": true, "description": "The associated rule header range in the enclosing stylesheet (if available).", "typeRef": "CSS.SourceRange" }, { "name": "styleSheetId", "type": "string", "optional": true, "description": "Identifier of the stylesheet containing this object (if exists).", "typeRef": "DOM.StyleSheetId" }]);
|
|
102597
|
+
inspectorBackend.registerType("CSS.CSSNavigation", [{ "name": "text", "type": "string", "optional": false, "description": "Navigation rule text.", "typeRef": null }, { "name": "active", "type": "boolean", "optional": true, "description": "Whether the navigation condition is satisfied.", "typeRef": null }, { "name": "range", "type": "object", "optional": true, "description": "The associated rule header range in the enclosing stylesheet (if available).", "typeRef": "CSS.SourceRange" }, { "name": "styleSheetId", "type": "string", "optional": true, "description": "Identifier of the stylesheet containing this object (if exists).", "typeRef": "DOM.StyleSheetId" }]);
|
|
102585
102598
|
inspectorBackend.registerType("CSS.CSSScope", [{ "name": "text", "type": "string", "optional": false, "description": "Scope rule text.", "typeRef": null }, { "name": "range", "type": "object", "optional": true, "description": "The associated rule header range in the enclosing stylesheet (if available).", "typeRef": "CSS.SourceRange" }, { "name": "styleSheetId", "type": "string", "optional": true, "description": "Identifier of the stylesheet containing this object (if exists).", "typeRef": "DOM.StyleSheetId" }]);
|
|
102586
102599
|
inspectorBackend.registerType("CSS.CSSLayer", [{ "name": "text", "type": "string", "optional": false, "description": "Layer name.", "typeRef": null }, { "name": "range", "type": "object", "optional": true, "description": "The associated rule header range in the enclosing stylesheet (if available).", "typeRef": "CSS.SourceRange" }, { "name": "styleSheetId", "type": "string", "optional": true, "description": "Identifier of the stylesheet containing this object (if exists).", "typeRef": "DOM.StyleSheetId" }]);
|
|
102587
102600
|
inspectorBackend.registerType("CSS.CSSStartingStyle", [{ "name": "range", "type": "object", "optional": true, "description": "The associated rule header range in the enclosing stylesheet (if available).", "typeRef": "CSS.SourceRange" }, { "name": "styleSheetId", "type": "string", "optional": true, "description": "Identifier of the stylesheet containing this object (if exists).", "typeRef": "DOM.StyleSheetId" }]);
|
|
@@ -102596,7 +102609,7 @@ function registerCommands(inspectorBackend) {
|
|
|
102596
102609
|
inspectorBackend.registerType("CSS.CSSAtRule", [{ "name": "type", "type": "string", "optional": false, "description": "Type of at-rule.", "typeRef": null }, { "name": "subsection", "type": "string", "optional": true, "description": "Subsection of font-feature-values, if this is a subsection.", "typeRef": null }, { "name": "name", "type": "object", "optional": true, "description": "LINT_SKIP.ThenChange(//third_party/blink/renderer/core/inspector/inspector_style_sheet.cc:FontVariantAlternatesFeatureType,//third_party/blink/renderer/core/inspector/inspector_css_agent.cc:FontVariantAlternatesFeatureType) Associated name, if applicable.", "typeRef": "CSS.Value" }, { "name": "styleSheetId", "type": "string", "optional": true, "description": "The css style sheet identifier (absent for user agent stylesheet and user-specified stylesheet rules) this rule came from.", "typeRef": "DOM.StyleSheetId" }, { "name": "origin", "type": "string", "optional": false, "description": "Parent stylesheet's origin.", "typeRef": "CSS.StyleSheetOrigin" }, { "name": "style", "type": "object", "optional": false, "description": "Associated style declaration.", "typeRef": "CSS.CSSStyle" }]);
|
|
102597
102610
|
inspectorBackend.registerType("CSS.CSSPropertyRule", [{ "name": "styleSheetId", "type": "string", "optional": true, "description": "The css style sheet identifier (absent for user agent stylesheet and user-specified stylesheet rules) this rule came from.", "typeRef": "DOM.StyleSheetId" }, { "name": "origin", "type": "string", "optional": false, "description": "Parent stylesheet's origin.", "typeRef": "CSS.StyleSheetOrigin" }, { "name": "propertyName", "type": "object", "optional": false, "description": "Associated property name.", "typeRef": "CSS.Value" }, { "name": "style", "type": "object", "optional": false, "description": "Associated style declaration.", "typeRef": "CSS.CSSStyle" }]);
|
|
102598
102611
|
inspectorBackend.registerType("CSS.CSSFunctionParameter", [{ "name": "name", "type": "string", "optional": false, "description": "The parameter name.", "typeRef": null }, { "name": "type", "type": "string", "optional": false, "description": "The parameter type.", "typeRef": null }]);
|
|
102599
|
-
inspectorBackend.registerType("CSS.CSSFunctionConditionNode", [{ "name": "media", "type": "object", "optional": true, "description": "Media query for this conditional block. Only one type of condition should be set.", "typeRef": "CSS.CSSMedia" }, { "name": "containerQueries", "type": "object", "optional": true, "description": "Container query for this conditional block. Only one type of condition should be set.", "typeRef": "CSS.CSSContainerQuery" }, { "name": "supports", "type": "object", "optional": true, "description": "@supports CSS at-rule condition. Only one type of condition should be set.", "typeRef": "CSS.CSSSupports" }, { "name": "children", "type": "array", "optional": false, "description": "Block body.", "typeRef": "CSS.CSSFunctionNode" }, { "name": "conditionText", "type": "string", "optional": false, "description": "The condition text.", "typeRef": null }]);
|
|
102612
|
+
inspectorBackend.registerType("CSS.CSSFunctionConditionNode", [{ "name": "media", "type": "object", "optional": true, "description": "Media query for this conditional block. Only one type of condition should be set.", "typeRef": "CSS.CSSMedia" }, { "name": "containerQueries", "type": "object", "optional": true, "description": "Container query for this conditional block. Only one type of condition should be set.", "typeRef": "CSS.CSSContainerQuery" }, { "name": "supports", "type": "object", "optional": true, "description": "@supports CSS at-rule condition. Only one type of condition should be set.", "typeRef": "CSS.CSSSupports" }, { "name": "navigation", "type": "object", "optional": true, "description": "@navigation condition. Only one type of condition should be set.", "typeRef": "CSS.CSSNavigation" }, { "name": "children", "type": "array", "optional": false, "description": "Block body.", "typeRef": "CSS.CSSFunctionNode" }, { "name": "conditionText", "type": "string", "optional": false, "description": "The condition text.", "typeRef": null }]);
|
|
102600
102613
|
inspectorBackend.registerType("CSS.CSSFunctionNode", [{ "name": "condition", "type": "object", "optional": true, "description": "A conditional block. If set, style should not be set.", "typeRef": "CSS.CSSFunctionConditionNode" }, { "name": "style", "type": "object", "optional": true, "description": "Values set by this node. If set, condition should not be set.", "typeRef": "CSS.CSSStyle" }]);
|
|
102601
102614
|
inspectorBackend.registerType("CSS.CSSFunctionRule", [{ "name": "name", "type": "object", "optional": false, "description": "Name of the function.", "typeRef": "CSS.Value" }, { "name": "styleSheetId", "type": "string", "optional": true, "description": "The css style sheet identifier (absent for user agent stylesheet and user-specified stylesheet rules) this rule came from.", "typeRef": "DOM.StyleSheetId" }, { "name": "origin", "type": "string", "optional": false, "description": "Parent stylesheet's origin.", "typeRef": "CSS.StyleSheetOrigin" }, { "name": "parameters", "type": "array", "optional": false, "description": "List of parameters.", "typeRef": "CSS.CSSFunctionParameter" }, { "name": "children", "type": "array", "optional": false, "description": "Function body.", "typeRef": "CSS.CSSFunctionNode" }]);
|
|
102602
102615
|
inspectorBackend.registerType("CSS.CSSKeyframeRule", [{ "name": "styleSheetId", "type": "string", "optional": true, "description": "The css style sheet identifier (absent for user agent stylesheet and user-specified stylesheet rules) this rule came from.", "typeRef": "DOM.StyleSheetId" }, { "name": "origin", "type": "string", "optional": false, "description": "Parent stylesheet's origin.", "typeRef": "CSS.StyleSheetOrigin" }, { "name": "keyText", "type": "object", "optional": false, "description": "Associated key text.", "typeRef": "CSS.Value" }, { "name": "style", "type": "object", "optional": false, "description": "Associated style declaration.", "typeRef": "CSS.CSSStyle" }]);
|
|
@@ -102780,7 +102793,7 @@ function registerCommands(inspectorBackend) {
|
|
|
102780
102793
|
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.");
|
|
102781
102794
|
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.");
|
|
102782
102795
|
inspectorBackend.registerEnum("Emulation.SetDeviceMetricsOverrideRequestScrollbarType", { Overlay: "overlay", Default: "default" });
|
|
102783
|
-
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).");
|
|
102796
|
+
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" }, { "name": "screenOrientationLockEmulation", "type": "boolean", "optional": true, "description": "If set to true, enables screen orientation lock emulation, which intercepts screen.orientation.lock() calls from the page and reports orientation changes via screenOrientationLockChanged events. This is useful for emulating mobile device orientation lock behavior in responsive design mode.", "typeRef": null }], [], "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).");
|
|
102784
102797
|
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().");
|
|
102785
102798
|
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.");
|
|
102786
102799
|
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().");
|
|
@@ -102818,6 +102831,7 @@ function registerCommands(inspectorBackend) {
|
|
|
102818
102831
|
inspectorBackend.registerCommand("Emulation.setSmallViewportHeightDifferenceOverride", [{ "name": "difference", "type": "number", "optional": false, "description": "This will cause an element of size 100svh to be `difference` pixels smaller than an element of size 100lvh.", "typeRef": null }], [], "Allows overriding the difference between the small and large viewport sizes, which determine the value of the `svh` and `lvh` unit, respectively. Only supported for top-level frames.");
|
|
102819
102832
|
inspectorBackend.registerCommand("Emulation.getScreenInfos", [], ["screenInfos"], "Returns device's screen configuration. In headful mode, the physical screens configuration is returned, whereas in headless mode, a virtual headless screen configuration is provided instead.");
|
|
102820
102833
|
inspectorBackend.registerCommand("Emulation.addScreen", [{ "name": "left", "type": "number", "optional": false, "description": "Offset of the left edge of the screen in pixels.", "typeRef": null }, { "name": "top", "type": "number", "optional": false, "description": "Offset of the top edge of the screen in pixels.", "typeRef": null }, { "name": "width", "type": "number", "optional": false, "description": "The width of the screen in pixels.", "typeRef": null }, { "name": "height", "type": "number", "optional": false, "description": "The height of the screen in pixels.", "typeRef": null }, { "name": "workAreaInsets", "type": "object", "optional": true, "description": "Specifies the screen's work area. Default is entire screen.", "typeRef": "Emulation.WorkAreaInsets" }, { "name": "devicePixelRatio", "type": "number", "optional": true, "description": "Specifies the screen's device pixel ratio. Default is 1.", "typeRef": null }, { "name": "rotation", "type": "number", "optional": true, "description": "Specifies the screen's rotation angle. Available values are 0, 90, 180 and 270. Default is 0.", "typeRef": null }, { "name": "colorDepth", "type": "number", "optional": true, "description": "Specifies the screen's color depth in bits. Default is 24.", "typeRef": null }, { "name": "label", "type": "string", "optional": true, "description": "Specifies the descriptive label for the screen. Default is none.", "typeRef": null }, { "name": "isInternal", "type": "boolean", "optional": true, "description": "Indicates whether the screen is internal to the device or external, attached to the device. Default is false.", "typeRef": null }], ["screenInfo"], "Add a new screen to the device. Only supported in headless mode.");
|
|
102834
|
+
inspectorBackend.registerCommand("Emulation.updateScreen", [{ "name": "screenId", "type": "string", "optional": false, "description": "Target screen identifier.", "typeRef": "Emulation.ScreenId" }, { "name": "left", "type": "number", "optional": true, "description": "Offset of the left edge of the screen in pixels.", "typeRef": null }, { "name": "top", "type": "number", "optional": true, "description": "Offset of the top edge of the screen in pixels.", "typeRef": null }, { "name": "width", "type": "number", "optional": true, "description": "The width of the screen in pixels.", "typeRef": null }, { "name": "height", "type": "number", "optional": true, "description": "The height of the screen in pixels.", "typeRef": null }, { "name": "workAreaInsets", "type": "object", "optional": true, "description": "Specifies the screen's work area.", "typeRef": "Emulation.WorkAreaInsets" }, { "name": "devicePixelRatio", "type": "number", "optional": true, "description": "Specifies the screen's device pixel ratio.", "typeRef": null }, { "name": "rotation", "type": "number", "optional": true, "description": "Specifies the screen's rotation angle. Available values are 0, 90, 180 and 270.", "typeRef": null }, { "name": "colorDepth", "type": "number", "optional": true, "description": "Specifies the screen's color depth in bits.", "typeRef": null }, { "name": "label", "type": "string", "optional": true, "description": "Specifies the descriptive label for the screen.", "typeRef": null }, { "name": "isInternal", "type": "boolean", "optional": true, "description": "Indicates whether the screen is internal to the device or external, attached to the device. Default is false.", "typeRef": null }], ["screenInfo"], "Updates specified screen parameters. Only supported in headless mode.");
|
|
102821
102835
|
inspectorBackend.registerCommand("Emulation.removeScreen", [{ "name": "screenId", "type": "string", "optional": false, "description": "", "typeRef": "Emulation.ScreenId" }], [], "Remove screen from the device. Only supported in headless mode.");
|
|
102822
102836
|
inspectorBackend.registerCommand("Emulation.setPrimaryScreen", [{ "name": "screenId", "type": "string", "optional": false, "description": "", "typeRef": "Emulation.ScreenId" }], [], "Set primary screen. Only supported in headless mode. Note that this changes the coordinate system origin to the top-left of the new primary screen, updating the bounds and work areas of all existing screens accordingly.");
|
|
102823
102837
|
inspectorBackend.registerType("Emulation.SafeAreaInsets", [{ "name": "top", "type": "number", "optional": true, "description": "Overrides safe-area-inset-top.", "typeRef": null }, { "name": "topMax", "type": "number", "optional": true, "description": "Overrides safe-area-max-inset-top.", "typeRef": null }, { "name": "left", "type": "number", "optional": true, "description": "Overrides safe-area-inset-left.", "typeRef": null }, { "name": "leftMax", "type": "number", "optional": true, "description": "Overrides safe-area-max-inset-left.", "typeRef": null }, { "name": "bottom", "type": "number", "optional": true, "description": "Overrides safe-area-inset-bottom.", "typeRef": null }, { "name": "bottomMax", "type": "number", "optional": true, "description": "Overrides safe-area-max-inset-bottom.", "typeRef": null }, { "name": "right", "type": "number", "optional": true, "description": "Overrides safe-area-inset-right.", "typeRef": null }, { "name": "rightMax", "type": "number", "optional": true, "description": "Overrides safe-area-max-inset-right.", "typeRef": null }]);
|
|
@@ -106721,7 +106735,6 @@ var DevtoolsExperiments;
|
|
|
106721
106735
|
DevtoolsExperiments[DevtoolsExperiments["apca"] = 39] = "apca";
|
|
106722
106736
|
DevtoolsExperiments[DevtoolsExperiments["font-editor"] = 41] = "font-editor";
|
|
106723
106737
|
DevtoolsExperiments[DevtoolsExperiments["full-accessibility-tree"] = 42] = "full-accessibility-tree";
|
|
106724
|
-
DevtoolsExperiments[DevtoolsExperiments["contrast-issues"] = 44] = "contrast-issues";
|
|
106725
106738
|
DevtoolsExperiments[DevtoolsExperiments["experimental-cookie-features"] = 45] = "experimental-cookie-features";
|
|
106726
106739
|
DevtoolsExperiments[DevtoolsExperiments["instrumentation-breakpoints"] = 61] = "instrumentation-breakpoints";
|
|
106727
106740
|
DevtoolsExperiments[DevtoolsExperiments["authored-deployed-grouping"] = 63] = "authored-deployed-grouping";
|
|
@@ -106798,7 +106811,6 @@ var IssueCreated;
|
|
|
106798
106811
|
IssueCreated[IssueCreated["CookieIssue::WarnSameSiteUnspecifiedCrossSiteContext::SetCookie"] = 35] = "CookieIssue::WarnSameSiteUnspecifiedCrossSiteContext::SetCookie";
|
|
106799
106812
|
IssueCreated[IssueCreated["SharedArrayBufferIssue::TransferIssue"] = 36] = "SharedArrayBufferIssue::TransferIssue";
|
|
106800
106813
|
IssueCreated[IssueCreated["SharedArrayBufferIssue::CreationIssue"] = 37] = "SharedArrayBufferIssue::CreationIssue";
|
|
106801
|
-
IssueCreated[IssueCreated["LowTextContrastIssue"] = 41] = "LowTextContrastIssue";
|
|
106802
106814
|
IssueCreated[IssueCreated["CorsIssue::InsecureLocalNetwork"] = 42] = "CorsIssue::InsecureLocalNetwork";
|
|
106803
106815
|
IssueCreated[IssueCreated["CorsIssue::InvalidHeaders"] = 44] = "CorsIssue::InvalidHeaders";
|
|
106804
106816
|
IssueCreated[IssueCreated["CorsIssue::WildcardOriginWithCredentials"] = 45] = "CorsIssue::WildcardOriginWithCredentials";
|
|
@@ -107618,6 +107630,7 @@ const generatedProperties = [
|
|
|
107618
107630
|
"page-margin-safety",
|
|
107619
107631
|
"page-orientation",
|
|
107620
107632
|
"paint-order",
|
|
107633
|
+
"path-length",
|
|
107621
107634
|
"pathname",
|
|
107622
107635
|
"pattern",
|
|
107623
107636
|
"perspective",
|
|
@@ -110569,6 +110582,12 @@ const generatedProperties = [
|
|
|
110569
110582
|
],
|
|
110570
110583
|
"name": "paint-order"
|
|
110571
110584
|
},
|
|
110585
|
+
{
|
|
110586
|
+
"keywords": [
|
|
110587
|
+
"none"
|
|
110588
|
+
],
|
|
110589
|
+
"name": "path-length"
|
|
110590
|
+
},
|
|
110572
110591
|
{
|
|
110573
110592
|
"name": "pathname"
|
|
110574
110593
|
},
|
|
@@ -111886,7 +111905,7 @@ const generatedProperties = [
|
|
|
111886
111905
|
"inherited": false,
|
|
111887
111906
|
"keywords": [
|
|
111888
111907
|
"none",
|
|
111889
|
-
"
|
|
111908
|
+
"all"
|
|
111890
111909
|
],
|
|
111891
111910
|
"name": "view-transition-scope"
|
|
111892
111911
|
},
|
|
@@ -113585,6 +113604,11 @@ const generatedPropertyValues = {
|
|
|
113585
113604
|
"markers"
|
|
113586
113605
|
]
|
|
113587
113606
|
},
|
|
113607
|
+
"path-length": {
|
|
113608
|
+
"values": [
|
|
113609
|
+
"none"
|
|
113610
|
+
]
|
|
113611
|
+
},
|
|
113588
113612
|
"perspective": {
|
|
113589
113613
|
"values": [
|
|
113590
113614
|
"none"
|
|
@@ -114262,7 +114286,7 @@ const generatedPropertyValues = {
|
|
|
114262
114286
|
"view-transition-scope": {
|
|
114263
114287
|
"values": [
|
|
114264
114288
|
"none",
|
|
114265
|
-
"
|
|
114289
|
+
"all"
|
|
114266
114290
|
]
|
|
114267
114291
|
},
|
|
114268
114292
|
"visibility": {
|
|
@@ -118529,6 +118553,27 @@ class CSSMedia extends CSSQuery {
|
|
|
118529
118553
|
}
|
|
118530
118554
|
}
|
|
118531
118555
|
|
|
118556
|
+
// Copyright 2026 The Chromium Authors
|
|
118557
|
+
class CSSNavigation extends CSSQuery {
|
|
118558
|
+
static parseNavigationPayload(cssModel, payload) {
|
|
118559
|
+
return payload.map(navigation => new CSSNavigation(cssModel, navigation));
|
|
118560
|
+
}
|
|
118561
|
+
#active = true;
|
|
118562
|
+
constructor(cssModel, payload) {
|
|
118563
|
+
super(cssModel);
|
|
118564
|
+
this.reinitialize(payload);
|
|
118565
|
+
}
|
|
118566
|
+
reinitialize(payload) {
|
|
118567
|
+
this.text = payload.text;
|
|
118568
|
+
this.range = payload.range ? TextRange.fromObject(payload.range) : null;
|
|
118569
|
+
this.styleSheetId = payload.styleSheetId;
|
|
118570
|
+
this.#active = payload.active ?? true;
|
|
118571
|
+
}
|
|
118572
|
+
active() {
|
|
118573
|
+
return this.#active;
|
|
118574
|
+
}
|
|
118575
|
+
}
|
|
118576
|
+
|
|
118532
118577
|
// Copyright 2022 The Chromium Authors
|
|
118533
118578
|
class CSSScope extends CSSQuery {
|
|
118534
118579
|
static parseScopesPayload(cssModel, payload) {
|
|
@@ -118923,6 +118968,7 @@ class CSSStyleRule extends CSSRule {
|
|
|
118923
118968
|
layers;
|
|
118924
118969
|
ruleTypes;
|
|
118925
118970
|
startingStyles;
|
|
118971
|
+
navigations;
|
|
118926
118972
|
wasUsed;
|
|
118927
118973
|
constructor(cssModel, payload, wasUsed) {
|
|
118928
118974
|
super(cssModel, {
|
|
@@ -118942,6 +118988,7 @@ class CSSStyleRule extends CSSRule {
|
|
|
118942
118988
|
this.layers = payload.layers ? CSSLayer.parseLayerPayload(cssModel, payload.layers) : [];
|
|
118943
118989
|
this.startingStyles =
|
|
118944
118990
|
payload.startingStyles ? CSSStartingStyle.parseStartingStylePayload(cssModel, payload.startingStyles) : [];
|
|
118991
|
+
this.navigations = payload.navigations ? CSSNavigation.parseNavigationPayload(cssModel, payload.navigations) : [];
|
|
118945
118992
|
this.ruleTypes = payload.ruleTypes || [];
|
|
118946
118993
|
this.wasUsed = wasUsed || false;
|
|
118947
118994
|
}
|
|
@@ -119023,6 +119070,7 @@ class CSSStyleRule extends CSSRule {
|
|
|
119023
119070
|
this.containerQueries.forEach(cq => cq.rebase(edit));
|
|
119024
119071
|
this.scopes.forEach(scope => scope.rebase(edit));
|
|
119025
119072
|
this.supports.forEach(supports => supports.rebase(edit));
|
|
119073
|
+
this.navigations.forEach(navigation => navigation.rebase(edit));
|
|
119026
119074
|
super.rebase(edit);
|
|
119027
119075
|
}
|
|
119028
119076
|
}
|
|
@@ -119223,7 +119271,13 @@ class CSSFunctionRule extends CSSRule {
|
|
|
119223
119271
|
supports: new CSSSupports(this.cssModelInternal, node.condition.supports),
|
|
119224
119272
|
};
|
|
119225
119273
|
}
|
|
119226
|
-
|
|
119274
|
+
if (node.condition.navigation) {
|
|
119275
|
+
return {
|
|
119276
|
+
children,
|
|
119277
|
+
navigation: new CSSNavigation(this.cssModelInternal, node.condition.navigation),
|
|
119278
|
+
};
|
|
119279
|
+
}
|
|
119280
|
+
console.error('A function rule condition must have a media, container, supports, or navigation');
|
|
119227
119281
|
return;
|
|
119228
119282
|
}
|
|
119229
119283
|
console.error('A function rule node must have a style or condition');
|
|
@@ -126280,7 +126334,7 @@ class Decoder {
|
|
|
126280
126334
|
to: { line: 0, column: 0 },
|
|
126281
126335
|
value: value,
|
|
126282
126336
|
});
|
|
126283
|
-
for (const [
|
|
126337
|
+
for (const [line, column, binding] of bindings) {
|
|
126284
126338
|
lastLine += line;
|
|
126285
126339
|
if (line === 0) {
|
|
126286
126340
|
lastColumn += column;
|
|
@@ -128428,6 +128482,24 @@ class CSSModel extends SDKModel {
|
|
|
128428
128482
|
return false;
|
|
128429
128483
|
}
|
|
128430
128484
|
}
|
|
128485
|
+
async setNavigationText(styleSheetId, range, newNavigationText) {
|
|
128486
|
+
userMetrics.actionTaken(Action.StyleRuleEdited);
|
|
128487
|
+
try {
|
|
128488
|
+
await this.ensureOriginalStyleSheetText(styleSheetId);
|
|
128489
|
+
const { navigation } = await this.agent.invoke_setNavigationText({ styleSheetId, range, text: newNavigationText });
|
|
128490
|
+
if (!navigation) {
|
|
128491
|
+
return false;
|
|
128492
|
+
}
|
|
128493
|
+
this.#domModel.markUndoableState();
|
|
128494
|
+
const edit = new Edit(styleSheetId, range, newNavigationText, navigation);
|
|
128495
|
+
this.fireStyleSheetChanged(styleSheetId, edit);
|
|
128496
|
+
return true;
|
|
128497
|
+
}
|
|
128498
|
+
catch (e) {
|
|
128499
|
+
console.error(e);
|
|
128500
|
+
return false;
|
|
128501
|
+
}
|
|
128502
|
+
}
|
|
128431
128503
|
async setScopeText(styleSheetId, range, newScopeText) {
|
|
128432
128504
|
userMetrics.actionTaken(Action.StyleRuleEdited);
|
|
128433
128505
|
try {
|
|
@@ -172260,50 +172332,10 @@ class HeavyAdIssue extends Issue {
|
|
|
172260
172332
|
|
|
172261
172333
|
// Copyright 2020 The Chromium Authors
|
|
172262
172334
|
const UIStrings$c = {
|
|
172263
|
-
colorAndContrastAccessibility: 'Color and contrast accessibility',
|
|
172264
|
-
};
|
|
172265
|
-
const str_$c = registerUIStrings('models/issues_manager/LowTextContrastIssue.ts', UIStrings$c);
|
|
172266
|
-
const i18nString$5 = getLocalizedString.bind(undefined, str_$c);
|
|
172267
|
-
class LowTextContrastIssue extends Issue {
|
|
172268
|
-
constructor(issueDetails, issuesModel) {
|
|
172269
|
-
super('LowTextContrastIssue', issueDetails, issuesModel);
|
|
172270
|
-
}
|
|
172271
|
-
primaryKey() {
|
|
172272
|
-
return `${this.code()}-(${this.details().violatingNodeId})`;
|
|
172273
|
-
}
|
|
172274
|
-
getCategory() {
|
|
172275
|
-
return "LowTextContrast" ;
|
|
172276
|
-
}
|
|
172277
|
-
getDescription() {
|
|
172278
|
-
return {
|
|
172279
|
-
file: 'LowTextContrast.md',
|
|
172280
|
-
links: [
|
|
172281
|
-
{
|
|
172282
|
-
link: 'https://web.dev/color-and-contrast-accessibility/',
|
|
172283
|
-
linkTitle: i18nString$5(UIStrings$c.colorAndContrastAccessibility),
|
|
172284
|
-
},
|
|
172285
|
-
],
|
|
172286
|
-
};
|
|
172287
|
-
}
|
|
172288
|
-
getKind() {
|
|
172289
|
-
return "Improvement" ;
|
|
172290
|
-
}
|
|
172291
|
-
static fromInspectorIssue(issuesModel, inspectorIssue) {
|
|
172292
|
-
const lowTextContrastIssueDetails = inspectorIssue.details.lowTextContrastIssueDetails;
|
|
172293
|
-
if (!lowTextContrastIssueDetails) {
|
|
172294
|
-
console.warn('LowTextContrast issue without details received.');
|
|
172295
|
-
return [];
|
|
172296
|
-
}
|
|
172297
|
-
return [new LowTextContrastIssue(lowTextContrastIssueDetails, issuesModel)];
|
|
172298
|
-
}
|
|
172299
|
-
}
|
|
172300
|
-
|
|
172301
|
-
// Copyright 2020 The Chromium Authors
|
|
172302
|
-
const UIStrings$b = {
|
|
172303
172335
|
preventingMixedContent: 'Preventing mixed content',
|
|
172304
172336
|
};
|
|
172305
|
-
const str_$
|
|
172306
|
-
const i18nString$
|
|
172337
|
+
const str_$c = registerUIStrings('models/issues_manager/MixedContentIssue.ts', UIStrings$c);
|
|
172338
|
+
const i18nString$5 = getLocalizedString.bind(undefined, str_$c);
|
|
172307
172339
|
class MixedContentIssue extends Issue {
|
|
172308
172340
|
constructor(issueDetails, issuesModel) {
|
|
172309
172341
|
super("MixedContentIssue" , issueDetails, issuesModel);
|
|
@@ -172321,7 +172353,7 @@ class MixedContentIssue extends Issue {
|
|
|
172321
172353
|
getDescription() {
|
|
172322
172354
|
return {
|
|
172323
172355
|
file: 'mixedContent.md',
|
|
172324
|
-
links: [{ link: 'https://web.dev/what-is-mixed-content/', linkTitle: i18nString$
|
|
172356
|
+
links: [{ link: 'https://web.dev/what-is-mixed-content/', linkTitle: i18nString$5(UIStrings$c.preventingMixedContent) }],
|
|
172325
172357
|
};
|
|
172326
172358
|
}
|
|
172327
172359
|
primaryKey() {
|
|
@@ -172348,12 +172380,12 @@ class MixedContentIssue extends Issue {
|
|
|
172348
172380
|
}
|
|
172349
172381
|
|
|
172350
172382
|
// Copyright 2025 The Chromium Authors
|
|
172351
|
-
const UIStrings$
|
|
172383
|
+
const UIStrings$b = {
|
|
172352
172384
|
partitioningBlobURL: 'Partitioning BlobURL',
|
|
172353
172385
|
chromeStatusEntry: 'Chrome Status Entry'
|
|
172354
172386
|
};
|
|
172355
|
-
const str_$
|
|
172356
|
-
const i18nString$
|
|
172387
|
+
const str_$b = registerUIStrings('models/issues_manager/PartitioningBlobURLIssue.ts', UIStrings$b);
|
|
172388
|
+
const i18nString$4 = getLocalizedString.bind(undefined, str_$b);
|
|
172357
172389
|
class PartitioningBlobURLIssue extends Issue {
|
|
172358
172390
|
constructor(issueDetails, issuesModel) {
|
|
172359
172391
|
super("PartitioningBlobURLIssue" , issueDetails, issuesModel);
|
|
@@ -172371,11 +172403,11 @@ class PartitioningBlobURLIssue extends Issue {
|
|
|
172371
172403
|
links: [
|
|
172372
172404
|
{
|
|
172373
172405
|
link: 'https://developers.google.com/privacy-sandbox/cookies/storage-partitioning',
|
|
172374
|
-
linkTitle: i18nString$
|
|
172406
|
+
linkTitle: i18nString$4(UIStrings$b.partitioningBlobURL),
|
|
172375
172407
|
},
|
|
172376
172408
|
{
|
|
172377
172409
|
link: 'https://chromestatus.com/feature/5130361898795008',
|
|
172378
|
-
linkTitle: i18nString$
|
|
172410
|
+
linkTitle: i18nString$4(UIStrings$b.chromeStatusEntry),
|
|
172379
172411
|
},
|
|
172380
172412
|
],
|
|
172381
172413
|
};
|
|
@@ -172638,11 +172670,11 @@ class PermissionElementIssue extends Issue {
|
|
|
172638
172670
|
}
|
|
172639
172671
|
|
|
172640
172672
|
// Copyright 2021 The Chromium Authors
|
|
172641
|
-
const UIStrings$
|
|
172673
|
+
const UIStrings$a = {
|
|
172642
172674
|
documentCompatibilityMode: 'Document compatibility mode',
|
|
172643
172675
|
};
|
|
172644
|
-
const str_$
|
|
172645
|
-
const i18nString$
|
|
172676
|
+
const str_$a = registerUIStrings('models/issues_manager/QuirksModeIssue.ts', UIStrings$a);
|
|
172677
|
+
const i18nString$3 = getLocalizedString.bind(undefined, str_$a);
|
|
172646
172678
|
class QuirksModeIssue extends Issue {
|
|
172647
172679
|
constructor(issueDetails, issuesModel) {
|
|
172648
172680
|
const mode = issueDetails.isLimitedQuirksMode ? 'LimitedQuirksMode' : 'QuirksMode';
|
|
@@ -172661,7 +172693,7 @@ class QuirksModeIssue extends Issue {
|
|
|
172661
172693
|
links: [
|
|
172662
172694
|
{
|
|
172663
172695
|
link: 'https://web.dev/doctype/',
|
|
172664
|
-
linkTitle: i18nString$
|
|
172696
|
+
linkTitle: i18nString$3(UIStrings$a.documentCompatibilityMode),
|
|
172665
172697
|
},
|
|
172666
172698
|
],
|
|
172667
172699
|
};
|
|
@@ -172679,6 +172711,46 @@ class QuirksModeIssue extends Issue {
|
|
|
172679
172711
|
}
|
|
172680
172712
|
}
|
|
172681
172713
|
|
|
172714
|
+
// Copyright 2026 The Chromium Authors
|
|
172715
|
+
const UIStrings$9 = {
|
|
172716
|
+
selectivePermissionsIntervention: 'Selective Permissions Intervention',
|
|
172717
|
+
};
|
|
172718
|
+
const str_$9 = registerUIStrings('models/issues_manager/SelectivePermissionsInterventionIssue.ts', UIStrings$9);
|
|
172719
|
+
const i18nString$2 = getLocalizedString.bind(undefined, str_$9);
|
|
172720
|
+
class SelectivePermissionsInterventionIssue extends Issue {
|
|
172721
|
+
constructor(issueDetails, issuesModel) {
|
|
172722
|
+
super("SelectivePermissionsInterventionIssue" , issueDetails, issuesModel);
|
|
172723
|
+
}
|
|
172724
|
+
primaryKey() {
|
|
172725
|
+
return `${"SelectivePermissionsInterventionIssue" }-${JSON.stringify(this.details())}`;
|
|
172726
|
+
}
|
|
172727
|
+
getDescription() {
|
|
172728
|
+
return {
|
|
172729
|
+
file: 'selectivePermissionsIntervention.md',
|
|
172730
|
+
links: [
|
|
172731
|
+
{
|
|
172732
|
+
link: 'https://crbug.com/435223477',
|
|
172733
|
+
linkTitle: i18nString$2(UIStrings$9.selectivePermissionsIntervention),
|
|
172734
|
+
},
|
|
172735
|
+
],
|
|
172736
|
+
};
|
|
172737
|
+
}
|
|
172738
|
+
getCategory() {
|
|
172739
|
+
return "SelectivePermissionsIntervention" ;
|
|
172740
|
+
}
|
|
172741
|
+
getKind() {
|
|
172742
|
+
return "PageError" ;
|
|
172743
|
+
}
|
|
172744
|
+
static fromInspectorIssue(issuesModel, inspectorIssue) {
|
|
172745
|
+
const selectivePermissionsInterventionIssueDetails = inspectorIssue.details.selectivePermissionsInterventionIssueDetails;
|
|
172746
|
+
if (!selectivePermissionsInterventionIssueDetails) {
|
|
172747
|
+
console.warn('Selective Permissions Intervention issue without details received.');
|
|
172748
|
+
return [];
|
|
172749
|
+
}
|
|
172750
|
+
return [new SelectivePermissionsInterventionIssue(selectivePermissionsInterventionIssueDetails, issuesModel)];
|
|
172751
|
+
}
|
|
172752
|
+
}
|
|
172753
|
+
|
|
172682
172754
|
// Copyright 2020 The Chromium Authors
|
|
172683
172755
|
const UIStrings$8 = {
|
|
172684
172756
|
enablingSharedArrayBuffer: 'Enabling `SharedArrayBuffer`',
|
|
@@ -172736,11 +172808,11 @@ class AggregatedIssue extends Issue {
|
|
|
172736
172808
|
#cspIssues = new Set();
|
|
172737
172809
|
#deprecationIssues = new Set();
|
|
172738
172810
|
#issueKind = "Improvement" ;
|
|
172739
|
-
#lowContrastIssues = new Set();
|
|
172740
172811
|
#cookieDeprecationMetadataIssues = new Set();
|
|
172741
172812
|
#mixedContentIssues = new Set();
|
|
172742
172813
|
#partitioningBlobURLIssues = new Set();
|
|
172743
172814
|
#permissionElementIssues = new Set();
|
|
172815
|
+
#selectivePermissionsInterventionIssues = new Set();
|
|
172744
172816
|
#sharedArrayBufferIssues = new Set();
|
|
172745
172817
|
#quirksModeIssues = new Set();
|
|
172746
172818
|
#attributionReportingIssues = new Set();
|
|
@@ -172795,12 +172867,12 @@ class AggregatedIssue extends Issue {
|
|
|
172795
172867
|
getDeprecationIssues() {
|
|
172796
172868
|
return this.#deprecationIssues;
|
|
172797
172869
|
}
|
|
172798
|
-
getLowContrastIssues() {
|
|
172799
|
-
return this.#lowContrastIssues;
|
|
172800
|
-
}
|
|
172801
172870
|
requests() {
|
|
172802
172871
|
return this.#affectedRequests.values();
|
|
172803
172872
|
}
|
|
172873
|
+
getSelectivePermissionsInterventionIssues() {
|
|
172874
|
+
return this.#selectivePermissionsInterventionIssues;
|
|
172875
|
+
}
|
|
172804
172876
|
getSharedArrayBufferIssues() {
|
|
172805
172877
|
return this.#sharedArrayBufferIssues;
|
|
172806
172878
|
}
|
|
@@ -172904,9 +172976,6 @@ class AggregatedIssue extends Issue {
|
|
|
172904
172976
|
if (issue instanceof SharedArrayBufferIssue) {
|
|
172905
172977
|
this.#sharedArrayBufferIssues.add(issue);
|
|
172906
172978
|
}
|
|
172907
|
-
if (issue instanceof LowTextContrastIssue) {
|
|
172908
|
-
this.#lowContrastIssues.add(issue);
|
|
172909
|
-
}
|
|
172910
172979
|
if (issue instanceof CorsIssue) {
|
|
172911
172980
|
this.#corsIssues.add(issue);
|
|
172912
172981
|
}
|
|
@@ -172928,6 +172997,9 @@ class AggregatedIssue extends Issue {
|
|
|
172928
172997
|
if (issue instanceof PermissionElementIssue) {
|
|
172929
172998
|
this.#permissionElementIssues.add(issue);
|
|
172930
172999
|
}
|
|
173000
|
+
if (issue instanceof SelectivePermissionsInterventionIssue) {
|
|
173001
|
+
this.#selectivePermissionsInterventionIssues.add(issue);
|
|
173002
|
+
}
|
|
172931
173003
|
}
|
|
172932
173004
|
getKind() {
|
|
172933
173005
|
return this.#issueKind;
|
|
@@ -174098,10 +174170,6 @@ const issueCodeHandlers = new Map([
|
|
|
174098
174170
|
"SharedDictionaryIssue" ,
|
|
174099
174171
|
SharedDictionaryIssue.fromInspectorIssue,
|
|
174100
174172
|
],
|
|
174101
|
-
[
|
|
174102
|
-
"LowTextContrastIssue" ,
|
|
174103
|
-
LowTextContrastIssue.fromInspectorIssue,
|
|
174104
|
-
],
|
|
174105
174173
|
[
|
|
174106
174174
|
"CorsIssue" ,
|
|
174107
174175
|
CorsIssue.fromInspectorIssue,
|
|
@@ -174170,6 +174238,10 @@ const issueCodeHandlers = new Map([
|
|
|
174170
174238
|
"PermissionElementIssue" ,
|
|
174171
174239
|
PermissionElementIssue.fromInspectorIssue,
|
|
174172
174240
|
],
|
|
174241
|
+
[
|
|
174242
|
+
"SelectivePermissionsInterventionIssue" ,
|
|
174243
|
+
SelectivePermissionsInterventionIssue.fromInspectorIssue,
|
|
174244
|
+
],
|
|
174173
174245
|
]);
|
|
174174
174246
|
function createIssuesFromProtocolIssue(issuesModel, inspectorIssue) {
|
|
174175
174247
|
const handler = issueCodeHandlers.get(inspectorIssue.code);
|