chrome-devtools-frontend 1.0.1626840 → 1.0.1629211

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 (197) hide show
  1. package/front_end/core/common/VersionController.ts +33 -1
  2. package/front_end/core/host/UserMetrics.ts +0 -3
  3. package/front_end/core/root/ExperimentNames.ts +0 -4
  4. package/front_end/core/sdk/CSSContainerQuery.ts +3 -1
  5. package/front_end/core/sdk/CSSModel.ts +23 -0
  6. package/front_end/core/sdk/DOMModel.ts +0 -5
  7. package/front_end/entrypoints/formatter_worker/AcornTokenizer.ts +2 -1
  8. package/front_end/entrypoints/formatter_worker/CSSFormatter.ts +2 -4
  9. package/front_end/entrypoints/formatter_worker/ESTreeWalker.ts +3 -2
  10. package/front_end/entrypoints/formatter_worker/JavaScriptFormatter.ts +13 -0
  11. package/front_end/entrypoints/formatter_worker/Substitute.ts +1 -1
  12. package/front_end/entrypoints/greendev_floaty/FloatyEntrypoint.ts +0 -2
  13. package/front_end/entrypoints/greendev_floaty/greendev_floaty.ts +0 -2
  14. package/front_end/entrypoints/main/MainImpl.ts +0 -10
  15. package/front_end/generated/InspectorBackendCommands.ts +3 -3
  16. package/front_end/generated/protocol.ts +6 -0
  17. package/front_end/models/emulation/DeviceModeModel.ts +4 -0
  18. package/front_end/models/issues_manager/GenericIssue.ts +18 -1
  19. package/front_end/models/issues_manager/descriptions/genericBackUINavigationWouldSkipAd.md +4 -0
  20. package/front_end/models/javascript_metadata/NativeFunctions.js +4 -0
  21. package/front_end/panels/common/common.ts +1 -1
  22. package/front_end/panels/common/freDialog.css +1 -0
  23. package/front_end/panels/console/ConsoleView.ts +2 -2
  24. package/front_end/panels/elements/StylePropertiesSection.ts +6 -2
  25. package/front_end/panels/elements/StylesSidebarPane.ts +9 -8
  26. package/front_end/panels/elements/elements-meta.ts +0 -25
  27. package/front_end/panels/elements/elements.ts +0 -3
  28. package/front_end/panels/emulation/DeviceModeToolbar.ts +346 -265
  29. package/front_end/panels/emulation/DeviceModeView.ts +2 -2
  30. package/front_end/panels/profiler/HeapSnapshotGridNodes.ts +9 -4
  31. package/front_end/panels/profiler/ProfilesPanel.ts +7 -1
  32. package/front_end/panels/sources/AiCodeCompletionPlugin.ts +7 -6
  33. package/front_end/panels/sources/WatchExpressionsSidebarPane.ts +29 -18
  34. package/front_end/panels/sources/sources-meta.ts +7 -0
  35. package/front_end/panels/timeline/TimelineController.ts +1 -2
  36. package/front_end/panels/timeline/TimelinePanel.ts +1 -1
  37. package/front_end/panels/timeline/TimelineUIUtils.ts +2 -10
  38. package/front_end/panels/timeline/timeline-meta.ts +26 -0
  39. package/front_end/third_party/acorn/README.chromium +1 -1
  40. package/front_end/third_party/acorn/acorn.ts +1 -1
  41. package/front_end/third_party/acorn/package/CHANGELOG.md +128 -0
  42. package/front_end/third_party/acorn/package/README.md +42 -19
  43. package/front_end/third_party/acorn/package/dist/acorn.d.mts +883 -26
  44. package/front_end/third_party/acorn/package/dist/acorn.d.ts +859 -268
  45. package/front_end/third_party/acorn/package/dist/acorn.js +420 -115
  46. package/front_end/third_party/acorn/package/dist/acorn.mjs +420 -115
  47. package/front_end/third_party/acorn/package/dist/bin.js +1 -1
  48. package/front_end/third_party/acorn/package/package.json +3 -3
  49. package/front_end/third_party/chromium/README.chromium +1 -1
  50. package/front_end/third_party/puppeteer/README.chromium +2 -2
  51. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.d.ts.map +1 -1
  52. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.js +7 -7
  53. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.js.map +1 -1
  54. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/BrowserContext.d.ts.map +1 -1
  55. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/BrowserContext.js +4 -3
  56. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/BrowserContext.js.map +1 -1
  57. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Frame.d.ts +15 -1
  58. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Frame.d.ts.map +1 -1
  59. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Frame.js.map +1 -1
  60. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/JSHandle.js +1 -1
  61. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/JSHandle.js.map +1 -1
  62. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts +2 -2
  63. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts.map +1 -1
  64. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.js +4 -3
  65. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.js.map +1 -1
  66. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Frame.d.ts +2 -2
  67. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Frame.d.ts.map +1 -1
  68. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Frame.js.map +1 -1
  69. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ExecutionContext.d.ts.map +1 -1
  70. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ExecutionContext.js +1 -0
  71. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ExecutionContext.js.map +1 -1
  72. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Frame.d.ts +2 -5
  73. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Frame.d.ts.map +1 -1
  74. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Frame.js +4 -0
  75. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Frame.js.map +1 -1
  76. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/FrameManager.d.ts.map +1 -1
  77. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/FrameManager.js +3 -1
  78. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/FrameManager.js.map +1 -1
  79. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/IsolatedWorld.js +1 -1
  80. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/IsolatedWorld.js.map +1 -1
  81. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.d.ts +1 -0
  82. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.d.ts.map +1 -1
  83. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.js +3 -0
  84. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.js.map +1 -1
  85. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/TargetManager.d.ts +4 -0
  86. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/TargetManager.d.ts.map +1 -1
  87. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/TargetManager.js +2 -2
  88. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/TargetManager.js.map +1 -1
  89. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.d.ts +5 -0
  90. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.d.ts.map +1 -1
  91. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.js +9 -1
  92. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.js.map +1 -1
  93. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/EventEmitter.d.ts +5 -1
  94. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/EventEmitter.d.ts.map +1 -1
  95. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/EventEmitter.js +7 -0
  96. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/EventEmitter.js.map +1 -1
  97. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/injected.d.ts +1 -1
  98. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.d.ts.map +1 -1
  99. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.js +6 -3
  100. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.js.map +1 -1
  101. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ScreenRecorder.d.ts.map +1 -1
  102. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ScreenRecorder.js +1 -0
  103. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ScreenRecorder.js.map +1 -1
  104. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.d.ts +1 -1
  105. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js +1 -1
  106. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Mutex.d.ts +2 -2
  107. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/version.d.ts +1 -1
  108. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/version.js +1 -1
  109. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.d.ts +23 -2
  110. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +171 -149
  111. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.d.ts.map +1 -1
  112. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.js +7 -7
  113. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.js.map +1 -1
  114. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/BrowserContext.d.ts.map +1 -1
  115. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/BrowserContext.js +4 -3
  116. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/BrowserContext.js.map +1 -1
  117. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Frame.d.ts +15 -1
  118. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Frame.d.ts.map +1 -1
  119. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Frame.js.map +1 -1
  120. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/JSHandle.js +1 -1
  121. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/JSHandle.js.map +1 -1
  122. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts +2 -2
  123. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts.map +1 -1
  124. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.js +4 -3
  125. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.js.map +1 -1
  126. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Frame.d.ts +2 -2
  127. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Frame.d.ts.map +1 -1
  128. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Frame.js.map +1 -1
  129. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ExecutionContext.d.ts.map +1 -1
  130. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ExecutionContext.js +1 -0
  131. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ExecutionContext.js.map +1 -1
  132. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Frame.d.ts +2 -5
  133. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Frame.d.ts.map +1 -1
  134. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Frame.js +4 -0
  135. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Frame.js.map +1 -1
  136. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/FrameManager.d.ts.map +1 -1
  137. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/FrameManager.js +3 -1
  138. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/FrameManager.js.map +1 -1
  139. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/IsolatedWorld.js +1 -1
  140. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/IsolatedWorld.js.map +1 -1
  141. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.d.ts +1 -0
  142. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.d.ts.map +1 -1
  143. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.js +3 -0
  144. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.js.map +1 -1
  145. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/TargetManager.d.ts +4 -0
  146. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/TargetManager.d.ts.map +1 -1
  147. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/TargetManager.js +2 -2
  148. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/TargetManager.js.map +1 -1
  149. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.d.ts +5 -0
  150. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.d.ts.map +1 -1
  151. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.js +8 -1
  152. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.js.map +1 -1
  153. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/EventEmitter.d.ts +5 -1
  154. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/EventEmitter.d.ts.map +1 -1
  155. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/EventEmitter.js +8 -1
  156. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/EventEmitter.js.map +1 -1
  157. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.d.ts.map +1 -1
  158. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.js +6 -3
  159. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.js.map +1 -1
  160. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ScreenRecorder.d.ts.map +1 -1
  161. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ScreenRecorder.js +1 -0
  162. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ScreenRecorder.js.map +1 -1
  163. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.d.ts +1 -1
  164. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js +1 -1
  165. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/version.d.ts +1 -1
  166. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/version.js +1 -1
  167. package/front_end/third_party/puppeteer/package/lib/types.d.ts +23 -2
  168. package/front_end/third_party/puppeteer/package/package.json +2 -2
  169. package/front_end/third_party/puppeteer/package/src/api/Browser.ts +6 -7
  170. package/front_end/third_party/puppeteer/package/src/api/BrowserContext.ts +4 -3
  171. package/front_end/third_party/puppeteer/package/src/api/Frame.ts +21 -1
  172. package/front_end/third_party/puppeteer/package/src/api/JSHandle.ts +1 -1
  173. package/front_end/third_party/puppeteer/package/src/api/Page.ts +9 -4
  174. package/front_end/third_party/puppeteer/package/src/bidi/Frame.ts +2 -1
  175. package/front_end/third_party/puppeteer/package/src/cdp/ExecutionContext.ts +1 -0
  176. package/front_end/third_party/puppeteer/package/src/cdp/Frame.ts +9 -5
  177. package/front_end/third_party/puppeteer/package/src/cdp/FrameManager.ts +3 -1
  178. package/front_end/third_party/puppeteer/package/src/cdp/IsolatedWorld.ts +1 -1
  179. package/front_end/third_party/puppeteer/package/src/cdp/Page.ts +4 -0
  180. package/front_end/third_party/puppeteer/package/src/cdp/TargetManager.ts +2 -2
  181. package/front_end/third_party/puppeteer/package/src/common/BrowserConnector.ts +19 -3
  182. package/front_end/third_party/puppeteer/package/src/common/EventEmitter.ts +10 -1
  183. package/front_end/third_party/puppeteer/package/src/node/BrowserLauncher.ts +7 -3
  184. package/front_end/third_party/puppeteer/package/src/node/ScreenRecorder.ts +1 -0
  185. package/front_end/third_party/puppeteer/package/src/revisions.ts +1 -1
  186. package/front_end/third_party/puppeteer/package/src/util/version.ts +1 -1
  187. package/front_end/ui/legacy/TabbedPane.ts +142 -16
  188. package/front_end/ui/legacy/TextPrompt.docs.ts +51 -0
  189. package/front_end/ui/legacy/TextPrompt.ts +55 -6
  190. package/front_end/ui/legacy/Toolbar.ts +2 -1
  191. package/front_end/ui/legacy/View.ts +2 -1
  192. package/front_end/ui/legacy/ViewManager.ts +11 -5
  193. package/front_end/ui/legacy/textPrompt.css +4 -0
  194. package/mcp/mcp.ts +1 -0
  195. package/package.json +1 -1
  196. package/front_end/panels/elements/NodeStackTraceWidget.ts +0 -76
  197. package/front_end/panels/elements/nodeStackTraceWidget.css +0 -11
