chrome-devtools-frontend 1.0.1535712 → 1.0.1537268

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 (231) hide show
  1. package/docs/contributing/images/issues-nearestslo.png +0 -0
  2. package/docs/contributing/issues.md +17 -21
  3. package/front_end/core/common/Console.ts +1 -8
  4. package/front_end/core/common/ParsedURL.ts +10 -20
  5. package/front_end/core/common/SegmentedRange.ts +1 -2
  6. package/front_end/core/common/StringOutputStream.ts +1 -4
  7. package/front_end/core/host/AidaClient.ts +64 -5
  8. package/front_end/core/host/DispatchHttpRequestClient.ts +62 -0
  9. package/front_end/core/host/GdpClient.ts +8 -57
  10. package/front_end/core/host/host.ts +2 -0
  11. package/front_end/core/i18n/i18nImpl.ts +0 -24
  12. package/front_end/core/protocol_client/CDPConnection.ts +10 -8
  13. package/front_end/core/protocol_client/InspectorBackend.ts +36 -42
  14. package/front_end/core/sdk/AnimationModel.ts +1 -2
  15. package/front_end/core/sdk/CSSMatchedStyles.ts +2 -2
  16. package/front_end/core/sdk/CSSModel.ts +1 -1
  17. package/front_end/core/sdk/CSSProperty.ts +3 -6
  18. package/front_end/core/sdk/CSSStyleDeclaration.ts +4 -4
  19. package/front_end/core/sdk/DebuggerModel.ts +1 -2
  20. package/front_end/core/sdk/EnhancedTracesParser.ts +24 -5
  21. package/front_end/core/sdk/RehydratingConnection.ts +112 -4
  22. package/front_end/core/sdk/RehydratingObject.ts +8 -0
  23. package/front_end/core/sdk/SourceMap.ts +2 -3
  24. package/front_end/core/sdk/TraceObject.ts +5 -1
  25. package/front_end/entrypoints/node_app/NodeConnectionsPanel.ts +2 -1
  26. package/front_end/generated/InspectorBackendCommands.js +1 -2
  27. package/front_end/generated/SupportedCSSProperties.js +19 -0
  28. package/front_end/generated/protocol.ts +0 -27
  29. package/front_end/models/javascript_metadata/NativeFunctions.js +1 -1
  30. package/front_end/models/trace/types/File.ts +9 -0
  31. package/front_end/panels/accessibility/AccessibilityNodeView.ts +18 -17
  32. package/front_end/panels/accessibility/AccessibilitySidebarView.ts +9 -12
  33. package/front_end/panels/ai_assistance/AiAssistancePanel.ts +5 -9
  34. package/front_end/panels/ai_assistance/components/ChatView.ts +63 -74
  35. package/front_end/panels/application/AppManifestView.ts +7 -6
  36. package/front_end/panels/application/ApplicationPanelSidebar.ts +4 -4
  37. package/front_end/panels/application/BackForwardCacheTreeElement.ts +2 -6
  38. package/front_end/panels/application/OpenedWindowDetailsView.ts +6 -6
  39. package/front_end/panels/application/StorageView.ts +9 -8
  40. package/front_end/panels/application/components/BackForwardCacheView.ts +366 -342
  41. package/front_end/panels/application/components/FrameDetailsView.ts +8 -11
  42. package/front_end/panels/application/components/OriginTrialTreeView.ts +65 -69
  43. package/front_end/panels/application/components/ProtocolHandlersView.ts +3 -2
  44. package/front_end/panels/application/components/backForwardCacheView.css +4 -0
  45. package/front_end/panels/application/components/badge.css +1 -1
  46. package/front_end/panels/application/preloading/components/PreloadingDisabledInfobar.ts +2 -1
  47. package/front_end/panels/browser_debugger/CategorizedBreakpointsSidebarPane.ts +44 -53
  48. package/front_end/panels/browser_debugger/ObjectEventListenersSidebarPane.ts +8 -8
  49. package/front_end/panels/common/BadgeNotification.ts +2 -1
  50. package/front_end/panels/common/GdpSignUpDialog.ts +2 -1
  51. package/front_end/panels/console/ConsoleInsightTeaser.ts +8 -2
  52. package/front_end/panels/console/ConsolePinPane.ts +12 -7
  53. package/front_end/panels/developer_resources/DeveloperResourcesView.ts +9 -9
  54. package/front_end/panels/elements/ComputedStyleWidget.ts +7 -7
  55. package/front_end/panels/elements/EventListenersWidget.ts +9 -9
  56. package/front_end/panels/elements/NodeStackTraceWidget.ts +6 -6
  57. package/front_end/panels/elements/PlatformFontsWidget.ts +5 -5
  58. package/front_end/panels/elements/PropertiesWidget.ts +8 -8
  59. package/front_end/panels/layer_viewer/Layers3DView.ts +2 -1
  60. package/front_end/panels/layer_viewer/PaintProfilerView.ts +3 -3
  61. package/front_end/panels/network/RequestCookiesView.ts +2 -1
  62. package/front_end/panels/network/RequestTimingView.ts +2 -1
  63. package/front_end/panels/recorder/RecorderController.ts +33 -23
  64. package/front_end/panels/recorder/components/CreateRecordingView.ts +259 -226
  65. package/front_end/panels/security/CookieControlsView.ts +2 -1
  66. package/front_end/panels/security/CookieReportView.ts +3 -2
  67. package/front_end/panels/settings/AISettingsTab.ts +164 -172
  68. package/front_end/panels/settings/KeybindsSettingsTab.ts +6 -0
  69. package/front_end/panels/settings/SettingsScreen.ts +3 -7
  70. package/front_end/panels/settings/aiSettingsTab.css +151 -148
  71. package/front_end/panels/settings/components/SyncSection.ts +2 -1
  72. package/front_end/panels/settings/settings-meta.ts +1 -2
  73. package/front_end/panels/sources/AddSourceMapURLDialog.ts +23 -26
  74. package/front_end/panels/sources/DebuggerPausedMessage.ts +4 -3
  75. package/front_end/panels/sources/ResourceOriginPlugin.ts +3 -2
  76. package/front_end/panels/sources/SourcesNavigator.ts +2 -1
  77. package/front_end/panels/sources/TabbedEditorContainer.ts +3 -2
  78. package/front_end/panels/sources/WatchExpressionsSidebarPane.ts +9 -9
  79. package/front_end/panels/timeline/TimelinePanel.ts +60 -11
  80. package/front_end/panels/timeline/TimelineUIUtils.ts +3 -2
  81. package/front_end/panels/timeline/components/DetailsView.ts +5 -4
  82. package/front_end/panels/timeline/components/ExportTraceOptions.ts +33 -34
  83. package/front_end/panels/timeline/components/FieldSettingsDialog.ts +2 -1
  84. package/front_end/panels/timeline/components/LiveMetricsView.ts +5 -4
  85. package/front_end/panels/timeline/components/MetricCompareStrings.ts +25 -24
  86. package/front_end/panels/timeline/components/insights/LCPDiscovery.ts +2 -1
  87. package/front_end/third_party/chromium/README.chromium +2 -2
  88. package/front_end/third_party/puppeteer/README.chromium +2 -2
  89. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.d.ts +9 -1
  90. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.d.ts.map +1 -1
  91. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.js.map +1 -1
  92. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/BrowserContext.d.ts +2 -2
  93. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/BrowserContext.d.ts.map +1 -1
  94. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/BrowserContext.js.map +1 -1
  95. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts +13 -1
  96. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts.map +1 -1
  97. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.js.map +1 -1
  98. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserContext.d.ts +2 -2
  99. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserContext.d.ts.map +1 -1
  100. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserContext.js +5 -2
  101. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserContext.js.map +1 -1
  102. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.d.ts +2 -2
  103. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.d.ts.map +1 -1
  104. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.js +3 -1
  105. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.js.map +1 -1
  106. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Realm.d.ts +1 -12
  107. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Realm.d.ts.map +1 -1
  108. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Accessibility.d.ts +6 -0
  109. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Accessibility.d.ts.map +1 -1
  110. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Accessibility.js +1 -0
  111. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Accessibility.js.map +1 -1
  112. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.d.ts +2 -2
  113. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.d.ts.map +1 -1
  114. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.js +6 -1
  115. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.js.map +1 -1
  116. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.d.ts +2 -1
  117. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.d.ts.map +1 -1
  118. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.js +2 -2
  119. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.js.map +1 -1
  120. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.d.ts +2 -2
  121. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.d.ts.map +1 -1
  122. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.js +3 -1
  123. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.js.map +1 -1
  124. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/injected.d.ts +1 -1
  125. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.d.ts +3 -3
  126. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js +3 -3
  127. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js.map +1 -1
  128. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Mutex.d.ts +2 -2
  129. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/disposable.d.ts +2 -2
  130. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/disposable.d.ts.map +1 -1
  131. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/disposable.js +3 -1
  132. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/disposable.js.map +1 -1
  133. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/util.d.ts +1 -0
  134. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/util.d.ts.map +1 -1
  135. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/util.js +1 -0
  136. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/util.js.map +1 -1
  137. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/version.d.ts +1 -1
  138. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/version.js +1 -1
  139. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.d.ts +28 -3
  140. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +21 -10
  141. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.d.ts +9 -1
  142. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.d.ts.map +1 -1
  143. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.js.map +1 -1
  144. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/BrowserContext.d.ts +2 -2
  145. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/BrowserContext.d.ts.map +1 -1
  146. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/BrowserContext.js.map +1 -1
  147. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Input.d.ts +1 -1
  148. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Input.d.ts.map +1 -1
  149. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts +13 -1
  150. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts.map +1 -1
  151. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.js.map +1 -1
  152. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserContext.d.ts +2 -2
  153. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserContext.d.ts.map +1 -1
  154. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserContext.js +5 -2
  155. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserContext.js.map +1 -1
  156. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.d.ts +2 -2
  157. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.d.ts.map +1 -1
  158. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.js +3 -1
  159. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.js.map +1 -1
  160. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Realm.d.ts +1 -12
  161. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Realm.d.ts.map +1 -1
  162. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Accessibility.d.ts +6 -0
  163. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Accessibility.d.ts.map +1 -1
  164. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Accessibility.js +1 -0
  165. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Accessibility.js.map +1 -1
  166. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.d.ts +2 -2
  167. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.d.ts.map +1 -1
  168. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.js +6 -1
  169. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.js.map +1 -1
  170. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.d.ts +2 -1
  171. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.d.ts.map +1 -1
  172. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.js +2 -2
  173. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.js.map +1 -1
  174. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.d.ts +2 -2
  175. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.d.ts.map +1 -1
  176. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.js +3 -1
  177. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.js.map +1 -1
  178. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.d.ts +3 -3
  179. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js +3 -3
  180. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js.map +1 -1
  181. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/disposable.d.ts +2 -2
  182. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/disposable.d.ts.map +1 -1
  183. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/disposable.js +2 -2
  184. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/disposable.js.map +1 -1
  185. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/util.d.ts +1 -0
  186. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/util.d.ts.map +1 -1
  187. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/util.js +1 -0
  188. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/util.js.map +1 -1
  189. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/version.d.ts +1 -1
  190. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/version.js +1 -1
  191. package/front_end/third_party/puppeteer/package/lib/types.d.ts +28 -3
  192. package/front_end/third_party/puppeteer/package/package.json +2 -2
  193. package/front_end/third_party/puppeteer/package/src/api/Browser.ts +13 -1
  194. package/front_end/third_party/puppeteer/package/src/api/BrowserContext.ts +7 -2
  195. package/front_end/third_party/puppeteer/package/src/api/Page.ts +14 -1
  196. package/front_end/third_party/puppeteer/package/src/bidi/BrowserContext.ts +8 -5
  197. package/front_end/third_party/puppeteer/package/src/bidi/Page.ts +5 -2
  198. package/front_end/third_party/puppeteer/package/src/cdp/Accessibility.ts +8 -0
  199. package/front_end/third_party/puppeteer/package/src/cdp/Browser.ts +11 -2
  200. package/front_end/third_party/puppeteer/package/src/cdp/BrowserContext.ts +3 -2
  201. package/front_end/third_party/puppeteer/package/src/cdp/Page.ts +5 -5
  202. package/front_end/third_party/puppeteer/package/src/revisions.ts +3 -3
  203. package/front_end/third_party/puppeteer/package/src/util/disposable.ts +2 -2
  204. package/front_end/third_party/puppeteer/package/src/util/util.ts +1 -0
  205. package/front_end/third_party/puppeteer/package/src/util/version.ts +1 -1
  206. package/front_end/ui/components/docs/tooltip/basic.ts +1 -1
  207. package/front_end/ui/components/text_editor/AiCodeCompletionProvider.ts +280 -0
  208. package/front_end/ui/components/text_editor/text_editor.ts +1 -0
  209. package/front_end/ui/components/tooltips/Tooltip.ts +33 -18
  210. package/front_end/ui/i18n/i18n.ts +31 -0
  211. package/front_end/ui/legacy/Dialog.ts +0 -1
  212. package/front_end/ui/legacy/SettingsUI.ts +0 -14
  213. package/front_end/ui/legacy/SoftDropDown.ts +1 -12
  214. package/front_end/ui/legacy/ViewManager.ts +2 -4
  215. package/front_end/ui/legacy/Widget.ts +33 -17
  216. package/front_end/ui/legacy/XLink.ts +0 -3
  217. package/front_end/ui/legacy/components/data_grid/DataGridElement.ts +9 -0
  218. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +2 -1
  219. package/front_end/ui/legacy/components/utils/Linkifier.ts +9 -3
  220. package/front_end/ui/legacy/legacy.ts +0 -2
  221. package/front_end/ui/visual_logging/KnownContextValues.ts +4 -1
  222. package/mcp/mcp.ts +6 -0
  223. package/package.json +1 -1
  224. package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatterBounds.snapshot.txt +0 -4
  225. package/front_end/ui/components/docs/breadcrumbs_perf/initial-breadcrumb-perf.html +0 -20
  226. package/front_end/ui/components/docs/breadcrumbs_perf/initial-breadcrumb-perf.ts +0 -25
  227. package/front_end/ui/components/docs/breadcrumbs_perf/nested-breadcrumbs-perf.html +0 -20
  228. package/front_end/ui/components/docs/breadcrumbs_perf/nested-breadcrumbs-perf.ts +0 -36
  229. package/front_end/ui/components/docs/recorder_create_recording_view/basic.html +0 -20
  230. package/front_end/ui/components/docs/recorder_create_recording_view/basic.ts +0 -27
  231. package/front_end/ui/legacy/ThrottledWidget.ts +0 -48
