chrome-devtools-frontend 1.0.1699061 → 1.0.1700561

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.
Files changed (120) hide show
  1. package/front_end/core/sdk/CSSPropertyParserMatchers.ts +2 -2
  2. package/front_end/core/sdk/ServiceWorkerCacheModel.ts +3 -0
  3. package/front_end/core/sdk/StorageBucketsModel.ts +2 -0
  4. package/front_end/entrypoints/main/GlobalAiButton.ts +2 -6
  5. package/front_end/entrypoints/main/MainImpl.ts +8 -1
  6. package/front_end/generated/InspectorBackendCommands.ts +12 -2
  7. package/front_end/generated/SupportedCSSProperties.ts +14 -0
  8. package/front_end/generated/protocol-mapping.d.ts +48 -1
  9. package/front_end/generated/protocol-proxy-api.d.ts +37 -1
  10. package/front_end/generated/protocol.ts +131 -0
  11. package/front_end/models/bindings/NetworkProject.ts +30 -0
  12. package/front_end/models/bindings/ResourceScriptMapping.ts +62 -0
  13. package/front_end/models/change_tracker/ChangeTracker.ts +1 -1
  14. package/front_end/models/comment_manager/CD4ABridge.ts +2 -2
  15. package/front_end/models/comment_manager/CommentManager.ts +18 -0
  16. package/front_end/models/extensions/ExtensionAPI.ts +4 -2
  17. package/front_end/models/issues_manager/CookieIssue.ts +0 -2
  18. package/front_end/models/persistence/NetworkPersistenceManager.ts +29 -4
  19. package/front_end/models/source_map_scopes/NamesResolver.ts +23 -1
  20. package/front_end/models/source_map_scopes/ScopeChainModel.ts +21 -1
  21. package/front_end/panels/ai_assistance/ai_assistance-meta.ts +5 -8
  22. package/front_end/panels/application/AppManifestView.ts +128 -134
  23. package/front_end/panels/application/CrashReportContextView.ts +5 -5
  24. package/front_end/panels/application/DeviceBoundSessionsTreeElement.ts +17 -17
  25. package/front_end/panels/application/DeviceBoundSessionsView.ts +136 -137
  26. package/front_end/panels/application/IndexedDBModel.ts +3 -0
  27. package/front_end/panels/application/OriginTrialTreeView.ts +18 -23
  28. package/front_end/panels/application/ReportingApiTreeElement.ts +3 -3
  29. package/front_end/panels/application/ReportingApiView.ts +6 -14
  30. package/front_end/panels/application/application-meta.ts +7 -7
  31. package/front_end/panels/common/CommentThreadWidget.ts +19 -6
  32. package/front_end/panels/common/CommentsOverlayWidget.ts +115 -9
  33. package/front_end/panels/common/CommentsStatusBarPill.ts +13 -1
  34. package/front_end/panels/common/ExtensionServer.ts +43 -34
  35. package/front_end/panels/common/GeminiRebrandPromoDialog.ts +1 -1
  36. package/front_end/panels/common/commentThreadWidget.css +18 -0
  37. package/front_end/panels/common/common-meta.ts +4 -1
  38. package/front_end/panels/elements/ElementsTreeElement.ts +2 -0
  39. package/front_end/panels/elements/ElementsTreeOutline.ts +11 -7
  40. package/front_end/panels/elements/elementsTreeOutline.css +4 -0
  41. package/front_end/panels/event_listeners/EventListenersView.ts +9 -4
  42. package/front_end/panels/issues/IssuesPane.ts +34 -22
  43. package/front_end/panels/network/RequestPayloadView.ts +17 -15
  44. package/front_end/panels/recorder/RecordingView.ts +32 -53
  45. package/front_end/panels/recorder/controlButton.css +6 -0
  46. package/front_end/panels/recorder/recordingView.css +11 -2
  47. package/front_end/panels/sources/DebuggerPlugin.ts +136 -55
  48. package/front_end/panels/sources/ScopeChainSidebarPane.ts +17 -15
  49. package/front_end/panels/timeline/components/IgnoreListSetting.ts +0 -2
  50. package/front_end/panels/timeline/components/LiveMetricsView.ts +59 -64
  51. package/front_end/panels/timeline/components/liveMetricsView.css +1 -0
  52. package/front_end/third_party/chromium/README.chromium +1 -1
  53. package/front_end/third_party/lighthouse/README.chromium +2 -2
  54. package/front_end/third_party/lighthouse/lighthouse-dt-bundle.js +1580 -1524
  55. package/front_end/third_party/lighthouse/locales/ar-XB.json +111 -72
  56. package/front_end/third_party/lighthouse/locales/ar.json +113 -74
  57. package/front_end/third_party/lighthouse/locales/bg.json +112 -73
  58. package/front_end/third_party/lighthouse/locales/ca.json +112 -73
  59. package/front_end/third_party/lighthouse/locales/cs.json +112 -73
  60. package/front_end/third_party/lighthouse/locales/da.json +112 -73
  61. package/front_end/third_party/lighthouse/locales/de.json +112 -73
  62. package/front_end/third_party/lighthouse/locales/el.json +112 -73
  63. package/front_end/third_party/lighthouse/locales/en-GB.json +111 -72
  64. package/front_end/third_party/lighthouse/locales/en-US.json +102 -66
  65. package/front_end/third_party/lighthouse/locales/en-XA.json +111 -72
  66. package/front_end/third_party/lighthouse/locales/en-XL.json +102 -66
  67. package/front_end/third_party/lighthouse/locales/es-419.json +112 -73
  68. package/front_end/third_party/lighthouse/locales/es.json +112 -73
  69. package/front_end/third_party/lighthouse/locales/fi.json +112 -73
  70. package/front_end/third_party/lighthouse/locales/fil.json +112 -73
  71. package/front_end/third_party/lighthouse/locales/fr.json +112 -73
  72. package/front_end/third_party/lighthouse/locales/he.json +112 -73
  73. package/front_end/third_party/lighthouse/locales/hi.json +112 -73
  74. package/front_end/third_party/lighthouse/locales/hr.json +112 -73
  75. package/front_end/third_party/lighthouse/locales/hu.json +112 -73
  76. package/front_end/third_party/lighthouse/locales/id.json +112 -73
  77. package/front_end/third_party/lighthouse/locales/it.json +113 -74
  78. package/front_end/third_party/lighthouse/locales/ja.json +112 -73
  79. package/front_end/third_party/lighthouse/locales/ko.json +112 -73
  80. package/front_end/third_party/lighthouse/locales/lt.json +112 -73
  81. package/front_end/third_party/lighthouse/locales/lv.json +112 -73
  82. package/front_end/third_party/lighthouse/locales/nl.json +112 -73
  83. package/front_end/third_party/lighthouse/locales/no.json +112 -73
  84. package/front_end/third_party/lighthouse/locales/pl.json +112 -73
  85. package/front_end/third_party/lighthouse/locales/pt-PT.json +112 -73
  86. package/front_end/third_party/lighthouse/locales/pt.json +112 -73
  87. package/front_end/third_party/lighthouse/locales/ro.json +112 -73
  88. package/front_end/third_party/lighthouse/locales/ru.json +112 -73
  89. package/front_end/third_party/lighthouse/locales/sk.json +112 -73
  90. package/front_end/third_party/lighthouse/locales/sl.json +112 -73
  91. package/front_end/third_party/lighthouse/locales/sr-Latn.json +112 -73
  92. package/front_end/third_party/lighthouse/locales/sr.json +112 -73
  93. package/front_end/third_party/lighthouse/locales/sv.json +124 -85
  94. package/front_end/third_party/lighthouse/locales/ta.json +112 -73
  95. package/front_end/third_party/lighthouse/locales/te.json +112 -73
  96. package/front_end/third_party/lighthouse/locales/th.json +112 -73
  97. package/front_end/third_party/lighthouse/locales/tr.json +113 -74
  98. package/front_end/third_party/lighthouse/locales/uk.json +112 -73
  99. package/front_end/third_party/lighthouse/locales/vi.json +112 -73
  100. package/front_end/third_party/lighthouse/locales/zh-HK.json +112 -73
  101. package/front_end/third_party/lighthouse/locales/zh-TW.json +113 -74
  102. package/front_end/third_party/lighthouse/locales/zh.json +113 -74
  103. package/front_end/third_party/lighthouse/report/bundle.d.ts +4 -4
  104. package/front_end/third_party/lighthouse/report/bundle.js +10 -3
  105. package/front_end/third_party/lighthouse/report-assets/report-generator.mjs +2 -2
  106. package/front_end/third_party/lit/lit.ts +3 -0
  107. package/front_end/third_party/lit/package.json +3 -0
  108. package/front_end/third_party/lit/rebuild.sh +3 -2
  109. package/front_end/ui/comments/CommentAnchorResolver.ts +8 -2
  110. package/front_end/ui/comments/CommentOverlayManager.ts +2 -1
  111. package/front_end/ui/legacy/InspectorView.ts +4 -3
  112. package/front_end/ui/legacy/TabbedPane.ts +121 -80
  113. package/front_end/ui/legacy/Treeoutline.ts +35 -6
  114. package/front_end/ui/legacy/UIUtils.ts +7 -0
  115. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +135 -146
  116. package/front_end/ui/lit/lit.ts +1 -1
  117. package/front_end/ui/visual_logging/KnownContextValues.ts +4 -0
  118. package/inspector_overlay/highlight_anchor.ts +197 -0
  119. package/inspector_overlay/tool_highlight.ts +8 -0
  120. package/package.json +1 -1