@@ -17,7 +17,7 @@ export class VersionController {
17
17
  static readonly SYNCED_VERSION_SETTING_NAME = 'syncedInspectorVersion';
18
18
  static readonly LOCAL_VERSION_SETTING_NAME = 'localInspectorVersion';
19
19
 
20
- static readonly CURRENT_VERSION = 44;
20
+ static readonly CURRENT_VERSION = 46;
21
21
 
22
22
  readonly #settings: Settings;
23
23
  readonly #globalVersionSetting: Setting<number>;
@@ -865,6 +865,38 @@ export class VersionController {
865
865
  }
866
866
  }
867
867
 
868
+ updateVersionFrom44To45(): void {
869
+ const timelineDebugModeExperimentEnabled =
870
+ Root.Runtime.experiments.getValueFromStorage('timeline-debug-mode' as Root.ExperimentNames.ExperimentName);
871
+ if (timelineDebugModeExperimentEnabled !== undefined) {
872
+ if (this.#settings.syncedStorage.has('timeline-debug-mode')) {
873
+ return; // Already migrated
874
+ }
875
+ try {
876
+ const timelineDebugModeSetting = this.#settings.moduleSetting('timeline-debug-mode');
877
+ timelineDebugModeSetting.set(timelineDebugModeExperimentEnabled);
878
+ } catch {
879
+ // If the setting is not registered yet (e.g. in tests), skip.
880
+ }
881
+ }
882
+ }
883
+
884
+ updateVersionFrom45To46(): void {
885
+ const timelineInvalidationTrackingExperimentEnabled = Root.Runtime.experiments.getValueFromStorage(
886
+ 'timeline-invalidation-tracking' as Root.ExperimentNames.ExperimentName);
887
+ if (timelineInvalidationTrackingExperimentEnabled !== undefined) {
888
+ if (this.#settings.syncedStorage.has('timeline-invalidation-tracking')) {
889
+ return; // Already migrated
890
+ }
891
+ try {
892
+ const timelineInvalidationTrackingSetting = this.#settings.moduleSetting('timeline-invalidation-tracking');
893
+ timelineInvalidationTrackingSetting.set(timelineInvalidationTrackingExperimentEnabled);
894
+ } catch {
895
+ // If the setting is not registered yet (e.g. in tests), skip.
896
+ }
897
+ }
898
+ }
899
+
868
900
  /*
869
901
  * Any new migration should be added before this comment.
870
902
  *
@@ -762,12 +762,9 @@ export const enum IssueOpener {
762
762
  */
