chrome-devtools-frontend 1.0.937244 → 1.0.939066

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 (339) hide show
  1. package/.stylelintrc.json +15 -11
  2. package/config/gni/all_devtools_files.gni +0 -19
  3. package/config/gni/devtools_grd_files.gni +2 -9
  4. package/front_end/Images/whatsnew.avif +0 -0
  5. package/front_end/Tests.js +30 -30
  6. package/front_end/core/host/InspectorFrontendHost.ts +16 -30
  7. package/front_end/core/host/InspectorFrontendHostAPI.ts +1 -0
  8. package/front_end/core/host/UserMetrics.ts +25 -0
  9. package/front_end/core/i18n/locales/en-US.json +4 -1
  10. package/front_end/core/i18n/locales/en-XL.json +4 -1
  11. package/front_end/core/platform/string-utilities.ts +23 -0
  12. package/front_end/core/sdk/DOMModel.ts +1 -1
  13. package/front_end/core/sdk/EmulationModel.ts +11 -0
  14. package/front_end/core/sdk/NetworkManager.ts +1 -0
  15. package/front_end/core/sdk/sdk-meta.ts +30 -1
  16. package/front_end/entrypoints/devtools_app/devtools_app.json +0 -4
  17. package/front_end/entrypoints/inspector_main/RenderingOptions.ts +9 -2
  18. package/front_end/entrypoints/inspector_main/inspector_main-meta.ts +0 -3
  19. package/front_end/entrypoints/inspector_main/renderingOptions.css +2 -2
  20. package/front_end/entrypoints/lighthouse_worker/LighthouseService.ts +3 -1
  21. package/front_end/entrypoints/main/MainImpl.ts +15 -0
  22. package/front_end/entrypoints/main/main-meta.ts +0 -2
  23. package/front_end/entrypoints/node_app/node_app-meta.ts +0 -3
  24. package/front_end/entrypoints/node_app/node_app.js +3 -0
  25. package/front_end/entrypoints/node_main/nodeConnectionsPanel.css +2 -2
  26. package/front_end/entrypoints/shell/shell.json +3 -7
  27. package/front_end/entrypoints/worker_app/worker_app.json +0 -2
  28. package/front_end/generated/InspectorBackendCommands.js +14 -5
  29. package/front_end/generated/SupportedCSSProperties.js +8 -4
  30. package/front_end/generated/protocol-mapping.d.ts +10 -0
  31. package/front_end/generated/protocol-proxy-api.d.ts +19 -0
  32. package/front_end/generated/protocol.d.ts +56 -1
  33. package/front_end/legacy_test_runner/test_runner/test_runner.js +2 -4
  34. package/front_end/models/issues_manager/DeprecationIssue.ts +67 -0
  35. package/front_end/models/issues_manager/IssuesManager.ts +5 -0
  36. package/front_end/models/issues_manager/descriptions/deprecation.md +3 -0
  37. package/front_end/models/issues_manager/issues_manager.ts +2 -0
  38. package/front_end/models/persistence/editFileSystemView.css +1 -1
  39. package/front_end/models/persistence/workspaceSettingsTab.css +1 -1
  40. package/front_end/panels/accessibility/AXBreadcrumbsPane.ts +8 -1
  41. package/front_end/panels/accessibility/accessibility-meta.ts +0 -3
  42. package/front_end/panels/accessibility/accessibilityNode.css +2 -2
  43. package/front_end/panels/accessibility/axBreadcrumbs.css +1 -1
  44. package/front_end/panels/animation/animationTimeline.css +5 -5
  45. package/front_end/panels/application/components/ReportsGrid.ts +38 -4
  46. package/front_end/panels/application/components/frameDetailsReportView.css +1 -1
  47. package/front_end/panels/application/components/reportingApiGrid.css +4 -0
  48. package/front_end/panels/application/module.json +1 -3
  49. package/front_end/panels/application/resourcesPanel.css +1 -1
  50. package/front_end/panels/application/resourcesSidebar.css +1 -1
  51. package/front_end/panels/browser_debugger/browser_debugger-meta.ts +0 -5
  52. package/front_end/panels/browser_debugger/xhrBreakpointsSidebarPane.css +2 -5
  53. package/front_end/panels/changes/changesSidebar.css +1 -1
  54. package/front_end/panels/changes/changesView.css +2 -2
  55. package/front_end/panels/console/console-meta.ts +1 -3
  56. package/front_end/panels/console/consolePrompt.css +1 -1
  57. package/front_end/panels/console/consoleSidebar.css +4 -4
  58. package/front_end/panels/console/consoleView.css +2 -2
  59. package/front_end/panels/coverage/coverage-meta.ts +0 -3
  60. package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +18 -17
  61. package/front_end/panels/css_overview/CSSOverviewPanel.ts +31 -10
  62. package/front_end/panels/css_overview/components/cssOverviewStartView.css +1 -1
  63. package/front_end/panels/css_overview/cssOverviewCompletedView.css +8 -8
  64. package/front_end/panels/elements/StylePropertyTreeElement.ts +3 -0
  65. package/front_end/panels/elements/classesPaneWidget.css +1 -1
  66. package/front_end/panels/elements/components/adornerSettingsPane.css +1 -1
  67. package/front_end/panels/elements/computedStyleWidgetTree.css +1 -1
  68. package/front_end/panels/elements/elements-meta.ts +0 -2
  69. package/front_end/panels/elements/elementsPanel.css +1 -1
  70. package/front_end/panels/elements/elementsTreeOutline.css +1 -1
  71. package/front_end/panels/elements/layoutPane.css +1 -1
  72. package/front_end/panels/elements/platformFontsWidget.css +1 -1
  73. package/front_end/panels/elements/stylesSectionTree.css +1 -1
  74. package/front_end/panels/elements/stylesSidebarPane.css +8 -0
  75. package/front_end/panels/event_listeners/EventListenersView.ts +5 -4
  76. package/front_end/panels/event_listeners/eventListenersView.css +3 -2
  77. package/front_end/panels/help/ReleaseNoteText.ts +28 -0
  78. package/front_end/panels/issues/IssueKindView.ts +0 -6
  79. package/front_end/panels/issues/IssueView.ts +19 -27
  80. package/front_end/panels/issues/components/HideIssuesMenu.ts +7 -11
  81. package/front_end/panels/issues/components/hideIssuesMenu.css +8 -0
  82. package/front_end/panels/issues/issuesTree.css +28 -5
  83. package/front_end/panels/lighthouse/lighthouseStartView.css +2 -2
  84. package/front_end/panels/lighthouse/module.json +0 -1
  85. package/front_end/panels/media/module.json +0 -1
  86. package/front_end/panels/media/playerListView.css +1 -1
  87. package/front_end/panels/mobile_throttling/throttlingSettingsTab.css +1 -1
  88. package/front_end/panels/network/NetworkSearchScope.ts +3 -1
  89. package/front_end/panels/network/blockedURLsPane.css +1 -1
  90. package/front_end/panels/network/module.json +0 -1
  91. package/front_end/panels/network/networkConfigView.css +1 -1
  92. package/front_end/panels/network/networkLogView.css +3 -3
  93. package/front_end/panels/profiler/profileLauncherView.css +3 -3
  94. package/front_end/panels/protocol_monitor/ProtocolMonitor.ts +3 -0
  95. package/front_end/panels/protocol_monitor/protocol_monitor-meta.ts +0 -2
  96. package/front_end/panels/security/mainView.css +2 -2
  97. package/front_end/panels/security/originView.css +1 -1
  98. package/front_end/panels/sensors/sensors.css +2 -2
  99. package/front_end/panels/settings/emulation/components/userAgentClientHintsForm.css +1 -1
  100. package/front_end/panels/settings/emulation/devicesSettingsTab.css +4 -4
  101. package/front_end/panels/settings/frameworkIgnoreListSettingsTab.css +1 -1
  102. package/front_end/panels/settings/settingsScreen.css +2 -2
  103. package/front_end/panels/sources/CoveragePlugin.ts +7 -2
  104. package/front_end/panels/sources/JavaScriptBreakpointsSidebarPane.ts +14 -17
  105. package/front_end/panels/sources/callStackSidebarPane.css +1 -1
  106. package/front_end/panels/sources/dialog.css +1 -1
  107. package/front_end/panels/sources/javaScriptBreakpointsSidebarPane.css +19 -45
  108. package/front_end/panels/sources/navigatorTree.css +4 -4
  109. package/front_end/panels/sources/sources-meta.ts +0 -2
  110. package/front_end/panels/sources/sourcesPanel.css +2 -2
  111. package/front_end/panels/sources/threadsSidebarPane.css +1 -1
  112. package/front_end/panels/timeline/components/WebVitalsTooltip.css +1 -1
  113. package/front_end/panels/timeline/historyToolbarButton.css +1 -1
  114. package/front_end/panels/timeline/module.json +0 -1
  115. package/front_end/panels/timeline/timelineStatusDialog.css +1 -1
  116. package/front_end/panels/webauthn/webauthnPane.css +2 -2
  117. package/front_end/third_party/puppeteer/package/CHANGELOG.md +29 -0
  118. package/front_end/third_party/puppeteer/package/README.md +12 -14
  119. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Browser.d.ts +2 -0
  120. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Browser.d.ts.map +1 -1
  121. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Browser.js +13 -5
  122. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Browser.js.map +1 -1
  123. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.js +2 -2
  124. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.js.map +1 -1
  125. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Connection.d.ts +10 -1
  126. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Connection.d.ts.map +1 -1
  127. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Connection.js +25 -7
  128. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Connection.js.map +1 -1
  129. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Coverage.js +6 -6
  130. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Coverage.js.map +1 -1
  131. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DOMWorld.d.ts +3 -1
  132. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DOMWorld.d.ts.map +1 -1
  133. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DOMWorld.js +16 -12
  134. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DOMWorld.js.map +1 -1
  135. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Dialog.js +2 -2
  136. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Dialog.js.map +1 -1
  137. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Errors.d.ts +10 -1
  138. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Errors.d.ts.map +1 -1
  139. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Errors.js +9 -1
  140. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Errors.js.map +1 -1
  141. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/EventEmitter.js +1 -1
  142. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/EventEmitter.js.map +1 -1
  143. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ExecutionContext.js +8 -8
  144. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ExecutionContext.js.map +1 -1
  145. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FileChooser.js +2 -2
  146. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FileChooser.js.map +1 -1
  147. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FrameManager.d.ts +21 -9
  148. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FrameManager.d.ts.map +1 -1
  149. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FrameManager.js +155 -72
  150. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FrameManager.js.map +1 -1
  151. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPRequest.d.ts +5 -0
  152. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPRequest.d.ts.map +1 -1
  153. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPRequest.js +32 -29
  154. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPRequest.js.map +1 -1
  155. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPResponse.d.ts.map +1 -1
  156. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPResponse.js +14 -4
  157. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPResponse.js.map +1 -1
  158. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Input.d.ts +2 -3
  159. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Input.d.ts.map +1 -1
  160. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Input.js +3 -4
  161. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Input.js.map +1 -1
  162. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/JSHandle.d.ts +3 -3
  163. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/JSHandle.d.ts.map +1 -1
  164. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/JSHandle.js +13 -12
  165. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/JSHandle.js.map +1 -1
  166. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/LifecycleWatcher.js +1 -1
  167. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/LifecycleWatcher.js.map +1 -1
  168. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkManager.d.ts.map +1 -1
  169. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkManager.js +2 -5
  170. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkManager.js.map +1 -1
  171. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Page.d.ts +33 -4
  172. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Page.d.ts.map +1 -1
  173. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Page.js +92 -46
  174. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Page.js.map +1 -1
  175. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Puppeteer.js +5 -5
  176. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Puppeteer.js.map +1 -1
  177. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Target.d.ts +3 -1
  178. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Target.d.ts.map +1 -1
  179. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Target.js +3 -2
  180. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Target.js.map +1 -1
  181. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/TaskQueue.d.ts +21 -0
  182. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/TaskQueue.d.ts.map +1 -0
  183. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/TaskQueue.js +30 -0
  184. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/TaskQueue.js.map +1 -0
  185. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Tracing.js +1 -1
  186. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Tracing.js.map +1 -1
  187. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/helper.js +5 -5
  188. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/helper.js.map +1 -1
  189. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserFetcher.js +14 -14
  190. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserFetcher.js.map +1 -1
  191. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserRunner.d.ts.map +1 -1
  192. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserRunner.js +11 -5
  193. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserRunner.js.map +1 -1
  194. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/LaunchOptions.d.ts +4 -0
  195. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/LaunchOptions.d.ts.map +1 -1
  196. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Launcher.d.ts.map +1 -1
  197. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Launcher.js +30 -15
  198. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Launcher.js.map +1 -1
  199. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Puppeteer.js +1 -1
  200. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Puppeteer.js.map +1 -1
  201. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/install.js +2 -2
  202. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/install.js.map +1 -1
  203. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node-puppeteer-core.js +1 -1
  204. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node-puppeteer-core.js.map +1 -1
  205. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node.js +1 -1
  206. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node.js.map +1 -1
  207. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/web.js +1 -1
  208. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/web.js.map +1 -1
  209. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Browser.d.ts +2 -0
  210. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Browser.d.ts.map +1 -1
  211. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Browser.js +9 -1
  212. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Browser.js.map +1 -1
  213. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Connection.d.ts +10 -1
  214. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Connection.d.ts.map +1 -1
  215. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Connection.js +22 -4
  216. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Connection.js.map +1 -1
  217. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DOMWorld.d.ts +3 -1
  218. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DOMWorld.d.ts.map +1 -1
  219. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DOMWorld.js +6 -2
  220. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DOMWorld.js.map +1 -1
  221. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Errors.d.ts +10 -1
  222. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Errors.d.ts.map +1 -1
  223. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Errors.js +7 -0
  224. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Errors.js.map +1 -1
  225. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.d.ts +21 -9
  226. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.d.ts.map +1 -1
  227. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.js +150 -68
  228. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.js.map +1 -1
  229. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.d.ts +5 -0
  230. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.d.ts.map +1 -1
  231. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.js +22 -19
  232. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.js.map +1 -1
  233. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPResponse.d.ts.map +1 -1
  234. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPResponse.js +15 -4
  235. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPResponse.js.map +1 -1
  236. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Input.d.ts +2 -3
  237. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Input.d.ts.map +1 -1
  238. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Input.js +2 -3
  239. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Input.js.map +1 -1
  240. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.d.ts +3 -3
  241. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.d.ts.map +1 -1
  242. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.js +2 -1
  243. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.js.map +1 -1
  244. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.d.ts.map +1 -1
  245. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.js +1 -4
  246. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.js.map +1 -1
  247. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.d.ts +33 -4
  248. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.d.ts.map +1 -1
  249. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.js +69 -23
  250. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.js.map +1 -1
  251. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Target.d.ts +3 -1
  252. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Target.d.ts.map +1 -1
  253. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Target.js +3 -2
  254. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Target.js.map +1 -1
  255. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/TaskQueue.d.ts +21 -0
  256. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/TaskQueue.d.ts.map +1 -0
  257. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/TaskQueue.js +26 -0
  258. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/TaskQueue.js.map +1 -0
  259. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/helper.js +1 -1
  260. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/helper.js.map +1 -1
  261. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserFetcher.js +1 -1
  262. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserFetcher.js.map +1 -1
  263. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserRunner.d.ts.map +1 -1
  264. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserRunner.js +7 -1
  265. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserRunner.js.map +1 -1
  266. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/LaunchOptions.d.ts +4 -0
  267. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/LaunchOptions.d.ts.map +1 -1
  268. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.d.ts.map +1 -1
  269. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.js +27 -12
  270. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.js.map +1 -1
  271. package/front_end/third_party/puppeteer/package/lib/types.d.ts +3862 -3771
  272. package/front_end/third_party/puppeteer/package/package.json +33 -40
  273. package/front_end/ui/components/adorners/adorner.css +1 -1
  274. package/front_end/ui/components/data_grid/DataGrid.ts +3 -1
  275. package/front_end/ui/components/data_grid/DataGridUtils.ts +8 -5
  276. package/front_end/ui/components/data_grid/dataGrid.css +0 -5
  277. package/front_end/ui/components/expandable_list/expandableList.css +1 -1
  278. package/front_end/ui/components/icon_button/iconButton.css +1 -0
  279. package/front_end/ui/components/linear_memory_inspector/valueInterpreterDisplay.css +1 -2
  280. package/front_end/ui/components/linear_memory_inspector/valueInterpreterSettings.css +1 -1
  281. package/front_end/ui/components/report_view/reportKey.css +1 -1
  282. package/front_end/ui/components/report_view/reportValue.css +1 -1
  283. package/front_end/ui/components/settings/settingCheckbox.css +1 -1
  284. package/front_end/ui/legacy/ContextMenu.ts +10 -3
  285. package/front_end/ui/legacy/ListWidget.ts +2 -4
  286. package/front_end/ui/legacy/SoftContextMenu.ts +9 -2
  287. package/front_end/ui/legacy/XLink.ts +6 -6
  288. package/front_end/ui/legacy/checkboxTextLabel.css +2 -2
  289. package/front_end/ui/legacy/components/color_picker/spectrum.css +9 -9
  290. package/front_end/ui/legacy/components/data_grid/dataGrid.css +2 -2
  291. package/front_end/ui/legacy/components/inline_editor/cssAngleEditor.css +3 -3
  292. package/front_end/ui/legacy/components/inline_editor/cssLength.css +1 -1
  293. package/front_end/ui/legacy/components/inline_editor/cssShadowEditor.css +1 -1
  294. package/front_end/ui/legacy/components/inline_editor/fontEditor.css +1 -1
  295. package/front_end/ui/legacy/components/object_ui/objectPropertiesSection.css +2 -2
  296. package/front_end/ui/legacy/components/perf_ui/module.json +1 -3
  297. package/front_end/ui/legacy/components/quick_open/FilteredListWidget.ts +13 -7
  298. package/front_end/ui/legacy/components/quick_open/filteredListWidget.css +2 -2
  299. package/front_end/ui/legacy/components/source_frame/imageView.css +1 -1
  300. package/front_end/ui/legacy/components/source_frame/module.json +0 -1
  301. package/front_end/ui/legacy/components/text_editor/cmdevtools.css +6 -14
  302. package/front_end/ui/legacy/emptyWidget.css +1 -1
  303. package/front_end/ui/legacy/filter.css +1 -1
  304. package/front_end/ui/legacy/infobar.css +2 -2
  305. package/front_end/ui/legacy/inspectorCommon.css +46 -46
  306. package/front_end/ui/legacy/inspectorSyntaxHighlight.css +4 -4
  307. package/front_end/ui/legacy/inspectorSyntaxHighlightDark.css +1 -1
  308. package/front_end/ui/legacy/inspectorViewTabbedPane.css +1 -1
  309. package/front_end/ui/legacy/searchableView.css +1 -1
  310. package/front_end/ui/legacy/softContextMenu.css +11 -1
  311. package/front_end/ui/legacy/tabbedPane.css +5 -0
  312. package/front_end/ui/legacy/textPrompt.css +1 -1
  313. package/front_end/ui/legacy/themeColors.css +1 -0
  314. package/front_end/ui/legacy/toolbar.css +8 -8
  315. package/front_end/ui/legacy/treeoutline.css +20 -4
  316. package/front_end/ui/legacy/viewContainers.css +6 -1
  317. package/inspector_overlay/common.css +2 -2
  318. package/inspector_overlay/tool_highlight.css +1 -1
  319. package/inspector_overlay/tool_paused.css +2 -2
  320. package/package.json +1 -1
  321. package/scripts/build/ninja/copy-file.js +10 -1
  322. package/scripts/build/ninja/copy-files.js +10 -1
  323. package/scripts/eslint_rules/lib/check_test_definitions.js +2 -1
  324. package/scripts/eslint_rules/lib/es_modules_import.js +21 -20
  325. package/scripts/eslint_rules/lib/l10n_filename_matches.js +4 -3
  326. package/scripts/eslint_rules/lib/migrate_create_shadow_root_with_styles.js +2 -2
  327. package/scripts/eslint_rules/lib/migrate_register_required_css.js +1 -1
  328. package/scripts/eslint_rules/tests/check_test_definitions_test.js +34 -0
  329. package/scripts/eslint_rules/tests/es_modules_import_test.js +3 -2
  330. package/scripts/eslint_rules/tests/migrate_create_shadow_root_with_styles_test.js +1 -1
  331. package/scripts/eslint_rules/tests/migrate_register_required_css_test.js +1 -1
  332. package/front_end/entrypoints/inspector_main/module.json +0 -9
  333. package/front_end/panels/accessibility/module.json +0 -7
  334. package/front_end/panels/browser_debugger/module.json +0 -7
  335. package/front_end/panels/console/module.json +0 -6
  336. package/front_end/panels/coverage/module.json +0 -6
  337. package/front_end/panels/elements/module.json +0 -6
  338. package/front_end/panels/protocol_monitor/module.json +0 -6
  339. package/front_end/panels/sources/module.json +0 -7