@@ -83,12 +83,12 @@ export class BaseVariableMatcher extends BaseVariableMatcherBase {
83
83
  const nameNode = args[0][0];
84
84
  const fallback = args.length === 2 ? args[1] : undefined;
85
85
 
86
- if (nameNode?.name !== 'VariableName') {
86
+ if (nameNode?.name !== 'VariableName' && nameNode?.name !== 'ValueName') {
87
87
  return null;
88
88
  }
89
89
 
90
90
  const varName = matching.ast.text(nameNode);
91
- if (!varName.startsWith('--')) {
91
+ if (!varName.startsWith('--') || varName.length <= 2) {
92
92
  return null;
93
93
  }
94
94
 
@@ -279,6 +279,9 @@ export class ServiceWorkerCacheModel extends SDKModel<EventTypes> implements Pro
279
279
  storageBucketDeleted(_event: Protocol.Storage.StorageBucketDeletedEvent): void {
280
280
  }
281
281
 
282
+ privateVerificationTokensUpdated(): void {
283
+ }
284
+
282
285
  setThrottlerSchedulesAsSoonAsPossibleForTest(): void {
283
286
  this.#scheduleAsSoonAsPossible = true;
284
287
  }
@@ -154,6 +154,8 @@ export class StorageBucketsModel extends SDKModel<EventTypes> implements Protoco
154
154
  cacheStorageContentUpdated(_event: Protocol.Storage.CacheStorageContentUpdatedEvent): void {
155
155
  }
156
156
 
157
+ privateVerificationTokensUpdated(): void {
158
+ }
157
159
  }
158
160
 
159
161
  SDKModel.register(StorageBucketsModel, {capabilities: Capability.STORAGE, autostart: false});
@@ -23,14 +23,10 @@ const UIStrings = {
23
23
  * @description Tooltip for the AI assistance button in the main DevTools toolbar.
24
24
  */
25
25
  openAiAssistance: 'Open AI assistance panel',
26
- /**
27
- * @description Text label for the Gemini button in the main DevTools toolbar when expanded.
28
- */
29
- gemini: 'Gemini',
30
26
  /**
31
27
  * @description Tooltip for the Gemini button in the main DevTools toolbar.
32
28
  */
33
- openGemini: 'Open Gemini panel',
29
+ openGemini: 'Open `Gemini` panel',
34
30
  } as const;
35
31
  const str_ = i18n.i18n.registerUIStrings('entrypoints/main/GlobalAiButton.ts', UIStrings);
36
32
  const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
@@ -65,7 +61,7 @@ export const DEFAULT_VIEW = (input: ViewInput, output: undefined, target: HTMLEl
65
61
  });
66
62
 
67
63
  const strings = AIAssistance.AiUtils.isGeminiBranding() ?
68
- {title: i18nString(UIStrings.openGemini), label: i18nString(UIStrings.gemini)} :
64
+ {title: i18nString(UIStrings.openGemini), label: i18n.i18n.lockedString('Gemini')} :
69
65
  {title: i18nString(UIStrings.openAiAssistance), label: i18nString(UIStrings.aiAssistance)};
70
66
  const icon = AIAssistance.AiUtils.getIconName();
71
67
 
@@ -44,6 +44,7 @@ import * as SDK from '../../core/sdk/sdk.js';
44
44
  import * as Foundation from '../../foundation/foundation.js';
45
45
  import * as AiAssistanceModel from '../../models/ai_assistance/ai_assistance.js';
46
46
  import * as Badges from '../../models/badges/badges.js';
47
+ import * as CommentManager from '../../models/comment_manager/comment_manager.js';
47
48
  import * as CrUXManager from '../../models/crux-manager/crux-manager.js';
48
49
  import * as Persistence from '../../models/persistence/persistence.js';
49
50
  import * as Workspace from '../../models/workspace/workspace.js';
@@ -554,7 +555,13 @@ export class MainImpl {
554
555
  inspectorView.displaySelectOverrideFolderInfobar(event.data);
555
556
  });
556
557
  await inspectorView.createToolbars();
557
- inspectorView.renderStatusBar();
558
+ inspectorView.renderStatusBar(this.#universe.commentManager.isAgentAttached());
559
+ this.#universe.commentManager.addEventListener(
560
+ CommentManager.CommentManager.Events.AGENT_ATTACHED_CHANGED,
561
+ event => {
562
+ inspectorView.renderStatusBar(event.data);
563
+ },
564
+ );
558
565
  Host.InspectorFrontendHost.InspectorFrontendHostInstance.loadCompleted();
559
566
 
560
567
  // Initialize elements for the live announcer functionality for a11y.