763
763
  export enum DevtoolsExperiments {
764
764
  /* eslint-disable @typescript-eslint/naming-convention */
765
- 'capture-node-creation-stacks' = 1,
766
765
  'protocol-monitor' = 13,
767
- 'timeline-invalidation-tracking' = 26,
768
766
  'instrumentation-breakpoints' = 61,
769
767
  'use-source-map-scopes' = 76,
770
- 'timeline-debug-mode' = 93,
771
768
  'durable-messages' = 110,
772
769
  'jpeg-xl' = 111,
773
770
  /* eslint-enable @typescript-eslint/naming-convention */
@@ -4,13 +4,9 @@
4
4
 
5
5
  export enum ExperimentName {
6
6
  ALL = '*',
7
- CAPTURE_NODE_CREATION_STACKS = 'capture-node-creation-stacks',
8
-
9
7
  PROTOCOL_MONITOR = 'protocol-monitor',
10
- TIMELINE_INVALIDATION_TRACKING = 'timeline-invalidation-tracking',
11
8
  INSTRUMENTATION_BREAKPOINTS = 'instrumentation-breakpoints',
12
9
  USE_SOURCE_MAP_SCOPES = 'use-source-map-scopes',
13
- TIMELINE_DEBUG_MODE = 'timeline-debug-mode',
14
10
  DURABLE_MESSAGES = 'durable-messages',
15
11
  JPEG_XL = 'jpeg-xl',
16
12
  // Adding or removing an entry from this enum?
@@ -15,6 +15,7 @@ export class CSSContainerQuery extends CSSQuery {
15
15
  logicalAxes?: Protocol.DOM.LogicalAxes;
16
16
  queriesScrollState?: boolean;
17
17
  queriesAnchored?: boolean;
18
+ textIsConditionText?: boolean;
18
19
 
19
20
  static parseContainerQueriesPayload(cssModel: CSSModel, payload: Protocol.CSS.CSSContainerQuery[]):
20
21
  CSSContainerQuery[] {
@@ -27,7 +28,8 @@ export class CSSContainerQuery extends CSSQuery {
27
28
  }
28
29
 
29
30
  reinitialize(payload: Protocol.CSS.CSSContainerQuery): void {
30
- this.text = payload.text;
31
+ this.textIsConditionText = !!payload.conditionText;
32
+ this.text = this.textIsConditionText ? payload.conditionText : payload.text;
31
33
  this.range = payload.range ? TextUtils.TextRange.TextRange.fromObject(payload.range) : null;
32
34
  this.styleSheetId = payload.styleSheetId;
33
35
  this.name = payload.name;
@@ -552,6 +552,29 @@ export class CSSModel extends SDKModel<EventTypes> {
552
552
  }
553
553
  }
554
554
 
555
+ async setContainerQueryConditionText(
556
+ styleSheetId: Protocol.DOM.StyleSheetId, range: TextUtils.TextRange.TextRange,
557
+ newContainerQueryConditionText: string): Promise<boolean> {
558
+ Host.userMetrics.actionTaken(Host.UserMetrics.Action.StyleRuleEdited);
559
+
560
+ try {
561
+ await this.ensureOriginalStyleSheetText(styleSheetId);
562
+ const {containerQuery} = await this.agent.invoke_setContainerQueryConditionText(
563
+ {styleSheetId, range, text: newContainerQueryConditionText});
564
+
565
+ if (!containerQuery) {
566
+ return false;
567
+ }
568
+ this.#domModel.markUndoableState();
569
+ const edit = new Edit(styleSheetId, range, newContainerQueryConditionText, containerQuery);
570
+ this.fireStyleSheetChanged(styleSheetId, edit);
571
+ return true;
572
+ } catch (e) {
573
+ console.error(e);
574
+ return false;
575
+ }
576
+ }
577
+
555
578
  async setSupportsText(
556
579
  styleSheetId: Protocol.DOM.StyleSheetId, range: TextUtils.TextRange.TextRange,
557
580
  newSupportsText: string): Promise<boolean> {
@@ -38,7 +38,6 @@ import type * as ProtocolProxyApi from '../../generated/protocol-proxy-api.js';
38
38
  import * as Protocol from '../../generated/protocol.js';
39
39
  import * as Common from '../common/common.js';
40
40
  import * as Platform from '../platform/platform.js';
41
- import * as Root from '../root/root.js';
42
41
 
43
42
  import {CSSModel} from './CSSModel.js';
44
43
  import {FrameManager} from './FrameManager.js';
@@ -1461,10 +1460,6 @@ export class DOMModel extends SDKModel<EventTypes> {
1461
1460
  if (!target.suspended()) {
1462
1461
  void this.agent.invoke_enable({});
1463
1462
  }
1464
-
1465
- if (Root.Runtime.experiments.isEnabled(Root.ExperimentNames.ExperimentName.CAPTURE_NODE_CREATION_STACKS)) {
1466
- void this.agent.invoke_setNodeStackTracesEnabled({enable: true});
1467
- }
1468
1463
  }
1469
1464
 
1470
1465
  runtimeModel(): RuntimeModel {
@@ -61,6 +61,7 @@ export class AcornTokenizer {
61
61
  }
62
62
 
63
63
  static identifier(token: TokenOrComment, identifier?: string): boolean {
64
+ // @ts-expect-error https://github.com/acornjs/acorn/issues/1285
64
65
  return token.type === Acorn.tokTypes.name && (!identifier || token.value === identifier);
65
66
  }
66
67
 
@@ -107,4 +108,4 @@ export class AcornTokenizer {
107
108
  }
108
109
  }
109
110
 
110
- export const ECMA_VERSION = 2022;
111
+ export const ECMA_VERSION = 'latest';
@@ -18,17 +18,15 @@ export class CSSFormatter {
18
18
  #toOffset!: number;
19
19
  #fromOffset!: number;
20
20
  #lineEndings!: number[];
21
- #lastLine: number;
21
+ #lastLine = -1;
22
22
  #state: {
23
23
  eatWhitespace?: boolean,
24
24
  seenProperty?: boolean,
25
25
  inPropertyValue?: boolean,
26
26
  afterClosingBrace?: boolean,
27
- };
27
+ } = {};
28
28
  constructor(builder: FormattedContentBuilder) {
29
29
  this.#builder = builder;
30
- this.#lastLine = -1;
31
- this.#state = {};
32
30
  }
33
31
 
34
32
  format(text: string, lineEndings: number[], fromOffset: number, toOffset: number): void {
@@ -91,7 +91,8 @@ const WALK_ORDER = {
91
91
  FunctionDeclaration: ['id', 'params', 'body'],
92
92
  FunctionExpression: ['id', 'params', 'body'],
93
93
  Identifier: [],
94
- ImportDeclaration: ['specifiers', 'source'],
94
+ ImportDeclaration: ['specifiers', 'source', 'attributes'],
95
+ ImportAttribute: ['key', 'value'],
95
96
  ImportDefaultSpecifier: ['local'],
96
97
  ImportNamespaceSpecifier: ['local'],
97
98
  ImportSpecifier: ['imported', 'local'],
@@ -136,4 +137,4 @@ const WALK_ORDER = {
136
137
  WhileStatement: ['test', 'body'],
137
138
  WithStatement: ['object', 'body'],
138
139
  YieldExpression: ['argument'],
139
- };
140
+ } as const;
@@ -150,6 +150,13 @@ export class JavaScriptFormatter {
150
150
  }
151
151
  return 't';
152
152
  }
153
+ // @ts-expect-error not on the types
154
+ if (nodeType === 'ImportAttribute') {
155
+ if (AT.punctuator(token, ':')) {
156
+ return 'ts';
157
+ }
158
+ return 't';
159
+ }
153
160
  if (nodeType === 'ArrayExpression') {
154
161
  if (AT.punctuator(token, ',')) {
155
162
  return 'ts';
@@ -339,11 +346,17 @@ export class JavaScriptFormatter {
339
346
  return 'ts';
340
347
  }
341
348
  if (AT.punctuator(token, '}')) {
349
+ if (node.attributes.length > 0) {
350
+ return 't';
351
+ }
342
352
  return node.source ? 'ts' : 't';
343
353
  }
344
354
  if (AT.punctuator(token, '*')) {
345
355
  return 'sts';
346
356
  }
357
+ if (AT.keyword(token, 'with')) {
358
+ return 'sts';
359
+ }
347
360
  return 't';
348
361
  } else if (nodeType === 'MemberExpression') {
349
362
  if (node.object.type === 'Literal' && typeof (node.object.value) === 'number') {
@@ -34,7 +34,7 @@ function computeSubstitution(expression: string, nameMap: Map<string, string|nul
34
34
  allowImportExportEverywhere: true,
35
35
  checkPrivateFields: false,
36
36
  ranges: false,
37
- } as acorn.Options) as Acorn.ESTree.Node;
37
+ }) as Acorn.ESTree.Node;
38
38
  const scopeVariables = new ScopeVariableAnalysis(root, expression);
39
39
  scopeVariables.run();
40
40
  const freeVariables = scopeVariables.getFreeVariables();
@@ -528,8 +528,6 @@ async function init(): Promise<void> {
528
528
  ]);
529
529
  Object.assign(Root.Runtime.hostConfig, config);
530
530
 
531
- safeRegisterExperiment(
532
- Root.ExperimentNames.ExperimentName.CAPTURE_NODE_CREATION_STACKS, 'Capture node creation stacks');
533
531
  safeRegisterExperiment(
534
532
  Root.ExperimentNames.ExperimentName.INSTRUMENTATION_BREAKPOINTS, 'Enable instrumentation breakpoints');
535
533
  safeRegisterExperiment(
@@ -244,8 +244,6 @@ async function init(): Promise<void> {
244
244
  Object.assign(Root.Runtime.hostConfig, config);
245
245
 
246
246
  // Register necessary experiments to avoid "Unknown experiment" errors.
247
- Root.Runtime.experiments.register(
248
- Root.ExperimentNames.ExperimentName.CAPTURE_NODE_CREATION_STACKS, 'Capture node creation stacks');
249
247
  Root.Runtime.experiments.register(
250
248
  Root.ExperimentNames.ExperimentName.INSTRUMENTATION_BREAKPOINTS, 'Enable instrumentation breakpoints');
251
249
  Root.Runtime.experiments.register(
@@ -348,9 +348,6 @@ export class MainImpl {
348
348
  }
349
349
 
350
350
  #initializeExperiments(): void {
351
- Root.Runtime.experiments.register(
352
- Root.ExperimentNames.ExperimentName.CAPTURE_NODE_CREATION_STACKS, 'Capture node creation stacks');
353
-
354
351
  const enableProtocolMonitor = (Root.Runtime.hostConfig.devToolsProtocolMonitor?.enabled ?? false) ||
355
352
  Boolean(Root.Runtime.Runtime.queryParam('isChromeForTesting'));
356
353
  const protocolMonitorExperiment = Root.Runtime.experiments.registerHostExperiment({
@@ -365,13 +362,6 @@ export class MainImpl {
365
362
  this.#migrateValueFromLegacyToHostExperiment(
366
363
  Root.ExperimentNames.ExperimentName.PROTOCOL_MONITOR, protocolMonitorExperiment);
367
364
 
368
- // Timeline
369
- Root.Runtime.experiments.register(
370
- Root.ExperimentNames.ExperimentName.TIMELINE_INVALIDATION_TRACKING, 'Performance panel: invalidation tracking');
371
- Root.Runtime.experiments.register(
372
- Root.ExperimentNames.ExperimentName.TIMELINE_DEBUG_MODE,
373
- 'Performance panel: debug mode (trace event details, etc)');
374
-
375
365
  // Debugging
376
366
  Root.Runtime.experiments.register(
377
367
  Root.ExperimentNames.ExperimentName.INSTRUMENTATION_BREAKPOINTS, 'Instrumentation breakpoints');
@@ -80,10 +80,10 @@ inspectorBackend.registerEnum("Audits.ContentSecurityPolicyViolationType", {KInl
80
80
  inspectorBackend.registerEnum("Audits.SharedArrayBufferIssueType", {TransferIssue: "TransferIssue", CreationIssue: "CreationIssue"});
81
81
  inspectorBackend.registerEnum("Audits.AttributionReportingIssueType", {PermissionPolicyDisabled: "PermissionPolicyDisabled", UntrustworthyReportingOrigin: "UntrustworthyReportingOrigin", InsecureContext: "InsecureContext", InvalidHeader: "InvalidHeader", InvalidRegisterTriggerHeader: "InvalidRegisterTriggerHeader", SourceAndTriggerHeaders: "SourceAndTriggerHeaders", SourceIgnored: "SourceIgnored", TriggerIgnored: "TriggerIgnored", OsSourceIgnored: "OsSourceIgnored", OsTriggerIgnored: "OsTriggerIgnored", InvalidRegisterOsSourceHeader: "InvalidRegisterOsSourceHeader", InvalidRegisterOsTriggerHeader: "InvalidRegisterOsTriggerHeader", WebAndOsHeaders: "WebAndOsHeaders", NoWebOrOsSupport: "NoWebOrOsSupport", NavigationRegistrationWithoutTransientUserActivation: "NavigationRegistrationWithoutTransientUserActivation", InvalidInfoHeader: "InvalidInfoHeader", NoRegisterSourceHeader: "NoRegisterSourceHeader", NoRegisterTriggerHeader: "NoRegisterTriggerHeader", NoRegisterOsSourceHeader: "NoRegisterOsSourceHeader", NoRegisterOsTriggerHeader: "NoRegisterOsTriggerHeader", NavigationRegistrationUniqueScopeAlreadySet: "NavigationRegistrationUniqueScopeAlreadySet"});
82
82
  inspectorBackend.registerEnum("Audits.SharedDictionaryError", {UseErrorCrossOriginNoCorsRequest: "UseErrorCrossOriginNoCorsRequest", UseErrorDictionaryLoadFailure: "UseErrorDictionaryLoadFailure", UseErrorMatchingDictionaryNotUsed: "UseErrorMatchingDictionaryNotUsed", UseErrorUnexpectedContentDictionaryHeader: "UseErrorUnexpectedContentDictionaryHeader", WriteErrorCossOriginNoCorsRequest: "WriteErrorCossOriginNoCorsRequest", WriteErrorDisallowedBySettings: "WriteErrorDisallowedBySettings", WriteErrorExpiredResponse: "WriteErrorExpiredResponse", WriteErrorFeatureDisabled: "WriteErrorFeatureDisabled", WriteErrorInsufficientResources: "WriteErrorInsufficientResources", WriteErrorInvalidMatchField: "WriteErrorInvalidMatchField", WriteErrorInvalidStructuredHeader: "WriteErrorInvalidStructuredHeader", WriteErrorInvalidTTLField: "WriteErrorInvalidTTLField", WriteErrorNavigationRequest: "WriteErrorNavigationRequest", WriteErrorNoMatchField: "WriteErrorNoMatchField", WriteErrorNonIntegerTTLField: "WriteErrorNonIntegerTTLField", WriteErrorNonListMatchDestField: "WriteErrorNonListMatchDestField", WriteErrorNonSecureContext: "WriteErrorNonSecureContext", WriteErrorNonStringIdField: "WriteErrorNonStringIdField", WriteErrorNonStringInMatchDestList: "WriteErrorNonStringInMatchDestList", WriteErrorNonStringMatchField: "WriteErrorNonStringMatchField", WriteErrorNonTokenTypeField: "WriteErrorNonTokenTypeField", WriteErrorRequestAborted: "WriteErrorRequestAborted", WriteErrorShuttingDown: "WriteErrorShuttingDown", WriteErrorTooLongIdField: "WriteErrorTooLongIdField", WriteErrorUnsupportedType: "WriteErrorUnsupportedType"});
83
- 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"});
83
+ 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", SignatureBaseUnknownDerivedComponent: "SignatureBaseUnknownDerivedComponent", SignatureBaseMissingHeader: "SignatureBaseMissingHeader", SignatureBaseInvalidUnencodedDigest: "SignatureBaseInvalidUnencodedDigest", SignatureBaseUnsupportedComponent: "SignatureBaseUnsupportedComponent"});
84
84
  inspectorBackend.registerEnum("Audits.UnencodedDigestError", {MalformedDictionary: "MalformedDictionary", UnknownAlgorithm: "UnknownAlgorithm", IncorrectDigestType: "IncorrectDigestType", IncorrectDigestLength: "IncorrectDigestLength"});
85
85
  inspectorBackend.registerEnum("Audits.ConnectionAllowlistError", {InvalidHeader: "InvalidHeader", MoreThanOneList: "MoreThanOneList", ItemNotInnerList: "ItemNotInnerList", InvalidAllowlistItemType: "InvalidAllowlistItemType", ReportingEndpointNotToken: "ReportingEndpointNotToken", InvalidUrlPattern: "InvalidUrlPattern"});
86
- 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", FormModelContextMissingToolName: "FormModelContextMissingToolName", FormModelContextMissingToolDescription: "FormModelContextMissingToolDescription", FormModelContextRequiredParameterMissingName: "FormModelContextRequiredParameterMissingName", FormModelContextParameterMissingName: "FormModelContextParameterMissingName"});
86
+ 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", BackUINavigationWouldSkipAd: "BackUINavigationWouldSkipAd", AutofillAndManualTextPolicyControlledFeaturesInfo: "AutofillAndManualTextPolicyControlledFeaturesInfo", AutofillPolicyControlledFeatureInfo: "AutofillPolicyControlledFeatureInfo", ManualTextPolicyControlledFeatureInfo: "ManualTextPolicyControlledFeatureInfo", FormModelContextParameterMissingTitleAndDescription: "FormModelContextParameterMissingTitleAndDescription", FormModelContextMissingToolName: "FormModelContextMissingToolName", FormModelContextMissingToolDescription: "FormModelContextMissingToolDescription", FormModelContextRequiredParameterMissingName: "FormModelContextRequiredParameterMissingName", FormModelContextParameterMissingName: "FormModelContextParameterMissingName"});
87
87
  inspectorBackend.registerEnum("Audits.ClientHintIssueReason", {MetaTagAllowListInvalidOrigin: "MetaTagAllowListInvalidOrigin", MetaTagModifiedHTML: "MetaTagModifiedHTML"});
88
88
  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"});
89
89
  inspectorBackend.registerEnum("Audits.FederatedAuthUserInfoRequestIssueReason", {NotSameOrigin: "NotSameOrigin", NotIframe: "NotIframe", NotPotentiallyTrustworthy: "NotPotentiallyTrustworthy", NoAPIPermission: "NoApiPermission", NotSignedInWithIdp: "NotSignedInWithIdp", NoAccountSharingPermission: "NoAccountSharingPermission", InvalidConfigOrWellKnown: "InvalidConfigOrWellKnown", InvalidAccountsResponse: "InvalidAccountsResponse", NoReturningUserFromFetchedAccounts: "NoReturningUserFromFetchedAccounts"});
@@ -1210,7 +1210,7 @@ inspectorBackend.registerType("PerformanceTimeline.TimelineEvent", [{"name": "fr
1210
1210
  inspectorBackend.registerEnum("Preload.RuleSetErrorType", {SourceIsNotJsonObject: "SourceIsNotJsonObject", InvalidRulesSkipped: "InvalidRulesSkipped", InvalidRulesetLevelTag: "InvalidRulesetLevelTag"});
1211
1211
  inspectorBackend.registerEnum("Preload.SpeculationAction", {Prefetch: "Prefetch", Prerender: "Prerender", PrerenderUntilScript: "PrerenderUntilScript"});
1212
1212
  inspectorBackend.registerEnum("Preload.SpeculationTargetHint", {Blank: "Blank", Self: "Self"});
1213
- inspectorBackend.registerEnum("Preload.PrerenderFinalStatus", {Activated: "Activated", Destroyed: "Destroyed", LowEndDevice: "LowEndDevice", InvalidSchemeRedirect: "InvalidSchemeRedirect", InvalidSchemeNavigation: "InvalidSchemeNavigation", NavigationRequestBlockedByCsp: "NavigationRequestBlockedByCsp", MojoBinderPolicy: "MojoBinderPolicy", RendererProcessCrashed: "RendererProcessCrashed", RendererProcessKilled: "RendererProcessKilled", Download: "Download", TriggerDestroyed: "TriggerDestroyed", NavigationNotCommitted: "NavigationNotCommitted", NavigationBadHttpStatus: "NavigationBadHttpStatus", ClientCertRequested: "ClientCertRequested", NavigationRequestNetworkError: "NavigationRequestNetworkError", CancelAllHostsForTesting: "CancelAllHostsForTesting", DidFailLoad: "DidFailLoad", Stop: "Stop", SslCertificateError: "SslCertificateError", LoginAuthRequested: "LoginAuthRequested", UaChangeRequiresReload: "UaChangeRequiresReload", BlockedByClient: "BlockedByClient", AudioOutputDeviceRequested: "AudioOutputDeviceRequested", MixedContent: "MixedContent", TriggerBackgrounded: "TriggerBackgrounded", MemoryLimitExceeded: "MemoryLimitExceeded", DataSaverEnabled: "DataSaverEnabled", TriggerUrlHasEffectiveUrl: "TriggerUrlHasEffectiveUrl", ActivatedBeforeStarted: "ActivatedBeforeStarted", InactivePageRestriction: "InactivePageRestriction", StartFailed: "StartFailed", TimeoutBackgrounded: "TimeoutBackgrounded", CrossSiteRedirectInInitialNavigation: "CrossSiteRedirectInInitialNavigation", CrossSiteNavigationInInitialNavigation: "CrossSiteNavigationInInitialNavigation", SameSiteCrossOriginRedirectNotOptInInInitialNavigation: "SameSiteCrossOriginRedirectNotOptInInInitialNavigation", SameSiteCrossOriginNavigationNotOptInInInitialNavigation: "SameSiteCrossOriginNavigationNotOptInInInitialNavigation", ActivationNavigationParameterMismatch: "ActivationNavigationParameterMismatch", ActivatedInBackground: "ActivatedInBackground", EmbedderHostDisallowed: "EmbedderHostDisallowed", ActivationNavigationDestroyedBeforeSuccess: "ActivationNavigationDestroyedBeforeSuccess", TabClosedByUserGesture: "TabClosedByUserGesture", TabClosedWithoutUserGesture: "TabClosedWithoutUserGesture", PrimaryMainFrameRendererProcessCrashed: "PrimaryMainFrameRendererProcessCrashed", PrimaryMainFrameRendererProcessKilled: "PrimaryMainFrameRendererProcessKilled", ActivationFramePolicyNotCompatible: "ActivationFramePolicyNotCompatible", PreloadingDisabled: "PreloadingDisabled", BatterySaverEnabled: "BatterySaverEnabled", ActivatedDuringMainFrameNavigation: "ActivatedDuringMainFrameNavigation", PreloadingUnsupportedByWebContents: "PreloadingUnsupportedByWebContents", CrossSiteRedirectInMainFrameNavigation: "CrossSiteRedirectInMainFrameNavigation", CrossSiteNavigationInMainFrameNavigation: "CrossSiteNavigationInMainFrameNavigation", SameSiteCrossOriginRedirectNotOptInInMainFrameNavigation: "SameSiteCrossOriginRedirectNotOptInInMainFrameNavigation", SameSiteCrossOriginNavigationNotOptInInMainFrameNavigation: "SameSiteCrossOriginNavigationNotOptInInMainFrameNavigation", MemoryPressureOnTrigger: "MemoryPressureOnTrigger", MemoryPressureAfterTriggered: "MemoryPressureAfterTriggered", PrerenderingDisabledByDevTools: "PrerenderingDisabledByDevTools", SpeculationRuleRemoved: "SpeculationRuleRemoved", ActivatedWithAuxiliaryBrowsingContexts: "ActivatedWithAuxiliaryBrowsingContexts", MaxNumOfRunningEagerPrerendersExceeded: "MaxNumOfRunningEagerPrerendersExceeded", MaxNumOfRunningNonEagerPrerendersExceeded: "MaxNumOfRunningNonEagerPrerendersExceeded", MaxNumOfRunningEmbedderPrerendersExceeded: "MaxNumOfRunningEmbedderPrerendersExceeded", PrerenderingUrlHasEffectiveUrl: "PrerenderingUrlHasEffectiveUrl", RedirectedPrerenderingUrlHasEffectiveUrl: "RedirectedPrerenderingUrlHasEffectiveUrl", ActivationUrlHasEffectiveUrl: "ActivationUrlHasEffectiveUrl", JavaScriptInterfaceAdded: "JavaScriptInterfaceAdded", JavaScriptInterfaceRemoved: "JavaScriptInterfaceRemoved", AllPrerenderingCanceled: "AllPrerenderingCanceled", WindowClosed: "WindowClosed", SlowNetwork: "SlowNetwork", OtherPrerenderedPageActivated: "OtherPrerenderedPageActivated", V8OptimizerDisabled: "V8OptimizerDisabled", PrerenderFailedDuringPrefetch: "PrerenderFailedDuringPrefetch", BrowsingDataRemoved: "BrowsingDataRemoved", PrerenderHostReused: "PrerenderHostReused", FormSubmitWhenPrerendering: "FormSubmitWhenPrerendering"});
1213
+ inspectorBackend.registerEnum("Preload.PrerenderFinalStatus", {Activated: "Activated", Destroyed: "Destroyed", LowEndDevice: "LowEndDevice", InvalidSchemeRedirect: "InvalidSchemeRedirect", InvalidSchemeNavigation: "InvalidSchemeNavigation", NavigationRequestBlockedByCsp: "NavigationRequestBlockedByCsp", MojoBinderPolicy: "MojoBinderPolicy", RendererProcessCrashed: "RendererProcessCrashed", RendererProcessKilled: "RendererProcessKilled", Download: "Download", TriggerDestroyed: "TriggerDestroyed", NavigationNotCommitted: "NavigationNotCommitted", NavigationBadHttpStatus: "NavigationBadHttpStatus", ClientCertRequested: "ClientCertRequested", NavigationRequestNetworkError: "NavigationRequestNetworkError", CancelAllHostsForTesting: "CancelAllHostsForTesting", DidFailLoad: "DidFailLoad", Stop: "Stop", SslCertificateError: "SslCertificateError", LoginAuthRequested: "LoginAuthRequested", UaChangeRequiresReload: "UaChangeRequiresReload", BlockedByClient: "BlockedByClient", AudioOutputDeviceRequested: "AudioOutputDeviceRequested", MixedContent: "MixedContent", TriggerBackgrounded: "TriggerBackgrounded", MemoryLimitExceeded: "MemoryLimitExceeded", DataSaverEnabled: "DataSaverEnabled", TriggerUrlHasEffectiveUrl: "TriggerUrlHasEffectiveUrl", ActivatedBeforeStarted: "ActivatedBeforeStarted", InactivePageRestriction: "InactivePageRestriction", StartFailed: "StartFailed", TimeoutBackgrounded: "TimeoutBackgrounded", CrossSiteRedirectInInitialNavigation: "CrossSiteRedirectInInitialNavigation", CrossSiteNavigationInInitialNavigation: "CrossSiteNavigationInInitialNavigation", SameSiteCrossOriginRedirectNotOptInInInitialNavigation: "SameSiteCrossOriginRedirectNotOptInInInitialNavigation", SameSiteCrossOriginNavigationNotOptInInInitialNavigation: "SameSiteCrossOriginNavigationNotOptInInInitialNavigation", ActivationNavigationParameterMismatch: "ActivationNavigationParameterMismatch", ActivatedInBackground: "ActivatedInBackground", EmbedderHostDisallowed: "EmbedderHostDisallowed", ActivationNavigationDestroyedBeforeSuccess: "ActivationNavigationDestroyedBeforeSuccess", TabClosedByUserGesture: "TabClosedByUserGesture", TabClosedWithoutUserGesture: "TabClosedWithoutUserGesture", PrimaryMainFrameRendererProcessCrashed: "PrimaryMainFrameRendererProcessCrashed", PrimaryMainFrameRendererProcessKilled: "PrimaryMainFrameRendererProcessKilled", ActivationFramePolicyNotCompatible: "ActivationFramePolicyNotCompatible", PreloadingDisabled: "PreloadingDisabled", BatterySaverEnabled: "BatterySaverEnabled", ActivatedDuringMainFrameNavigation: "ActivatedDuringMainFrameNavigation", PreloadingUnsupportedByWebContents: "PreloadingUnsupportedByWebContents", CrossSiteRedirectInMainFrameNavigation: "CrossSiteRedirectInMainFrameNavigation", CrossSiteNavigationInMainFrameNavigation: "CrossSiteNavigationInMainFrameNavigation", SameSiteCrossOriginRedirectNotOptInInMainFrameNavigation: "SameSiteCrossOriginRedirectNotOptInInMainFrameNavigation", SameSiteCrossOriginNavigationNotOptInInMainFrameNavigation: "SameSiteCrossOriginNavigationNotOptInInMainFrameNavigation", MemoryPressureOnTrigger: "MemoryPressureOnTrigger", MemoryPressureAfterTriggered: "MemoryPressureAfterTriggered", PrerenderingDisabledByDevTools: "PrerenderingDisabledByDevTools", SpeculationRuleRemoved: "SpeculationRuleRemoved", ActivatedWithAuxiliaryBrowsingContexts: "ActivatedWithAuxiliaryBrowsingContexts", MaxNumOfRunningEagerPrerendersExceeded: "MaxNumOfRunningEagerPrerendersExceeded", MaxNumOfRunningNonEagerPrerendersExceeded: "MaxNumOfRunningNonEagerPrerendersExceeded", MaxNumOfRunningEmbedderPrerendersExceeded: "MaxNumOfRunningEmbedderPrerendersExceeded", PrerenderingUrlHasEffectiveUrl: "PrerenderingUrlHasEffectiveUrl", RedirectedPrerenderingUrlHasEffectiveUrl: "RedirectedPrerenderingUrlHasEffectiveUrl", ActivationUrlHasEffectiveUrl: "ActivationUrlHasEffectiveUrl", JavaScriptInterfaceAdded: "JavaScriptInterfaceAdded", JavaScriptInterfaceRemoved: "JavaScriptInterfaceRemoved", AllPrerenderingCanceled: "AllPrerenderingCanceled", WindowClosed: "WindowClosed", SlowNetwork: "SlowNetwork", OtherPrerenderedPageActivated: "OtherPrerenderedPageActivated", V8OptimizerDisabled: "V8OptimizerDisabled", PrerenderFailedDuringPrefetch: "PrerenderFailedDuringPrefetch", BrowsingDataRemoved: "BrowsingDataRemoved", PrerenderHostReused: "PrerenderHostReused", FormSubmitWhenPrerendering: "FormSubmitWhenPrerendering", CrossDocumentRestart: "CrossDocumentRestart"});
1214
1214
  inspectorBackend.registerEnum("Preload.PreloadingStatus", {Pending: "Pending", Running: "Running", Ready: "Ready", Success: "Success", Failure: "Failure", NotSupported: "NotSupported"});
1215
1215
  inspectorBackend.registerEnum("Preload.PrefetchStatus", {PrefetchAllowed: "PrefetchAllowed", PrefetchFailedIneligibleRedirect: "PrefetchFailedIneligibleRedirect", PrefetchFailedInvalidRedirect: "PrefetchFailedInvalidRedirect", PrefetchFailedMIMENotSupported: "PrefetchFailedMIMENotSupported", PrefetchFailedNetError: "PrefetchFailedNetError", PrefetchFailedNon2XX: "PrefetchFailedNon2XX", PrefetchEvictedAfterBrowsingDataRemoved: "PrefetchEvictedAfterBrowsingDataRemoved", PrefetchEvictedAfterCandidateRemoved: "PrefetchEvictedAfterCandidateRemoved", PrefetchEvictedForNewerPrefetch: "PrefetchEvictedForNewerPrefetch", PrefetchHeldback: "PrefetchHeldback", PrefetchIneligibleRetryAfter: "PrefetchIneligibleRetryAfter", PrefetchIsPrivacyDecoy: "PrefetchIsPrivacyDecoy", PrefetchIsStale: "PrefetchIsStale", PrefetchNotEligibleBrowserContextOffTheRecord: "PrefetchNotEligibleBrowserContextOffTheRecord", PrefetchNotEligibleDataSaverEnabled: "PrefetchNotEligibleDataSaverEnabled", PrefetchNotEligibleExistingProxy: "PrefetchNotEligibleExistingProxy", PrefetchNotEligibleHostIsNonUnique: "PrefetchNotEligibleHostIsNonUnique", PrefetchNotEligibleNonDefaultStoragePartition: "PrefetchNotEligibleNonDefaultStoragePartition", PrefetchNotEligibleSameSiteCrossOriginPrefetchRequiredProxy: "PrefetchNotEligibleSameSiteCrossOriginPrefetchRequiredProxy", PrefetchNotEligibleSchemeIsNotHttps: "PrefetchNotEligibleSchemeIsNotHttps", PrefetchNotEligibleUserHasCookies: "PrefetchNotEligibleUserHasCookies", PrefetchNotEligibleUserHasServiceWorker: "PrefetchNotEligibleUserHasServiceWorker", PrefetchNotEligibleUserHasServiceWorkerNoFetchHandler: "PrefetchNotEligibleUserHasServiceWorkerNoFetchHandler", PrefetchNotEligibleRedirectFromServiceWorker: "PrefetchNotEligibleRedirectFromServiceWorker", PrefetchNotEligibleRedirectToServiceWorker: "PrefetchNotEligibleRedirectToServiceWorker", PrefetchNotEligibleBatterySaverEnabled: "PrefetchNotEligibleBatterySaverEnabled", PrefetchNotEligiblePreloadingDisabled: "PrefetchNotEligiblePreloadingDisabled", PrefetchNotFinishedInTime: "PrefetchNotFinishedInTime", PrefetchNotStarted: "PrefetchNotStarted", PrefetchNotUsedCookiesChanged: "PrefetchNotUsedCookiesChanged", PrefetchProxyNotAvailable: "PrefetchProxyNotAvailable", PrefetchResponseUsed: "PrefetchResponseUsed", PrefetchSuccessfulButNotUsed: "PrefetchSuccessfulButNotUsed", PrefetchNotUsedProbeFailed: "PrefetchNotUsedProbeFailed"});
1216
1216
  inspectorBackend.registerEvent("Preload.ruleSetUpdated", ["ruleSet"]);
@@ -1120,6 +1120,10 @@ export namespace Audits {
1120
1120
  ValidationFailedInvalidLength = 'ValidationFailedInvalidLength',
1121
1121
  ValidationFailedSignatureMismatch = 'ValidationFailedSignatureMismatch',
1122
1122
  ValidationFailedIntegrityMismatch = 'ValidationFailedIntegrityMismatch',
1123
+ SignatureBaseUnknownDerivedComponent = 'SignatureBaseUnknownDerivedComponent',
1124
+ SignatureBaseMissingHeader = 'SignatureBaseMissingHeader',
1125
+ SignatureBaseInvalidUnencodedDigest = 'SignatureBaseInvalidUnencodedDigest',
1126
+ SignatureBaseUnsupportedComponent = 'SignatureBaseUnsupportedComponent',
1123
1127
  }
1124
1128
 
1125
1129
  export const enum UnencodedDigestError {
@@ -1208,6 +1212,7 @@ export namespace Audits {
1208
1212
  FormInputHasWrongButWellIntendedAutocompleteValueError = 'FormInputHasWrongButWellIntendedAutocompleteValueError',
1209
1213
  ResponseWasBlockedByORB = 'ResponseWasBlockedByORB',
1210
1214
  NavigationEntryMarkedSkippable = 'NavigationEntryMarkedSkippable',
1215
+ BackUINavigationWouldSkipAd = 'BackUINavigationWouldSkipAd',
1211
1216
  AutofillAndManualTextPolicyControlledFeaturesInfo = 'AutofillAndManualTextPolicyControlledFeaturesInfo',
1212
1217
  AutofillPolicyControlledFeatureInfo = 'AutofillPolicyControlledFeatureInfo',
1213
1218
  ManualTextPolicyControlledFeatureInfo = 'ManualTextPolicyControlledFeatureInfo',
@@ -17076,6 +17081,7 @@ export namespace Preload {
17076
17081
  BrowsingDataRemoved = 'BrowsingDataRemoved',
17077
17082
  PrerenderHostReused = 'PrerenderHostReused',
17078
17083
  FormSubmitWhenPrerendering = 'FormSubmitWhenPrerendering',
17084
+ CrossDocumentRestart = 'CrossDocumentRestart',
17079
17085
  }
17080
17086
 
17081
17087
  /**
@@ -200,6 +200,10 @@ export class DeviceModeModel extends Common.ObjectWrapper.ObjectWrapper<EventTyp
200
200
  }
201
201
  }
202
202
 
203
+ dispose(): void {
204
+ SDK.TargetManager.TargetManager.instance().unobserveModels(SDK.EmulationModel.EmulationModel, this);
205
+ }
206
+
203
207
  static widthValidator(value: string): {
204
208
  valid: boolean,
205
209
  errorMessage: (string|undefined),
@@ -42,7 +42,12 @@ const UIStrings = {
42
42
  /**
43
43
  * @description title for history intervention documentation page.
44
44
  */
45
- historyManipulationInterventionPageTitle: 'History manipulation intervention explainer'
45
+ historyManipulationInterventionPageTitle: 'History manipulation intervention explainer',
46
+
47
+ /**
48
+ * @description title for back-to-ad intervention documentation page.
49
+ */
50
+ backToAdInterventionPageTitle: 'Back-to-ad intervention explainer',
46
51
  } as const;
47
52
 
48
53
  const str_ = i18n.i18n.registerUIStrings('models/issues_manager/GenericIssue.ts', UIStrings);
@@ -193,6 +198,14 @@ export const genericNavigationEntryMarkedSkippable = {
193
198
  }],
194
199
  };
195
200
 
201
+ export const genericBackUINavigationWouldSkipAd = {
202
+ file: 'genericBackUINavigationWouldSkipAd.md',
203
+ links: [{
204
+ link: 'https://chromium.googlesource.com/chromium/src/+/main/docs/history_manipulation_intervention.md',
205
+ linkTitle: i18nLazyString(UIStrings.backToAdInterventionPageTitle),
206
+ }],
207
+ };
208
+
196
209
  export const genericFormModelContextMissingToolName = {
197
210
  file: 'genericFormModelContextMissingToolName.md',
198
211
  links: [],
@@ -258,6 +271,10 @@ const issueDescriptions = new Map<Protocol.Audits.GenericIssueErrorType, LazyMar
258
271
  Protocol.Audits.GenericIssueErrorType.NavigationEntryMarkedSkippable,
259
272
  genericNavigationEntryMarkedSkippable,
260
273
  ],
274
+ [
275
+ Protocol.Audits.GenericIssueErrorType.BackUINavigationWouldSkipAd,
276
+ genericBackUINavigationWouldSkipAd,
277
+ ],
261
278
  [
262
279
  Protocol.Audits.GenericIssueErrorType.FormModelContextMissingToolName,
263
280
  genericFormModelContextMissingToolName,
@@ -0,0 +1,4 @@
1
+ # Back UI Navigation Will Skip Ad
2
+
3
+ An ad-related entry was found in the session history. If the user navigates back
4
+ via the browser UI, this ad entry will be skipped.
@@ -7664,6 +7664,10 @@ export const NativeFunctions = [
7664
7664
  name: "registerTool",
7665
7665
  signatures: [["tool","?options"]]
7666
7666
  },
7667
+ {
7668
+ name: "executeTool",
7669
+ signatures: [["tool","input_arguments","?options"]]
7670
+ },
7667
7671
  {
7668
7672
  name: "SnapEvent",
7669
7673
  signatures: [["type","?eventInitDict"]]
@@ -102,7 +102,7 @@ export {FreDialog} from './FreDialog.js';
102
102
  export {GdpSignUpDialog} from './GdpSignUpDialog.js';
103
103
  export {GeminiRebrandPromoDialog} from './GeminiRebrandPromoDialog.js';
104
104
  export {AiCodeCompletionDisclaimer} from './AiCodeCompletionDisclaimer.js';
105
- export {AiCodeCompletionSummaryToolbar} from './AiCodeCompletionSummaryToolbar.js';
105
+ export * as AiCodeCompletionSummaryToolbar from './AiCodeCompletionSummaryToolbar.js';
106
106
  export * from './BadgeNotification.js';
107
107
  export * as ExtensionPanel from './ExtensionPanel.js';
108
108
  export * as ExtensionServer from './ExtensionServer.js';
@@ -6,6 +6,7 @@
6
6
 
7
7
 
8
8
  .fre-disclaimer {
9
+ overflow-y: auto;
9
10
  width: var(--sys-size-33);
10
11
  padding: var(--sys-size-9);
11
12
 
@@ -351,7 +351,7 @@ export class ConsoleView extends UI.Widget.VBox implements
351
351
  #allCollapsed = false;
352
352
  aiCodeCompletionConfig?: TextEditor.AiCodeCompletionProvider.AiCodeCompletionConfig;
353
353
  private aiCodeCompletionSummaryToolbarContainer?: HTMLElement;
354
- private aiCodeCompletionSummaryToolbar?: AiCodeCompletionSummaryToolbar;
354
+ private aiCodeCompletionSummaryToolbar?: AiCodeCompletionSummaryToolbar.AiCodeCompletionSummaryToolbar;
355
355
 
356
356
  constructor(viewportThrottlerTimeout: number) {
357
357
  super();
@@ -667,7 +667,7 @@ export class ConsoleView extends UI.Widget.VBox implements
667
667
  if (this.aiCodeCompletionSummaryToolbar) {
668
668
  return;
669
669
  }
670
- this.aiCodeCompletionSummaryToolbar = new AiCodeCompletionSummaryToolbar({
670
+ this.aiCodeCompletionSummaryToolbar = new AiCodeCompletionSummaryToolbar.AiCodeCompletionSummaryToolbar({
671
671
  citationsTooltipId: CITATIONS_TOOLTIP_ID,
672
672
  disclaimerTooltipId: DISCLAIMER_TOOLTIP_ID,
673
673
  spinnerTooltipId: SPINNER_TOOLTIP_ID,
@@ -1021,7 +1021,7 @@ export class StylePropertiesSection {
1021
1021
  const containerQueryElement = new ElementsComponents.CSSQuery.CSSQuery();
1022
1022
  containerQueryElement.data = {
1023
1023
  queryPrefix: '@container',
1024
- queryName: containerQuery.name,
1024
+ queryName: containerQuery.textIsConditionText ? undefined : containerQuery.name,
1025
1025
  queryText: containerQuery.text,
1026
1026
  onQueryTextClick,
1027
1027
  jslogContext: 'container-query',
@@ -1596,7 +1596,11 @@ export class StylePropertiesSection {
1596
1596
  const range = query.range as TextUtils.TextRange.TextRange;
1597
1597
  let success = false;
1598
1598
  if (query instanceof SDK.CSSContainerQuery.CSSContainerQuery) {
1599
- success = await cssModel.setContainerQueryText(query.styleSheetId, range, newContent);
1599
+ if (query.textIsConditionText) {
1600
+ success = await cssModel.setContainerQueryConditionText(query.styleSheetId, range, newContent);
1601
+ } else {
1602
+ success = await cssModel.setContainerQueryText(query.styleSheetId, range, newContent);
1603
+ }
1600
1604
  } else if (query instanceof SDK.CSSSupports.CSSSupports) {
1601
1605
  success = await cssModel.setSupportsText(query.styleSheetId, range, newContent);
1602
1606
  } else if (query instanceof SDK.CSSScope.CSSScope) {
@@ -229,7 +229,7 @@ export class StylesSidebarPane extends Common.ObjectWrapper.eventMixin<EventType
229
229
  aiCodeCompletionConfig?: TextEditor.AiCodeCompletionProvider.AiCodeCompletionConfig;
230
230
  aiCodeCompletionProvider?: StylesAiCodeCompletionProvider.StylesAiCodeCompletionProvider;
231
231
  #aiCodeCompletionSummaryToolbarContainer?: HTMLElement;
232
- #aiCodeCompletionSummaryToolbar?: PanelsCommon.AiCodeCompletionSummaryToolbar;
232
+ #aiCodeCompletionSummaryToolbar?: PanelsCommon.AiCodeCompletionSummaryToolbar.AiCodeCompletionSummaryToolbar;
233
233
 
234
234
  constructor(computedStyleModel: ComputedStyle.ComputedStyleModel.ComputedStyleModel) {
235
235
  super(computedStyleModel, {delegatesFocus: true, useShadowDom: true, classes: ['flex-none']});
@@ -971,11 +971,11 @@ export class StylesSidebarPane extends Common.ObjectWrapper.eventMixin<EventType
971
971
 
972
972
  this.linkifier.reset();
973
973
  const prevSections = this.sectionBlocks.map(block => block.sections).flat();
974
- this.sectionBlocks = [];
975
974
 
976
975
  const node = this.node();
977
976
  this.hasMatchedStyles = matchedStyles !== null && node !== null;
978
977
  if (!this.hasMatchedStyles) {
978
+ this.sectionBlocks = [];
979
979
  this.sectionsContainer.contentElement.removeChildren();
980
980
  this.sectionsContainer.detachChildWidgets();
981
981
  this.noMatchesElement.classList.remove('hidden');
@@ -1581,12 +1581,13 @@ export class StylesSidebarPane extends Common.ObjectWrapper.eventMixin<EventType
1581
1581
  if (this.#aiCodeCompletionSummaryToolbar) {
1582
1582
  return;
1583
1583
  }
1584
- this.#aiCodeCompletionSummaryToolbar = new PanelsCommon.AiCodeCompletionSummaryToolbar({
1585
- citationsTooltipId: CITATIONS_TOOLTIP_ID,
1586
- disclaimerTooltipId: DISCLAIMER_TOOLTIP_ID,
1587
- spinnerTooltipId: SPINNER_TOOLTIP_ID,
1588
- panel: AiCodeCompletion.AiCodeCompletion.ContextFlavor.STYLES,
1589
- });
1584
+ this.#aiCodeCompletionSummaryToolbar =
1585
+ new PanelsCommon.AiCodeCompletionSummaryToolbar.AiCodeCompletionSummaryToolbar({
1586
+ citationsTooltipId: CITATIONS_TOOLTIP_ID,
1587
+ disclaimerTooltipId: DISCLAIMER_TOOLTIP_ID,
1588
+ spinnerTooltipId: SPINNER_TOOLTIP_ID,
1589
+ panel: AiCodeCompletion.AiCodeCompletion.ContextFlavor.STYLES,
1590
+ });
1590
1591
  const containingPane = this.contentElement.enclosingNodeOrSelfWithClass('style-panes-wrapper') as HTMLElement;
1591
1592
  this.#aiCodeCompletionSummaryToolbarContainer =
1592
1593
  containingPane.createChild('div', 'ai-code-completion-summary-toolbar-container');
@@ -37,17 +37,6 @@ const UIStrings = {
37
37
  * properties.
38
38
  */
39
39
  properties: 'Properties',
40
- /**
41
- * @description Command for showing the 'Stack Trace' tool. Stack trace refers to the location in
42
- * the code where the program was at a point in time.
43
- */
44
- showStackTrace: 'Show Stack Trace',
45
- /**
46
- * @description Text for the execution stack trace tool, which shows the stack trace from when this
47
- * HTML element was created. Stack trace refers to the location in the code where the program was
48
- * at a point in time.
49
- */
50
- stackTrace: 'Stack Trace',
51
40
  /**
52
41
  * @description Command for showing the 'Layout' tool
53
42
  */
@@ -245,20 +234,6 @@ UI.ViewManager.registerViewExtension({
245
234
  },
246
235
  });
247
236
 
248
- UI.ViewManager.registerViewExtension({
249
- experiment: Root.ExperimentNames.ExperimentName.CAPTURE_NODE_CREATION_STACKS,
250
- location: UI.ViewManager.ViewLocationValues.ELEMENTS_SIDEBAR,
251
- id: 'elements.dom-creation',
252
- commandPrompt: i18nLazyString(UIStrings.showStackTrace),
253
- title: i18nLazyString(UIStrings.stackTrace),
254
- order: 10,
255
- persistence: UI.ViewManager.ViewPersistence.PERMANENT,
256
- async loadView() {
257
- const Elements = await loadElementsModule();
258
- return new Elements.NodeStackTraceWidget.NodeStackTraceWidget();
259
- },
260
- });
261
-
262
237
  UI.ViewManager.registerViewExtension({
263
238
  location: UI.ViewManager.ViewLocationValues.ELEMENTS_SIDEBAR,
264
239
  id: 'elements.layout',
@@ -16,7 +16,6 @@ import './MarkerDecorator.js';
16
16
  import './MetricsSidebarPane.js';
17
17
  import './PlatformFontsWidget.js';
18
18
  import './PropertiesWidget.js';
19
- import './NodeStackTraceWidget.js';
20
19
  import './StylePropertiesSection.js';
21
20
  import './StylePropertyHighlighter.js';
22
21
  import './StylesSidebarPane.js';
@@ -52,7 +51,6 @@ import * as LayersWidget from './LayersWidget.js';
52
51
  import * as LayoutPane from './LayoutPane.js';
53
52
  import * as MarkerDecorator from './MarkerDecorator.js';
54
53
  import * as MetricsSidebarPane from './MetricsSidebarPane.js';
55
- import * as NodeStackTraceWidget from './NodeStackTraceWidget.js';
56
54
  import * as PlatformFontsWidget from './PlatformFontsWidget.js';
57
55
  import * as PropertiesWidget from './PropertiesWidget.js';
58
56
  import * as PropertyRenderer from './PropertyRenderer.js';
@@ -90,7 +88,6 @@ export {
90
88
  LayoutPane,
91
89
  MarkerDecorator,
92
90
  MetricsSidebarPane,
93
- NodeStackTraceWidget,
94
91
  PlatformFontsWidget,
95
92
  PropertiesWidget,
96
93
  PropertyRenderer,