@@ -112,7 +112,7 @@ circle.animation-keyframe-point:active {
112
112
  }
113
113
 
114
114
  .animation-timeline-header::after {
115
- content: '';
115
+ content: "";
116
116
  height: calc(100% - 48px - 28px);
117
117
  position: absolute;
118
118
  width: 150px;
@@ -184,14 +184,14 @@ circle.animation-keyframe-point:active {
184
184
  height: 100%;
185
185
  width: 100%;
186
186
  top: 28px;
187
- border-left: 1px solid var(--color-syntax-1);
187
+ border-left: 1px solid var(--color-red);
188
188
  z-index: 2;
189
189
  cursor: col-resize;
190
190
  }
191
191
 
192
192
  .animation-scrubber-line {
193
193
  width: 11px;
194
- background: linear-gradient(to right, transparent 5px, var(--color-syntax-1) 5px, var(--color-syntax-1) 6px, transparent 6px);
194
+ background: linear-gradient(to right, transparent 5px, var(--color-red) 5px, var(--color-red) 6px, transparent 6px);
195
195
  position: absolute;
196
196
  top: -28px;
197
197
  height: 28px;
@@ -204,7 +204,7 @@ circle.animation-keyframe-point:active {
204
204
  width: 7px;
205
205
  height: 7px;
206
206
  transform: rotate(45deg);
207
- background: var(--color-syntax-1);
207
+ background: var(--color-red);
208
208
  position: absolute;
209
209
  left: 2px;
210
210
  top: 1px;
@@ -361,7 +361,7 @@ text.animation-timeline-grid-label {
361
361
 
362
362
  .animation-paused::before,
363
363
  .animation-paused::after {
364
- content: '';
364
+ content: "";
365
365
  background: var(--color-background);
366
366
  width: 7px;
367
367
  height: 20px;
@@ -5,6 +5,7 @@
5
5
  import * as i18n from '../../../core/i18n/i18n.js';
6
6
  import * as DataGrid from '../../../ui/components/data_grid/data_grid.js';
7
7
  import * as ComponentHelpers from '../../../ui/components/helpers/helpers.js';
8
+ import * as IconButton from '../../../ui/components/icon_button/icon_button.js';
8
9
  import * as LitHtml from '../../../ui/lit-html/lit-html.js';
9
10
 
10
11
  import type * as Protocol from '../../../generated/protocol.js';
@@ -24,6 +25,33 @@ export const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
24
25
 
25
26
  const {render, html} = LitHtml;
26
27
 
28
+ export class ReportsGridStatusHeader extends HTMLElement {
29
+ static readonly litTagName = LitHtml.literal`devtools-resources-reports-grid-status-header`;
30
+ private readonly shadow = this.attachShadow({mode: 'open'});
31
+
32
+ connectedCallback(): void {
33
+ this.shadow.adoptedStyleSheets = [reportingApiGridStyles];
34
+ this.render();
35
+ }
36
+
37
+ private render(): void {
38
+ // Disabled until https://crbug.com/1079231 is fixed.
39
+ // clang-format off
40
+ render(html`
41
+ ${i18n.i18n.lockedString('Status')}
42
+ <x-link href="https://web.dev/reporting-api/#report-status">
43
+ <${IconButton.Icon.Icon.litTagName} class="inline-icon" .data=${{
44
+ iconName: 'help_outline',
45
+ color: 'var(--color-primary)',
46
+ width: '16px',
47
+ height: '16px',
48
+ } as IconButton.Icon.IconData}></${IconButton.Icon.Icon.litTagName}>
49
+ </x-link>
50
+ `, this.shadow, {host: this});
51
+ // clang-format on
52
+ }
53
+ }
54
+
27
55
  export interface ReportsGridData {
28
56
  reports: Protocol.Network.ReportingApiReport[];
29
57
  }
@@ -59,21 +87,24 @@ export class ReportsGrid extends HTMLElement {
59
87
  {
60
88
  id: 'type',
61
89
  title: i18n.i18n.lockedString('Type'),
62
- widthWeighting: 10,
90
+ widthWeighting: 20,
63
91
  hideable: false,
64
92
  visible: true,
65
93
  },
66
94
  {
67
95
  id: 'status',
68
96
  title: i18n.i18n.lockedString('Status'),
69
- widthWeighting: 10,
97
+ widthWeighting: 20,
70
98
  hideable: false,
71
99
  visible: true,
100
+ titleElement: html`
101
+ <${ReportsGridStatusHeader.litTagName}></${ReportsGridStatusHeader.litTagName}>
102
+ `,
72
103
  },
73
104
  {
74
105
  id: 'destination',
75
106
  title: i18n.i18n.lockedString('Destination'),
76
- widthWeighting: 10,
107
+ widthWeighting: 20,
77
108
  hideable: false,
78
109
  visible: true,
79
110
  },
@@ -116,7 +147,7 @@ export class ReportsGrid extends HTMLElement {
116
147
  </div>
117
148
  `}
118
149
  </div>
119
- `, this.shadow);
150
+ `, this.shadow, {host: this});
120
151
  // clang-format on
121
152
  }
122
153
 
@@ -135,10 +166,13 @@ export class ReportsGrid extends HTMLElement {
135
166
  }
136
167
  }
137
168
 
169
+ ComponentHelpers.CustomElements.defineComponent(
170
+ 'devtools-resources-reports-grid-status-header', ReportsGridStatusHeader);
138
171
  ComponentHelpers.CustomElements.defineComponent('devtools-resources-reports-grid', ReportsGrid);
139
172
 
140
173
  declare global {
141
174
  interface HTMLElementTagNameMap {
175
+ 'devtools-resources-reports-grid-status-header': ReportsGridStatusHeader;
142
176
  'devtools-resources-reports-grid': ReportsGrid;
143
177
  }
144
178
  }
@@ -54,7 +54,7 @@ button.link {
54
54
  }
55
55
 
56
56
  .inline-name::after {
57
- content: ':\u00a0';
57
+ content: ":\u00a0";
58
58
  }
59
59
 
60
60
  .inline-items {
@@ -33,3 +33,7 @@
33
33
  devtools-data-grid-controller {
34
34
  border: 1px solid var(--color-details-hairline);
35
35
  }
36
+
37
+ .inline-icon {
38
+ vertical-align: text-bottom;
39
+ }
@@ -1,9 +1,7 @@
1
1
  {
2
2
  "dependencies": [
3
- "ui/legacy/components/source_frame",
4
3
  "ui/legacy",
5
4
  "ui/legacy/components/perf_ui",
6
- "panels/network",
7
- "panels/sources"
5
+ "panels/network"
8
6
  ]
9
7
  }
@@ -122,7 +122,7 @@
122
122
 
123
123
  .database-query-result {
124
124
  position: relative;
125
- padding: 1px 22px 1px 22px;
125
+ padding: 1px 22px;
126
126
  min-height: 16px;
127
127
  margin-left: -22px;
128
128
  padding-right: 0;
@@ -18,7 +18,7 @@
18
18
  }
19
19
 
20
20
  li.storage-group-list-item {
21
- padding: 10px 8px 6px 8px;
21
+ padding: 10px 8px 6px;
22
22
  }
23
23
 
24
24
  li.storage-group-list-item:not(:first-child) {
@@ -2,7 +2,6 @@
2
2
  // Use of this source code is governed by a BSD-style license that can be
3
3
  // found in the LICENSE file.
4
4
 
5
- import * as Root from '../../core/root/root.js';
6
5
  import * as SDK from '../../core/sdk/sdk.js';
7
6
  import * as UI from '../../ui/legacy/legacy.js';
8
7
 
@@ -83,8 +82,6 @@ let loadedBrowserDebuggerModule: (typeof BrowserDebugger|undefined);
83
82
 
84
83
  async function loadBrowserDebuggerModule(): Promise<typeof BrowserDebugger> {
85
84
  if (!loadedBrowserDebuggerModule) {
86
- // Side-effect import resources in module.json
87
- await Root.Runtime.Runtime.instance().loadModulePromise('panels/browser_debugger');
88
85
  loadedBrowserDebuggerModule = await import('./browser_debugger.js');
89
86
  }
90
87
  return loadedBrowserDebuggerModule;
@@ -99,8 +96,6 @@ let loadedSourcesModule: (typeof Sources|undefined);
99
96
  // collision with node_app as a separate view with the same id is registered in it.
100
97
  async function loadSourcesModule(): Promise<typeof Sources> {
101
98
  if (!loadedSourcesModule) {
102
- // Side-effect import resources in module.json
103
- await Root.Runtime.Runtime.instance().loadModulePromise('sources');
104
99
  loadedSourcesModule = await import('../sources/sources.js');
105
100
  }
106
101
  return loadedSourcesModule;
@@ -15,10 +15,7 @@
15
15
 
16
16
  .breakpoint-condition {
17
17
  display: block;
18
- margin-top: 4px;
19
- margin-bottom: 4px;
20
- margin-left: 23px;
21
- margin-right: 8px;
18
+ margin: 4px 8px 4px 23px;
22
19
  }
23
20
 
24
21
  .breakpoint-condition-input {
@@ -42,7 +39,7 @@
42
39
  background-color: var(--legacy-focus-bg-color);
43
40
  }
44
41
 
45
- .breakpoint-entry [is=dt-checkbox] {
42
+ .breakpoint-entry [is="dt-checkbox"] {
46
43
  max-width: 100%;
47
44
  }
48
45
 
@@ -23,7 +23,7 @@
23
23
  }
24
24
 
25
25
  li .icon {
26
- margin: -3px -5px -3px -5px;
26
+ margin: -3px -5px;
27
27
  background: var(--color-background-elevation-2);
28
28
  }
29
29
 
@@ -4,12 +4,12 @@
4
4
  * found in the LICENSE file.
5
5
  */
6
6
 
7
- [slot=insertion-point-main] {
7
+ [slot="insertion-point-main"] {
8
8
  flex-direction: column;
9
9
  display: flex;
10
10
  }
11
11
 
12
- [slot=insertion-point-sidebar] {
12
+ [slot="insertion-point-sidebar"] {
13
13
  overflow: auto;
14
14
  }
15
15
 
@@ -3,7 +3,6 @@
3
3
  // found in the LICENSE file.
4
4
 
5
5
  import * as Common from '../../core/common/common.js';
6
- import * as Root from '../../core/root/root.js';
7
6
  import * as UI from '../../ui/legacy/legacy.js';
8
7
 
9
8
  // eslint-disable-next-line rulesdir/es_modules_import
@@ -118,8 +117,6 @@ let loadedConsoleModule: (typeof Console|undefined);
118
117
 
119
118
  async function loadConsoleModule(): Promise<typeof Console> {
120
119
  if (!loadedConsoleModule) {
121
- // Side-effect import resources in module.json
122
- await Root.Runtime.Runtime.instance().loadModulePromise('panels/console');
123
120
  loadedConsoleModule = await import('./console.js');
124
121
  }
125
122
  return loadedConsoleModule;
@@ -306,6 +303,7 @@ Common.Settings.registerSettingExtension({
306
303
 
307
304
  Common.Settings.registerSettingExtension({
308
305
  category: Common.Settings.SettingCategory.CONSOLE,
306
+ storageType: Common.Settings.SettingStorageType.Synced,
309
307
  title: i18nLazyString(UIStrings.groupSimilarMessagesInConsole),
310
308
  settingName: 'consoleGroupSimilar',
311
309
  settingType: Common.Settings.SettingType.BOOLEAN,
@@ -5,7 +5,7 @@
5
5
  */
6
6
 
7
7
  #console-prompt .CodeMirror {
8
- padding: 3px 0 1px 0;
8
+ padding: 3px 0 1px;
9
9
  }
10
10
 
11
11
  #console-prompt .CodeMirror-line {
@@ -19,7 +19,7 @@
19
19
  margin: 0 8px;
20
20
  }
21
21
 
22
- [is=ui-icon] {
22
+ [is="ui-icon"] {
23
23
  margin: 0 5px;
24
24
  }
25
25
 
@@ -48,7 +48,7 @@ li .largeicon-navigator-folder {
48
48
  }
49
49
 
50
50
  @media (forced-colors: active) {
51
- [is=ui-icon].icon-mask {
51
+ [is="ui-icon"].icon-mask {
52
52
  background-color: ButtonText;
53
53
  }
54
54
 
@@ -65,8 +65,8 @@ li .largeicon-navigator-folder {
65
65
  color: HighlightText;
66
66
  }
67
67
 
68
- .tree-outline li:hover [is=ui-icon].icon-mask,
69
- .tree-outline li.selected [is=ui-icon].icon-mask,
68
+ .tree-outline li:hover [is="ui-icon"].icon-mask,
69
+ .tree-outline li.selected [is="ui-icon"].icon-mask,
70
70
  .tree-outline li.selected:focus .spritesheet-mediumicons:not(.icon-mask) {
71
71
  background-color: HighlightText !important; /* stylelint-disable-line declaration-no-important */
72
72
  }
@@ -462,7 +462,7 @@
462
462
 
463
463
  @media (forced-colors: active) {
464
464
  .console-message-expand-icon,
465
- .console-warning-level [is=ui-icon].icon-mask.expand-group-icon {
465
+ .console-warning-level [is="ui-icon"].icon-mask.expand-group-icon {
466
466
  forced-color-adjust: none;
467
467
  background-color: ButtonText;
468
468
  }
@@ -493,7 +493,7 @@
493
493
  color: HighlightText;
494
494
  }
495
495
 
496
- .console-message-wrapper:focus [is=ui-icon].icon-mask {
496
+ .console-message-wrapper:focus [is="ui-icon"].icon-mask {
497
497
  background-color: HighlightText;
498
498
  }
499
499
 
@@ -3,7 +3,6 @@
3
3
  // found in the LICENSE file.
4
4
 
5
5
  import * as i18n from '../../core/i18n/i18n.js';
6
- import * as Root from '../../core/root/root.js';
7
6
  import * as UI from '../../ui/legacy/legacy.js';
8
7
 
9
8
  // eslint-disable-next-line rulesdir/es_modules_import
@@ -38,8 +37,6 @@ let loadedCoverageModule: (typeof Coverage|undefined);
38
37
 
39
38
  async function loadCoverageModule(): Promise<typeof Coverage> {
40
39
  if (!loadedCoverageModule) {
41
- // Side-effect import resources in module.json
42
- await Root.Runtime.Runtime.instance().loadModulePromise('panels/coverage');
43
40
  loadedCoverageModule = await import('./coverage.js');
44
41
  }
45
42
  return loadedCoverageModule;
@@ -11,12 +11,9 @@ import * as TextUtils from '../../models/text_utils/text_utils.js';
11
11
  import * as DataGrid from '../../ui/legacy/components/data_grid/data_grid.js';
12
12
  import * as Components from '../../ui/legacy/components/utils/utils.js';
13
13
  import * as UI from '../../ui/legacy/legacy.js';
14
-
15
- import cssOverviewCompletedViewStyles from './cssOverviewCompletedView.css.js';
16
-
17
- import type * as ProtocolProxyApi from '../../generated/protocol-proxy-api.js';
18
14
  import type * as Protocol from '../../generated/protocol.js';
19
15
 
16
+ import cssOverviewCompletedViewStyles from './cssOverviewCompletedView.css.js';
20
17
  import type {OverviewController, PopulateNodesEvent, PopulateNodesEventNodes, PopulateNodesEventNodeTypes} from './CSSOverviewController.js';
21
18
  import {Events as CSSOverViewControllerEvents} from './CSSOverviewController.js';
22
19
  import {CSSOverviewSidebarPanel, SidebarEvents} from './CSSOverviewSidebarPanel.js';
@@ -227,15 +224,14 @@ export class CSSOverviewCompletedView extends UI.Panel.PanelWithSidebar {
227
224
  readonly #resultsContainer: UI.Widget.VBox;
228
225
  readonly #elementContainer: DetailsView;
229
226
  readonly #sideBar: CSSOverviewSidebarPanel;
230
- #cssModel: SDK.CSSModel.CSSModel;
231
- #domModel: SDK.DOMModel.DOMModel;
232
- readonly #domAgent: ProtocolProxyApi.DOMApi;
227
+ #cssModel?: SDK.CSSModel.CSSModel;
228
+ #domModel?: SDK.DOMModel.DOMModel;
233
229
  #linkifier: Components.Linkifier.Linkifier;
234
230
  #viewMap: Map<string, ElementDetailsView>;
235
231
  #data: OverviewData|null;
236
232
  #fragment?: UI.Fragment.Fragment;
237
233
 
238
- constructor(controller: OverviewController, target: SDK.Target.Target) {
234
+ constructor(controller: OverviewController) {
239
235
  super('css_overview_completed_view');
240
236
 
241
237
  this.#controller = controller;
@@ -264,14 +260,6 @@ export class CSSOverviewCompletedView extends UI.Panel.PanelWithSidebar {
264
260
  this.splitWidget().setSidebarWidget(this.#sideBar);
265
261
  this.splitWidget().setMainWidget(this.#mainContainer);
266
262
 
267
- const cssModel = target.model(SDK.CSSModel.CSSModel);
268
- const domModel = target.model(SDK.DOMModel.DOMModel);
269
- if (!cssModel || !domModel) {
270
- throw new Error('Target must provide CSS and DOM models');
271
- }
272
- this.#cssModel = cssModel;
273
- this.#domModel = domModel;
274
- this.#domAgent = target.domAgent();
275
263
  this.#linkifier = new Components.Linkifier.Linkifier(/* maxLinkLength */ 20, /* useLinkDecorator */ true);
276
264
 
277
265
  this.#viewMap = new Map();
@@ -300,6 +288,16 @@ export class CSSOverviewCompletedView extends UI.Panel.PanelWithSidebar {
300
288
  // TODO(paullewis): update the links in the panels in case source has been .
301
289
  }
302
290
 
291
+ initializeModels(target: SDK.Target.Target): void {
292
+ const cssModel = target.model(SDK.CSSModel.CSSModel);
293
+ const domModel = target.model(SDK.DOMModel.DOMModel);
294
+ if (!cssModel || !domModel) {
295
+ throw new Error('Target must provide CSS and DOM models');
296
+ }
297
+ this.#cssModel = cssModel;
298
+ this.#domModel = domModel;
299
+ }
300
+
303
301
  private sideBarItemSelected(event: Common.EventTarget.EventTargetEvent<string>): void {
304
302
  const {data} = event;
305
303
  const section = (this.#fragment as UI.Fragment.Fragment).$(data);
@@ -650,6 +648,9 @@ export class CSSOverviewCompletedView extends UI.Panel.PanelWithSidebar {
650
648
 
651
649
  let view = this.#viewMap.get(id);
652
650
  if (!view) {
651
+ if (!this.#domModel || !this.#cssModel) {
652
+ throw new Error('Unable to initialize CSS Overview, missing models');
653
+ }
653
654
  view = new ElementDetailsView(this.#controller, this.#domModel, this.#cssModel, this.#linkifier);
654
655
  view.populateNodes(payload.nodes);
655
656
  this.#viewMap.set(id, view);
@@ -970,7 +971,7 @@ export class ElementDetailsView extends UI.Widget.Widget {
970
971
  this.#elementGrid.setStriped(true);
971
972
  this.#elementGrid.addEventListener(DataGrid.DataGrid.Events.SortingChanged, this.sortMediaQueryDataGrid.bind(this));
972
973
 
973
- this.element.appendChild(this.#elementGrid.element);
974
+ this.#elementGrid.asWidget().show(this.element);
974
975
  }
975
976
 
976
977
  private sortMediaQueryDataGrid(): void {
@@ -21,12 +21,13 @@ import type {UnusedDeclaration} from './CSSOverviewUnusedDeclarations.js';
21
21
  // eslint-disable-next-line @typescript-eslint/naming-convention
22
22
  let CSSOverviewPanelInstance: CSSOverviewPanel;
23
23
 
24
- export class CSSOverviewPanel extends UI.Panel.Panel {
25
- readonly #model: CSSOverviewModel;
24
+ export class CSSOverviewPanel extends UI.Panel.Panel implements SDK.TargetManager.Observer {
26
25
  readonly #controller: OverviewController;
27
26
  readonly #startView: CSSOverviewComponents.CSSOverviewStartView.CSSOverviewStartView;
28
27
  readonly #processingView: CSSOverviewProcessingView;
29
28
  readonly #completedView: CSSOverviewCompletedView;
29
+ #model?: CSSOverviewModel;
30
+ #target?: SDK.Target.Target;
30
31
  #backgroundColors!: Map<string, Set<Protocol.DOM.BackendNodeId>>;
31
32
  #textColors!: Map<string, Set<Protocol.DOM.BackendNodeId>>;
32
33
  #fillColors!: Map<string, Set<Protocol.DOM.BackendNodeId>>;
@@ -44,15 +45,14 @@ export class CSSOverviewPanel extends UI.Panel.Panel {
44
45
 
45
46
  this.element.classList.add('css-overview-panel');
46
47
 
47
- const [model] = SDK.TargetManager.TargetManager.instance().models(CSSOverviewModel);
48
- this.#model = (model as CSSOverviewModel);
49
-
50
48
  this.#controller = new OverviewController();
51
49
  this.#startView = new CSSOverviewComponents.CSSOverviewStartView.CSSOverviewStartView();
52
50
  this.#startView.addEventListener(
53
51
  'overviewstartrequested', () => this.#controller.dispatchEventToListeners(Events.RequestOverviewStart));
54
52
  this.#processingView = new CSSOverviewProcessingView(this.#controller);
55
- this.#completedView = new CSSOverviewCompletedView(this.#controller, model.target());
53
+ this.#completedView = new CSSOverviewCompletedView(this.#controller);
54
+
55
+ SDK.TargetManager.TargetManager.instance().observeTargets(this);
56
56
 
57
57
  this.#controller.addEventListener(Events.RequestOverviewStart, _event => {
58
58
  Host.userMetrics.actionTaken(Host.UserMetrics.Action.CaptureCssOverviewClicked);
@@ -73,6 +73,26 @@ export class CSSOverviewPanel extends UI.Panel.Panel {
73
73
  return CSSOverviewPanelInstance;
74
74
  }
75
75
 
76
+ targetAdded(target: SDK.Target.Target): void {
77
+ if (this.#target) {
78
+ return;
79
+ }
80
+ this.#target = target;
81
+ this.#completedView.initializeModels(target);
82
+ const [model] = SDK.TargetManager.TargetManager.instance().models(CSSOverviewModel);
83
+ this.#model = (model as CSSOverviewModel);
84
+ }
85
+
86
+ targetRemoved(): void {
87
+ }
88
+
89
+ private getModel(): CSSOverviewModel {
90
+ if (!this.#model) {
91
+ throw new Error('Did not retrieve model information yet.');
92
+ }
93
+ return this.#model;
94
+ }
95
+
76
96
  private reset(): void {
77
97
  this.#backgroundColors = new Map();
78
98
  this.#textColors = new Map();
@@ -104,7 +124,7 @@ export class CSSOverviewPanel extends UI.Panel.Panel {
104
124
  }
105
125
 
106
126
  private requestNodeHighlight(evt: Common.EventTarget.EventTargetEvent<number>): void {
107
- this.#model.highlightNode((evt.data as Protocol.DOM.BackendNodeId));
127
+ this.getModel().highlightNode((evt.data as Protocol.DOM.BackendNodeId));
108
128
  }
109
129
 
110
130
  private renderInitialView(): void {
@@ -144,10 +164,11 @@ export class CSSOverviewPanel extends UI.Panel.Panel {
144
164
  private async startOverview(): Promise<void> {
145
165
  this.renderOverviewStartedView();
146
166
 
167
+ const model = this.getModel();
147
168
  const [globalStyleStats, { elementCount, backgroundColors, textColors, textColorContrastIssues, fillColors, borderColors, fontInfo, unusedDeclarations }, mediaQueries] = await Promise.all([
148
- this.#model.getGlobalStylesheetStats(),
149
- this.#model.getNodeStyleStats(),
150
- this.#model.getMediaQueries(),
169
+ model.getGlobalStylesheetStats(),
170
+ model.getNodeStyleStats(),
171
+ model.getMediaQueries(),
151
172
  ]);
152
173
 
153
174
  if (elementCount) {
@@ -84,7 +84,7 @@ h1 {
84
84
  font-size: 13px;
85
85
  line-height: 20px;
86
86
  letter-spacing: 0.01em;
87
- margin: 9px 0 14px 0;
87
+ margin: 9px 0 14px;
88
88
  }
89
89
 
90
90
  .preview-icon {
@@ -28,7 +28,7 @@
28
28
 
29
29
  .overview-completed-view .colors ul li {
30
30
  display: inline-block;
31
- margin: 0 0 16px 0;
31
+ margin: 0 0 16px;
32
32
  padding: 0 8px 0 0;
33
33
  }
34
34
 
@@ -111,7 +111,7 @@
111
111
  font-size: 15px;
112
112
  font-weight: normal;
113
113
  padding: 0;
114
- margin: 0 0 20px 0;
114
+ margin: 0 0 20px;
115
115
  padding-left: calc(var(--overview-default-padding) + var(--overview-icon-padding));
116
116
  position: relative;
117
117
  height: 26px;
@@ -119,7 +119,7 @@
119
119
  }
120
120
 
121
121
  .results-section h1::before {
122
- content: '';
122
+ content: "";
123
123
  display: block;
124
124
  position: absolute;
125
125
  left: var(--overview-default-padding);
@@ -264,14 +264,14 @@
264
264
  .overview-completed-view .font-info h2 {
265
265
  font-size: 14px;
266
266
  font-weight: bold;
267
- margin: 0 0 1em 0;
267
+ margin: 0 0 1em;
268
268
  }
269
269
 
270
270
  .overview-completed-view .font-info h3 {
271
271
  font-size: 13px;
272
272
  font-weight: normal;
273
273
  font-style: italic;
274
- margin: 0 0 0.5em 0;
274
+ margin: 0 0 0.5em;
275
275
  }
276
276
 
277
277
  .overview-completed-view .font-info {
@@ -300,7 +300,7 @@
300
300
  width: 30px;
301
301
  }
302
302
 
303
- .contrast-warning [is=ui-icon] {
303
+ .contrast-warning [is="ui-icon"] {
304
304
  margin-left: 5px;
305
305
  }
306
306
 
@@ -318,11 +318,11 @@
318
318
  min-width: initial;
319
319
  }
320
320
 
321
- [is=ui-icon].smallicon-checkmark-square {
321
+ [is="ui-icon"].smallicon-checkmark-square {
322
322
  background-color: var(--color-green);
323
323
  }
324
324
 
325
- [is=ui-icon].smallicon-no {
325
+ [is="ui-icon"].smallicon-no {
326
326
  background-color: var(--color-red);
327
327
  }
328
328
 
@@ -1440,11 +1440,14 @@ export class StylePropertyTreeElement extends UI.TreeOutline.TreeElement {
1440
1440
  const currentNode = this.parentPaneInternal.node();
1441
1441
  this.parentPaneInternal.setUserOperation(true);
1442
1442
 
1443
+ styleText += Platform.StringUtilities.findUnclosedCssQuote(styleText);
1444
+
1443
1445
  // Append a ";" if the new text does not end in ";".
1444
1446
  // FIXME: this does not handle trailing comments.
1445
1447
  if (styleText.length && !/;\s*$/.test(styleText)) {
1446
1448
  styleText += ';';
1447
1449
  }
1450
+
1448
1451
  const overwriteProperty = !this.newProperty || hasBeenEditedIncrementally;
1449
1452
  let success: boolean = await this.property.setText(styleText, majorChange, overwriteProperty);
1450
1453
  // Revert to the original text if applying the new text failed
@@ -16,7 +16,7 @@
16
16
  justify-content: flex-start;
17
17
  }
18
18
 
19
- .styles-element-classes-pane [is=dt-checkbox] {
19
+ .styles-element-classes-pane [is="dt-checkbox"] {
20
20
  margin-right: 15px;
21
21
  }
22
22
 
@@ -44,7 +44,7 @@
44
44
 
45
45
  .close::before,
46
46
  .close::after {
47
- content: '';
47
+ content: "";
48
48
  display: inline-block;
49
49
  position: absolute;
50
50
  left: 0;
@@ -32,7 +32,7 @@
32
32
  }
33
33
 
34
34
  .group-title > h1 {
35
- margin: 1px 0 0 0;
35
+ margin: 1px 0 0;
36
36
  padding: 1em 0;
37
37
  width: 100%;
38
38
  cursor: pointer;
@@ -140,8 +140,6 @@ let loadedElementsModule: (typeof Elements|undefined);
140
140
 
141
141
  async function loadElementsModule(): Promise<typeof Elements> {
142
142
  if (!loadedElementsModule) {
143
- // Side-effect import resources in module.json
144
- await Root.Runtime.Runtime.instance().loadModulePromise('panels/elements');
145
143
  loadedElementsModule = await import('./elements.js');
146
144
  }
147
145
  return loadedElementsModule;
@@ -30,7 +30,7 @@
30
30
  #elements-content {
31
31
  flex: 1 1;
32
32
  overflow: auto;
33
- padding: 2px 0 0 0;
33
+ padding: 2px 0 0;
34
34
  }
35
35
 
36
36
  .style-panes-wrapper {