@@ -1018,7 +1018,8 @@ inspectorBackend.registerType("Overlay.FlexContainerHighlightConfig", [{"name":
1018
1018
  inspectorBackend.registerType("Overlay.FlexItemHighlightConfig", [{"name": "baseSizeBox", "type": "object", "optional": true, "description": "Style of the box representing the item's base size", "typeRef": "Overlay.BoxStyle"}, {"name": "baseSizeBorder", "type": "object", "optional": true, "description": "Style of the border around the box representing the item's base size", "typeRef": "Overlay.LineStyle"}, {"name": "flexibilityArrow", "type": "object", "optional": true, "description": "Style of the arrow representing if the item grew or shrank", "typeRef": "Overlay.LineStyle"}]);
1019
1019
  inspectorBackend.registerType("Overlay.LineStyle", [{"name": "color", "type": "object", "optional": true, "description": "The color of the line (default: transparent)", "typeRef": "DOM.RGBA"}, {"name": "pattern", "type": "string", "optional": true, "description": "The line pattern (default: solid)", "typeRef": null}]);
1020
1020
  inspectorBackend.registerType("Overlay.BoxStyle", [{"name": "fillColor", "type": "object", "optional": true, "description": "The background color for the box (default: transparent)", "typeRef": "DOM.RGBA"}, {"name": "hatchColor", "type": "object", "optional": true, "description": "The hatching color for the box (default: transparent)", "typeRef": "DOM.RGBA"}]);
1021
- inspectorBackend.registerType("Overlay.HighlightConfig", [{"name": "showInfo", "type": "boolean", "optional": true, "description": "Whether the node info tooltip should be shown (default: false).", "typeRef": null}, {"name": "showStyles", "type": "boolean", "optional": true, "description": "Whether the node styles in the tooltip (default: false).", "typeRef": null}, {"name": "showRulers", "type": "boolean", "optional": true, "description": "Whether the rulers should be shown (default: false).", "typeRef": null}, {"name": "showAccessibilityInfo", "type": "boolean", "optional": true, "description": "Whether the a11y info should be shown (default: true).", "typeRef": null}, {"name": "showExtensionLines", "type": "boolean", "optional": true, "description": "Whether the extension lines from node to the rulers should be shown (default: false).", "typeRef": null}, {"name": "contentColor", "type": "object", "optional": true, "description": "The content box highlight fill color (default: transparent).", "typeRef": "DOM.RGBA"}, {"name": "paddingColor", "type": "object", "optional": true, "description": "The padding highlight fill color (default: transparent).", "typeRef": "DOM.RGBA"}, {"name": "borderColor", "type": "object", "optional": true, "description": "The border highlight fill color (default: transparent).", "typeRef": "DOM.RGBA"}, {"name": "marginColor", "type": "object", "optional": true, "description": "The margin highlight fill color (default: transparent).", "typeRef": "DOM.RGBA"}, {"name": "eventTargetColor", "type": "object", "optional": true, "description": "The event target element highlight fill color (default: transparent).", "typeRef": "DOM.RGBA"}, {"name": "shapeColor", "type": "object", "optional": true, "description": "The shape outside fill color (default: transparent).", "typeRef": "DOM.RGBA"}, {"name": "shapeMarginColor", "type": "object", "optional": true, "description": "The shape margin fill color (default: transparent).", "typeRef": "DOM.RGBA"}, {"name": "cssGridColor", "type": "object", "optional": true, "description": "The grid layout color (default: transparent).", "typeRef": "DOM.RGBA"}, {"name": "colorFormat", "type": "string", "optional": true, "description": "The color format used to format color styles (default: hex).", "typeRef": "Overlay.ColorFormat"}, {"name": "gridHighlightConfig", "type": "object", "optional": true, "description": "The grid layout highlight configuration (default: all transparent).", "typeRef": "Overlay.GridHighlightConfig"}, {"name": "flexContainerHighlightConfig", "type": "object", "optional": true, "description": "The flex container highlight configuration (default: all transparent).", "typeRef": "Overlay.FlexContainerHighlightConfig"}, {"name": "flexItemHighlightConfig", "type": "object", "optional": true, "description": "The flex item highlight configuration (default: all transparent).", "typeRef": "Overlay.FlexItemHighlightConfig"}, {"name": "contrastAlgorithm", "type": "string", "optional": true, "description": "The contrast algorithm to use for the contrast ratio (default: aa).", "typeRef": "Overlay.ContrastAlgorithm"}, {"name": "containerQueryContainerHighlightConfig", "type": "object", "optional": true, "description": "The container query container highlight configuration (default: all transparent).", "typeRef": "Overlay.ContainerQueryContainerHighlightConfig"}]);
1021
+ inspectorBackend.registerType("Overlay.ImcbHighlightConfig", [{"name": "imcbBorderColor", "type": "object", "optional": true, "description": "Border color for the Inset-Modified Containing Block (default: transparent).", "typeRef": "DOM.RGBA"}, {"name": "imcbBackgroundColor", "type": "object", "optional": true, "description": "Background fill color for the Inset-Modified Containing Block (default: transparent).", "typeRef": "DOM.RGBA"}, {"name": "insetsBackgroundColor", "type": "object", "optional": true, "description": "Fill color for the inset modifiers area (difference between CB and IMCB).", "typeRef": "DOM.RGBA"}, {"name": "insetsHatchColor", "type": "object", "optional": true, "description": "Hatch color for the inset modifiers area.", "typeRef": "DOM.RGBA"}, {"name": "anchorBorderColor", "type": "object", "optional": true, "description": "Border color for the referenced target anchor element(s) (when element is anchor-positioned).", "typeRef": "DOM.RGBA"}, {"name": "anchorBackgroundColor", "type": "object", "optional": true, "description": "Background fill color for the referenced target anchor element(s) (when element is anchor-positioned).", "typeRef": "DOM.RGBA"}, {"name": "showPositionAreaGrid", "type": "boolean", "optional": true, "description": "Whether to render the 3x3 position-area grid lines when position-area is used.", "typeRef": null}, {"name": "positionAreaGridLineColor", "type": "object", "optional": true, "description": "Line color for the 3x3 position-area grid lines.", "typeRef": "DOM.RGBA"}, {"name": "positionAreaActiveRegionColor", "type": "object", "optional": true, "description": "Fill color for the active region within the position-area grid.", "typeRef": "DOM.RGBA"}]);
1022
+ inspectorBackend.registerType("Overlay.HighlightConfig", [{"name": "showInfo", "type": "boolean", "optional": true, "description": "Whether the node info tooltip should be shown (default: false).", "typeRef": null}, {"name": "showStyles", "type": "boolean", "optional": true, "description": "Whether the node styles in the tooltip (default: false).", "typeRef": null}, {"name": "showRulers", "type": "boolean", "optional": true, "description": "Whether the rulers should be shown (default: false).", "typeRef": null}, {"name": "showAccessibilityInfo", "type": "boolean", "optional": true, "description": "Whether the a11y info should be shown (default: true).", "typeRef": null}, {"name": "showExtensionLines", "type": "boolean", "optional": true, "description": "Whether the extension lines from node to the rulers should be shown (default: false).", "typeRef": null}, {"name": "contentColor", "type": "object", "optional": true, "description": "The content box highlight fill color (default: transparent).", "typeRef": "DOM.RGBA"}, {"name": "paddingColor", "type": "object", "optional": true, "description": "The padding highlight fill color (default: transparent).", "typeRef": "DOM.RGBA"}, {"name": "borderColor", "type": "object", "optional": true, "description": "The border highlight fill color (default: transparent).", "typeRef": "DOM.RGBA"}, {"name": "marginColor", "type": "object", "optional": true, "description": "The margin highlight fill color (default: transparent).", "typeRef": "DOM.RGBA"}, {"name": "eventTargetColor", "type": "object", "optional": true, "description": "The event target element highlight fill color (default: transparent).", "typeRef": "DOM.RGBA"}, {"name": "shapeColor", "type": "object", "optional": true, "description": "The shape outside fill color (default: transparent).", "typeRef": "DOM.RGBA"}, {"name": "shapeMarginColor", "type": "object", "optional": true, "description": "The shape margin fill color (default: transparent).", "typeRef": "DOM.RGBA"}, {"name": "cssGridColor", "type": "object", "optional": true, "description": "The grid layout color (default: transparent).", "typeRef": "DOM.RGBA"}, {"name": "colorFormat", "type": "string", "optional": true, "description": "The color format used to format color styles (default: hex).", "typeRef": "Overlay.ColorFormat"}, {"name": "gridHighlightConfig", "type": "object", "optional": true, "description": "The grid layout highlight configuration (default: all transparent).", "typeRef": "Overlay.GridHighlightConfig"}, {"name": "flexContainerHighlightConfig", "type": "object", "optional": true, "description": "The flex container highlight configuration (default: all transparent).", "typeRef": "Overlay.FlexContainerHighlightConfig"}, {"name": "flexItemHighlightConfig", "type": "object", "optional": true, "description": "The flex item highlight configuration (default: all transparent).", "typeRef": "Overlay.FlexItemHighlightConfig"}, {"name": "contrastAlgorithm", "type": "string", "optional": true, "description": "The contrast algorithm to use for the contrast ratio (default: aa).", "typeRef": "Overlay.ContrastAlgorithm"}, {"name": "containerQueryContainerHighlightConfig", "type": "object", "optional": true, "description": "The container query container highlight configuration (default: all transparent).", "typeRef": "Overlay.ContainerQueryContainerHighlightConfig"}, {"name": "imcbHighlightConfig", "type": "object", "optional": true, "description": "The IMCB highlight configuration (default: all transparent).", "typeRef": "Overlay.ImcbHighlightConfig"}]);
1022
1023
  inspectorBackend.registerType("Overlay.GridNodeHighlightConfig", [{"name": "gridHighlightConfig", "type": "object", "optional": false, "description": "A descriptor for the highlight appearance.", "typeRef": "Overlay.GridHighlightConfig"}, {"name": "nodeId", "type": "number", "optional": false, "description": "Identifier of the node to highlight.", "typeRef": "DOM.NodeId"}]);
1023
1024
  inspectorBackend.registerType("Overlay.FlexNodeHighlightConfig", [{"name": "flexContainerHighlightConfig", "type": "object", "optional": false, "description": "A descriptor for the highlight appearance of flex containers.", "typeRef": "Overlay.FlexContainerHighlightConfig"}, {"name": "nodeId", "type": "number", "optional": false, "description": "Identifier of the node to highlight.", "typeRef": "DOM.NodeId"}]);
1024
1025
  inspectorBackend.registerType("Overlay.ScrollSnapContainerHighlightConfig", [{"name": "snapportBorder", "type": "object", "optional": true, "description": "The style of the snapport border (default: transparent)", "typeRef": "Overlay.LineStyle"}, {"name": "snapAreaBorder", "type": "object", "optional": true, "description": "The style of the snap area border (default: transparent)", "typeRef": "Overlay.LineStyle"}, {"name": "scrollMarginColor", "type": "object", "optional": true, "description": "The margin highlight fill color (default: transparent).", "typeRef": "DOM.RGBA"}, {"name": "scrollPaddingColor", "type": "object", "optional": true, "description": "The padding highlight fill color (default: transparent).", "typeRef": "DOM.RGBA"}]);
@@ -1113,7 +1114,9 @@ inspectorBackend.registerCommand("Page.enable", [{"name": "enableFileChooserOpen
1113
1114
  inspectorBackend.registerCommand("Page.getAppManifest", [{"name": "manifestId", "type": "string", "optional": true, "description": "", "typeRef": null}], ["url", "errors", "data", "parsed", "manifest"], "Gets the processed manifest for this current document. This API always waits for the manifest to be loaded. If manifestId is provided, and it does not match the manifest of the current document, this API errors out. If there is not a loaded page, this API errors out immediately.");
1114
1115
  inspectorBackend.registerCommand("Page.getInstallabilityErrors", [], ["installabilityErrors"], "");
1115
1116
  inspectorBackend.registerCommand("Page.getManifestIcons", [], ["primaryIcon"], "Deprecated because it's not guaranteed that the returned icon is in fact the one used for PWA installation.");
1116
- inspectorBackend.registerCommand("Page.getAppId", [], ["appId", "recommendedId"], "Returns the unique (PWA) app id. Only returns values if the feature flag 'WebAppEnableManifestId' is enabled");
1117
+ inspectorBackend.registerCommand("Page.getAppId", [], ["appId", "recommendedId", "bundleId", "parentAppName"], "Returns the unique (PWA) app id, along with IWA bundle ID and parent app info. Only returns values if the feature flag 'WebAppEnableManifestId' is enabled");
1118
+ inspectorBackend.registerCommand("Page.getSubApps", [], ["subApps"], "Returns the list of installed child Sub-Apps for the inspected parent app.");
1119
+ inspectorBackend.registerCommand("Page.getSiblingSubApps", [], ["subApps"], "Returns the list of sibling Sub-Apps sharing the same parent app if the inspected context is a Sub-App.");
1117
1120
  inspectorBackend.registerCommand("Page.getAdScriptAncestry", [{"name": "frameId", "type": "string", "optional": false, "description": "", "typeRef": "Page.FrameId"}], ["adScriptAncestry"], "");
1118
1121
  inspectorBackend.registerCommand("Page.getFrameTree", [], ["frameTree"], "Returns present frame tree structure.");
1119
1122
  inspectorBackend.registerCommand("Page.getLayoutMetrics", [], ["layoutViewport", "visualViewport", "contentSize", "cssLayoutViewport", "cssVisualViewport", "cssContentSize"], "Returns metrics relating to the layouting of the page, such as viewport bounds/scale.");
@@ -1203,6 +1206,7 @@ inspectorBackend.registerType("Page.Screenshot", [{"name": "image", "type": "obj
1203
1206
  inspectorBackend.registerType("Page.ShareTarget", [{"name": "action", "type": "string", "optional": false, "description": "", "typeRef": null}, {"name": "method", "type": "string", "optional": false, "description": "", "typeRef": null}, {"name": "enctype", "type": "string", "optional": false, "description": "", "typeRef": null}, {"name": "title", "type": "string", "optional": true, "description": "Embed the ShareTargetParams", "typeRef": null}, {"name": "text", "type": "string", "optional": true, "description": "", "typeRef": null}, {"name": "url", "type": "string", "optional": true, "description": "", "typeRef": null}, {"name": "files", "type": "array", "optional": true, "description": "", "typeRef": "Page.FileFilter"}]);
1204
1207
  inspectorBackend.registerType("Page.Shortcut", [{"name": "name", "type": "string", "optional": false, "description": "", "typeRef": null}, {"name": "url", "type": "string", "optional": false, "description": "", "typeRef": null}]);
1205
1208
  inspectorBackend.registerType("Page.WebAppManifest", [{"name": "backgroundColor", "type": "string", "optional": true, "description": "", "typeRef": null}, {"name": "description", "type": "string", "optional": true, "description": "The extra description provided by the manifest.", "typeRef": null}, {"name": "dir", "type": "string", "optional": true, "description": "", "typeRef": null}, {"name": "display", "type": "string", "optional": true, "description": "", "typeRef": null}, {"name": "displayOverrides", "type": "array", "optional": true, "description": "The overrided display mode controlled by the user.", "typeRef": "string"}, {"name": "fileHandlers", "type": "array", "optional": true, "description": "The handlers to open files.", "typeRef": "Page.FileHandler"}, {"name": "icons", "type": "array", "optional": true, "description": "", "typeRef": "Page.ImageResource"}, {"name": "id", "type": "string", "optional": true, "description": "", "typeRef": null}, {"name": "lang", "type": "string", "optional": true, "description": "", "typeRef": null}, {"name": "launchHandler", "type": "object", "optional": true, "description": "TODO(crbug.com/1231886): This field is non-standard and part of a Chrome experiment. See: https://github.com/WICG/web-app-launch/blob/main/launch_handler.md", "typeRef": "Page.LaunchHandler"}, {"name": "name", "type": "string", "optional": true, "description": "", "typeRef": null}, {"name": "orientation", "type": "string", "optional": true, "description": "", "typeRef": null}, {"name": "preferRelatedApplications", "type": "boolean", "optional": true, "description": "", "typeRef": null}, {"name": "protocolHandlers", "type": "array", "optional": true, "description": "The handlers to open protocols.", "typeRef": "Page.ProtocolHandler"}, {"name": "relatedApplications", "type": "array", "optional": true, "description": "", "typeRef": "Page.RelatedApplication"}, {"name": "scope", "type": "string", "optional": true, "description": "", "typeRef": null}, {"name": "scopeExtensions", "type": "array", "optional": true, "description": "Non-standard, see https://github.com/WICG/manifest-incubations/blob/gh-pages/scope_extensions-explainer.md", "typeRef": "Page.ScopeExtension"}, {"name": "screenshots", "type": "array", "optional": true, "description": "The screenshots used by chromium.", "typeRef": "Page.Screenshot"}, {"name": "shareTarget", "type": "object", "optional": true, "description": "", "typeRef": "Page.ShareTarget"}, {"name": "shortName", "type": "string", "optional": true, "description": "", "typeRef": null}, {"name": "shortcuts", "type": "array", "optional": true, "description": "", "typeRef": "Page.Shortcut"}, {"name": "startUrl", "type": "string", "optional": true, "description": "", "typeRef": null}, {"name": "themeColor", "type": "string", "optional": true, "description": "", "typeRef": null}]);
1209
+ inspectorBackend.registerType("Page.SubApp", [{"name": "name", "type": "string", "optional": false, "description": "Display name of the sub-app.", "typeRef": null}, {"name": "scope", "type": "string", "optional": false, "description": "Scope of the sub-app.", "typeRef": null}, {"name": "manifestId", "type": "string", "optional": false, "description": "Manifest id of the sub-app.", "typeRef": null}, {"name": "startUrl", "type": "string", "optional": false, "description": "Start URL of the sub-app.", "typeRef": null}]);
1206
1210
  inspectorBackend.registerType("Page.BackForwardCacheBlockingDetails", [{"name": "url", "type": "string", "optional": true, "description": "Url of the file where blockage happened. Optional because of tests.", "typeRef": null}, {"name": "function", "type": "string", "optional": true, "description": "Function name where blockage happened. Optional because of anonymous functions and tests.", "typeRef": null}, {"name": "lineNumber", "type": "number", "optional": false, "description": "Line number in the script (0-based).", "typeRef": null}, {"name": "columnNumber", "type": "number", "optional": false, "description": "Column number in the script (0-based).", "typeRef": null}]);
1207
1211
  inspectorBackend.registerType("Page.BackForwardCacheNotRestoredExplanation", [{"name": "type", "type": "string", "optional": false, "description": "Type of the reason", "typeRef": "Page.BackForwardCacheNotRestoredReasonType"}, {"name": "reason", "type": "string", "optional": false, "description": "Not restored reason", "typeRef": "Page.BackForwardCacheNotRestoredReason"}, {"name": "context", "type": "string", "optional": true, "description": "Context associated with the reason. The meaning of this context is dependent on the reason: - EmbedderExtensionSentMessageToCachedFrame: the extension ID.", "typeRef": null}, {"name": "details", "type": "array", "optional": true, "description": "", "typeRef": "Page.BackForwardCacheBlockingDetails"}]);
1208
1212
  inspectorBackend.registerType("Page.BackForwardCacheNotRestoredExplanationTree", [{"name": "url", "type": "string", "optional": false, "description": "URL of each frame", "typeRef": null}, {"name": "explanations", "type": "array", "optional": false, "description": "Not restored reasons of each frame", "typeRef": "Page.BackForwardCacheNotRestoredExplanation"}, {"name": "children", "type": "array", "optional": false, "description": "Array of children frame", "typeRef": "Page.BackForwardCacheNotRestoredExplanationTree"}]);
@@ -1337,6 +1341,7 @@ inspectorBackend.registerEvent("Storage.indexedDBContentUpdated", ["origin", "st
1337
1341
  inspectorBackend.registerEvent("Storage.indexedDBListUpdated", ["origin", "storageKey", "bucketId"]);
1338
1342
  inspectorBackend.registerEvent("Storage.storageBucketCreatedOrUpdated", ["bucketInfo"]);
1339
1343
  inspectorBackend.registerEvent("Storage.storageBucketDeleted", ["bucketId"]);
1344
+ inspectorBackend.registerEvent("Storage.privateVerificationTokensUpdated", []);
1340
1345
  inspectorBackend.registerCommand("Storage.getStorageKeyForFrame", [{"name": "frameId", "type": "string", "optional": false, "description": "", "typeRef": "Page.FrameId"}], ["storageKey"], "Returns a storage key given a frame id. Deprecated. Please use Storage.getStorageKey instead.");
1341
1346
  inspectorBackend.registerCommand("Storage.getStorageKey", [{"name": "frameId", "type": "string", "optional": true, "description": "", "typeRef": "Page.FrameId"}], ["storageKey"], "Returns storage key for the given frame. If no frame ID is provided, the storage key of the target executing this command is returned.");
1342
1347
  inspectorBackend.registerCommand("Storage.clearDataForOrigin", [{"name": "origin", "type": "string", "optional": false, "description": "Security origin.", "typeRef": null}, {"name": "storageTypes", "type": "string", "optional": false, "description": "Comma separated list of StorageType to clear.", "typeRef": null}], [], "Clears storage for origin.");
@@ -1356,12 +1361,17 @@ inspectorBackend.registerCommand("Storage.untrackIndexedDBForOrigin", [{"name":
1356
1361
  inspectorBackend.registerCommand("Storage.untrackIndexedDBForStorageKey", [{"name": "storageKey", "type": "string", "optional": false, "description": "Storage key.", "typeRef": null}], [], "Unregisters storage key from receiving notifications for IndexedDB.");
1357
1362
  inspectorBackend.registerCommand("Storage.getTrustTokens", [], ["tokens"], "Returns the number of stored Trust Tokens per issuer for the current browsing context.");
1358
1363
  inspectorBackend.registerCommand("Storage.clearTrustTokens", [{"name": "issuerOrigin", "type": "string", "optional": false, "description": "", "typeRef": null}], ["didDeleteTokens"], "Removes all Trust Tokens issued by the provided issuerOrigin. Leaves other stored data, including the issuer's Redemption Records, intact.");
1364
+ inspectorBackend.registerCommand("Storage.getPrivateVerificationTokens", [], ["tokens"], "Returns all stored Private Verification Tokens for the current browsing context.");
1365
+ inspectorBackend.registerCommand("Storage.clearPrivateVerificationTokens", [{"name": "issuerOrigin", "type": "string", "optional": false, "description": "", "typeRef": null}], [], "Removes all Private Verification Tokens issued by the provided issuerOrigin.");
1366
+ inspectorBackend.registerCommand("Storage.deletePrivateVerificationToken", [{"name": "tokenId", "type": "string", "optional": false, "description": "", "typeRef": null}], [], "Removes a specific Private Verification Token by its ID.");
1367
+ inspectorBackend.registerCommand("Storage.setPrivateVerificationTokensTracking", [{"name": "enable", "type": "boolean", "optional": false, "description": "", "typeRef": null}], [], "Set tracking for Private Verification Tokens.");
1359
1368
  inspectorBackend.registerCommand("Storage.setStorageBucketTracking", [{"name": "storageKey", "type": "string", "optional": false, "description": "", "typeRef": null}, {"name": "enable", "type": "boolean", "optional": false, "description": "", "typeRef": null}], [], "Set tracking for a storage key's buckets.");
1360
1369
  inspectorBackend.registerCommand("Storage.deleteStorageBucket", [{"name": "bucket", "type": "object", "optional": false, "description": "", "typeRef": "Storage.StorageBucket"}], [], "Deletes the Storage Bucket with the given storage key and bucket name.");
1361
1370
  inspectorBackend.registerCommand("Storage.runBounceTrackingMitigations", [], ["deletedSites"], "Deletes state for sites identified as potential bounce trackers, immediately.");
1362
1371
  inspectorBackend.registerCommand("Storage.getRelatedWebsiteSets", [], ["sets"], "Returns the effective Related Website Sets in use by this profile for the browser session. The effective Related Website Sets will not change during a browser session.");
1363
1372
  inspectorBackend.registerType("Storage.UsageForType", [{"name": "storageType", "type": "string", "optional": false, "description": "Name of storage type.", "typeRef": "Storage.StorageType"}, {"name": "usage", "type": "number", "optional": false, "description": "Storage usage (bytes).", "typeRef": null}]);
1364
1373
  inspectorBackend.registerType("Storage.TrustTokens", [{"name": "issuerOrigin", "type": "string", "optional": false, "description": "", "typeRef": null}, {"name": "count", "type": "number", "optional": false, "description": "", "typeRef": null}]);
1374
+ inspectorBackend.registerType("Storage.PrivateVerificationToken", [{"name": "id", "type": "string", "optional": false, "description": "Unique identifier of the token in the database.", "typeRef": null}, {"name": "issuerOrigin", "type": "string", "optional": false, "description": "Origin of the token issuer.", "typeRef": null}, {"name": "keyId", "type": "number", "optional": false, "description": "Public key ID used to issue the token.", "typeRef": null}, {"name": "expiration", "type": "number", "optional": false, "description": "Expiration timestamp in seconds since the epoch.", "typeRef": "Network.TimeSinceEpoch"}, {"name": "creationTime", "type": "number", "optional": false, "description": "Token creation timestamp in seconds since the epoch.", "typeRef": "Network.TimeSinceEpoch"}, {"name": "version", "type": "number", "optional": false, "description": "Token protocol version.", "typeRef": null}, {"name": "token", "type": "string", "optional": false, "description": "Base64-encoded serialized token.", "typeRef": null}]);
1365
1375
  inspectorBackend.registerType("Storage.StorageBucket", [{"name": "storageKey", "type": "string", "optional": false, "description": "", "typeRef": "Storage.SerializedStorageKey"}, {"name": "name", "type": "string", "optional": true, "description": "If not specified, it is the default bucket of the storageKey.", "typeRef": null}]);
1366
1376
  inspectorBackend.registerType("Storage.StorageBucketInfo", [{"name": "bucket", "type": "object", "optional": false, "description": "", "typeRef": "Storage.StorageBucket"}, {"name": "id", "type": "string", "optional": false, "description": "", "typeRef": null}, {"name": "expiration", "type": "number", "optional": false, "description": "", "typeRef": "Network.TimeSinceEpoch"}, {"name": "quota", "type": "number", "optional": false, "description": "Storage quota (bytes).", "typeRef": null}, {"name": "persistent", "type": "boolean", "optional": false, "description": "", "typeRef": null}, {"name": "durability", "type": "string", "optional": false, "description": "", "typeRef": "Storage.StorageBucketsDurability"}]);
1367
1377
  inspectorBackend.registerType("Storage.RelatedWebsiteSet", [{"name": "primarySites", "type": "array", "optional": false, "description": "The primary site of this set, along with the ccTLDs if there is any.", "typeRef": "string"}, {"name": "associatedSites", "type": "array", "optional": false, "description": "The associated sites of this set, along with the ccTLDs if there is any.", "typeRef": "string"}, {"name": "serviceSites", "type": "array", "optional": false, "description": "The service sites of this set, along with the ccTLDs if there is any.", "typeRef": "string"}]);
@@ -660,6 +660,7 @@ export const generatedProperties: CSSProperty[] = [
660
660
  "line-clamp",
661
661
  "line-gap-override",
662
662
  "line-height",
663
+ "link-parameters",
663
664
  "list-style-image",
664
665
  "list-style-position",
665
666
  "list-style-type",
@@ -3683,6 +3684,14 @@ export const generatedProperties: CSSProperty[] = [
3683
3684
  ],
3684
3685
  "name": "line-height"
3685
3686
  },
3687
+ {
3688
+ "keywords": [
3689
+ "none"
3690
+ ],
3691
+ "name": "link-parameters",
3692
+ "runtime_flag": "CSSLinkParametersProperty",
3693
+ "runtime_flag_status": "experimental"
3694
+ },
3686
3695
  {
3687
3696
  "inherited": true,
3688
3697
  "longhands": [
@@ -7934,6 +7943,11 @@ export const generatedPropertyValues: Record<string, CSSPropertyValue> = {
7934
7943
  "normal"
7935
7944
  ]
7936
7945
  },
7946
+ "link-parameters": {
7947
+ "values": [
7948
+ "none"
7949
+ ]
7950
+ },
7937
7951
  "list-style-image": {
7938
7952
  "values": [
7939
7953
  "none"
@@ -777,6 +777,10 @@ export namespace ProtocolMapping {
777
777
  'Storage.indexedDBListUpdated': [Protocol.Storage.IndexedDBListUpdatedEvent];
778
778
  'Storage.storageBucketCreatedOrUpdated': [Protocol.Storage.StorageBucketCreatedOrUpdatedEvent];
779
779
  'Storage.storageBucketDeleted': [Protocol.Storage.StorageBucketDeletedEvent];
780
+ /**
781
+ * Private Verification Tokens have been stored or deleted.
782
+ */
783
+ 'Storage.privateVerificationTokensUpdated': [];
780
784
  /**
781
785
  * Issued when attached to target because of auto-attach or `attachToTarget` command.
782
786
  */
@@ -4161,13 +4165,27 @@ export namespace ProtocolMapping {
4161
4165
  returnType: Protocol.Page.GetManifestIconsResponse;
4162
4166
  };
4163
4167
  /**
4164
- * Returns the unique (PWA) app id.
4168
+ * Returns the unique (PWA) app id, along with IWA bundle ID and parent app info.
4165
4169
  * Only returns values if the feature flag 'WebAppEnableManifestId' is enabled
4166
4170
  */
4167
4171
  'Page.getAppId': {
4168
4172
  paramsType: [];
4169
4173
  returnType: Protocol.Page.GetAppIdResponse;
4170
4174
  };
4175
+ /**
4176
+ * Returns the list of installed child Sub-Apps for the inspected parent app.
4177
+ */
4178
+ 'Page.getSubApps': {
4179
+ paramsType: [];
4180
+ returnType: Protocol.Page.GetSubAppsResponse;
4181
+ };
4182
+ /**
4183
+ * Returns the list of sibling Sub-Apps sharing the same parent app if the inspected context is a Sub-App.
4184
+ */
4185
+ 'Page.getSiblingSubApps': {
4186
+ paramsType: [];
4187
+ returnType: Protocol.Page.GetSiblingSubAppsResponse;
4188
+ };
4171
4189
  'Page.getAdScriptAncestry': {
4172
4190
  paramsType: [Protocol.Page.GetAdScriptAncestryRequest];
4173
4191
  returnType: Protocol.Page.GetAdScriptAncestryResponse;
@@ -4928,6 +4946,35 @@ export namespace ProtocolMapping {
4928
4946
  paramsType: [Protocol.Storage.ClearTrustTokensRequest];
4929
4947
  returnType: Protocol.Storage.ClearTrustTokensResponse;
4930
4948
  };
4949
+ /**
4950
+ * Returns all stored Private Verification Tokens for the current browsing
4951
+ * context.
4952
+ */
4953
+ 'Storage.getPrivateVerificationTokens': {
4954
+ paramsType: [];
4955
+ returnType: Protocol.Storage.GetPrivateVerificationTokensResponse;
4956
+ };
4957
+ /**
4958
+ * Removes all Private Verification Tokens issued by the provided issuerOrigin.
4959
+ */
4960
+ 'Storage.clearPrivateVerificationTokens': {
4961
+ paramsType: [Protocol.Storage.ClearPrivateVerificationTokensRequest];
4962
+ returnType: void;
4963
+ };
4964
+ /**
4965
+ * Removes a specific Private Verification Token by its ID.
4966
+ */
4967
+ 'Storage.deletePrivateVerificationToken': {
4968
+ paramsType: [Protocol.Storage.DeletePrivateVerificationTokenRequest];
4969
+ returnType: void;
4970
+ };
4971
+ /**
4972
+ * Set tracking for Private Verification Tokens.
4973
+ */
4974
+ 'Storage.setPrivateVerificationTokensTracking': {
4975
+ paramsType: [Protocol.Storage.SetPrivateVerificationTokensTrackingRequest];
4976
+ returnType: void;
4977
+ };
4931
4978
  /**
4932
4979
  * Set tracking for a storage key's buckets.
4933
4980
  */
@@ -3368,11 +3368,21 @@ declare namespace ProtocolProxyApi {
3368
3368
  invoke_getManifestIcons(): Promise<Protocol.Page.GetManifestIconsResponse>;
3369
3369
 
3370
3370
  /**
3371
- * Returns the unique (PWA) app id.
3371
+ * Returns the unique (PWA) app id, along with IWA bundle ID and parent app info.
3372
3372
  * Only returns values if the feature flag 'WebAppEnableManifestId' is enabled
3373
3373
  */
3374
3374
  invoke_getAppId(): Promise<Protocol.Page.GetAppIdResponse>;
3375
3375
 
3376
+ /**
3377
+ * Returns the list of installed child Sub-Apps for the inspected parent app.
3378
+ */
3379
+ invoke_getSubApps(): Promise<Protocol.Page.GetSubAppsResponse>;
3380
+
3381
+ /**
3382
+ * Returns the list of sibling Sub-Apps sharing the same parent app if the inspected context is a Sub-App.
3383
+ */
3384
+ invoke_getSiblingSubApps(): Promise<Protocol.Page.GetSiblingSubAppsResponse>;
3385
+
3376
3386
  invoke_getAdScriptAncestry(params: Protocol.Page.GetAdScriptAncestryRequest): Promise<Protocol.Page.GetAdScriptAncestryResponse>;
3377
3387
 
3378
3388
  /**
@@ -4315,6 +4325,27 @@ declare namespace ProtocolProxyApi {
4315
4325
  */
4316
4326
  invoke_clearTrustTokens(params: Protocol.Storage.ClearTrustTokensRequest): Promise<Protocol.Storage.ClearTrustTokensResponse>;
4317
4327
 
4328
+ /**
4329
+ * Returns all stored Private Verification Tokens for the current browsing
4330
+ * context.
4331
+ */
4332
+ invoke_getPrivateVerificationTokens(): Promise<Protocol.Storage.GetPrivateVerificationTokensResponse>;
4333
+
4334
+ /**
4335
+ * Removes all Private Verification Tokens issued by the provided issuerOrigin.
4336
+ */
4337
+ invoke_clearPrivateVerificationTokens(params: Protocol.Storage.ClearPrivateVerificationTokensRequest): Promise<Protocol.ProtocolResponseWithError>;
4338
+
4339
+ /**
4340
+ * Removes a specific Private Verification Token by its ID.
4341
+ */
4342
+ invoke_deletePrivateVerificationToken(params: Protocol.Storage.DeletePrivateVerificationTokenRequest): Promise<Protocol.ProtocolResponseWithError>;
4343
+
4344
+ /**
4345
+ * Set tracking for Private Verification Tokens.
4346
+ */
4347
+ invoke_setPrivateVerificationTokensTracking(params: Protocol.Storage.SetPrivateVerificationTokensTrackingRequest): Promise<Protocol.ProtocolResponseWithError>;
4348
+
4318
4349
  /**
4319
4350
  * Set tracking for a storage key's buckets.
4320
4351
  */
@@ -4362,6 +4393,11 @@ declare namespace ProtocolProxyApi {
4362
4393
 
4363
4394
  storageBucketDeleted(params: Protocol.Storage.StorageBucketDeletedEvent): void;
4364
4395
 
4396
+ /**
4397
+ * Private Verification Tokens have been stored or deleted.
4398
+ */
4399
+ privateVerificationTokensUpdated(): void;
4400
+
4365
4401
  }
4366
4402
 
4367
4403
  export interface SystemInfoApi {
@@ -13855,6 +13855,48 @@ export namespace Overlay {
13855
13855
  Apca = 'apca',
13856
13856
  }
13857
13857
 
13858
+ /**
13859
+ * Configuration for Inset-Modified Containing Block (IMCB) and CSS Anchor Positioning highlight.
13860
+ */
13861
+ export interface ImcbHighlightConfig {
13862
+ /**
13863
+ * Border color for the Inset-Modified Containing Block (default: transparent).
13864
+ */
13865
+ imcbBorderColor?: DOM.RGBA;
13866
+ /**
13867
+ * Background fill color for the Inset-Modified Containing Block (default: transparent).
13868
+ */
13869
+ imcbBackgroundColor?: DOM.RGBA;
13870
+ /**
13871
+ * Fill color for the inset modifiers area (difference between CB and IMCB).
13872
+ */
13873
+ insetsBackgroundColor?: DOM.RGBA;
13874
+ /**
13875
+ * Hatch color for the inset modifiers area.
13876
+ */
13877
+ insetsHatchColor?: DOM.RGBA;
13878
+ /**
13879
+ * Border color for the referenced target anchor element(s) (when element is anchor-positioned).
13880
+ */
13881
+ anchorBorderColor?: DOM.RGBA;
13882
+ /**
13883
+ * Background fill color for the referenced target anchor element(s) (when element is anchor-positioned).
13884
+ */
13885
+ anchorBackgroundColor?: DOM.RGBA;
13886
+ /**
13887
+ * Whether to render the 3x3 position-area grid lines when position-area is used.
13888
+ */
13889
+ showPositionAreaGrid?: boolean;
13890
+ /**
13891
+ * Line color for the 3x3 position-area grid lines.
13892
+ */
13893
+ positionAreaGridLineColor?: DOM.RGBA;
13894
+ /**
13895
+ * Fill color for the active region within the position-area grid.
13896
+ */
13897
+ positionAreaActiveRegionColor?: DOM.RGBA;
13898
+ }
13899
+
13858
13900
  /**
13859
13901
  * Configuration data for the highlighting of page elements.
13860
13902
  */
@@ -13935,6 +13977,10 @@ export namespace Overlay {
13935
13977
  * The container query container highlight configuration (default: all transparent).
13936
13978
  */
13937
13979
  containerQueryContainerHighlightConfig?: ContainerQueryContainerHighlightConfig;
13980
+ /**
13981
+ * The IMCB highlight configuration (default: all transparent).
13982
+ */
13983
+ imcbHighlightConfig?: ImcbHighlightConfig;
13938
13984
  }
13939
13985
 
13940
13986
  export const enum ColorFormat {
@@ -15485,6 +15531,25 @@ export namespace Page {
15485
15531
  themeColor?: string;
15486
15532
  }
15487
15533
 
15534
+ export interface SubApp {
15535
+ /**
15536
+ * Display name of the sub-app.
15537
+ */
15538
+ name: string;
15539
+ /**
15540
+ * Scope of the sub-app.
15541
+ */
15542
+ scope: string;
15543
+ /**
15544
+ * Manifest id of the sub-app.
15545
+ */
15546
+ manifestId: string;
15547
+ /**
15548
+ * Start URL of the sub-app.
15549
+ */
15550
+ startUrl: string;
15551
+ }
15552
+
15488
15553
  /**
15489
15554
  * The type of a frameNavigated event.
15490
15555
  */
@@ -15895,6 +15960,22 @@ export namespace Page {
15895
15960
  * Recommendation for manifest's id attribute to match current id computed from start_url
15896
15961
  */
15897
15962
  recommendedId?: string;
15963
+ /**
15964
+ * The bundle ID for an Isolated Web App (IWA)
15965
+ */
15966
+ bundleId?: string;
15967
+ /**
15968
+ * The name of the parent app if this app is a Sub-App
15969
+ */
15970
+ parentAppName?: string;
15971
+ }
15972
+
15973
+ export interface GetSubAppsResponse extends ProtocolResponseWithError {
15974
+ subApps: SubApp[];
15975
+ }
15976
+
15977
+ export interface GetSiblingSubAppsResponse extends ProtocolResponseWithError {
15978
+ subApps: SubApp[];
15898
15979
  }
15899
15980
 
15900
15981
  export interface GetAdScriptAncestryRequest {
@@ -18392,6 +18473,40 @@ export namespace Storage {
18392
18473
  count: number;
18393
18474
  }
18394
18475
 
18476
+ /**
18477
+ * Details of a stored Private Verification Token.
18478
+ */
18479
+ export interface PrivateVerificationToken {
18480
+ /**
18481
+ * Unique identifier of the token in the database.
18482
+ */
18483
+ id: string;
18484
+ /**
18485
+ * Origin of the token issuer.
18486
+ */
18487
+ issuerOrigin: string;
18488
+ /**
18489
+ * Public key ID used to issue the token.
18490
+ */
18491
+ keyId: integer;
18492
+ /**
18493
+ * Expiration timestamp in seconds since the epoch.
18494
+ */
18495
+ expiration: Network.TimeSinceEpoch;
18496
+ /**
18497
+ * Token creation timestamp in seconds since the epoch.
18498
+ */
18499
+ creationTime: Network.TimeSinceEpoch;
18500
+ /**
18501
+ * Token protocol version.
18502
+ */
18503
+ version: integer;
18504
+ /**
18505
+ * Base64-encoded serialized token.
18506
+ */
18507
+ token: string;
18508
+ }
18509
+
18395
18510
  export const enum StorageBucketsDurability {
18396
18511
  Relaxed = 'relaxed',
18397
18512
  Strict = 'strict',
@@ -18619,6 +18734,22 @@ export namespace Storage {
18619
18734
  didDeleteTokens: boolean;
18620
18735
  }
18621
18736
 
18737
+ export interface GetPrivateVerificationTokensResponse extends ProtocolResponseWithError {
18738
+ tokens: PrivateVerificationToken[];
18739
+ }
18740
+
18741
+ export interface ClearPrivateVerificationTokensRequest {
18742
+ issuerOrigin: string;
18743
+ }
18744
+
18745
+ export interface DeletePrivateVerificationTokenRequest {
18746
+ tokenId: string;
18747
+ }
18748
+
18749
+ export interface SetPrivateVerificationTokensTrackingRequest {
18750
+ enable: boolean;
18751
+ }
18752
+
18622
18753
  export interface SetStorageBucketTrackingRequest {
18623
18754
  storageKey: string;
18624
18755
  enable: boolean;
@@ -15,6 +15,7 @@ const uiSourceCodeToAttributionMap = new WeakMap<Workspace.UISourceCode.UISource
15
15
 
16
16
  export class NetworkProjectManager extends Common.ObjectWrapper.ObjectWrapper<EventTypes> {
17
17
  readonly #projectToTargetMap = new WeakMap<Workspace.Workspace.Project, SDK.Target.Target>();
18
+ readonly #sourceURLSynthesizedUISourceCodes = new WeakSet<Workspace.UISourceCode.UISourceCode>();
18
19
 
19
20
  static instance({forceNew}: {
20
21
  forceNew: boolean,
@@ -41,6 +42,14 @@ export class NetworkProjectManager extends Common.ObjectWrapper.ObjectWrapper<Ev
41
42
  getTargetForUISourceCode(uiSourceCode: Workspace.UISourceCode.UISourceCode): SDK.Target.Target|null {
42
43
  return this.#projectToTargetMap.get(uiSourceCode.project()) ?? null;
43
44
  }
45
+
46
+ setSourceURLSynthesized(uiSourceCode: Workspace.UISourceCode.UISourceCode): void {
47
+ this.#sourceURLSynthesizedUISourceCodes.add(uiSourceCode);
48
+ }
49
+
50
+ isSourceURLSynthesized(uiSourceCode: Workspace.UISourceCode.UISourceCode): boolean {
51
+ return this.#sourceURLSynthesizedUISourceCodes.has(uiSourceCode);
52
+ }
44
53
  }
45
54
 
46
55
  export const enum Events {
@@ -59,6 +68,27 @@ export interface EventTypes {
59
68
  }
60
69
 
61
70
  export class NetworkProject {
71
+ /**
72
+ * Records that `uiSourceCode` was synthesized from a `//# sourceURL=` annotation,
73
+ * and therefore doesn't correspond to an actual network resource.
74
+ */
75
+ static setSourceURLSynthesized(uiSourceCode: Workspace.UISourceCode.UISourceCode): void {
76
+ // eslint-disable-next-line @devtools/no-instance-of-migrated-singletons
77
+ NetworkProjectManager.instance().setSourceURLSynthesized(uiSourceCode);
78
+ }
79
+
80
+ /**
81
+ * Whether `uiSourceCode` was synthesized from a `//# sourceURL=` annotation.
82
+ *
83
+ * Both the URL and the content of such a source are fully controlled by the page,
84
+ * so it must never be treated like a genuine network resource (for example it must
85
+ * not be persisted as a local override, see b/553931271).
86
+ */
87
+ static isSourceURLSynthesized(uiSourceCode: Workspace.UISourceCode.UISourceCode): boolean {
88
+ // eslint-disable-next-line @devtools/no-instance-of-migrated-singletons
89
+ return NetworkProjectManager.instance().isSourceURLSynthesized(uiSourceCode);
90
+ }
91
+
62
92
  static resolveFrame(uiSourceCode: Workspace.UISourceCode.UISourceCode, frameId: Protocol.Page.FrameId):
63
93
  SDK.ResourceTreeModel.ResourceTreeFrame|null {
64
94
  const target = NetworkProject.targetForUISourceCode(uiSourceCode);