@@ -4,185 +4,188 @@
4
4
  * found in the LICENSE file.
5
5
  */
6
6
 
7
- * {
8
- box-sizing: border-box;
9
- }
10
-
11
- :host {
12
- container-type: inline-size;
13
- container-name: ai-settings;
14
- }
7
+ @scope to (devtools-widget > *){
8
+ .ai-settings-container {
9
+ container-type: inline-size;
10
+ container-name: ai-settings;
11
+
12
+ @container ai-settings (min-width: 480px) {
13
+ .settings-container-wrapper {
14
+ align-items: center;
15
+ }
16
+ }
17
+ }
15
18
 
16
- .shared-disclaimer {
17
- background: linear-gradient(135deg, var(--sys-color-gradient-primary), var(--sys-color-gradient-tertiary));
18
- border-radius: var(--sys-size-5);
19
- padding: var(--sys-size-9) var(--sys-size-11);
20
- max-width: var(--sys-size-35);
21
- min-width: var(--sys-size-28);
19
+ * {
20
+ box-sizing: border-box;
21
+ min-height: auto;
22
+ }
22
23
 
23
- h2 {
24
- font: var(--sys-typescale-headline5);
25
- margin: 0 0 var(--sys-size-6);
24
+ .shared-disclaimer {
25
+ background: linear-gradient(135deg, var(--sys-color-gradient-primary), var(--sys-color-gradient-tertiary));
26
+ border-radius: var(--sys-size-5);
27
+ padding: var(--sys-size-9) var(--sys-size-11);
28
+ max-width: var(--sys-size-35);
29
+ min-width: var(--sys-size-28);
30
+
31
+ h2 {
32
+ font: var(--sys-typescale-headline5);
33
+ margin: 0 0 var(--sys-size-6);
34
+ }
26
35
  }
27
- }
28
36
 
29
- .disclaimer-list-header {
30
- font: var(--sys-typescale-body5-medium);
31
- margin: 0;
32
- }
37
+ .disclaimer-list-header {
38
+ font: var(--sys-typescale-body5-medium);
39
+ margin: 0;
40
+ }
33
41
 
34
- .disclaimer-list {
35
- padding: var(--sys-size-6) 0 0;
36
- display: grid;
37
- grid-template-columns: var(--sys-size-12) auto;
38
- gap: var(--sys-size-6) 0;
39
- line-height: var(--sys-typescale-body5-line-height);
40
- }
42
+ .disclaimer-list {
43
+ padding: var(--sys-size-6) 0 0;
44
+ display: grid;
45
+ grid-template-columns: var(--sys-size-12) auto;
46
+ gap: var(--sys-size-6) 0;
47
+ line-height: var(--sys-typescale-body5-line-height);
48
+ }
41
49
 
42
- .settings-container {
43
- display: grid;
44
- grid-template-columns: 1fr auto auto;
45
- border-radius: var(--sys-size-5);
46
- box-shadow: var(--sys-elevation-level2);
47
- margin: var(--sys-size-11) 0 var(--sys-size-4);
48
- line-height: var(--sys-typescale-body5-line-height);
49
- min-width: var(--sys-size-28);
50
- max-width: var(--sys-size-35);
51
- background-color: var(--app-color-card-background);
52
- }
50
+ .settings-container {
51
+ display: grid;
52
+ grid-template-columns: 1fr auto auto;
53
+ border-radius: var(--sys-size-5);
54
+ box-shadow: var(--sys-elevation-level2);
55
+ margin: var(--sys-size-11) 0 var(--sys-size-4);
56
+ line-height: var(--sys-typescale-body5-line-height);
57
+ min-width: var(--sys-size-28);
58
+ max-width: var(--sys-size-35);
59
+ background-color: var(--app-color-card-background);
60
+ }
53
61
 
54
- .accordion-header {
55
- display: grid;
56
- grid-template-columns: auto 1fr auto;
62
+ .accordion-header {
63
+ display: grid;
64
+ grid-template-columns: auto 1fr auto;
57
65
 
58
- &:hover {
59
- background-color: var(--sys-color-state-hover-on-subtle);
66
+ &:hover {
67
+ background-color: var(--sys-color-state-hover-on-subtle);
68
+ }
60
69
  }
61
- }
62
70
 
63
- .icon-container,
64
- .dropdown {
65
- padding: 0 var(--sys-size-8);
66
- }
71
+ .icon-container,
72
+ .dropdown {
73
+ padding: 0 var(--sys-size-8);
74
+ }
67
75
 
68
- .toggle-container {
69
- padding: 0 var(--sys-size-8) 0 var(--sys-size-9);
76
+ .toggle-container {
77
+ padding: 0 var(--sys-size-8) 0 var(--sys-size-9);
70
78
 
71
- &:hover {
72
- background-color: var(--sys-color-state-hover-on-subtle);
79
+ &:hover {
80
+ background-color: var(--sys-color-state-hover-on-subtle);
81
+ }
73
82
  }
74
- }
75
83
 
76
- .expansion-grid {
77
- padding: var(--sys-size-4) var(--sys-size-8) var(--sys-size-6);
78
- display: grid;
79
- grid-template-columns: var(--sys-size-9) auto;
80
- gap: var(--sys-size-6) var(--sys-size-8);
81
- line-height: var(--sys-typescale-body5-line-height);
82
- color: var(--sys-color-on-surface-subtle);
83
- }
84
+ .expansion-grid {
85
+ padding: var(--sys-size-4) var(--sys-size-8) var(--sys-size-6);
86
+ display: grid;
87
+ grid-template-columns: var(--sys-size-9) auto;
88
+ gap: var(--sys-size-6) var(--sys-size-8);
89
+ line-height: var(--sys-typescale-body5-line-height);
90
+ color: var(--sys-color-on-surface-subtle);
91
+ }
84
92
 
85
- .expansion-grid-whole-row {
86
- grid-column: span 2;
87
- font-weight: var(--ref-typeface-weight-medium);
88
- color: var(--sys-color-on-surface);
89
- padding-top: var(--sys-size-4);
90
- margin: 0;
91
- font-size: inherit;
92
- }
93
+ .expansion-grid-whole-row {
94
+ grid-column: span 2;
95
+ font-weight: var(--ref-typeface-weight-medium);
96
+ color: var(--sys-color-on-surface);
97
+ padding-top: var(--sys-size-4);
98
+ margin: 0;
99
+ font-size: inherit;
100
+ }
93
101
 
94
- .setting-description {
95
- color: var(--sys-color-on-surface-subtle);
96
- }
102
+ .setting-description {
103
+ color: var(--sys-color-on-surface-subtle);
104
+ }
97
105
 
98
- .centered {
99
- display: grid;
100
- place-content: center;
101
- }
106
+ .centered {
107
+ display: grid;
108
+ place-content: center;
109
+ }
102
110
 
103
- .setting-card {
104
- padding: var(--sys-size-6) 0;
111
+ .setting-card {
112
+ padding: var(--sys-size-6) 0;
105
113
 
106
- h2 {
107
- margin: 0;
108
- font: inherit;
114
+ h2 {
115
+ margin: 0;
116
+ font: inherit;
117
+ }
109
118
  }
110
- }
111
119
 
112
- .divider {
113
- margin: var(--sys-size-5) 0;
114
- border-left: var(--sys-size-1) solid var(--sys-color-divider);
115
- }
116
-
117
- .accordion-header ~ .accordion-header,
118
- .divider ~ .divider,
119
- .toggle-container ~ .toggle-container {
120
- border-top: var(--sys-size-1) solid var(--sys-color-divider);
121
- }
120
+ .divider {
121
+ margin: var(--sys-size-5) 0;
122
+ border-left: var(--sys-size-1) solid var(--sys-color-divider);
123
+ }
122
124
 
123
- .whole-row {
124
- grid-column: span 5;
125
- overflow: hidden;
126
- display: grid;
127
- grid-template-rows: 0fr;
128
- transition: grid-template-rows var(--sys-motion-duration-short4) ease-in;
129
- }
125
+ .accordion-header ~ .accordion-header,
126
+ .divider ~ .divider,
127
+ .toggle-container ~ .toggle-container {
128
+ border-top: var(--sys-size-1) solid var(--sys-color-divider);
129
+ }
130
130
 
131
- .whole-row.open {
132
- grid-template-rows: 1fr;
133
- }
131
+ .whole-row {
132
+ grid-column: span 5;
133
+ overflow: hidden;
134
+ display: grid;
135
+ grid-template-rows: 0fr;
136
+ transition: grid-template-rows var(--sys-motion-duration-short4) ease-in;
137
+ }
134
138
 
135
- .overflow-hidden {
136
- overflow: hidden;
137
- }
139
+ .whole-row.open {
140
+ grid-template-rows: 1fr;
141
+ }
138
142
 
139
- .link,
140
- .devtools-link {
141
- color: var(--sys-color-primary);
142
- text-decoration: underline;
143
- cursor: pointer;
144
- outline-offset: var(--sys-size-2);
145
- padding: 0;
146
- font-weight: var(--ref-typeface-weight-regular);
147
- }
143
+ .overflow-hidden {
144
+ overflow: hidden;
145
+ }
148
146
 
149
- .padded {
150
- padding: var(--sys-size-2) 0;
151
- }
147
+ .link,
148
+ .devtools-link {
149
+ color: var(--sys-color-primary);
150
+ text-decoration: underline;
151
+ cursor: pointer;
152
+ outline-offset: var(--sys-size-2);
153
+ padding: 0;
154
+ font-weight: var(--ref-typeface-weight-regular);
155
+ }
152
156
 
153
- .settings-container-wrapper {
154
- position: absolute;
155
- inset: var(--sys-size-8) 0 0;
156
- overflow: auto;
157
- padding: var(--sys-size-3) var(--sys-size-6) var(--sys-size-6);
158
- display: flex;
159
- flex-direction: column;
160
- }
157
+ .padded {
158
+ padding: var(--sys-size-2) 0;
159
+ }
161
160
 
162
- @container ai-settings (min-width: 480px) {
163
161
  .settings-container-wrapper {
164
- align-items: center;
162
+ position: absolute;
163
+ inset: var(--sys-size-8) 0 0;
164
+ overflow: auto;
165
+ padding: var(--sys-size-3) var(--sys-size-6) var(--sys-size-6);
166
+ display: flex;
167
+ flex-direction: column;
165
168
  }
166
- }
167
169
 
168
- header {
169
- font-size: var(--sys-typescale-headline3-size);
170
- font-weight: var(--ref-typeface-weight-regular);
171
- }
170
+ header {
171
+ font-size: var(--sys-typescale-headline3-size);
172
+ font-weight: var(--ref-typeface-weight-regular);
173
+ }
172
174
 
173
- .disabled-explainer {
174
- background-color: var(--sys-color-surface-yellow);
175
- border-radius: var(--sys-shape-corner-medium-small);
176
- margin-top: var(--sys-size-11);
177
- padding: var(--sys-size-6) var(--sys-size-11) var(--sys-size-8);
178
- width: 100%;
179
- max-width: var(--sys-size-35);
180
- min-width: var(--sys-size-28);
181
- color: var(--sys-color-yellow);
182
- }
175
+ .disabled-explainer {
176
+ background-color: var(--sys-color-surface-yellow);
177
+ border-radius: var(--sys-shape-corner-medium-small);
178
+ margin-top: var(--sys-size-11);
179
+ padding: var(--sys-size-6) var(--sys-size-11) var(--sys-size-8);
180
+ width: 100%;
181
+ max-width: var(--sys-size-35);
182
+ min-width: var(--sys-size-28);
183
+ color: var(--sys-color-yellow);
184
+ }
183
185
 
184
- .disabled-explainer-row {
185
- display: flex;
186
- gap: var(--sys-size-6);
187
- margin-top: var(--sys-size-4);
186
+ .disabled-explainer-row {
187
+ display: flex;
188
+ gap: var(--sys-size-6);
189
+ margin-top: var(--sys-size-4);
190
+ }
188
191
  }
@@ -16,6 +16,7 @@ import * as Badges from '../../../models/badges/badges.js';
16
16
  import * as Buttons from '../../../ui/components/buttons/buttons.js';
17
17
  import * as ComponentHelpers from '../../../ui/components/helpers/helpers.js';
18
18
  import type * as SettingsComponents from '../../../ui/components/settings/settings.js';
19
+ import * as uiI18n from '../../../ui/i18n/i18n.js';
19
20
  import * as Lit from '../../../ui/lit/lit.js';
20
21
  import * as VisualLogging from '../../../ui/visual_logging/visual_logging.js';
21
22
  import * as PanelCommon from '../../common/common.js';
@@ -112,7 +113,7 @@ function renderDataDisclaimer(): HTMLElement {
112
113
 
113
114
  const container = document.createElement('span');
114
115
  Lit.render(relevantDataTooltipTemplate, container);
115
- cachedTooltipElement = i18n.i18n.getFormatLocalizedString(str_, UIStrings.dataDisclaimer, {
116
+ cachedTooltipElement = uiI18n.getFormatLocalizedString(str_, UIStrings.dataDisclaimer, {
116
117
  PH1: container,
117
118
  });
118
119
  return cachedTooltipElement;
@@ -7,7 +7,6 @@ import './emulation/emulation-meta.js';
7
7
  import * as Common from '../../core/common/common.js';
8
8
  import * as i18n from '../../core/i18n/i18n.js';
9
9
  import * as Root from '../../core/root/root.js';
10
- import * as LegacyWrapper from '../../ui/components/legacy_wrapper/legacy_wrapper.js';
11
10
  import * as UI from '../../ui/legacy/legacy.js';
12
11
 
13
12
  import type * as Settings from './settings.js';
@@ -117,7 +116,7 @@ UI.ViewManager.registerViewExtension({
117
116
  order: 2,
118
117
  async loadView() {
119
118
  const Settings = await loadSettingsModule();
120
- return LegacyWrapper.LegacyWrapper.legacyWrapper(UI.Widget.VBox, new Settings.AISettingsTab.AISettingsTab());
119
+ return new Settings.AISettingsTab.AISettingsTab();
121
120
  },
122
121
  iconName: 'button-magic',
123
122
  settings: ['console-insights-enabled'],
@@ -6,7 +6,7 @@ import * as i18n from '../../core/i18n/i18n.js';
6
6
  import type * as Platform from '../../core/platform/platform.js';
7
7
  import * as Buttons from '../../ui/components/buttons/buttons.js';
8
8
  import * as UI from '../../ui/legacy/legacy.js';
9
- import {Directives, html, render} from '../../ui/lit/lit.js';
9
+ import {html, render} from '../../ui/lit/lit.js';
10
10
  import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
11
11
 
12
12
  import dialogStyles from './dialog.css.js';
@@ -27,28 +27,29 @@ const UIStrings = {
27
27
  } as const;
28
28
  const str_ = i18n.i18n.registerUIStrings('panels/sources/AddSourceMapURLDialog.ts', UIStrings);
29
29
  const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
30
- const {ref} = Directives;
31
30
 
32
31
  interface ViewInput {
33
32
  label: Platform.UIString.LocalizedString;
34
- onKeyDown: (event: KeyboardEvent) => void;
33
+ onEnter: (value: string) => void;
34
+ onInputChange: (value: string) => void;
35
35
  apply: () => void;
36
36
  }
37
37
 
38
- interface ViewOutput {
39
- input: HTMLInputElement;
40
- }
41
-
42
- type View = (input: ViewInput, output: ViewOutput, target: HTMLElement) => void;
38
+ type View = (input: ViewInput, output: undefined, target: HTMLElement) => void;
43
39
 
44
- export const DEFAULT_VIEW: View = (input, output, target) => {
40
+ export const DEFAULT_VIEW: View = (input, _output, target) => {
45
41
  // clang-format off
46
42
  render(html`
47
43
  <style>${dialogStyles}</style>
48
44
  <label>${input.label}</label>
49
45
  <input class="harmony-input add-source-map" spellcheck="false" type="text"
50
46
  jslog=${VisualLogging.textField('url').track({keydown: 'Enter', change: true})}
51
- @keydown=${input.onKeyDown} ${ref(e => { output.input = e as HTMLInputElement; })}>
47
+ @keydown=${(e: KeyboardEvent) => { if (e.key === 'Enter') {
48
+ e.consume(true);
49
+ input.onEnter((e.target as HTMLInputElement).value); }
50
+ }}
51
+ @change=${(e: Event) => input.onInputChange((e.target as HTMLInputElement).value)}
52
+ autofocus>
52
53
  <devtools-button @click=${input.apply} .jslogContext=${'add'}
53
54
  .variant=${Buttons.Button.Variant.OUTLINED}>${i18nString(UIStrings.add)}</devtools-button>`,
54
55
  target);
@@ -56,7 +57,7 @@ export const DEFAULT_VIEW: View = (input, output, target) => {
56
57
  };
57
58
 
58
59
  export class AddDebugInfoURLDialog extends UI.Widget.HBox {
59
- private input!: HTMLInputElement;
60
+ private url = '';
60
61
  private readonly dialog: UI.Dialog.Dialog;
61
62
  private readonly callback: (arg0: Platform.DevToolsPath.UrlString) => void;
62
63
  private constructor(
@@ -66,20 +67,14 @@ export class AddDebugInfoURLDialog extends UI.Widget.HBox {
66
67
 
67
68
  const viewInput = {
68
69
  label,
69
- onKeyDown: this.onKeyDown.bind(this),
70
+ onEnter: this.onEnter.bind(this),
71
+ onInputChange: this.onInputChange.bind(this),
70
72
  apply: this.apply.bind(this),
71
73
  };
72
- const that = this;
73
- const viewOutput = {
74
- set input(input: HTMLInputElement) {
75
- that.input = input;
76
- },
77
- };
78
- view(viewInput, viewOutput, this.contentElement);
74
+ view(viewInput, undefined, this.contentElement);
79
75
 
80
76
  this.dialog = new UI.Dialog.Dialog(jslogContext);
81
77
  this.dialog.setSizeBehavior(UI.GlassPane.SizeBehavior.MEASURE_CONTENT);
82
- this.dialog.setDefaultFocusedElement(this.input);
83
78
 
84
79
  this.callback = callback;
85
80
  }
@@ -103,14 +98,16 @@ export class AddDebugInfoURLDialog extends UI.Widget.HBox {
103
98
  this.callback(value);
104
99
  }
105
100
 
101
+ private onInputChange(value: string): void {
102
+ this.url = value;
103
+ }
104
+
106
105
  private apply(): void {
107
- this.done(this.input.value as Platform.DevToolsPath.UrlString);
106
+ this.done(this.url as Platform.DevToolsPath.UrlString);
108
107
  }
109
108
 
110
- private onKeyDown(event: KeyboardEvent): void {
111
- if (event.key === 'Enter') {
112
- event.consume(true);
113
- this.apply();
114
- }
109
+ private onEnter(value: string): void {
110
+ this.url = value;
111
+ this.apply();
115
112
  }
116
113
  }
@@ -11,6 +11,7 @@ import * as Protocol from '../../generated/protocol.js';
11
11
  import type * as Bindings from '../../models/bindings/bindings.js';
12
12
  import type * as BreakpointManager from '../../models/breakpoints/breakpoints.js';
13
13
  import * as IconButton from '../../ui/components/icon_button/icon_button.js';
14
+ import * as uiI18n from '../../ui/i18n/i18n.js';
14
15
  import * as UI from '../../ui/legacy/legacy.js';
15
16
  import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
16
17
 
@@ -175,12 +176,12 @@ export class DebuggerPausedMessage {
175
176
  let messageElement;
176
177
  if (data.insertion) {
177
178
  if (data.targetNode === data.node) {
178
- messageElement = i18n.i18n.getFormatLocalizedString(str_, UIStrings.childSAdded, {PH1: targetNodeLink});
179
+ messageElement = uiI18n.getFormatLocalizedString(str_, UIStrings.childSAdded, {PH1: targetNodeLink});
179
180
  } else {
180
- messageElement = i18n.i18n.getFormatLocalizedString(str_, UIStrings.descendantSAdded, {PH1: targetNodeLink});
181
+ messageElement = uiI18n.getFormatLocalizedString(str_, UIStrings.descendantSAdded, {PH1: targetNodeLink});
181
182
  }
182
183
  } else {
183
- messageElement = i18n.i18n.getFormatLocalizedString(str_, UIStrings.descendantSRemoved, {PH1: targetNodeLink});
184
+ messageElement = uiI18n.getFormatLocalizedString(str_, UIStrings.descendantSRemoved, {PH1: targetNodeLink});
184
185
  }
185
186
  subElement.appendChild(document.createElement('br'));
186
187
  subElement.appendChild(messageElement);
@@ -6,6 +6,7 @@
6
6
  import * as i18n from '../../core/i18n/i18n.js';
7
7
  import * as Bindings from '../../models/bindings/bindings.js';
8
8
  import type * as Workspace from '../../models/workspace/workspace.js';
9
+ import * as uiI18n from '../../ui/i18n/i18n.js';
9
10
  import * as Components from '../../ui/legacy/components/utils/utils.js';
10
11
  import * as UI from '../../ui/legacy/legacy.js';
11
12
 
@@ -62,14 +63,14 @@ export class ResourceOriginPlugin extends Plugin {
62
63
  }
63
64
  element.append(link);
64
65
  });
65
- return [new UI.Toolbar.ToolbarItem(i18n.i18n.getFormatLocalizedString(str_, UIStrings.fromS, {PH1: element}))];
66
+ return [new UI.Toolbar.ToolbarItem(uiI18n.getFormatLocalizedString(str_, UIStrings.fromS, {PH1: element}))];
66
67
  }
67
68
 
68
69
  // Handle anonymous scripts with an originStackTrace.
69
70
  for (const script of debuggerWorkspaceBinding.scriptsForUISourceCode(this.uiSourceCode)) {
70
71
  if (script.originStackTrace?.callFrames.length) {
71
72
  const link = linkifier.linkifyStackTraceTopFrame(script.debuggerModel.target(), script.originStackTrace);
72
- return [new UI.Toolbar.ToolbarItem(i18n.i18n.getFormatLocalizedString(str_, UIStrings.fromS, {PH1: link}))];
73
+ return [new UI.Toolbar.ToolbarItem(uiI18n.getFormatLocalizedString(str_, UIStrings.fromS, {PH1: link}))];
73
74
  }
74
75
  }
75
76
 
@@ -15,6 +15,7 @@ import * as Bindings from '../../models/bindings/bindings.js';
15
15
  import * as Persistence from '../../models/persistence/persistence.js';
16
16
  import * as TextUtils from '../../models/text_utils/text_utils.js';
17
17
  import * as Workspace from '../../models/workspace/workspace.js';
18
+ import * as uiI18n from '../../ui/i18n/i18n.js';
18
19
  import * as UI from '../../ui/legacy/legacy.js';
19
20
  import * as Snippets from '../snippets/snippets.js';
20
21
 
@@ -190,7 +191,7 @@ export class FilesNavigatorView extends NavigatorView {
190
191
  const link =
191
192
  UI.XLink.XLink.create('https://goo.gle/devtools-automatic-workspace-folders', 'com.chrome.devtools.json');
192
193
  this.#automaticFileSystemNudge =
193
- i18n.i18n.getFormatLocalizedString(str_, UIStrings.automaticWorkspaceNudge, {PH1: link});
194
+ uiI18n.getFormatLocalizedString(str_, UIStrings.automaticWorkspaceNudge, {PH1: link});
194
195
  this.#automaticFileSystemNudge.classList.add('automatic-file-system-nudge');
195
196
  this.contentElement.insertBefore(this.#automaticFileSystemNudge, this.contentElement.firstChild);
196
197
 
@@ -12,6 +12,7 @@ import * as Workspace from '../../models/workspace/workspace.js';
12
12
  import type * as CodeMirror from '../../third_party/codemirror.next/codemirror.next.js';
13
13
  import * as IconButton from '../../ui/components/icon_button/icon_button.js';
14
14
  import * as Tooltips from '../../ui/components/tooltips/tooltips.js';
15
+ import * as uiI18n from '../../ui/i18n/i18n.js';
15
16
  import * as SourceFrame from '../../ui/legacy/components/source_frame/source_frame.js';
16
17
  import * as UI from '../../ui/legacy/legacy.js';
17
18
  import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
@@ -633,11 +634,11 @@ export class TabbedEditorContainer extends Common.ObjectWrapper.ObjectWrapper<Ev
633
634
  await UI.ViewManager.ViewManager.instance().showView('navigator-files');
634
635
  await automaticFileSystemManager.connectAutomaticFileSystem(/* addIfMissing= */ true);
635
636
  });
636
- tooltip.append(i18n.i18n.getFormatLocalizedString(
637
+ tooltip.append(uiI18n.getFormatLocalizedString(
637
638
  str_, UIStrings.changesWereNotSavedToFileSystemToSaveAddFolderToWorkspace, {PH1: link}));
638
639
  } else {
639
640
  const link = UI.XLink.XLink.create('https://developer.chrome.com/docs/devtools/workspaces/', 'Workspace');
640
- tooltip.append(i18n.i18n.getFormatLocalizedString(
641
+ tooltip.append(uiI18n.getFormatLocalizedString(
641
642
  str_, UIStrings.changesWereNotSavedToFileSystemToSaveSetUpYourWorkspace, {PH1: link}));
642
643
  }
643
644
  suffixElement.append(icon, tooltip);
@@ -94,7 +94,7 @@ const str_ = i18n.i18n.registerUIStrings('panels/sources/WatchExpressionsSidebar
94
94
  const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
95
95
  let watchExpressionsSidebarPaneInstance: WatchExpressionsSidebarPane;
96
96
 
97
- export class WatchExpressionsSidebarPane extends UI.ThrottledWidget.ThrottledWidget implements
97
+ export class WatchExpressionsSidebarPane extends UI.Widget.VBox implements
98
98
  UI.ActionRegistration.ActionDelegate, UI.Toolbar.ItemsProvider,
99
99
  UI.ContextMenu.Provider<ObjectUI.ObjectPropertiesSection.ObjectPropertyTreeElement|UISourceCodeFrame> {
100
100
  private watchExpressions: WatchExpression[];
@@ -106,7 +106,7 @@ export class WatchExpressionsSidebarPane extends UI.ThrottledWidget.ThrottledWid
106
106
  private readonly expandController: ObjectUI.ObjectPropertiesSection.ObjectPropertiesSectionsTreeExpandController;
107
107
  private readonly linkifier: Components.Linkifier.Linkifier;
108
108
  private constructor() {
109
- super(true);
109
+ super({useShadowDom: true});
110
110
  this.registerRequiredCSS(watchExpressionsSidebarPaneStyles, objectValueStyles);
111
111
 
112
112
  // TODO(szuend): Replace with a Set once the web test
@@ -125,7 +125,7 @@ export class WatchExpressionsSidebarPane extends UI.ThrottledWidget.ThrottledWid
125
125
  this.refreshButton = new UI.Toolbar.ToolbarButton(
126
126
  i18nString(UIStrings.refreshWatchExpressions), 'refresh', undefined, 'refresh-watch-expressions');
127
127
  this.refreshButton.setSize(Buttons.Button.Size.SMALL);
128
- this.refreshButton.addEventListener(UI.Toolbar.ToolbarButton.Events.CLICK, this.update, this);
128
+ this.refreshButton.addEventListener(UI.Toolbar.ToolbarButton.Events.CLICK, this.requestUpdate, this);
129
129
 
130
130
  this.contentElement.classList.add('watch-expressions');
131
131
  this.contentElement.setAttribute('jslog', `${VisualLogging.section('sources.watch')}`);
@@ -138,10 +138,10 @@ export class WatchExpressionsSidebarPane extends UI.ThrottledWidget.ThrottledWid
138
138
  this.expandController =
139
139
  new ObjectUI.ObjectPropertiesSection.ObjectPropertiesSectionsTreeExpandController(this.treeOutline);
140
140
 
141
- UI.Context.Context.instance().addFlavorChangeListener(SDK.RuntimeModel.ExecutionContext, this.update, this);
142
- UI.Context.Context.instance().addFlavorChangeListener(SDK.DebuggerModel.CallFrame, this.update, this);
141
+ UI.Context.Context.instance().addFlavorChangeListener(SDK.RuntimeModel.ExecutionContext, this.requestUpdate, this);
142
+ UI.Context.Context.instance().addFlavorChangeListener(SDK.DebuggerModel.CallFrame, this.requestUpdate, this);
143
143
  this.linkifier = new Components.Linkifier.Linkifier();
144
- this.update();
144
+ this.requestUpdate();
145
145
  }
146
146
 
147
147
  static instance(): WatchExpressionsSidebarPane {
@@ -182,7 +182,7 @@ export class WatchExpressionsSidebarPane extends UI.ThrottledWidget.ThrottledWid
182
182
  this.createWatchExpression(null).startEditing();
183
183
  }
184
184
 
185
- override async doUpdate(): Promise<void> {
185
+ override async performUpdate(): Promise<void> {
186
186
  this.linkifier.reset();
187
187
  this.contentElement.removeChildren();
188
188
  this.treeOutline.removeChildren();
@@ -265,14 +265,14 @@ export class WatchExpressionsSidebarPane extends UI.ThrottledWidget.ThrottledWid
265
265
  private deleteAllButtonClicked(): void {
266
266
  this.watchExpressions = [];
267
267
  this.saveExpressions();
268
- this.update();
268
+ this.requestUpdate();
269
269
  }
270
270
 
271
271
  private async focusAndAddExpressionToWatch(expression: string): Promise<void> {
272
272
  await UI.ViewManager.ViewManager.instance().showView('sources.watch');
273
273
  this.createWatchExpression(expression);
274
274
  this.saveExpressions();
275
- this.update();
275
+ this.requestUpdate();
276
276
  }
277
277
 
278
278
  handleAction(_context: UI.Context.Context, _actionId: string): boolean {