chrome-devtools-frontend 1.0.1473514 → 1.0.1506453

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 (1522) hide show
  1. package/.gemini/commands/migrate-e2e-non-hosted.toml +43 -0
  2. package/.gemini/commands/review.toml +85 -0
  3. package/.geminiignore +6 -0
  4. package/.github/workflows/auto-close-prs.yml +30 -0
  5. package/.stylelintignore +0 -1
  6. package/.vscode/devtools-workspace-settings.json +2 -1
  7. package/AUTHORS +3 -0
  8. package/WATCHLISTS +0 -4
  9. package/config/gni/devtools_grd_files.gni +92 -47
  10. package/config/gni/devtools_image_files.gni +8 -0
  11. package/config/gni/i18n.gni +3 -2
  12. package/config/owner/COMMON_OWNERS +2 -0
  13. package/docs/README.md +2 -2
  14. package/docs/architecture_of_devtools.md +8 -8
  15. package/docs/committers_policy.md +2 -0
  16. package/docs/contributing/README.md +29 -5
  17. package/docs/contributing/changes.md +1 -1
  18. package/docs/contributing/images/quickstart-vscode-tsversion.png +0 -0
  19. package/docs/contributing/infrastructure.md +89 -0
  20. package/docs/cookbook/localization.md +86 -79
  21. package/docs/get_the_code.md +9 -9
  22. package/docs/styleguide/ux/components.md +190 -2
  23. package/docs/styleguide/ux/glossary.md +16 -0
  24. package/docs/styleguide/ux/images/context-menu-example.png +0 -0
  25. package/docs/ui_engineering.md +80 -19
  26. package/eslint.config.mjs +64 -23
  27. package/extension-api/ExtensionAPI.d.ts +3 -0
  28. package/extensions/cxx_debugging/CMakeLists.txt +0 -6
  29. package/extensions/cxx_debugging/e2e/MochaRootHooks.ts +3 -1
  30. package/extensions/cxx_debugging/e2e/TestDriver.ts +1 -2
  31. package/extensions/cxx_debugging/src/GlobMatch.ts +1 -1
  32. package/extensions/cxx_debugging/src/ModuleConfiguration.ts +2 -2
  33. package/extensions/cxx_debugging/third_party/llvm/README.chromium +2 -0
  34. package/extensions/cxx_debugging/tools/bootstrap.py +7 -0
  35. package/front_end/Images/generate-css-vars.js +1 -1
  36. package/front_end/Images/readme.md +1 -2
  37. package/front_end/Images/rollup.config.mjs +12 -1
  38. package/front_end/Images/src/baseline-high-availability.svg +17 -0
  39. package/front_end/Images/src/baseline-limited-availability.svg +19 -0
  40. package/front_end/Images/src/baseline-low-availability.svg +31 -0
  41. package/front_end/Images/src/bucket.svg +4 -0
  42. package/front_end/Images/src/label-auto.svg +3 -0
  43. package/front_end/Images/src/shield.svg +3 -0
  44. package/front_end/Images/src/smart-assistant.svg +3 -1
  45. package/front_end/Images/src/speculative-loads.svg +1 -0
  46. package/front_end/Images/src/text-analysis.svg +3 -0
  47. package/front_end/Tests.js +78 -230
  48. package/front_end/application_tokens.css +7 -1
  49. package/front_end/core/common/Base64.test.ts +1 -1
  50. package/front_end/core/common/Base64.ts +3 -3
  51. package/front_end/core/common/Color.ts +38 -0
  52. package/front_end/core/common/Debouncer.ts +3 -3
  53. package/front_end/core/common/EventTarget.test.ts +1 -0
  54. package/front_end/core/common/Gzip.test.ts +63 -0
  55. package/front_end/core/common/Gzip.ts +72 -0
  56. package/front_end/core/common/ResourceType.ts +29 -29
  57. package/front_end/core/common/ReturnToPanel.ts +15 -0
  58. package/front_end/core/common/Revealer.ts +10 -10
  59. package/front_end/core/common/SettingRegistration.ts +22 -22
  60. package/front_end/core/common/Settings.test.ts +151 -18
  61. package/front_end/core/common/Settings.ts +99 -8
  62. package/front_end/core/common/SimpleHistoryManager.ts +0 -17
  63. package/front_end/core/common/common.ts +4 -0
  64. package/front_end/core/host/AidaClient.test.ts +103 -2
  65. package/front_end/core/host/AidaClient.ts +161 -31
  66. package/front_end/core/host/InspectorFrontendHost.ts +57 -48
  67. package/front_end/core/host/InspectorFrontendHostAPI.ts +11 -0
  68. package/front_end/core/host/ResourceLoader.ts +15 -15
  69. package/front_end/core/host/UserMetrics.ts +27 -13
  70. package/front_end/core/i18n/NumberFormatter.test.ts +92 -0
  71. package/front_end/core/i18n/NumberFormatter.ts +9 -9
  72. package/front_end/core/i18n/collect-ui-strings.js +3 -3
  73. package/front_end/core/i18n/time-utilities.ts +3 -14
  74. package/front_end/core/platform/Brand.ts +8 -1
  75. package/front_end/core/platform/DevToolsPath.ts +1 -1
  76. package/front_end/core/platform/StringUtilities.test.ts +54 -1
  77. package/front_end/core/platform/StringUtilities.ts +34 -8
  78. package/front_end/core/protocol_client/InspectorBackend.ts +9 -9
  79. package/front_end/core/root/Runtime.ts +52 -8
  80. package/front_end/core/sdk/AnimationModel.test.ts +0 -24
  81. package/front_end/core/sdk/AnimationModel.ts +1 -95
  82. package/front_end/core/sdk/AutofillModel.ts +8 -2
  83. package/front_end/core/sdk/CPUProfilerModel.ts +2 -2
  84. package/front_end/core/sdk/CSSContainerQuery.test.ts +15 -0
  85. package/front_end/core/sdk/CSSContainerQuery.ts +3 -1
  86. package/front_end/core/sdk/CSSMatchedStyles.test.ts +2 -1
  87. package/front_end/core/sdk/CSSMatchedStyles.ts +79 -50
  88. package/front_end/core/sdk/CSSModel.ts +20 -7
  89. package/front_end/core/sdk/CSSPropertyParser.test.ts +4 -3
  90. package/front_end/core/sdk/CSSPropertyParser.ts +12 -4
  91. package/front_end/core/sdk/CSSPropertyParserMatchers.test.ts +46 -15
  92. package/front_end/core/sdk/CSSPropertyParserMatchers.ts +131 -58
  93. package/front_end/core/sdk/CSSRule.ts +44 -44
  94. package/front_end/core/sdk/CSSStyleSheetHeader.ts +2 -6
  95. package/front_end/core/sdk/ChildTargetManager.ts +1 -1
  96. package/front_end/core/sdk/CompilerSourceMappingContentProvider.ts +3 -8
  97. package/front_end/core/sdk/Connections.ts +17 -30
  98. package/front_end/core/sdk/ConsoleModel.ts +9 -9
  99. package/front_end/core/sdk/DOMModel.ts +45 -16
  100. package/front_end/core/sdk/DebuggerModel.test.ts +7 -4
  101. package/front_end/core/sdk/DebuggerModel.ts +55 -11
  102. package/front_end/core/sdk/EmulationModel.ts +13 -0
  103. package/front_end/core/sdk/EventBreakpointsModel.ts +2 -2
  104. package/front_end/core/sdk/IOModel.ts +28 -2
  105. package/front_end/core/sdk/NetworkManager.test.ts +0 -27
  106. package/front_end/core/sdk/NetworkManager.ts +137 -105
  107. package/front_end/core/sdk/NetworkRequest.ts +747 -616
  108. package/front_end/core/sdk/OverlayModel.ts +4 -8
  109. package/front_end/core/sdk/PageResourceLoader.ts +32 -13
  110. package/front_end/core/sdk/PreloadingModel.ts +1 -0
  111. package/front_end/core/sdk/RehydratingConnection.ts +13 -14
  112. package/front_end/core/sdk/RemoteObject.test.ts +24 -2
  113. package/front_end/core/sdk/RemoteObject.ts +0 -3
  114. package/front_end/core/sdk/Resource.ts +0 -5
  115. package/front_end/core/sdk/RuntimeModel.ts +2 -1
  116. package/front_end/core/sdk/Script.ts +2 -7
  117. package/front_end/core/sdk/ServerTiming.ts +12 -12
  118. package/front_end/core/sdk/ServiceWorkerCacheModel.ts +7 -3
  119. package/front_end/core/sdk/ServiceWorkerManager.ts +14 -18
  120. package/front_end/core/sdk/SourceMap.test.ts +55 -73
  121. package/front_end/core/sdk/SourceMap.ts +14 -11
  122. package/front_end/core/sdk/SourceMapFunctionRanges.ts +15 -9
  123. package/front_end/core/sdk/SourceMapScopeChainEntry.test.ts +6 -5
  124. package/front_end/core/sdk/SourceMapScopeChainEntry.ts +14 -14
  125. package/front_end/core/sdk/SourceMapScopesInfo.test.ts +232 -317
  126. package/front_end/core/sdk/SourceMapScopesInfo.ts +26 -25
  127. package/front_end/core/sdk/StorageBucketsModel.ts +4 -0
  128. package/front_end/core/sdk/Target.ts +2 -2
  129. package/front_end/core/sdk/TargetManager.ts +1 -1
  130. package/front_end/core/sdk/sdk-meta.ts +86 -86
  131. package/front_end/core/sdk/sdk.ts +0 -2
  132. package/front_end/design_system_tokens.css +1 -1
  133. package/front_end/devtools_compatibility.js +201 -177
  134. package/front_end/entrypoints/inspector_main/InspectorMain.ts +12 -0
  135. package/front_end/entrypoints/inspector_main/OutermostTargetSelector.ts +3 -3
  136. package/front_end/entrypoints/inspector_main/RenderingOptions.ts +1 -1
  137. package/front_end/entrypoints/inspector_main/inspector_main-meta.ts +1 -1
  138. package/front_end/entrypoints/js_app/js_app.ts +3 -3
  139. package/front_end/entrypoints/lighthouse_worker/LighthouseWorkerService.ts +1 -1
  140. package/front_end/entrypoints/main/GlobalAiButton.test.ts +132 -0
  141. package/front_end/entrypoints/main/GlobalAiButton.ts +141 -0
  142. package/front_end/entrypoints/main/MainImpl.test.ts +27 -0
  143. package/front_end/entrypoints/main/MainImpl.ts +179 -47
  144. package/front_end/entrypoints/main/globalAiButton.css +72 -0
  145. package/front_end/entrypoints/main/main-meta.ts +82 -42
  146. package/front_end/entrypoints/main/main.ts +2 -0
  147. package/front_end/entrypoints/node_app/NodeConnectionsPanel.ts +6 -6
  148. package/front_end/entrypoints/node_app/NodeMain.ts +8 -7
  149. package/front_end/entrypoints/node_app/node_app.ts +5 -5
  150. package/front_end/entrypoints/wasmparser_worker/WasmParserWorker.ts +1 -1
  151. package/front_end/entrypoints/worker_app/WorkerMain.ts +1 -1
  152. package/front_end/generated/Deprecation.ts +7 -29
  153. package/front_end/generated/InspectorBackendCommands.js +183 -167
  154. package/front_end/generated/SupportedCSSProperties.js +252 -166
  155. package/front_end/generated/protocol-mapping.d.ts +687 -608
  156. package/front_end/generated/protocol-proxy-api.d.ts +782 -672
  157. package/front_end/generated/protocol.ts +11862 -11509
  158. package/front_end/global_typings/global_defs.d.ts +5 -0
  159. package/front_end/legacy_test_runner/accessibility_test_runner/accessibility_test_runner.js +1 -1
  160. package/front_end/legacy_test_runner/application_test_runner/CacheStorageTestRunner.js +1 -1
  161. package/front_end/legacy_test_runner/application_test_runner/IndexedDBTestRunner.js +1 -1
  162. package/front_end/legacy_test_runner/application_test_runner/ResourceTreeTestRunner.js +1 -1
  163. package/front_end/legacy_test_runner/application_test_runner/ResourcesTestRunner.js +1 -1
  164. package/front_end/legacy_test_runner/application_test_runner/ServiceWorkersTestRunner.js +1 -1
  165. package/front_end/legacy_test_runner/application_test_runner/StorageTestRunner.js +1 -1
  166. package/front_end/legacy_test_runner/axe_core_test_runner/axe_core_test_runner.js +1 -1
  167. package/front_end/legacy_test_runner/bindings_test_runner/AutomappingTestRunner.js +1 -1
  168. package/front_end/legacy_test_runner/bindings_test_runner/BindingsTestRunner.js +1 -1
  169. package/front_end/legacy_test_runner/bindings_test_runner/IsolatedFilesystemTestRunner.js +1 -1
  170. package/front_end/legacy_test_runner/bindings_test_runner/OverridesTestRunner.js +1 -1
  171. package/front_end/legacy_test_runner/bindings_test_runner/PersistenceTestRunner.js +1 -1
  172. package/front_end/legacy_test_runner/console_test_runner/console_test_runner.js +20 -20
  173. package/front_end/legacy_test_runner/coverage_test_runner/coverage_test_runner.js +11 -11
  174. package/front_end/legacy_test_runner/data_grid_test_runner/data_grid_test_runner.js +1 -1
  175. package/front_end/legacy_test_runner/device_mode_test_runner/device_mode_test_runner.js +1 -1
  176. package/front_end/legacy_test_runner/elements_test_runner/EditDOMTestRunner.js +1 -1
  177. package/front_end/legacy_test_runner/elements_test_runner/ElementsPanelShadowSelectionOnRefreshTestRunner.js +1 -1
  178. package/front_end/legacy_test_runner/elements_test_runner/ElementsTestRunner.js +6 -80
  179. package/front_end/legacy_test_runner/elements_test_runner/SetOuterHTMLTestRunner.js +1 -1
  180. package/front_end/legacy_test_runner/elements_test_runner/StylesUpdateLinksTestRunner.js +1 -1
  181. package/front_end/legacy_test_runner/extensions_test_runner/ExtensionsNetworkTestRunner.js +1 -1
  182. package/front_end/legacy_test_runner/extensions_test_runner/ExtensionsTestRunner.js +1 -1
  183. package/front_end/legacy_test_runner/heap_profiler_test_runner/heap_profiler_test_runner.js +2 -2
  184. package/front_end/legacy_test_runner/layers_test_runner/layers_test_runner.js +1 -1
  185. package/front_end/legacy_test_runner/network_test_runner/network_test_runner.js +1 -1
  186. package/front_end/legacy_test_runner/performance_test_runner/TimelineDataTestRunner.js +1 -1
  187. package/front_end/legacy_test_runner/performance_test_runner/TimelineTestRunner.js +1 -10
  188. package/front_end/legacy_test_runner/sdk_test_runner/sdk_test_runner.js +1 -1
  189. package/front_end/legacy_test_runner/security_test_runner/security_test_runner.js +1 -1
  190. package/front_end/legacy_test_runner/sources_test_runner/AutocompleteTestRunner.js +1 -1
  191. package/front_end/legacy_test_runner/sources_test_runner/DebuggerTestRunner.js +4 -4
  192. package/front_end/legacy_test_runner/sources_test_runner/EditorTestRunner.js +1 -1
  193. package/front_end/legacy_test_runner/sources_test_runner/LiveEditTestRunner.js +1 -1
  194. package/front_end/legacy_test_runner/sources_test_runner/SearchTestRunner.js +1 -1
  195. package/front_end/legacy_test_runner/sources_test_runner/SourcesTestRunner.js +2 -2
  196. package/front_end/legacy_test_runner/test_runner/TestRunner.js +45 -45
  197. package/front_end/legacy_test_runner/test_runner/test_runner.js +4 -4
  198. package/front_end/models/ai_assistance/AiHistoryStorage.snapshot.txt +66 -0
  199. package/front_end/models/ai_assistance/AiHistoryStorage.test.ts +82 -3
  200. package/front_end/models/ai_assistance/AiHistoryStorage.ts +95 -6
  201. package/front_end/models/ai_assistance/AiUtils.ts +1 -1
  202. package/front_end/models/ai_assistance/ConversationHandler.test.ts +355 -0
  203. package/front_end/models/ai_assistance/ConversationHandler.ts +380 -0
  204. package/front_end/models/ai_assistance/ExtensionScope.ts +1 -4
  205. package/front_end/models/ai_assistance/README.md +79 -0
  206. package/front_end/models/ai_assistance/agents/AiAgent.test.ts +22 -1
  207. package/front_end/models/ai_assistance/agents/AiAgent.ts +76 -95
  208. package/front_end/models/ai_assistance/agents/FileAgent.test.ts +3 -2
  209. package/front_end/models/ai_assistance/agents/FileAgent.ts +1 -1
  210. package/front_end/models/ai_assistance/agents/NetworkAgent.ts +7 -7
  211. package/front_end/models/ai_assistance/agents/PerformanceAgent.test.ts +591 -62
  212. package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +1111 -117
  213. package/front_end/models/ai_assistance/agents/PerformanceAnnotationsAgent.test.ts +4 -2
  214. package/front_end/models/ai_assistance/agents/PerformanceAnnotationsAgent.ts +75 -5
  215. package/front_end/models/ai_assistance/agents/StylingAgent.test.ts +166 -507
  216. package/front_end/models/ai_assistance/agents/StylingAgent.ts +125 -319
  217. package/front_end/models/ai_assistance/ai_assistance.ts +2 -1
  218. package/front_end/models/ai_assistance/data_formatters/FileFormatter.test.ts +3 -2
  219. package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.snapshot.txt +725 -0
  220. package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.test.ts +249 -274
  221. package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.ts +494 -83
  222. package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.snapshot.txt +556 -0
  223. package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.test.ts +92 -0
  224. package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.ts +359 -0
  225. package/front_end/models/ai_assistance/debug.ts +1 -1
  226. package/front_end/models/ai_assistance/injected.ts +1 -1
  227. package/front_end/models/ai_code_completion/AiCodeCompletion.test.ts +328 -0
  228. package/front_end/models/ai_code_completion/AiCodeCompletion.ts +289 -0
  229. package/front_end/models/ai_code_completion/ai_code_completion.ts +6 -0
  230. package/front_end/models/ai_code_completion/debug.ts +30 -0
  231. package/front_end/models/autofill_manager/AutofillManager.test.ts +0 -6
  232. package/front_end/models/autofill_manager/AutofillManager.ts +16 -9
  233. package/front_end/models/bindings/CSSWorkspaceBinding.ts +0 -4
  234. package/front_end/models/bindings/CompilerScriptMapping.test.ts +8 -4
  235. package/front_end/models/bindings/CompilerScriptMapping.ts +12 -5
  236. package/front_end/models/bindings/DebuggerLanguagePlugins.test.ts +7 -2
  237. package/front_end/models/bindings/DebuggerLanguagePlugins.ts +33 -24
  238. package/front_end/models/bindings/DebuggerWorkspaceBinding.test.ts +95 -3
  239. package/front_end/models/bindings/DebuggerWorkspaceBinding.ts +94 -21
  240. package/front_end/models/bindings/DefaultScriptMapping.test.ts +3 -2
  241. package/front_end/models/bindings/FileUtils.test.ts +1 -10
  242. package/front_end/models/bindings/FileUtils.ts +6 -22
  243. package/front_end/models/bindings/LiveLocation.ts +0 -5
  244. package/front_end/models/bindings/PresentationConsoleMessageHelper.test.ts +7 -2
  245. package/front_end/models/bindings/PresentationConsoleMessageHelper.ts +0 -4
  246. package/front_end/models/bindings/ResourceMapping.test.ts +7 -2
  247. package/front_end/models/bindings/ResourceMapping.ts +0 -4
  248. package/front_end/models/bindings/ResourceScriptMapping.test.ts +2 -1
  249. package/front_end/models/bindings/ResourceScriptMapping.ts +4 -4
  250. package/front_end/models/bindings/SASSSourceMapping.ts +1 -1
  251. package/front_end/models/bindings/StylesSourceMapping.ts +0 -5
  252. package/front_end/models/bindings/bindings.ts +0 -2
  253. package/front_end/models/breakpoints/BreakpointManager.test.ts +9 -2
  254. package/front_end/models/cpu_profile/CPUProfileDataModel.ts +4 -2
  255. package/front_end/models/elements/ElementUpdateRecord.ts +101 -0
  256. package/front_end/models/elements/elements.ts +9 -0
  257. package/front_end/models/emulation/DeviceModeModel.ts +6 -22
  258. package/front_end/models/emulation/EmulatedDevices.ts +12 -12
  259. package/front_end/models/extensions/ExtensionAPI.ts +9 -5
  260. package/front_end/models/extensions/ExtensionPanel.ts +5 -2
  261. package/front_end/models/extensions/ExtensionServer.test.ts +122 -16
  262. package/front_end/models/extensions/ExtensionServer.ts +114 -31
  263. package/front_end/models/extensions/ExtensionView.ts +1 -1
  264. package/front_end/models/extensions/LanguageExtensionEndpoint.ts +14 -7
  265. package/front_end/models/har/HARFormat.ts +1 -1
  266. package/front_end/models/har/Importer.test.ts +40 -0
  267. package/front_end/models/har/Importer.ts +35 -1
  268. package/front_end/models/har/Writer.test.ts +3 -2
  269. package/front_end/models/har/Writer.ts +2 -2
  270. package/front_end/models/issues_manager/BounceTrackingIssue.ts +1 -1
  271. package/front_end/models/issues_manager/ClientHintIssue.ts +1 -1
  272. package/front_end/models/issues_manager/ContentSecurityPolicyIssue.ts +5 -5
  273. package/front_end/models/issues_manager/CookieIssue.ts +2 -2
  274. package/front_end/models/issues_manager/CorsIssue.ts +3 -3
  275. package/front_end/models/issues_manager/CrossOriginEmbedderPolicyIssue.ts +2 -2
  276. package/front_end/models/issues_manager/{SelectElementAccessibilityIssue.test.ts → ElementAccessibilityIssue.test.ts} +22 -21
  277. package/front_end/models/issues_manager/{SelectElementAccessibilityIssue.ts → ElementAccessibilityIssue.ts} +29 -21
  278. package/front_end/models/issues_manager/FederatedAuthRequestIssue.ts +1 -1
  279. package/front_end/models/issues_manager/FederatedAuthUserInfoRequestIssue.ts +1 -1
  280. package/front_end/models/issues_manager/GenericIssue.ts +4 -4
  281. package/front_end/models/issues_manager/HeavyAdIssue.ts +1 -1
  282. package/front_end/models/issues_manager/Issue.ts +6 -6
  283. package/front_end/models/issues_manager/IssuesManager.ts +8 -3
  284. package/front_end/models/issues_manager/LowTextContrastIssue.ts +1 -1
  285. package/front_end/models/issues_manager/MarkdownIssueDescription.ts +1 -1
  286. package/front_end/models/issues_manager/MixedContentIssue.ts +1 -1
  287. package/front_end/models/issues_manager/PartitioningBlobURLIssue.ts +2 -2
  288. package/front_end/models/issues_manager/QuirksModeIssue.ts +1 -1
  289. package/front_end/models/issues_manager/SRIMessageSignatureIssue.ts +3 -3
  290. package/front_end/models/issues_manager/SharedArrayBufferIssue.ts +1 -1
  291. package/front_end/models/issues_manager/SharedDictionaryIssue.ts +1 -1
  292. package/front_end/models/issues_manager/UnencodedDigestIssue.test.ts +49 -0
  293. package/front_end/models/issues_manager/UnencodedDigestIssue.ts +88 -0
  294. package/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderValueNotInnerList.md +1 -1
  295. package/front_end/models/issues_manager/descriptions/sriValidationFailedIntegrityMismatch.md +1 -3
  296. package/front_end/models/issues_manager/descriptions/summaryElementAccessibilityInteractiveContentSummaryDescendant.md +3 -0
  297. package/front_end/models/issues_manager/descriptions/unencodedDigestIncorrectDigestLength.md +12 -0
  298. package/front_end/models/issues_manager/descriptions/unencodedDigestIncorrectDigestType.md +17 -0
  299. package/front_end/models/issues_manager/descriptions/unencodedDigestMalformedDictionary.md +14 -0
  300. package/front_end/models/issues_manager/descriptions/unencodedDigestUnknownAlgorithm.md +15 -0
  301. package/front_end/models/issues_manager/descriptions/userReidentificationBlocked.md +1 -1
  302. package/front_end/models/issues_manager/issues_manager.ts +4 -2
  303. package/front_end/models/javascript_metadata/NativeFunctions.js +201 -127
  304. package/front_end/models/live-metrics/web-vitals-injected/OnEachInteraction.ts +1 -1
  305. package/front_end/models/live-metrics/web-vitals-injected/rollup.config.mjs +1 -1
  306. package/front_end/models/logs/NetworkLog.ts +74 -83
  307. package/front_end/models/logs/logs-meta.ts +4 -4
  308. package/front_end/models/persistence/AutomaticFileSystemManager.test.ts +0 -39
  309. package/front_end/models/persistence/AutomaticFileSystemManager.ts +14 -21
  310. package/front_end/models/persistence/EditFileSystemView.ts +6 -6
  311. package/front_end/models/persistence/IsolatedFileSystem.ts +27 -9
  312. package/front_end/models/persistence/IsolatedFileSystemManager.ts +16 -3
  313. package/front_end/models/persistence/NetworkPersistenceManager.ts +7 -3
  314. package/front_end/models/persistence/PersistenceAction.test.ts +10 -7
  315. package/front_end/models/persistence/PersistenceActions.ts +26 -15
  316. package/front_end/models/persistence/PersistenceImpl.test.ts +2 -1
  317. package/front_end/models/persistence/PersistenceImpl.ts +7 -4
  318. package/front_end/models/persistence/PersistenceUtils.ts +10 -7
  319. package/front_end/models/persistence/PlatformFileSystem.ts +11 -2
  320. package/front_end/models/persistence/WorkspaceSettingsTab.ts +6 -6
  321. package/front_end/models/persistence/editFileSystemView.css +17 -15
  322. package/front_end/models/persistence/persistence-meta.ts +10 -10
  323. package/front_end/models/persistence/workspaceSettingsTab.css +29 -27
  324. package/front_end/models/project_settings/ProjectSettingsModel.ts +2 -2
  325. package/front_end/models/source_map_scopes/NamesResolver.test.ts +3 -2
  326. package/front_end/models/source_map_scopes/NamesResolver.ts +1 -1
  327. package/front_end/models/source_map_scopes/ScopeChainModel.test.ts +2 -1
  328. package/front_end/models/stack_trace/README.md +14 -0
  329. package/front_end/models/stack_trace/StackTrace.ts +35 -0
  330. package/front_end/models/stack_trace/StackTraceImpl.test.ts +74 -0
  331. package/front_end/models/stack_trace/StackTraceImpl.ts +82 -0
  332. package/front_end/models/stack_trace/StackTraceModel.test.ts +296 -0
  333. package/front_end/models/stack_trace/StackTraceModel.ts +127 -0
  334. package/front_end/models/stack_trace/Trie.test.ts +129 -0
  335. package/front_end/models/stack_trace/Trie.ts +154 -0
  336. package/front_end/models/stack_trace/stack_trace.ts +9 -0
  337. package/front_end/models/stack_trace/stack_trace_impl.ts +13 -0
  338. package/front_end/models/text_utils/ContentProvider.ts +1 -3
  339. package/front_end/models/text_utils/StaticContentProvider.test.ts +1 -1
  340. package/front_end/models/text_utils/StaticContentProvider.ts +1 -5
  341. package/front_end/models/text_utils/TextUtils.ts +2 -3
  342. package/front_end/models/trace/LanternComputationData.ts +1 -0
  343. package/front_end/models/trace/ModelImpl.ts +18 -7
  344. package/front_end/models/trace/Processor.test.ts +15 -14
  345. package/front_end/models/trace/Processor.ts +49 -32
  346. package/front_end/models/trace/extras/ScriptDuplication.test.ts +13 -10
  347. package/front_end/models/trace/extras/StackTraceForEvent.test.ts +10 -8
  348. package/front_end/models/trace/extras/ThirdParties.ts +2 -3
  349. package/front_end/models/trace/extras/TraceTree.ts +7 -6
  350. package/front_end/models/trace/extras/extras.ts +0 -2
  351. package/front_end/models/trace/handlers/AnimationFramesHandler.test.ts +5 -5
  352. package/front_end/models/trace/handlers/AnimationFramesHandler.ts +10 -0
  353. package/front_end/models/trace/handlers/ExtensionTraceDataHandler.test.ts +177 -85
  354. package/front_end/models/trace/handlers/ExtensionTraceDataHandler.ts +28 -27
  355. package/front_end/models/trace/handlers/FramesHandler.test.ts +2 -7
  356. package/front_end/models/trace/handlers/FramesHandler.ts +46 -37
  357. package/front_end/models/trace/handlers/ImagePaintingHandler.test.ts +41 -0
  358. package/front_end/models/trace/handlers/ImagePaintingHandler.ts +44 -1
  359. package/front_end/models/trace/handlers/InitiatorsHandler.test.ts +62 -15
  360. package/front_end/models/trace/handlers/InitiatorsHandler.ts +24 -0
  361. package/front_end/models/trace/handlers/LayoutShiftsHandler.test.ts +6 -18
  362. package/front_end/models/trace/handlers/LayoutShiftsHandler.ts +21 -17
  363. package/front_end/models/trace/handlers/MetaHandler.test.ts +12 -0
  364. package/front_end/models/trace/handlers/MetaHandler.ts +5 -4
  365. package/front_end/models/trace/handlers/NetworkRequestsHandler.test.ts +21 -21
  366. package/front_end/models/trace/handlers/NetworkRequestsHandler.ts +79 -32
  367. package/front_end/models/trace/handlers/PageLoadMetricsHandler.test.ts +6 -18
  368. package/front_end/models/trace/handlers/RendererHandler.test.ts +26 -39
  369. package/front_end/models/trace/handlers/RendererHandler.ts +10 -17
  370. package/front_end/models/trace/handlers/SamplesHandler.test.ts +3 -4
  371. package/front_end/models/trace/handlers/SamplesHandler.ts +13 -12
  372. package/front_end/models/trace/handlers/ScriptsHandler.test.ts +1 -1
  373. package/front_end/models/trace/handlers/ScriptsHandler.ts +8 -4
  374. package/front_end/models/trace/handlers/SelectorStatsHandler.test.ts +1 -3
  375. package/front_end/models/trace/handlers/SelectorStatsHandler.ts +65 -0
  376. package/front_end/models/trace/handlers/UserInteractionsHandler.test.ts +4 -2
  377. package/front_end/models/trace/handlers/UserInteractionsHandler.ts +4 -2
  378. package/front_end/models/trace/handlers/UserTimingsHandler.test.ts +326 -0
  379. package/front_end/models/trace/handlers/UserTimingsHandler.ts +61 -24
  380. package/front_end/models/trace/handlers/helpers.test.ts +7 -6
  381. package/front_end/models/trace/handlers/helpers.ts +19 -14
  382. package/front_end/models/trace/handlers/types.ts +5 -1
  383. package/front_end/models/trace/helpers/SamplesIntegrator.test.ts +3 -3
  384. package/front_end/models/trace/helpers/SamplesIntegrator.ts +24 -33
  385. package/front_end/models/trace/helpers/SyntheticEvents.ts +2 -2
  386. package/front_end/models/trace/helpers/Timing.ts +66 -3
  387. package/front_end/models/trace/helpers/Trace.test.ts +6 -7
  388. package/front_end/models/trace/helpers/Trace.ts +47 -19
  389. package/front_end/models/trace/helpers/TreeHelpers.test.ts +0 -8
  390. package/front_end/models/trace/helpers/TreeHelpers.ts +1 -1
  391. package/front_end/models/trace/insights/CLSCulprits.test.ts +10 -7
  392. package/front_end/models/trace/insights/CLSCulprits.ts +85 -23
  393. package/front_end/models/trace/insights/Cache.ts +12 -0
  394. package/front_end/models/trace/insights/Common.test.ts +3 -3
  395. package/front_end/models/trace/insights/Common.ts +56 -22
  396. package/front_end/models/trace/insights/DOMSize.test.ts +4 -1
  397. package/front_end/models/trace/insights/DOMSize.ts +48 -1
  398. package/front_end/models/trace/insights/DocumentLatency.test.ts +5 -1
  399. package/front_end/models/trace/insights/DocumentLatency.ts +59 -4
  400. package/front_end/models/trace/insights/DuplicatedJavaScript.test.ts +2 -3
  401. package/front_end/models/trace/insights/DuplicatedJavaScript.ts +15 -4
  402. package/front_end/models/trace/insights/FontDisplay.test.ts +1 -1
  403. package/front_end/models/trace/insights/FontDisplay.ts +8 -0
  404. package/front_end/models/trace/insights/ForcedReflow.ts +25 -4
  405. package/front_end/models/trace/insights/{InteractionToNextPaint.test.ts → INPBreakdown.test.ts} +2 -2
  406. package/front_end/models/trace/insights/{InteractionToNextPaint.ts → INPBreakdown.ts} +63 -16
  407. package/front_end/models/trace/insights/ImageDelivery.ts +39 -7
  408. package/front_end/models/trace/insights/LCPBreakdown.test.ts +100 -0
  409. package/front_end/models/trace/insights/LCPBreakdown.ts +255 -0
  410. package/front_end/models/trace/insights/LCPDiscovery.ts +84 -8
  411. package/front_end/models/trace/insights/LegacyJavaScript.ts +14 -4
  412. package/front_end/models/trace/insights/Models.ts +2 -2
  413. package/front_end/models/trace/insights/ModernHTTP.test.ts +3 -2
  414. package/front_end/models/trace/insights/ModernHTTP.ts +35 -18
  415. package/front_end/models/trace/insights/NetworkDependencyTree.test.ts +10 -1
  416. package/front_end/models/trace/insights/NetworkDependencyTree.ts +41 -13
  417. package/front_end/models/trace/insights/RenderBlocking.test.ts +8 -12
  418. package/front_end/models/trace/insights/RenderBlocking.ts +13 -1
  419. package/front_end/models/trace/insights/SlowCSSSelector.test.ts +12 -34
  420. package/front_end/models/trace/insights/SlowCSSSelector.ts +46 -27
  421. package/front_end/models/trace/insights/ThirdParties.test.ts +1 -1
  422. package/front_end/models/trace/insights/ThirdParties.ts +36 -0
  423. package/front_end/models/trace/insights/Viewport.test.ts +16 -1
  424. package/front_end/models/trace/insights/Viewport.ts +41 -3
  425. package/front_end/models/trace/insights/types.ts +5 -2
  426. package/front_end/models/trace/lantern/core/NetworkAnalyzer.test.ts +4 -0
  427. package/front_end/models/trace/lantern/graph/BaseNode.ts +1 -1
  428. package/front_end/models/trace/lantern/simulation/SimulationTimingMap.ts +1 -1
  429. package/front_end/models/trace/trace.ts +0 -2
  430. package/front_end/models/trace/types/Configuration.ts +8 -0
  431. package/front_end/models/trace/types/Extensions.ts +24 -3
  432. package/front_end/models/trace/types/File.ts +5 -2
  433. package/front_end/models/trace/types/Overlays.ts +140 -0
  434. package/front_end/models/trace/types/Timing.ts +1 -0
  435. package/front_end/models/trace/types/TraceEvents.test.ts +2 -1
  436. package/front_end/models/trace/types/TraceEvents.ts +98 -62
  437. package/front_end/models/trace/types/types.ts +1 -0
  438. package/front_end/models/workspace/FileManager.ts +5 -3
  439. package/front_end/models/{bindings → workspace}/IgnoreListManager.test.ts +11 -7
  440. package/front_end/models/{bindings → workspace}/IgnoreListManager.ts +36 -33
  441. package/front_end/models/workspace/UISourceCode.test.ts +18 -17
  442. package/front_end/models/workspace/UISourceCode.ts +17 -7
  443. package/front_end/models/workspace/WorkspaceImpl.ts +1 -1
  444. package/front_end/models/workspace/workspace.ts +2 -0
  445. package/front_end/models/workspace_diff/WorkspaceDiff.test.ts +2 -0
  446. package/front_end/models/workspace_diff/WorkspaceDiff.ts +7 -2
  447. package/front_end/panels/accessibility/ARIAAttributesView.test.ts +101 -0
  448. package/front_end/panels/accessibility/ARIAAttributesView.ts +16 -4
  449. package/front_end/panels/accessibility/AXBreadcrumbsPane.ts +12 -9
  450. package/front_end/panels/accessibility/AccessibilityNodeView.ts +31 -28
  451. package/front_end/panels/accessibility/AccessibilitySidebarView.ts +8 -12
  452. package/front_end/panels/accessibility/AccessibilityStrings.ts +87 -87
  453. package/front_end/panels/accessibility/AccessibilitySubPane.ts +6 -6
  454. package/front_end/panels/accessibility/SourceOrderView.ts +95 -61
  455. package/front_end/panels/accessibility/accessibilityProperties.css +5 -0
  456. package/front_end/panels/ai_assistance/AiAssistancePanel.snapshot.txt +32 -0
  457. package/front_end/panels/ai_assistance/AiAssistancePanel.test.ts +465 -377
  458. package/front_end/panels/ai_assistance/AiAssistancePanel.ts +289 -339
  459. package/front_end/panels/ai_assistance/PatchWidget.ts +30 -29
  460. package/front_end/panels/ai_assistance/SelectWorkspaceDialog.test.ts +11 -1
  461. package/front_end/panels/ai_assistance/SelectWorkspaceDialog.ts +29 -19
  462. package/front_end/panels/ai_assistance/aiAssistancePanel.css +1 -0
  463. package/front_end/panels/ai_assistance/ai_assistance-meta.ts +40 -20
  464. package/front_end/panels/ai_assistance/components/ChatView.test.ts +1 -0
  465. package/front_end/panels/ai_assistance/components/ChatView.ts +55 -44
  466. package/front_end/panels/ai_assistance/components/ExploreWidget.ts +10 -24
  467. package/front_end/panels/ai_assistance/components/UserActionRow.test.ts +4 -0
  468. package/front_end/panels/ai_assistance/components/UserActionRow.ts +25 -3
  469. package/front_end/panels/ai_assistance/components/chatView.css +0 -9
  470. package/front_end/panels/ai_assistance/components/exploreWidget.css +104 -102
  471. package/front_end/panels/ai_assistance/components/userActionRow.css +95 -94
  472. package/front_end/panels/ai_assistance/selectWorkspaceDialog.css +70 -69
  473. package/front_end/panels/animation/AnimationGroupPreviewUI.ts +1 -10
  474. package/front_end/panels/animation/AnimationTimeline.test.ts +6 -13
  475. package/front_end/panels/animation/AnimationTimeline.ts +183 -169
  476. package/front_end/panels/animation/AnimationUI.ts +4 -4
  477. package/front_end/panels/animation/animation.ts +0 -2
  478. package/front_end/panels/animation/animationTimeline.css +0 -67
  479. package/front_end/panels/application/AppManifestView.test.ts +21 -0
  480. package/front_end/panels/application/AppManifestView.ts +158 -139
  481. package/front_end/panels/application/ApplicationPanelSidebar.test.ts +13 -8
  482. package/front_end/panels/application/ApplicationPanelSidebar.ts +53 -54
  483. package/front_end/panels/application/BackForwardCacheTreeElement.ts +1 -1
  484. package/front_end/panels/application/BackgroundServiceView.test.ts +4 -8
  485. package/front_end/panels/application/BackgroundServiceView.ts +46 -44
  486. package/front_end/panels/application/CookieItemsView.ts +13 -14
  487. package/front_end/panels/application/DOMStorageItemsView.ts +5 -5
  488. package/front_end/panels/application/ExtensionStorageItemsView.ts +3 -3
  489. package/front_end/panels/application/IndexedDBModel.test.ts +2 -2
  490. package/front_end/panels/application/IndexedDBModel.ts +3 -0
  491. package/front_end/panels/application/IndexedDBViews.ts +58 -32
  492. package/front_end/panels/application/InterestGroupStorageModel.ts +3 -0
  493. package/front_end/panels/application/InterestGroupStorageView.ts +4 -4
  494. package/front_end/panels/application/InterestGroupTreeElement.ts +1 -1
  495. package/front_end/panels/application/KeyValueStorageItemsView.ts +10 -10
  496. package/front_end/panels/application/OpenedWindowDetailsView.ts +18 -18
  497. package/front_end/panels/application/PreloadingTreeElement.ts +5 -5
  498. package/front_end/panels/application/ReportingApiTreeElement.ts +1 -1
  499. package/front_end/panels/application/ReportingApiView.test.ts +161 -30
  500. package/front_end/panels/application/ReportingApiView.ts +153 -50
  501. package/front_end/panels/application/ServiceWorkerCacheTreeElement.ts +5 -5
  502. package/front_end/panels/application/ServiceWorkerCacheViews.ts +20 -17
  503. package/front_end/panels/application/ServiceWorkerUpdateCycleView.ts +7 -7
  504. package/front_end/panels/application/ServiceWorkersView.ts +40 -76
  505. package/front_end/panels/application/SharedStorageEventsView.test.ts +2 -2
  506. package/front_end/panels/application/SharedStorageEventsView.ts +10 -20
  507. package/front_end/panels/application/SharedStorageItemsView.ts +11 -11
  508. package/front_end/panels/application/SharedStorageListTreeElement.ts +1 -1
  509. package/front_end/panels/application/SharedStorageModel.ts +3 -0
  510. package/front_end/panels/application/StorageBucketsTreeElement.test.ts +5 -4
  511. package/front_end/panels/application/StorageBucketsTreeElement.ts +4 -4
  512. package/front_end/panels/application/StorageItemsToolbar.ts +7 -7
  513. package/front_end/panels/application/StorageView.test.ts +5 -1
  514. package/front_end/panels/application/StorageView.ts +15 -13
  515. package/front_end/panels/application/application-meta.ts +7 -7
  516. package/front_end/panels/application/application.ts +0 -2
  517. package/front_end/panels/application/components/BackForwardCacheStrings.ts +5 -0
  518. package/front_end/panels/application/components/BackForwardCacheView.ts +11 -37
  519. package/front_end/panels/application/components/BounceTrackingMitigationsView.ts +1 -0
  520. package/front_end/panels/application/components/EndpointsGrid.ts +6 -2
  521. package/front_end/panels/application/components/FrameDetailsView.test.ts +4 -2
  522. package/front_end/panels/application/components/FrameDetailsView.ts +88 -57
  523. package/front_end/panels/application/components/InterestGroupAccessGrid.ts +9 -10
  524. package/front_end/panels/application/components/OriginTrialTreeView.ts +13 -22
  525. package/front_end/panels/application/components/PermissionsPolicySection.ts +11 -16
  526. package/front_end/panels/application/components/ProtocolHandlersView.ts +10 -10
  527. package/front_end/panels/application/components/ReportsGrid.ts +10 -11
  528. package/front_end/panels/application/components/SharedStorageAccessGrid.test.ts +4 -4
  529. package/front_end/panels/application/components/SharedStorageAccessGrid.ts +107 -101
  530. package/front_end/panels/application/components/SharedStorageMetadataView.ts +8 -8
  531. package/front_end/panels/application/components/StackTrace.ts +6 -12
  532. package/front_end/panels/application/components/StorageMetadataView.ts +22 -26
  533. package/front_end/panels/application/components/TrustTokensView.ts +3 -3
  534. package/front_end/panels/application/components/frameDetailsReportView.css +1 -1
  535. package/front_end/panels/application/components/sharedStorageAccessGrid.css +19 -17
  536. package/front_end/panels/application/preloading/PreloadingView.ts +29 -24
  537. package/front_end/panels/application/preloading/components/MismatchedPreloadingGrid.ts +9 -9
  538. package/front_end/panels/application/preloading/components/PreloadingDetailsReportView.ts +22 -22
  539. package/front_end/panels/application/preloading/components/PreloadingDisabledInfobar.ts +28 -29
  540. package/front_end/panels/application/preloading/components/PreloadingGrid.ts +5 -7
  541. package/front_end/panels/application/preloading/components/PreloadingMismatchedHeadersGrid.test.ts +2 -2
  542. package/front_end/panels/application/preloading/components/PreloadingMismatchedHeadersGrid.ts +4 -4
  543. package/front_end/panels/application/preloading/components/PreloadingString.ts +34 -34
  544. package/front_end/panels/application/preloading/components/RuleSetDetailsView.test.ts +28 -1
  545. package/front_end/panels/application/preloading/components/RuleSetDetailsView.ts +4 -10
  546. package/front_end/panels/application/preloading/components/RuleSetGrid.test.ts +21 -0
  547. package/front_end/panels/application/preloading/components/RuleSetGrid.ts +10 -10
  548. package/front_end/panels/application/preloading/components/UsedPreloadingView.ts +22 -23
  549. package/front_end/panels/application/resourcesSidebar.css +0 -4
  550. package/front_end/panels/autofill/AutofillView.test.ts +188 -259
  551. package/front_end/panels/autofill/AutofillView.ts +207 -217
  552. package/front_end/panels/autofill/autofill-meta.ts +3 -4
  553. package/front_end/panels/autofill/autofillView.css +85 -82
  554. package/front_end/panels/browser_debugger/CategorizedBreakpointsSidebarPane.test.ts +179 -0
  555. package/front_end/panels/browser_debugger/CategorizedBreakpointsSidebarPane.ts +146 -35
  556. package/front_end/panels/browser_debugger/DOMBreakpointsSidebarPane.ts +27 -27
  557. package/front_end/panels/browser_debugger/ObjectEventListenersSidebarPane.ts +3 -2
  558. package/front_end/panels/browser_debugger/XHRBreakpointsSidebarPane.ts +16 -14
  559. package/front_end/panels/browser_debugger/browser_debugger-meta.ts +17 -17
  560. package/front_end/panels/browser_debugger/browser_debugger.ts +2 -0
  561. package/front_end/panels/changes/ChangesSidebar.ts +7 -7
  562. package/front_end/panels/changes/ChangesView.ts +6 -5
  563. package/front_end/panels/changes/CombinedDiffView.test.ts +2 -0
  564. package/front_end/panels/changes/CombinedDiffView.ts +2 -2
  565. package/front_end/panels/common/AiCodeCompletionDisclaimer.test.ts +57 -0
  566. package/front_end/panels/common/AiCodeCompletionDisclaimer.ts +186 -0
  567. package/front_end/panels/common/AiCodeCompletionSummaryToolbar.test.ts +85 -0
  568. package/front_end/panels/common/AiCodeCompletionSummaryToolbar.ts +139 -0
  569. package/front_end/panels/common/AiCodeCompletionTeaser.test.ts +98 -0
  570. package/front_end/panels/common/AiCodeCompletionTeaser.ts +258 -0
  571. package/front_end/panels/common/FreDialog.ts +139 -0
  572. package/front_end/panels/common/aiCodeCompletionDisclaimer.css +57 -0
  573. package/front_end/panels/common/aiCodeCompletionSummaryToolbar.css +101 -0
  574. package/front_end/panels/common/aiCodeCompletionTeaser.css +42 -0
  575. package/front_end/panels/common/common.css +0 -83
  576. package/front_end/panels/common/common.ts +8 -107
  577. package/front_end/panels/common/freDialog.css +88 -0
  578. package/front_end/panels/console/ConsoleContextSelector.ts +5 -5
  579. package/front_end/panels/console/ConsoleFormat.test.ts +1 -1
  580. package/front_end/panels/console/ConsolePanel.ts +1 -2
  581. package/front_end/panels/console/ConsolePinPane.ts +9 -9
  582. package/front_end/panels/console/ConsolePrompt.test.ts +47 -1
  583. package/front_end/panels/console/ConsolePrompt.ts +188 -19
  584. package/front_end/panels/console/ConsoleSidebar.test.ts +130 -0
  585. package/front_end/panels/console/ConsoleSidebar.ts +170 -207
  586. package/front_end/panels/console/ConsoleView.test.ts +4 -4
  587. package/front_end/panels/console/ConsoleView.ts +146 -54
  588. package/front_end/panels/console/ConsoleViewMessage.test.ts +1 -1
  589. package/front_end/panels/console/ConsoleViewMessage.ts +66 -71
  590. package/front_end/panels/console/console-meta.ts +27 -27
  591. package/front_end/panels/console/consoleSidebar.css +2 -0
  592. package/front_end/panels/console/consoleView.css +22 -15
  593. package/front_end/panels/console_counters/WarningErrorCounter.ts +133 -100
  594. package/front_end/panels/coverage/CoverageDecorationManager.test.ts +2 -1
  595. package/front_end/panels/coverage/CoverageListView.ts +30 -30
  596. package/front_end/panels/coverage/CoverageView.test.ts +3 -2
  597. package/front_end/panels/coverage/CoverageView.ts +35 -34
  598. package/front_end/panels/coverage/coverage-meta.ts +7 -7
  599. package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +49 -49
  600. package/front_end/panels/css_overview/CSSOverviewPanel.test.ts +3 -3
  601. package/front_end/panels/css_overview/CSSOverviewPanel.ts +1 -1
  602. package/front_end/panels/css_overview/CSSOverviewProcessingView.ts +3 -3
  603. package/front_end/panels/css_overview/CSSOverviewSidebarPanel.ts +3 -3
  604. package/front_end/panels/css_overview/CSSOverviewStartView.ts +8 -8
  605. package/front_end/panels/css_overview/CSSOverviewUnusedDeclarations.ts +7 -7
  606. package/front_end/panels/css_overview/cssOverviewCompletedView.css +289 -287
  607. package/front_end/panels/css_overview/cssOverviewSidebarPanel.css +43 -42
  608. package/front_end/panels/css_overview/cssOverviewStartView.css +68 -66
  609. package/front_end/panels/css_overview/css_overview-meta.ts +2 -2
  610. package/front_end/panels/developer_resources/DeveloperResourcesListView.ts +14 -14
  611. package/front_end/panels/developer_resources/DeveloperResourcesView.ts +5 -5
  612. package/front_end/panels/developer_resources/developerResourcesListView.css +19 -18
  613. package/front_end/panels/developer_resources/developerResourcesView.css +32 -30
  614. package/front_end/panels/elements/AccessibilityTreeView.ts +2 -1
  615. package/front_end/panels/elements/CSSRuleValidator.test.ts +39 -0
  616. package/front_end/panels/elements/CSSRuleValidator.ts +41 -37
  617. package/front_end/panels/elements/CSSRuleValidatorHelper.ts +8 -0
  618. package/front_end/panels/elements/CSSValueTraceView.test.ts +2 -1
  619. package/front_end/panels/elements/CSSValueTraceView.ts +1 -2
  620. package/front_end/panels/elements/ClassesPaneWidget.ts +5 -3
  621. package/front_end/panels/elements/ColorSwatchPopoverIcon.ts +18 -9
  622. package/front_end/panels/elements/ComputedStyleWidget.ts +4 -3
  623. package/front_end/panels/elements/DOMLinkifier.ts +6 -4
  624. package/front_end/panels/elements/DOMTreeWidget.test.ts +58 -0
  625. package/front_end/panels/elements/ElementIssueUtils.ts +14 -9
  626. package/front_end/panels/elements/ElementStatePaneWidget.ts +3 -3
  627. package/front_end/panels/elements/ElementsPanel.test.ts +69 -2
  628. package/front_end/panels/elements/ElementsPanel.ts +105 -187
  629. package/front_end/panels/elements/ElementsSidebarPane.ts +1 -1
  630. package/front_end/panels/elements/ElementsTreeElement.test.ts +401 -0
  631. package/front_end/panels/elements/ElementsTreeElement.ts +434 -82
  632. package/front_end/panels/elements/ElementsTreeOutline.test.ts +9 -6
  633. package/front_end/panels/elements/ElementsTreeOutline.ts +425 -258
  634. package/front_end/panels/elements/ElementsTreeOutlineRenderer.ts +80 -0
  635. package/front_end/panels/elements/EventListenersWidget.test.ts +129 -0
  636. package/front_end/panels/elements/EventListenersWidget.ts +112 -78
  637. package/front_end/panels/elements/ImagePreviewPopover.ts +1 -1
  638. package/front_end/panels/elements/InspectElementModeController.test.ts +77 -2
  639. package/front_end/panels/elements/InspectElementModeController.ts +13 -2
  640. package/front_end/panels/elements/LayersWidget.ts +95 -63
  641. package/front_end/panels/elements/{components/LayoutPane.test.ts → LayoutPane.test.ts} +60 -49
  642. package/front_end/panels/elements/LayoutPane.ts +593 -0
  643. package/front_end/panels/elements/MarkerDecorator.ts +2 -2
  644. package/front_end/panels/elements/MetricsSidebarPane.ts +6 -6
  645. package/front_end/panels/elements/NodeStackTraceWidget.ts +16 -14
  646. package/front_end/panels/elements/PlatformFontsWidget.ts +8 -8
  647. package/front_end/panels/elements/PropertiesWidget.ts +2 -2
  648. package/front_end/panels/elements/PropertyRenderer.test.ts +1 -1
  649. package/front_end/panels/elements/PropertyRenderer.ts +8 -11
  650. package/front_end/panels/elements/ShortcutTreeElement.ts +157 -0
  651. package/front_end/panels/elements/StyleEditorWidget.ts +1 -1
  652. package/front_end/panels/elements/StylePropertiesSection.test.ts +10 -10
  653. package/front_end/panels/elements/StylePropertiesSection.ts +42 -44
  654. package/front_end/panels/elements/StylePropertyHighlighter.test.ts +32 -21
  655. package/front_end/panels/elements/StylePropertyHighlighter.ts +9 -11
  656. package/front_end/panels/elements/StylePropertyTreeElement.test.ts +111 -53
  657. package/front_end/panels/elements/StylePropertyTreeElement.ts +166 -100
  658. package/front_end/panels/elements/StylesSidebarPane.ts +47 -48
  659. package/front_end/panels/elements/TopLayerContainer.ts +8 -7
  660. package/front_end/panels/elements/WebCustomData.test.ts +2 -2
  661. package/front_end/panels/elements/components/AccessibilityTreeNode.ts +1 -1
  662. package/front_end/panels/elements/components/AdornerManager.ts +15 -0
  663. package/front_end/panels/elements/components/CSSHintDetailsView.ts +1 -1
  664. package/front_end/panels/elements/components/CSSPropertyDocsView.test.ts +101 -2
  665. package/front_end/panels/elements/components/CSSPropertyDocsView.ts +188 -5
  666. package/front_end/panels/elements/components/CSSPropertyIconResolver.test.ts +1 -1
  667. package/front_end/panels/elements/components/CSSPropertyIconResolver.ts +2 -2
  668. package/front_end/panels/elements/components/CSSVariableValueView.ts +5 -5
  669. package/front_end/panels/elements/components/ElementsBreadcrumbs.ts +2 -7
  670. package/front_end/panels/elements/components/ElementsTreeExpandButton.ts +1 -1
  671. package/front_end/panels/elements/components/QueryContainer.ts +1 -4
  672. package/front_end/panels/elements/components/components.ts +0 -4
  673. package/front_end/panels/elements/components/cssPropertyDocsView.css +12 -1
  674. package/front_end/panels/elements/components/cssVariableValueView.css +1 -0
  675. package/front_end/panels/elements/domLinkifier.css +36 -35
  676. package/front_end/panels/elements/elementStatePaneWidget.css +46 -45
  677. package/front_end/panels/elements/elements-meta.ts +4 -13
  678. package/front_end/panels/elements/elements.ts +4 -3
  679. package/front_end/panels/elements/elementsTreeOutline.css +2 -1
  680. package/front_end/panels/elements/layersWidget.css +2 -11
  681. package/front_end/panels/elements/layoutPane.css +145 -0
  682. package/front_end/panels/elements/metricsSidebarPane.css +1 -1
  683. package/front_end/panels/elements/nodeStackTraceWidget.css +5 -4
  684. package/front_end/panels/elements/platformFontsWidget.css +32 -31
  685. package/front_end/panels/elements/stylePropertiesTreeOutline.css +2 -2
  686. package/front_end/panels/elements/stylesSidebarPane.css +1 -0
  687. package/front_end/panels/emulation/DeviceModeToolbar.ts +13 -50
  688. package/front_end/panels/emulation/DeviceModeView.ts +3 -4
  689. package/front_end/panels/emulation/InspectedPagePlaceholder.ts +1 -1
  690. package/front_end/panels/emulation/MediaQueryInspector.ts +4 -2
  691. package/front_end/panels/emulation/emulation-meta.ts +7 -7
  692. package/front_end/panels/event_listeners/EventListenersView.test.ts +4 -4
  693. package/front_end/panels/event_listeners/EventListenersView.ts +34 -31
  694. package/front_end/panels/explain/PromptBuilder.test.ts +7 -2
  695. package/front_end/panels/explain/PromptBuilder.ts +3 -1
  696. package/front_end/panels/explain/components/ConsoleInsight.test.ts +14 -10
  697. package/front_end/panels/explain/components/ConsoleInsight.ts +13 -34
  698. package/front_end/panels/explain/explain-meta.ts +3 -3
  699. package/front_end/panels/issues/AffectedBlockedByResponseView.ts +4 -4
  700. package/front_end/panels/issues/AffectedCookiesView.ts +6 -6
  701. package/front_end/panels/issues/AffectedDescendantsWithinSelectElementView.ts +6 -6
  702. package/front_end/panels/issues/AffectedDirectivesView.ts +9 -9
  703. package/front_end/panels/issues/AffectedDocumentsInQuirksModeView.ts +4 -4
  704. package/front_end/panels/issues/AffectedElementsView.ts +1 -1
  705. package/front_end/panels/issues/AffectedElementsWithLowContrastView.ts +6 -6
  706. package/front_end/panels/issues/AffectedHeavyAdView.ts +7 -7
  707. package/front_end/panels/issues/AffectedMetadataAllowedSitesView.ts +1 -1
  708. package/front_end/panels/issues/AffectedResourcesView.ts +6 -6
  709. package/front_end/panels/issues/AffectedSharedArrayBufferIssueDetailsView.ts +10 -10
  710. package/front_end/panels/issues/AffectedSourcesView.ts +1 -1
  711. package/front_end/panels/issues/AffectedTrackingSitesView.ts +1 -1
  712. package/front_end/panels/issues/CorsIssueDetailsView.ts +27 -27
  713. package/front_end/panels/issues/GenericIssueDetailsView.ts +3 -3
  714. package/front_end/panels/issues/HiddenIssuesRow.ts +55 -29
  715. package/front_end/panels/issues/IssueAggregator.ts +5 -11
  716. package/front_end/panels/issues/IssueKindView.ts +2 -2
  717. package/front_end/panels/issues/IssueView.ts +13 -13
  718. package/front_end/panels/issues/IssuesPane.ts +5 -4
  719. package/front_end/panels/issues/components/HideIssuesMenu.ts +1 -1
  720. package/front_end/panels/issues/issues-meta.ts +2 -2
  721. package/front_end/panels/js_timeline/js_timeline-meta.ts +6 -6
  722. package/front_end/panels/layer_viewer/LayerDetailsView.ts +43 -41
  723. package/front_end/panels/layer_viewer/LayerTreeOutline.ts +7 -7
  724. package/front_end/panels/layer_viewer/LayerViewHost.ts +1 -1
  725. package/front_end/panels/layer_viewer/Layers3DView.ts +19 -13
  726. package/front_end/panels/layer_viewer/PaintProfilerView.ts +9 -9
  727. package/front_end/panels/layer_viewer/TransformController.ts +14 -8
  728. package/front_end/panels/layer_viewer/layer_viewer-meta.ts +9 -9
  729. package/front_end/panels/layers/LayersPanel.ts +3 -3
  730. package/front_end/panels/layers/layers-meta.ts +2 -2
  731. package/front_end/panels/lighthouse/LighthouseController.ts +27 -27
  732. package/front_end/panels/lighthouse/LighthousePanel.ts +7 -7
  733. package/front_end/panels/lighthouse/LighthouseProtocolService.ts +31 -33
  734. package/front_end/panels/lighthouse/LighthouseReportRenderer.ts +4 -2
  735. package/front_end/panels/lighthouse/LighthouseReportSelector.ts +2 -4
  736. package/front_end/panels/lighthouse/LighthouseStartView.ts +4 -3
  737. package/front_end/panels/lighthouse/LighthouseStatusView.ts +31 -31
  738. package/front_end/panels/lighthouse/lighthouse-meta.ts +1 -1
  739. package/front_end/panels/lighthouse/lighthousePanel.css +9 -0
  740. package/front_end/panels/linear_memory_inspector/LinearMemoryInspectorController.ts +2 -2
  741. package/front_end/panels/linear_memory_inspector/LinearMemoryInspectorPane.ts +5 -6
  742. package/front_end/panels/linear_memory_inspector/components/LinearMemoryHighlightChipList.ts +6 -10
  743. package/front_end/panels/linear_memory_inspector/components/LinearMemoryInspector.ts +3 -3
  744. package/front_end/panels/linear_memory_inspector/components/LinearMemoryNavigator.ts +6 -6
  745. package/front_end/panels/linear_memory_inspector/components/LinearMemoryValueInterpreter.ts +2 -2
  746. package/front_end/panels/linear_memory_inspector/components/ValueInterpreterDisplay.ts +6 -7
  747. package/front_end/panels/linear_memory_inspector/components/ValueInterpreterDisplayUtils.ts +1 -1
  748. package/front_end/panels/linear_memory_inspector/components/ValueInterpreterSettings.ts +1 -1
  749. package/front_end/panels/linear_memory_inspector/linear_memory_inspector-meta.ts +2 -2
  750. package/front_end/panels/media/EventDisplayTable.ts +5 -7
  751. package/front_end/panels/media/EventTimelineView.ts +4 -4
  752. package/front_end/panels/media/MainView.test.ts +1 -1
  753. package/front_end/panels/media/MainView.ts +4 -4
  754. package/front_end/panels/media/MediaModel.ts +2 -2
  755. package/front_end/panels/media/PlayerDetailView.ts +8 -8
  756. package/front_end/panels/media/PlayerListView.ts +8 -8
  757. package/front_end/panels/media/PlayerMessagesView.ts +15 -17
  758. package/front_end/panels/media/PlayerPropertiesView.ts +66 -51
  759. package/front_end/panels/media/TickingFlameChart.ts +6 -5
  760. package/front_end/panels/media/media-meta.ts +3 -3
  761. package/front_end/panels/mobile_throttling/CalibrationController.ts +3 -4
  762. package/front_end/panels/mobile_throttling/MobileThrottlingSelector.ts +3 -3
  763. package/front_end/panels/mobile_throttling/NetworkPanelIndicator.ts +4 -4
  764. package/front_end/panels/mobile_throttling/NetworkThrottlingSelector.ts +189 -51
  765. package/front_end/panels/mobile_throttling/ThrottlingManager.test.ts +37 -1
  766. package/front_end/panels/mobile_throttling/ThrottlingManager.ts +114 -126
  767. package/front_end/panels/mobile_throttling/ThrottlingPresets.ts +8 -8
  768. package/front_end/panels/mobile_throttling/ThrottlingSettingsTab.test.ts +115 -0
  769. package/front_end/panels/mobile_throttling/ThrottlingSettingsTab.ts +178 -143
  770. package/front_end/panels/mobile_throttling/mobile_throttling-meta.ts +6 -6
  771. package/front_end/panels/mobile_throttling/throttlingSettingsTab.css +30 -36
  772. package/front_end/panels/network/BinaryResourceView.ts +7 -7
  773. package/front_end/panels/network/BlockedURLsPane.ts +18 -17
  774. package/front_end/panels/network/EventSourceMessagesView.ts +9 -10
  775. package/front_end/panels/network/NetworkConfigView.test.ts +35 -0
  776. package/front_end/panels/network/NetworkConfigView.ts +19 -17
  777. package/front_end/panels/network/NetworkDataGridNode.test.ts +19 -8
  778. package/front_end/panels/network/NetworkDataGridNode.ts +129 -90
  779. package/front_end/panels/network/NetworkItemView.test.ts +3 -3
  780. package/front_end/panels/network/NetworkItemView.ts +79 -79
  781. package/front_end/panels/network/NetworkLogView.test.ts +61 -23
  782. package/front_end/panels/network/NetworkLogView.ts +207 -130
  783. package/front_end/panels/network/NetworkLogViewColumns.ts +60 -63
  784. package/front_end/panels/network/NetworkManageCustomHeadersView.ts +5 -5
  785. package/front_end/panels/network/NetworkPanel.test.ts +3 -3
  786. package/front_end/panels/network/NetworkPanel.ts +69 -68
  787. package/front_end/panels/network/NetworkSearchScope.ts +1 -1
  788. package/front_end/panels/network/NetworkTimeCalculator.ts +35 -40
  789. package/front_end/panels/network/NetworkWaterfallColumn.ts +2 -12
  790. package/front_end/panels/network/RequestCookiesView.ts +10 -11
  791. package/front_end/panels/network/RequestHTMLView.ts +2 -2
  792. package/front_end/panels/network/RequestInitiatorView.ts +16 -16
  793. package/front_end/panels/network/RequestPayloadView.ts +12 -13
  794. package/front_end/panels/network/RequestPreviewView.ts +3 -4
  795. package/front_end/panels/network/RequestResponseView.test.ts +36 -0
  796. package/front_end/panels/network/RequestResponseView.ts +5 -5
  797. package/front_end/panels/network/RequestTimingView.ts +54 -54
  798. package/front_end/panels/network/ResourceChunkView.ts +13 -13
  799. package/front_end/panels/network/ResourceDirectSocketChunkView.ts +26 -17
  800. package/front_end/panels/network/ResourceWebSocketFrameView.ts +9 -9
  801. package/front_end/panels/network/SignedExchangeInfoView.ts +24 -24
  802. package/front_end/panels/network/binaryResourceView.css +1 -0
  803. package/front_end/panels/network/components/DirectSocketConnectionView.ts +18 -16
  804. package/front_end/panels/network/components/HeaderSectionRow.ts +17 -42
  805. package/front_end/panels/network/components/RequestHeaderSection.ts +6 -11
  806. package/front_end/panels/network/components/RequestHeadersView.css +2 -2
  807. package/front_end/panels/network/components/RequestHeadersView.test.ts +5 -2
  808. package/front_end/panels/network/components/RequestHeadersView.ts +24 -34
  809. package/front_end/panels/network/components/RequestTrustTokensView.ts +19 -23
  810. package/front_end/panels/network/components/ResponseHeaderSection.ts +16 -15
  811. package/front_end/panels/network/components/WebBundleInfoView.ts +4 -9
  812. package/front_end/panels/network/network-meta.ts +27 -27
  813. package/front_end/panels/network/networkConfigView.css +13 -6
  814. package/front_end/panels/network/networkLogView.css +1 -1
  815. package/front_end/panels/network/networkPanel.css +3 -2
  816. package/front_end/panels/network/requestHTMLView.css +9 -8
  817. package/front_end/panels/network/resourceChunkView.css +21 -28
  818. package/front_end/panels/performance_monitor/PerformanceMonitor.test.ts +121 -6
  819. package/front_end/panels/performance_monitor/PerformanceMonitor.ts +252 -168
  820. package/front_end/panels/performance_monitor/performanceMonitor.css +7 -9
  821. package/front_end/panels/performance_monitor/performance_monitor-meta.ts +7 -7
  822. package/front_end/panels/profiler/HeapDetachedElementsDataGrid.ts +19 -52
  823. package/front_end/panels/profiler/HeapDetachedElementsView.ts +9 -6
  824. package/front_end/panels/profiler/HeapProfileView.ts +24 -24
  825. package/front_end/panels/profiler/HeapProfilerPanel.ts +1 -1
  826. package/front_end/panels/profiler/HeapSnapshotDataGrids.ts +20 -20
  827. package/front_end/panels/profiler/HeapSnapshotGridNodes.ts +27 -27
  828. package/front_end/panels/profiler/HeapSnapshotProxy.ts +2 -6
  829. package/front_end/panels/profiler/HeapSnapshotView.ts +59 -56
  830. package/front_end/panels/profiler/HeapTimelineOverview.ts +1 -2
  831. package/front_end/panels/profiler/IsolateSelector.ts +16 -16
  832. package/front_end/panels/profiler/LiveHeapProfileView.ts +14 -14
  833. package/front_end/panels/profiler/ModuleUIStrings.ts +26 -26
  834. package/front_end/panels/profiler/ProfileDataGrid.ts +5 -5
  835. package/front_end/panels/profiler/ProfileHeader.ts +0 -9
  836. package/front_end/panels/profiler/ProfileLauncherView.ts +6 -6
  837. package/front_end/panels/profiler/ProfileSidebarTreeElement.ts +1 -1
  838. package/front_end/panels/profiler/ProfileView.ts +23 -20
  839. package/front_end/panels/profiler/ProfilesPanel.ts +9 -9
  840. package/front_end/panels/profiler/heapProfiler.css +8 -0
  841. package/front_end/panels/profiler/profiler-meta.ts +12 -12
  842. package/front_end/panels/protocol_monitor/JSONEditor.test.ts +2 -2
  843. package/front_end/panels/protocol_monitor/JSONEditor.ts +36 -19
  844. package/front_end/panels/protocol_monitor/ProtocolMonitor.test.ts +105 -103
  845. package/front_end/panels/protocol_monitor/ProtocolMonitor.ts +24 -25
  846. package/front_end/panels/protocol_monitor/protocolMonitor.css +15 -9
  847. package/front_end/panels/protocol_monitor/protocol_monitor-meta.ts +1 -1
  848. package/front_end/panels/recorder/RecorderController.test.ts +9 -2
  849. package/front_end/panels/recorder/RecorderController.ts +82 -85
  850. package/front_end/panels/recorder/components/CreateRecordingView.ts +2 -2
  851. package/front_end/panels/recorder/components/RecordingListView.test.ts +42 -53
  852. package/front_end/panels/recorder/components/RecordingListView.ts +141 -125
  853. package/front_end/panels/recorder/components/RecordingView.test.ts +73 -122
  854. package/front_end/panels/recorder/components/RecordingView.ts +912 -929
  855. package/front_end/panels/recorder/components/StepEditor.ts +13 -13
  856. package/front_end/panels/recorder/components/StepView.ts +23 -24
  857. package/front_end/panels/recorder/components/recordingListView.css +76 -75
  858. package/front_end/panels/recorder/components/recordingView.css +303 -308
  859. package/front_end/panels/recorder/components/stepView.css +197 -196
  860. package/front_end/panels/recorder/components/timelineSection.css +1 -1
  861. package/front_end/panels/recorder/injected/rollup.config.mjs +1 -1
  862. package/front_end/panels/recorder/injected/selectors/ARIASelector.ts +2 -2
  863. package/front_end/panels/recorder/injected/selectors/CSSSelector.ts +4 -4
  864. package/front_end/panels/recorder/injected/selectors/PierceSelector.ts +2 -2
  865. package/front_end/panels/recorder/injected/selectors/TextSelector.ts +2 -2
  866. package/front_end/panels/recorder/injected/selectors/XPath.ts +3 -3
  867. package/front_end/panels/recorder/models/RecorderSettings.ts +0 -1
  868. package/front_end/panels/recorder/models/RecordingPlayer.test.ts +48 -68
  869. package/front_end/panels/recorder/models/RecordingPlayer.ts +9 -9
  870. package/front_end/panels/recorder/models/RecordingSession.ts +3 -3
  871. package/front_end/panels/recorder/recorder-meta.ts +5 -5
  872. package/front_end/panels/recorder/recorderController.css +3 -3
  873. package/front_end/panels/screencast/ScreencastApp.ts +1 -1
  874. package/front_end/panels/screencast/ScreencastView.ts +13 -18
  875. package/front_end/panels/search/SearchResultsPane.ts +8 -8
  876. package/front_end/panels/search/SearchView.test.ts +2 -2
  877. package/front_end/panels/search/SearchView.ts +130 -127
  878. package/front_end/panels/search/searchResultsPane.css +2 -2
  879. package/front_end/panels/search/searchView.css +2 -2
  880. package/front_end/panels/security/CookieControlsView.ts +27 -27
  881. package/front_end/panels/security/CookieReportView.ts +40 -73
  882. package/front_end/panels/security/IPProtectionTreeElement.ts +21 -0
  883. package/front_end/panels/security/IPProtectionView.ts +179 -0
  884. package/front_end/panels/security/SecurityModel.ts +10 -10
  885. package/front_end/panels/security/SecurityPanel.test.ts +22 -0
  886. package/front_end/panels/security/SecurityPanel.ts +107 -107
  887. package/front_end/panels/security/SecurityPanelSidebar.ts +27 -11
  888. package/front_end/panels/security/ipProtectionView.css +109 -0
  889. package/front_end/panels/security/security-meta.ts +4 -4
  890. package/front_end/panels/security/security.ts +2 -0
  891. package/front_end/panels/sensors/LocationsSettingsTab.ts +32 -31
  892. package/front_end/panels/sensors/SensorsView.ts +50 -42
  893. package/front_end/panels/sensors/sensors-meta.ts +20 -20
  894. package/front_end/panels/settings/AISettingsTab.test.ts +19 -6
  895. package/front_end/panels/settings/AISettingsTab.ts +118 -72
  896. package/front_end/panels/settings/FrameworkIgnoreListSettingsTab.ts +22 -20
  897. package/front_end/panels/settings/KeybindsSettingsTab.ts +31 -30
  898. package/front_end/panels/settings/SettingsScreen.ts +19 -20
  899. package/front_end/panels/settings/components/SyncSection.test.ts +43 -9
  900. package/front_end/panels/settings/components/SyncSection.ts +63 -29
  901. package/front_end/panels/settings/components/syncSection.css +16 -7
  902. package/front_end/panels/settings/emulation/DevicesSettingsTab.ts +14 -16
  903. package/front_end/panels/settings/emulation/components/UserAgentClientHintsForm.test.ts +61 -0
  904. package/front_end/panels/settings/emulation/components/UserAgentClientHintsForm.ts +134 -28
  905. package/front_end/panels/settings/emulation/components/userAgentClientHintsForm.css +19 -0
  906. package/front_end/panels/settings/emulation/emulation-meta.ts +2 -2
  907. package/front_end/panels/settings/settings-meta.ts +12 -12
  908. package/front_end/panels/settings/settingsScreen.css +0 -1
  909. package/front_end/panels/snippets/ScriptSnippetFileSystem.ts +5 -5
  910. package/front_end/panels/snippets/SnippetsQuickOpen.ts +4 -4
  911. package/front_end/panels/sources/AddSourceMapURLDialog.ts +5 -5
  912. package/front_end/panels/sources/AiCodeCompletionPlugin.test.ts +119 -0
  913. package/front_end/panels/sources/AiCodeCompletionPlugin.ts +400 -0
  914. package/front_end/panels/sources/AiWarningInfobarPlugin.ts +3 -3
  915. package/front_end/panels/sources/BreakpointEditDialog.ts +13 -11
  916. package/front_end/panels/sources/{components/BreakpointsView.test.ts → BreakpointsView.test.ts} +237 -225
  917. package/front_end/panels/sources/{components/BreakpointsView.ts → BreakpointsView.ts} +336 -301
  918. package/front_end/panels/sources/{components/BreakpointsViewUtils.test.ts → BreakpointsViewUtils.test.ts} +29 -29
  919. package/front_end/panels/sources/{components/BreakpointsViewUtils.ts → BreakpointsViewUtils.ts} +3 -3
  920. package/front_end/panels/sources/CSSPlugin.ts +26 -17
  921. package/front_end/panels/sources/CallStackSidebarPane.ts +34 -58
  922. package/front_end/panels/sources/CategorizedBreakpointL10n.ts +18 -18
  923. package/front_end/panels/sources/CoveragePlugin.test.ts +2 -0
  924. package/front_end/panels/sources/CoveragePlugin.ts +5 -5
  925. package/front_end/panels/sources/DebuggerPausedMessage.test.ts +2 -0
  926. package/front_end/panels/sources/DebuggerPausedMessage.ts +33 -39
  927. package/front_end/panels/sources/DebuggerPlugin.test.ts +4 -3
  928. package/front_end/panels/sources/DebuggerPlugin.ts +68 -49
  929. package/front_end/panels/sources/FilteredUISourceCodeListProvider.test.ts +3 -4
  930. package/front_end/panels/sources/FilteredUISourceCodeListProvider.ts +7 -7
  931. package/front_end/panels/sources/GoToLineQuickOpen.ts +15 -15
  932. package/front_end/panels/sources/InplaceFormatterEditorAction.ts +9 -6
  933. package/front_end/panels/sources/NavigatorView.test.ts +2 -1
  934. package/front_end/panels/sources/NavigatorView.ts +39 -35
  935. package/front_end/panels/sources/OpenFileQuickOpen.ts +6 -6
  936. package/front_end/panels/sources/OutlineQuickOpen.ts +3 -3
  937. package/front_end/panels/sources/ProfilePlugin.ts +3 -3
  938. package/front_end/panels/sources/ResourceOriginPlugin.ts +1 -1
  939. package/front_end/panels/sources/ScopeChainSidebarPane.ts +11 -9
  940. package/front_end/panels/sources/SnippetsPlugin.ts +2 -2
  941. package/front_end/panels/sources/SourcesNavigator.test.ts +3 -2
  942. package/front_end/panels/sources/SourcesNavigator.ts +32 -20
  943. package/front_end/panels/sources/SourcesPanel.test.ts +90 -0
  944. package/front_end/panels/sources/SourcesPanel.ts +71 -28
  945. package/front_end/panels/sources/SourcesSearchScope.ts +1 -1
  946. package/front_end/panels/sources/SourcesView.test.ts +5 -2
  947. package/front_end/panels/sources/SourcesView.ts +7 -8
  948. package/front_end/panels/sources/TabbedEditorContainer.ts +11 -8
  949. package/front_end/panels/sources/ThreadsSidebarPane.ts +7 -10
  950. package/front_end/panels/sources/UISourceCodeFrame.test.ts +104 -0
  951. package/front_end/panels/sources/UISourceCodeFrame.ts +40 -17
  952. package/front_end/panels/sources/WatchExpressionsSidebarPane.ts +14 -9
  953. package/front_end/panels/sources/breakpointsView.css +276 -0
  954. package/front_end/panels/sources/components/HeadersView.ts +17 -13
  955. package/front_end/panels/sources/components/components.ts +0 -4
  956. package/front_end/panels/sources/scopeChainSidebarPane.css +1 -1
  957. package/front_end/panels/sources/sources-meta.ts +103 -112
  958. package/front_end/panels/sources/sources.ts +6 -0
  959. package/front_end/panels/timeline/ActiveFilters.ts +2 -1
  960. package/front_end/panels/timeline/AnimationsTrackAppender.ts +1 -1
  961. package/front_end/panels/timeline/AnnotationHelpers.test.ts +14 -8
  962. package/front_end/panels/timeline/AnnotationHelpers.ts +28 -23
  963. package/front_end/panels/timeline/AppenderUtils.ts +2 -2
  964. package/front_end/panels/timeline/CompatibilityTracksAppender.ts +1 -14
  965. package/front_end/panels/timeline/CountersGraph.test.ts +80 -0
  966. package/front_end/panels/timeline/CountersGraph.ts +27 -18
  967. package/front_end/panels/timeline/EntriesFilter.test.ts +22 -15
  968. package/front_end/panels/timeline/EventsTimelineTreeView.ts +4 -25
  969. package/front_end/panels/timeline/ExtensionTrackAppender.ts +4 -9
  970. package/front_end/panels/timeline/GPUTrackAppender.ts +3 -3
  971. package/front_end/panels/timeline/Initiators.test.ts +22 -19
  972. package/front_end/panels/timeline/Initiators.ts +19 -6
  973. package/front_end/panels/timeline/InteractionsTrackAppender.ts +6 -6
  974. package/front_end/panels/timeline/IsolateSelector.ts +2 -2
  975. package/front_end/panels/timeline/LayoutShiftsTrackAppender.ts +6 -5
  976. package/front_end/panels/timeline/ModificationsManager.test.ts +98 -188
  977. package/front_end/panels/timeline/ModificationsManager.ts +51 -48
  978. package/front_end/panels/timeline/NetworkTrackAppender.ts +3 -3
  979. package/front_end/panels/timeline/README.md +5 -13
  980. package/front_end/{models/trace/extras/Metadata.test.ts → panels/timeline/RecordingMetadata.test.ts} +61 -29
  981. package/front_end/panels/timeline/RecordingMetadata.ts +79 -0
  982. package/front_end/panels/timeline/SaveFileFormatter.test.ts +1 -3
  983. package/front_end/panels/timeline/SaveFileFormatter.ts +0 -8
  984. package/front_end/panels/timeline/StatusDialog.ts +12 -8
  985. package/front_end/panels/timeline/ThirdPartyTreeView.ts +5 -5
  986. package/front_end/panels/timeline/ThreadAppender.ts +29 -29
  987. package/front_end/panels/timeline/TimelineController.ts +14 -18
  988. package/front_end/panels/timeline/TimelineDetailsView.test.ts +49 -15
  989. package/front_end/panels/timeline/TimelineDetailsView.ts +213 -105
  990. package/front_end/panels/timeline/TimelineEventOverview.ts +6 -6
  991. package/front_end/panels/timeline/TimelineFlameChartDataProvider.test.ts +56 -95
  992. package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +94 -65
  993. package/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.test.ts +3 -62
  994. package/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.ts +10 -30
  995. package/front_end/panels/timeline/TimelineFlameChartView.test.ts +105 -80
  996. package/front_end/panels/timeline/TimelineFlameChartView.ts +107 -102
  997. package/front_end/panels/timeline/TimelineHistoryManager.test.ts +0 -5
  998. package/front_end/panels/timeline/TimelineHistoryManager.ts +8 -8
  999. package/front_end/panels/timeline/TimelineLoader.test.ts +4 -7
  1000. package/front_end/panels/timeline/TimelineLoader.ts +22 -3
  1001. package/front_end/panels/timeline/TimelineMiniMap.ts +13 -5
  1002. package/front_end/panels/timeline/TimelinePaintProfilerView.ts +1 -1
  1003. package/front_end/panels/timeline/TimelinePanel.test.ts +381 -117
  1004. package/front_end/panels/timeline/TimelinePanel.ts +576 -345
  1005. package/front_end/panels/timeline/TimelineSelectorStatsView.ts +195 -80
  1006. package/front_end/panels/timeline/TimelineTreeView.test.ts +5 -5
  1007. package/front_end/panels/timeline/TimelineTreeView.ts +25 -25
  1008. package/front_end/panels/timeline/TimelineUIUtils.test.ts +58 -55
  1009. package/front_end/panels/timeline/TimelineUIUtils.ts +159 -345
  1010. package/front_end/panels/timeline/TimingsTrackAppender.ts +12 -7
  1011. package/front_end/panels/timeline/TrackConfigBanner.test.ts +68 -0
  1012. package/front_end/panels/timeline/TrackConfigBanner.ts +97 -0
  1013. package/front_end/panels/timeline/TrackConfiguration.test.ts +3 -3
  1014. package/front_end/panels/timeline/TrackConfiguration.ts +1 -0
  1015. package/front_end/panels/timeline/UIDevtoolsUtils.ts +15 -15
  1016. package/front_end/panels/timeline/components/BreadcrumbsUI.ts +4 -9
  1017. package/front_end/panels/timeline/components/DetailsView.ts +13 -13
  1018. package/front_end/panels/timeline/components/ExportTraceOptions.test.ts +281 -0
  1019. package/front_end/panels/timeline/components/ExportTraceOptions.ts +262 -0
  1020. package/front_end/panels/timeline/components/FieldSettingsDialog.test.ts +1 -1
  1021. package/front_end/panels/timeline/components/FieldSettingsDialog.ts +2 -1
  1022. package/front_end/panels/timeline/components/IgnoreListSetting.test.ts +5 -4
  1023. package/front_end/panels/timeline/components/IgnoreListSetting.ts +7 -7
  1024. package/front_end/panels/timeline/components/InteractionBreakdown.ts +3 -3
  1025. package/front_end/panels/timeline/components/Invalidations.test.ts +2 -1
  1026. package/front_end/panels/timeline/components/LayoutShiftDetails.test.ts +21 -11
  1027. package/front_end/panels/timeline/components/LayoutShiftDetails.ts +325 -307
  1028. package/front_end/panels/timeline/components/LiveMetricsView.test.ts +14 -22
  1029. package/front_end/panels/timeline/components/LiveMetricsView.ts +1 -1
  1030. package/front_end/panels/timeline/components/MetricCard.test.ts +2 -2
  1031. package/front_end/panels/timeline/components/NetworkRequestDetails.test.ts +38 -44
  1032. package/front_end/panels/timeline/components/NetworkRequestDetails.ts +318 -278
  1033. package/front_end/panels/timeline/components/NetworkRequestTooltip.ts +8 -8
  1034. package/front_end/panels/timeline/components/NetworkThrottlingSelector.test.ts +3 -0
  1035. package/front_end/panels/timeline/components/OriginMap.ts +1 -1
  1036. package/front_end/panels/timeline/components/RelatedInsightChips.test.ts +17 -31
  1037. package/front_end/panels/timeline/components/RelatedInsightChips.ts +87 -66
  1038. package/front_end/panels/timeline/components/Sidebar.test.ts +43 -4
  1039. package/front_end/panels/timeline/components/Sidebar.ts +47 -20
  1040. package/front_end/panels/timeline/components/SidebarAnnotationsTab.test.ts +47 -72
  1041. package/front_end/panels/timeline/components/SidebarAnnotationsTab.ts +228 -218
  1042. package/front_end/panels/timeline/components/SidebarInsightsTab.test.ts +1 -0
  1043. package/front_end/panels/timeline/components/SidebarInsightsTab.ts +18 -54
  1044. package/front_end/panels/timeline/components/SidebarSingleInsightSet.test.ts +7 -53
  1045. package/front_end/panels/timeline/components/SidebarSingleInsightSet.ts +61 -44
  1046. package/front_end/panels/timeline/components/TimelineSummary.ts +4 -4
  1047. package/front_end/panels/timeline/components/Utils.ts +9 -9
  1048. package/front_end/panels/timeline/components/components.ts +2 -0
  1049. package/front_end/panels/timeline/components/exportTraceOptions.css +26 -0
  1050. package/front_end/panels/timeline/components/insights/BaseInsightComponent.test.ts +40 -16
  1051. package/front_end/panels/timeline/components/insights/BaseInsightComponent.ts +28 -34
  1052. package/front_end/panels/timeline/components/insights/CLSCulprits.test.ts +5 -5
  1053. package/front_end/panels/timeline/components/insights/CLSCulprits.ts +32 -23
  1054. package/front_end/panels/timeline/components/insights/Cache.ts +4 -22
  1055. package/front_end/panels/timeline/components/insights/Checklist.ts +6 -7
  1056. package/front_end/panels/timeline/components/insights/DOMSize.ts +35 -15
  1057. package/front_end/panels/timeline/components/insights/DocumentLatency.ts +1 -61
  1058. package/front_end/panels/timeline/components/insights/DuplicatedJavaScript.ts +5 -17
  1059. package/front_end/panels/timeline/components/insights/EventRef.ts +7 -9
  1060. package/front_end/panels/timeline/components/insights/FontDisplay.ts +20 -21
  1061. package/front_end/panels/timeline/components/insights/ForcedReflow.ts +5 -28
  1062. package/front_end/panels/timeline/components/insights/{InteractionToNextPaint.test.ts → INPBreakdown.test.ts} +8 -5
  1063. package/front_end/panels/timeline/components/insights/INPBreakdown.ts +70 -0
  1064. package/front_end/panels/timeline/components/insights/ImageDelivery.ts +7 -21
  1065. package/front_end/panels/timeline/components/insights/LCPBreakdown.ts +146 -0
  1066. package/front_end/panels/timeline/components/insights/LCPDiscovery.ts +28 -80
  1067. package/front_end/panels/timeline/components/insights/LegacyJavaScript.ts +3 -15
  1068. package/front_end/panels/timeline/components/insights/ModernHTTP.ts +18 -23
  1069. package/front_end/panels/timeline/components/insights/NetworkDependencyTree.test.ts +76 -0
  1070. package/front_end/panels/timeline/components/insights/NetworkDependencyTree.ts +35 -29
  1071. package/front_end/panels/timeline/components/insights/NodeLink.test.ts +113 -0
  1072. package/front_end/panels/timeline/components/insights/NodeLink.ts +50 -10
  1073. package/front_end/panels/timeline/components/insights/README.md +1 -1
  1074. package/front_end/panels/timeline/components/insights/RenderBlocking.ts +4 -22
  1075. package/front_end/panels/timeline/components/insights/SidebarInsight.ts +1 -2
  1076. package/front_end/panels/timeline/components/insights/SlowCSSSelector.ts +16 -28
  1077. package/front_end/panels/timeline/components/insights/Table.ts +2 -3
  1078. package/front_end/panels/timeline/components/insights/ThirdParties.ts +7 -47
  1079. package/front_end/panels/timeline/components/insights/Viewport.ts +0 -6
  1080. package/front_end/panels/timeline/components/insights/insights.ts +4 -4
  1081. package/front_end/panels/timeline/components/insights/table.css +18 -0
  1082. package/front_end/panels/timeline/components/insights/types.ts +2 -2
  1083. package/front_end/panels/timeline/components/layoutShiftDetails.css +99 -92
  1084. package/front_end/panels/timeline/components/networkRequestDetails.css +110 -104
  1085. package/front_end/panels/timeline/components/networkRequestTooltip.css +88 -83
  1086. package/front_end/panels/timeline/components/relatedInsightChips.css +60 -58
  1087. package/front_end/panels/timeline/components/sidebarAnnotationsTab.css +80 -78
  1088. package/front_end/panels/timeline/components/sidebarInsightsTab.css +0 -25
  1089. package/front_end/panels/timeline/components/sidebarSingleInsightSet.css +1 -1
  1090. package/front_end/panels/timeline/docs/flame_chart_migration.md +2 -2
  1091. package/front_end/panels/timeline/overlays/OverlaysImpl.test.ts +149 -42
  1092. package/front_end/panels/timeline/overlays/OverlaysImpl.ts +218 -283
  1093. package/front_end/panels/timeline/overlays/components/EntriesLinkOverlay.ts +1 -1
  1094. package/front_end/panels/timeline/overlays/components/EntryLabelOverlay.ts +69 -104
  1095. package/front_end/panels/timeline/overlays/components/TimeRangeOverlay.ts +1 -1
  1096. package/front_end/panels/timeline/overlays/components/entryLabelOverlay.css +13 -0
  1097. package/front_end/panels/timeline/overlays/components/timeRangeOverlay.css +2 -1
  1098. package/front_end/panels/timeline/timeline-meta.ts +14 -14
  1099. package/front_end/panels/timeline/timeline.ts +4 -4
  1100. package/front_end/panels/timeline/timelineDetailsView.css +118 -0
  1101. package/front_end/panels/timeline/timelineFlameChartView.css +18 -117
  1102. package/front_end/panels/timeline/timelineMiniMap.css +5 -0
  1103. package/front_end/panels/timeline/timelinePanel.css +2 -10
  1104. package/front_end/panels/timeline/timelineTreeView.css +0 -4
  1105. package/front_end/panels/timeline/track_appenders/CompatibilityTracksAppender.test.ts +16 -15
  1106. package/front_end/panels/timeline/track_appenders/ExtensionTrackAppender.test.ts +6 -4
  1107. package/front_end/panels/timeline/track_appenders/InteractionsTrackAppender.test.ts +0 -1
  1108. package/front_end/panels/timeline/track_appenders/ThreadAppender.test.ts +34 -49
  1109. package/front_end/panels/timeline/utils/AICallTree.test.ts +54 -120
  1110. package/front_end/panels/timeline/utils/AICallTree.ts +31 -74
  1111. package/front_end/panels/timeline/utils/AIContext.ts +67 -0
  1112. package/front_end/panels/timeline/utils/EntityMapper.test.ts +5 -4
  1113. package/front_end/panels/timeline/utils/EntityMapper.ts +3 -3
  1114. package/front_end/panels/timeline/utils/EntryName.test.ts +3 -3
  1115. package/front_end/panels/timeline/utils/EntryName.ts +10 -10
  1116. package/front_end/panels/timeline/utils/EntryNodes.test.ts +137 -0
  1117. package/front_end/panels/timeline/utils/EntryNodes.ts +107 -0
  1118. package/front_end/panels/timeline/utils/EntryStyles.ts +110 -110
  1119. package/front_end/panels/timeline/{EventsSerializer.test.ts → utils/EventsSerializer.test.ts} +7 -7
  1120. package/front_end/panels/timeline/{EventsSerializer.ts → utils/EventsSerializer.ts} +1 -1
  1121. package/front_end/panels/timeline/{FreshRecording.test.ts → utils/FreshRecording.test.ts} +5 -5
  1122. package/front_end/panels/timeline/{FreshRecording.ts → utils/FreshRecording.ts} +1 -1
  1123. package/front_end/panels/timeline/utils/Helpers.ts +6 -0
  1124. package/front_end/panels/timeline/utils/IgnoreList.test.ts +7 -6
  1125. package/front_end/panels/timeline/utils/IgnoreList.ts +6 -6
  1126. package/front_end/panels/timeline/utils/InsightAIContext.test.ts +61 -25
  1127. package/front_end/panels/timeline/utils/InsightAIContext.ts +102 -81
  1128. package/front_end/panels/timeline/utils/SourceMapsResolver.test.ts +5 -4
  1129. package/front_end/panels/timeline/utils/Treemap.ts +5 -20
  1130. package/front_end/panels/timeline/utils/utils.ts +8 -0
  1131. package/front_end/panels/utils/utils.test.ts +1 -7
  1132. package/front_end/panels/utils/utils.ts +17 -21
  1133. package/front_end/panels/web_audio/WebAudioView.test.ts +224 -11
  1134. package/front_end/panels/web_audio/WebAudioView.ts +219 -267
  1135. package/front_end/panels/web_audio/web_audio-meta.ts +3 -3
  1136. package/front_end/panels/web_audio/web_audio.ts +0 -12
  1137. package/front_end/panels/webauthn/WebauthnPane.test.ts +75 -72
  1138. package/front_end/panels/webauthn/WebauthnPane.ts +517 -578
  1139. package/front_end/panels/webauthn/webauthn-meta.ts +2 -2
  1140. package/front_end/panels/webauthn/webauthnPane.css +157 -155
  1141. package/front_end/panels/whats_new/ReleaseNoteText.ts +11 -11
  1142. package/front_end/panels/whats_new/ReleaseNoteView.ts +2 -2
  1143. package/front_end/panels/whats_new/releaseNoteView.css +92 -91
  1144. package/front_end/panels/whats_new/resources/WNDT.md +6 -10
  1145. package/front_end/panels/whats_new/whats_new-meta.ts +7 -7
  1146. package/front_end/services/trace_bounds/TraceBounds.ts +1 -1
  1147. package/front_end/services/tracing/ExternalRequests.test.ts +39 -0
  1148. package/front_end/services/tracing/ExternalRequests.ts +74 -0
  1149. package/front_end/services/tracing/PerformanceTracing.ts +5 -4
  1150. package/front_end/{models/trace → services/tracing}/TracingManager.test.ts +9 -7
  1151. package/front_end/{models/trace → services/tracing}/TracingManager.ts +3 -4
  1152. package/front_end/services/tracing/tracing.ts +4 -0
  1153. package/front_end/testing/AiAssistanceHelpers.ts +10 -8
  1154. package/front_end/testing/DOMHelpers.ts +8 -6
  1155. package/front_end/testing/EnvironmentHelpers.ts +21 -6
  1156. package/front_end/testing/ExpectStubCall.ts +2 -1
  1157. package/front_end/testing/InsightHelpers.ts +11 -4
  1158. package/front_end/testing/MockConnection.ts +3 -2
  1159. package/front_end/testing/MockSettingStorage.ts +23 -0
  1160. package/front_end/testing/MutationHelpers.test.ts +1 -3
  1161. package/front_end/testing/OverridesHelpers.ts +9 -3
  1162. package/front_end/testing/PropertyParser.ts +1 -1
  1163. package/front_end/testing/README.md +34 -0
  1164. package/front_end/testing/SnapshotTester.snapshot.txt +9 -0
  1165. package/front_end/testing/SnapshotTester.test.ts +32 -0
  1166. package/front_end/testing/SnapshotTester.ts +150 -0
  1167. package/front_end/testing/SourceMapEncoder.ts +1 -237
  1168. package/front_end/testing/SourceMapHelpers.ts +3 -5
  1169. package/front_end/testing/StackTraceHelpers.ts +47 -0
  1170. package/front_end/testing/StyleHelpers.ts +43 -22
  1171. package/front_end/testing/TraceHelpers.ts +135 -122
  1172. package/front_end/testing/TraceLoader.ts +23 -65
  1173. package/front_end/testing/test_setup.ts +31 -4
  1174. package/front_end/ui/components/buttons/Button.ts +1 -1
  1175. package/front_end/ui/components/buttons/FloatingButton.ts +37 -6
  1176. package/front_end/ui/components/cards/Card.ts +2 -2
  1177. package/front_end/ui/components/copy_to_clipboard/copyToClipboard.ts +1 -1
  1178. package/front_end/ui/components/dialogs/ButtonDialog.test.ts +2 -6
  1179. package/front_end/ui/components/dialogs/ButtonDialog.ts +15 -0
  1180. package/front_end/ui/components/dialogs/Dialog.ts +68 -8
  1181. package/front_end/ui/components/dialogs/ShortcutDialog.test.ts +1 -3
  1182. package/front_end/ui/components/diff_view/DiffView.ts +6 -6
  1183. package/front_end/ui/components/docs/console_insight/basic.ts +1 -1
  1184. package/front_end/ui/components/docs/console_insight/error.ts +1 -1
  1185. package/front_end/ui/components/docs/console_insight/loading.ts +1 -1
  1186. package/front_end/ui/components/docs/context_menu/basic.html +45 -0
  1187. package/front_end/ui/components/docs/context_menu/basic.ts +102 -0
  1188. package/front_end/ui/components/docs/icon_component/basic.html +1 -3
  1189. package/front_end/ui/components/docs/icon_component/basic.ts +1 -1
  1190. package/front_end/ui/components/docs/recorder_recording_list_view/basic.ts +4 -1
  1191. package/front_end/ui/components/docs/select_menu/basic.html +1 -27
  1192. package/front_end/ui/components/docs/select_menu/basic.ts +86 -194
  1193. package/front_end/ui/components/icon_button/Icon.ts +16 -10
  1194. package/front_end/ui/components/icon_button/IconButton.ts +1 -3
  1195. package/front_end/ui/components/icon_button/icon.css +73 -0
  1196. package/front_end/ui/components/issue_counter/IssueCounter.ts +13 -14
  1197. package/front_end/ui/components/issue_counter/IssueLinkIcon.ts +3 -3
  1198. package/front_end/ui/components/markdown_view/MarkdownImagesMap.ts +4 -4
  1199. package/front_end/ui/components/markdown_view/MarkdownLinksMap.ts +9 -6
  1200. package/front_end/ui/components/markdown_view/MarkdownView.test.ts +73 -0
  1201. package/front_end/ui/components/panel_feedback/PanelFeedback.ts +5 -11
  1202. package/front_end/ui/components/panel_feedback/PreviewToggle.ts +4 -9
  1203. package/front_end/ui/components/settings/SettingCheckbox.ts +3 -3
  1204. package/front_end/ui/components/settings/SettingDeprecationWarning.ts +2 -4
  1205. package/front_end/ui/components/snackbars/Snackbar.ts +32 -17
  1206. package/front_end/ui/components/snackbars/snackbar.css +1 -1
  1207. package/front_end/ui/components/spinners/Spinner.ts +50 -2
  1208. package/front_end/ui/components/spinners/spinner.css +10 -1
  1209. package/front_end/ui/components/srgb_overlay/SrgbOverlay.ts +0 -1
  1210. package/front_end/ui/components/survey_link/SurveyLink.ts +4 -8
  1211. package/front_end/ui/components/text_editor/AiCodeCompletionTeaserPlaceholder.test.ts +84 -0
  1212. package/front_end/ui/components/text_editor/AiCodeCompletionTeaserPlaceholder.ts +83 -0
  1213. package/front_end/ui/components/text_editor/ExecutionPositionHighlighter.ts +0 -1
  1214. package/front_end/ui/components/text_editor/TextEditor.test.ts +72 -12
  1215. package/front_end/ui/components/text_editor/TextEditor.ts +2 -0
  1216. package/front_end/ui/components/text_editor/config.ts +120 -12
  1217. package/front_end/ui/{legacy/components/inline_editor/bezierSwatch.css → components/text_editor/textEditor.css} +2 -6
  1218. package/front_end/ui/components/text_editor/text_editor.ts +1 -0
  1219. package/front_end/ui/components/tooltips/Tooltip.test.ts +70 -40
  1220. package/front_end/ui/components/tooltips/Tooltip.ts +208 -33
  1221. package/front_end/ui/components/tooltips/tooltip.css +13 -77
  1222. package/front_end/ui/components/tree_outline/TreeOutline.ts +11 -0
  1223. package/front_end/ui/legacy/ARIAUtils.test.ts +101 -20
  1224. package/front_end/ui/legacy/ARIAUtils.ts +77 -49
  1225. package/front_end/ui/legacy/ActionRegistration.test.ts +0 -2
  1226. package/front_end/ui/legacy/ActionRegistration.ts +24 -24
  1227. package/front_end/ui/legacy/ContextMenu.test.ts +60 -1
  1228. package/front_end/ui/legacy/ContextMenu.ts +349 -29
  1229. package/front_end/ui/legacy/DockController.ts +13 -7
  1230. package/front_end/ui/legacy/EmptyWidget.ts +62 -32
  1231. package/front_end/ui/legacy/FilterBar.ts +14 -9
  1232. package/front_end/ui/legacy/GlassPane.ts +10 -4
  1233. package/front_end/ui/legacy/Infobar.ts +2 -2
  1234. package/front_end/ui/legacy/InspectorView.test.ts +99 -0
  1235. package/front_end/ui/legacy/InspectorView.ts +71 -25
  1236. package/front_end/ui/legacy/ListWidget.ts +9 -9
  1237. package/front_end/ui/legacy/Panel.ts +1 -1
  1238. package/front_end/ui/legacy/ProgressIndicator.ts +44 -41
  1239. package/front_end/ui/legacy/RemoteDebuggingTerminatedScreen.ts +4 -4
  1240. package/front_end/ui/legacy/ReportView.ts +1 -1
  1241. package/front_end/ui/legacy/SearchableView.ts +24 -24
  1242. package/front_end/ui/legacy/SettingsUI.ts +2 -2
  1243. package/front_end/ui/legacy/ShortcutRegistry.ts +2 -1
  1244. package/front_end/ui/legacy/SoftContextMenu.ts +23 -9
  1245. package/front_end/ui/legacy/SoftDropDown.ts +1 -1
  1246. package/front_end/ui/legacy/SplitWidget.test.ts +8 -0
  1247. package/front_end/ui/legacy/SplitWidget.ts +3 -3
  1248. package/front_end/ui/legacy/SuggestBox.ts +15 -15
  1249. package/front_end/ui/legacy/TabbedPane.ts +27 -31
  1250. package/front_end/ui/legacy/TargetCrashedScreen.ts +4 -4
  1251. package/front_end/ui/legacy/TextPrompt.ts +4 -2
  1252. package/front_end/ui/legacy/ThrottledWidget.ts +1 -1
  1253. package/front_end/ui/legacy/Toolbar.test.ts +13 -0
  1254. package/front_end/ui/legacy/Toolbar.ts +39 -19
  1255. package/front_end/ui/legacy/Treeoutline.test.ts +140 -0
  1256. package/front_end/ui/legacy/Treeoutline.ts +244 -8
  1257. package/front_end/ui/legacy/UIUtils.test.ts +59 -0
  1258. package/front_end/ui/legacy/UIUtils.ts +235 -25
  1259. package/front_end/ui/legacy/View.test.ts +14 -1
  1260. package/front_end/ui/legacy/View.ts +33 -9
  1261. package/front_end/ui/legacy/ViewManager.test.ts +235 -0
  1262. package/front_end/ui/legacy/ViewManager.ts +109 -15
  1263. package/front_end/ui/legacy/ViewRegistration.ts +17 -7
  1264. package/front_end/ui/legacy/Widget.test.ts +35 -3
  1265. package/front_end/ui/legacy/Widget.ts +127 -16
  1266. package/front_end/ui/legacy/XLink.ts +1 -1
  1267. package/front_end/ui/legacy/components/color_picker/ContrastDetails.ts +36 -26
  1268. package/front_end/ui/legacy/components/color_picker/FormatPickerContextMenu.ts +4 -8
  1269. package/front_end/ui/legacy/components/color_picker/Spectrum.test.ts +36 -1
  1270. package/front_end/ui/legacy/components/color_picker/Spectrum.ts +72 -49
  1271. package/front_end/ui/legacy/components/color_picker/spectrum.css +1 -1
  1272. package/front_end/ui/legacy/components/cookie_table/CookiesTable.ts +14 -19
  1273. package/front_end/ui/legacy/components/data_grid/DataGrid.ts +31 -30
  1274. package/front_end/ui/legacy/components/data_grid/DataGridElement.test.ts +19 -15
  1275. package/front_end/ui/legacy/components/data_grid/DataGridElement.ts +15 -3
  1276. package/front_end/ui/legacy/components/data_grid/ShowMoreDataGridNode.ts +2 -2
  1277. package/front_end/ui/legacy/components/data_grid/ViewportDataGrid.ts +6 -3
  1278. package/front_end/ui/legacy/components/data_grid/dataGrid.css +9 -3
  1279. package/front_end/ui/legacy/components/inline_editor/BezierEditor.ts +1 -1
  1280. package/front_end/ui/legacy/components/inline_editor/BezierUI.ts +1 -1
  1281. package/front_end/ui/legacy/components/inline_editor/CSSAngle.test.ts +25 -25
  1282. package/front_end/ui/legacy/components/inline_editor/CSSAngle.ts +11 -5
  1283. package/front_end/ui/legacy/components/inline_editor/CSSShadowEditor.ts +5 -5
  1284. package/front_end/ui/legacy/components/inline_editor/ColorSwatch.test.ts +1 -9
  1285. package/front_end/ui/legacy/components/inline_editor/ColorSwatch.ts +35 -20
  1286. package/front_end/ui/legacy/components/inline_editor/FontEditor.ts +32 -31
  1287. package/front_end/ui/legacy/components/inline_editor/FontEditorUnitConverter.ts +1 -1
  1288. package/front_end/ui/legacy/components/inline_editor/Swatches.ts +3 -47
  1289. package/front_end/ui/legacy/components/inline_editor/cssAngle.css +4 -5
  1290. package/front_end/ui/legacy/components/object_ui/CustomPreviewComponent.ts +2 -2
  1291. package/front_end/ui/legacy/components/object_ui/ObjectPopoverHelper.ts +1 -1
  1292. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.test.ts +19 -1
  1293. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +31 -28
  1294. package/front_end/ui/legacy/components/object_ui/objectPropertiesSection.css +2 -0
  1295. package/front_end/ui/legacy/components/perf_ui/BrickBreaker.ts +2 -2
  1296. package/front_end/ui/legacy/components/perf_ui/ChartViewport.ts +7 -3
  1297. package/front_end/ui/legacy/components/perf_ui/FilmStripView.ts +7 -7
  1298. package/front_end/ui/legacy/components/perf_ui/FlameChart.test.ts +162 -1
  1299. package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +153 -99
  1300. package/front_end/ui/legacy/components/perf_ui/NetworkPriorities.ts +5 -5
  1301. package/front_end/ui/legacy/components/perf_ui/OverviewGrid.ts +3 -3
  1302. package/front_end/ui/legacy/components/perf_ui/PieChart.ts +1 -1
  1303. package/front_end/ui/legacy/components/perf_ui/TimelineGrid.ts +0 -4
  1304. package/front_end/ui/legacy/components/perf_ui/TimelineOverviewPane.ts +54 -6
  1305. package/front_end/ui/legacy/components/perf_ui/perf_ui-meta.ts +6 -6
  1306. package/front_end/ui/legacy/components/quick_open/CommandMenu.ts +29 -3
  1307. package/front_end/ui/legacy/components/quick_open/FilteredListWidget.ts +14 -5
  1308. package/front_end/ui/legacy/components/quick_open/HelpQuickOpen.ts +2 -5
  1309. package/front_end/ui/legacy/components/quick_open/filteredListWidget.css +2 -0
  1310. package/front_end/ui/legacy/components/quick_open/quick_open-meta.ts +2 -2
  1311. package/front_end/ui/legacy/components/source_frame/FontView.ts +8 -5
  1312. package/front_end/ui/legacy/components/source_frame/ImageView.ts +17 -29
  1313. package/front_end/ui/legacy/components/source_frame/JSONView.ts +3 -3
  1314. package/front_end/ui/legacy/components/source_frame/PreviewFactory.ts +2 -2
  1315. package/front_end/ui/legacy/components/source_frame/ResourceSourceFrame.test.ts +0 -4
  1316. package/front_end/ui/legacy/components/source_frame/ResourceSourceFrame.ts +2 -2
  1317. package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +41 -31
  1318. package/front_end/ui/legacy/components/source_frame/StreamingContentHexView.ts +1 -1
  1319. package/front_end/ui/legacy/components/source_frame/XMLView.ts +2 -2
  1320. package/front_end/ui/legacy/components/source_frame/fontView.css +1 -1
  1321. package/front_end/ui/legacy/components/source_frame/source_frame-meta.ts +9 -9
  1322. package/front_end/ui/legacy/components/utils/ImagePreview.ts +4 -4
  1323. package/front_end/ui/legacy/components/utils/JSPresentationUtils.test.ts +6 -5
  1324. package/front_end/ui/legacy/components/utils/JSPresentationUtils.ts +76 -34
  1325. package/front_end/ui/legacy/components/utils/Linkifier.test.ts +154 -2
  1326. package/front_end/ui/legacy/components/utils/Linkifier.ts +108 -50
  1327. package/front_end/ui/legacy/components/utils/TargetDetachedDialog.ts +2 -1
  1328. package/front_end/ui/legacy/confirmDialog.css +1 -1
  1329. package/front_end/ui/legacy/filter.css +12 -4
  1330. package/front_end/ui/legacy/inspectorCommon.css +25 -20
  1331. package/front_end/ui/legacy/remoteDebuggingTerminatedScreen.css +18 -17
  1332. package/front_end/ui/legacy/softContextMenu.css +4 -0
  1333. package/front_end/ui/legacy/tabbedPane.css +5 -1
  1334. package/front_end/ui/legacy/targetCrashedScreen.css +9 -8
  1335. package/front_end/ui/legacy/viewContainers.css +8 -0
  1336. package/front_end/ui/visual_logging/Debugging.ts +122 -26
  1337. package/front_end/ui/visual_logging/KnownContextValues.ts +139 -1
  1338. package/front_end/ui/visual_logging/LoggingConfig.ts +1 -1
  1339. package/front_end/ui/visual_logging/LoggingDriver.test.ts +74 -44
  1340. package/front_end/ui/visual_logging/LoggingDriver.ts +3 -2
  1341. package/front_end/ui/visual_logging/LoggingState.ts +6 -4
  1342. package/front_end/ui/visual_logging/README.md +1 -3
  1343. package/front_end/ui/visual_logging/visual_logging.ts +9 -0
  1344. package/front_end/ui/visual_logging/visual_logging_debugging.png +0 -0
  1345. package/inspector_overlay/css_grid_label_helpers.ts +4 -4
  1346. package/inspector_overlay/highlight_flex_common.ts +2 -2
  1347. package/inspector_overlay/loadCSS.rollup.js +2 -2
  1348. package/inspector_overlay/main.ts +0 -4
  1349. package/inspector_overlay/tool_highlight.css +1 -1
  1350. package/inspector_overlay/tool_highlight.ts +7 -7
  1351. package/package.json +32 -36
  1352. package/scripts/add_icon_paths.py +1 -1
  1353. package/scripts/ai_assistance/README.md +1 -0
  1354. package/scripts/ai_assistance/auto-run/auto-run.ts +46 -6
  1355. package/scripts/ai_assistance/auto-run/shared/comment-parsers.test.ts +2 -2
  1356. package/scripts/ai_assistance/auto-run/shared/comment-parsers.ts +2 -2
  1357. package/scripts/ai_assistance/auto-run/shared/puppeteer-helpers.ts +18 -15
  1358. package/scripts/ai_assistance/auto-run/targets/elements-executor.ts +2 -0
  1359. package/scripts/ai_assistance/auto-run/targets/elements-multimodal-executor.ts +2 -0
  1360. package/scripts/ai_assistance/auto-run/targets/interface.ts +1 -0
  1361. package/scripts/ai_assistance/auto-run/targets/patching-executor.ts +1 -0
  1362. package/scripts/ai_assistance/auto-run/targets/performance-insights-executor.ts +2 -0
  1363. package/scripts/ai_assistance/auto-run/targets/performance-main-thread-executor.ts +2 -0
  1364. package/scripts/ai_assistance/eval/index.js +5 -1
  1365. package/scripts/ai_assistance/package.json +2 -1
  1366. package/scripts/ai_assistance/suite/README.md +57 -0
  1367. package/scripts/ai_assistance/suite/helpers/evaluators.ts +183 -0
  1368. package/scripts/ai_assistance/suite/helpers/gemini.ts +122 -0
  1369. package/scripts/ai_assistance/suite/helpers/outputs.ts +112 -0
  1370. package/scripts/ai_assistance/suite/instructions/lcp-breakdown.md +12 -0
  1371. package/scripts/ai_assistance/suite/instructions/load.ts +13 -0
  1372. package/scripts/ai_assistance/suite/instructions/scoring.md +27 -0
  1373. package/scripts/ai_assistance/suite/performance.eval.ts +18 -0
  1374. package/scripts/ai_assistance/suite/to_eval_output.ts +166 -0
  1375. package/scripts/ai_assistance/suite/types.d.ts +40 -0
  1376. package/scripts/ai_assistance/suite/upload_to_gcp.ts +104 -0
  1377. package/scripts/ai_assistance/tsconfig.json +1 -1
  1378. package/scripts/ai_assistance/types.d.ts +8 -3
  1379. package/scripts/build/assert_grd.py +1 -1
  1380. package/scripts/build/compress_files.js +9 -4
  1381. package/scripts/build/cross_reference_ninja_and_tsc.js +5 -5
  1382. package/scripts/build/devtools_plugin.js +9 -2
  1383. package/scripts/build/esbuild.js +4 -1
  1384. package/scripts/build/generate_html_entrypoint.js +5 -4
  1385. package/scripts/build/ninja/README.md +2 -3
  1386. package/scripts/build/ninja/bundle.gni +7 -30
  1387. package/scripts/build/ninja/devtools_entrypoint.gni +4 -4
  1388. package/scripts/build/ninja/devtools_pre_built.gni +2 -1
  1389. package/scripts/build/ninja/generate_css.gni +4 -2
  1390. package/scripts/build/ninja/vars.gni +5 -1
  1391. package/scripts/build/ninja/write-if-changed.js +2 -2
  1392. package/scripts/build/typescript/ts_library.py +7 -1
  1393. package/scripts/build/typescript/typescript.gni +2 -1
  1394. package/scripts/component_server/server.js +8 -7
  1395. package/scripts/devtools_build.mjs +93 -26
  1396. package/scripts/devtools_build.test.mjs +48 -48
  1397. package/scripts/devtools_paths.py +0 -5
  1398. package/scripts/eslint_rules/README.md +4 -2
  1399. package/scripts/eslint_rules/lib/canvas-context-tracking.ts +1 -1
  1400. package/scripts/eslint_rules/lib/check-css-import.ts +2 -2
  1401. package/scripts/eslint_rules/lib/check-license-header.ts +3 -3
  1402. package/scripts/eslint_rules/lib/check-test-definitions.ts +2 -2
  1403. package/scripts/eslint_rules/lib/enforce-custom-element-definitions-location.ts +1 -1
  1404. package/scripts/eslint_rules/lib/enforce-optional-properties-last.ts +1 -1
  1405. package/scripts/eslint_rules/lib/enforce-ui-strings-as-const.ts +1 -1
  1406. package/scripts/eslint_rules/lib/es-modules-import.ts +3 -2
  1407. package/scripts/eslint_rules/lib/html-tagged-template.ts +2 -2
  1408. package/scripts/eslint_rules/lib/inject-checkbox-styles.ts +36 -24
  1409. package/scripts/eslint_rules/lib/inline-type-imports.ts +1 -1
  1410. package/scripts/eslint_rules/lib/jslog-context-list.ts +32 -7
  1411. package/scripts/eslint_rules/lib/no-adopted-style-sheets.ts +2 -2
  1412. package/scripts/eslint_rules/lib/no-assert-deep-strict-equal.ts +17 -16
  1413. package/scripts/eslint_rules/lib/no-assert-equal-boolean-null-undefined.ts +1 -1
  1414. package/scripts/eslint_rules/lib/no-assert-equal.ts +1 -1
  1415. package/scripts/eslint_rules/lib/no-assert-strict-equal-for-arrays-and-objects.ts +1 -1
  1416. package/scripts/eslint_rules/lib/no-commented-out-console.ts +4 -2
  1417. package/scripts/eslint_rules/lib/no-customized-builtin-elements.ts +1 -4
  1418. package/scripts/eslint_rules/lib/no-imperative-dom-api/adorner.ts +5 -9
  1419. package/scripts/eslint_rules/lib/no-imperative-dom-api/aria-utils.ts +5 -8
  1420. package/scripts/eslint_rules/lib/no-imperative-dom-api/ast.ts +24 -1
  1421. package/scripts/eslint_rules/lib/no-imperative-dom-api/button.ts +5 -4
  1422. package/scripts/eslint_rules/lib/no-imperative-dom-api/class-member.ts +1 -1
  1423. package/scripts/eslint_rules/lib/no-imperative-dom-api/data-grid.ts +23 -25
  1424. package/scripts/eslint_rules/lib/no-imperative-dom-api/dom-api-devtools-extensions.ts +5 -9
  1425. package/scripts/eslint_rules/lib/no-imperative-dom-api/dom-api.ts +11 -16
  1426. package/scripts/eslint_rules/lib/no-imperative-dom-api/dom-fragment.ts +2 -2
  1427. package/scripts/eslint_rules/lib/no-imperative-dom-api/split-widget.ts +14 -18
  1428. package/scripts/eslint_rules/lib/no-imperative-dom-api/toolbar.ts +17 -18
  1429. package/scripts/eslint_rules/lib/no-imperative-dom-api/ui-fragment.ts +7 -12
  1430. package/scripts/eslint_rules/lib/no-imperative-dom-api/ui-utils.ts +7 -7
  1431. package/scripts/eslint_rules/lib/no-imperative-dom-api/widget.ts +8 -13
  1432. package/scripts/eslint_rules/lib/no-imperative-dom-api.ts +3 -22
  1433. package/scripts/eslint_rules/lib/no-importing-images-from-src.ts +1 -1
  1434. package/scripts/eslint_rules/lib/no-imports-in-directory.ts +18 -7
  1435. package/scripts/eslint_rules/lib/no-lit-render-outside-of-view.ts +48 -37
  1436. package/scripts/eslint_rules/lib/no-new-lit-element-components.ts +5 -2
  1437. package/scripts/eslint_rules/lib/no-underscored-properties.ts +36 -28
  1438. package/scripts/eslint_rules/lib/prefer-assert-instance-of.ts +24 -20
  1439. package/scripts/eslint_rules/lib/prefer-assert-is-ok.ts +54 -45
  1440. package/scripts/eslint_rules/lib/prefer-assert-length-of.ts +24 -17
  1441. package/scripts/eslint_rules/lib/prefer-assert-strict-equal.ts +22 -16
  1442. package/scripts/eslint_rules/lib/prefer-private-class-members.ts +11 -4
  1443. package/scripts/eslint_rules/lib/prefer-sinon-assert.ts +37 -29
  1444. package/scripts/eslint_rules/lib/prefer-url-string.ts +1 -1
  1445. package/scripts/eslint_rules/lib/utils/lit.ts +26 -9
  1446. package/scripts/eslint_rules/lib/validate-timing-types.ts +330 -0
  1447. package/scripts/eslint_rules/rules-dir.mjs +4 -1
  1448. package/scripts/eslint_rules/tests/check-license-header.test.ts +8 -8
  1449. package/scripts/eslint_rules/tests/check-test-definitions.test.ts +0 -10
  1450. package/scripts/eslint_rules/tests/enforce-optional-properties-last.test.ts +1 -1
  1451. package/scripts/eslint_rules/tests/inject-checkbox-styles.test.ts +49 -0
  1452. package/scripts/eslint_rules/tests/no-imports-in-directory.test.ts +20 -5
  1453. package/scripts/eslint_rules/tests/no-lit-render-outside-of-view.test.ts +60 -10
  1454. package/scripts/eslint_rules/tests/no-new-lit-element-components.test.ts +4 -0
  1455. package/scripts/eslint_rules/tests/prefer-private-class-members.test.ts +2 -2
  1456. package/scripts/eslint_rules/tests/utils/RuleTester.ts +19 -1
  1457. package/scripts/eslint_rules/tests/utils.test.ts +1 -1
  1458. package/scripts/eslint_rules/tests/validate-timing-types.test.ts +289 -0
  1459. package/scripts/eslint_rules/tsconfig.json +3 -2
  1460. package/scripts/extract_bugs.ts +2 -3
  1461. package/scripts/javascript_natives/helpers.js +9 -9
  1462. package/scripts/migration/e2e_non_hosted_gemini.mjs +102 -0
  1463. package/scripts/migration/web-tests-esm/rename-legacy-global.mjs +1 -1
  1464. package/scripts/npm_test.js +1 -1
  1465. package/scripts/protocol_typescript/protocol_dts_generator.ts +27 -16
  1466. package/scripts/protocol_typescript/protocol_schema.d.ts +9 -4
  1467. package/scripts/reformat-clang-js-ts.js +1 -1
  1468. package/scripts/run_build.mjs +14 -2
  1469. package/scripts/run_start.mjs +6 -3
  1470. package/scripts/scaffold/scaffold-widget.js +7 -7
  1471. package/scripts/scaffold/templates/WidgetTemplate.ts.txt +1 -1
  1472. package/scripts/tools/update_goldens.py +143 -168
  1473. package/scripts/tsconfig.json +2 -1
  1474. package/scripts/whitespaces.txt +1 -1
  1475. package/front_end/core/sdk/SourceMapScopes.test.ts +0 -507
  1476. package/front_end/core/sdk/SourceMapScopes.ts +0 -472
  1477. package/front_end/models/ai_assistance/agents/PerformanceInsightsAgent.test.ts +0 -448
  1478. package/front_end/models/ai_assistance/agents/PerformanceInsightsAgent.ts +0 -498
  1479. package/front_end/models/trace/extras/FetchNodes.test.ts +0 -261
  1480. package/front_end/models/trace/extras/FetchNodes.ts +0 -254
  1481. package/front_end/models/trace/extras/Metadata.ts +0 -79
  1482. package/front_end/models/trace/insights/LCPPhases.test.ts +0 -71
  1483. package/front_end/models/trace/insights/LCPPhases.ts +0 -222
  1484. package/front_end/panels/animation/AnimationScreenshotPopover.ts +0 -65
  1485. package/front_end/panels/animation/animationScreenshotPopover.css +0 -18
  1486. package/front_end/panels/application/ReportingApiReportsView.test.ts +0 -117
  1487. package/front_end/panels/application/ReportingApiReportsView.ts +0 -88
  1488. package/front_end/panels/elements/ElementsTreeElementHighlighter.test.ts +0 -51
  1489. package/front_end/panels/elements/ElementsTreeElementHighlighter.ts +0 -107
  1490. package/front_end/panels/elements/components/LayoutPane.ts +0 -515
  1491. package/front_end/panels/elements/components/LayoutPaneUtils.ts +0 -41
  1492. package/front_end/panels/elements/components/layoutPane.css +0 -168
  1493. package/front_end/panels/sources/components/breakpointsView.css +0 -275
  1494. package/front_end/panels/timeline/components/insights/InteractionToNextPaint.ts +0 -118
  1495. package/front_end/panels/timeline/components/insights/LCPPhases.ts +0 -256
  1496. package/front_end/panels/web_audio/AudioContextContentBuilder.ts +0 -113
  1497. package/front_end/panels/web_audio/AudioContextSelector.ts +0 -140
  1498. package/front_end/panels/web_audio/audioContextSelector.css +0 -20
  1499. package/front_end/panels/web_audio/graph_visualizer/EdgeView.ts +0 -80
  1500. package/front_end/panels/web_audio/graph_visualizer/GraphManager.ts +0 -46
  1501. package/front_end/panels/web_audio/graph_visualizer/GraphStyle.ts +0 -96
  1502. package/front_end/panels/web_audio/graph_visualizer/GraphView.ts +0 -197
  1503. package/front_end/panels/web_audio/graph_visualizer/NodeRendererUtility.ts +0 -43
  1504. package/front_end/panels/web_audio/graph_visualizer/NodeView.ts +0 -258
  1505. package/front_end/panels/web_audio/graph_visualizer/graph_visualizer.ts +0 -19
  1506. package/front_end/ui/components/docs/recorder_recording_view/basic.html +0 -20
  1507. package/front_end/ui/components/docs/recorder_recording_view/basic.ts +0 -99
  1508. package/front_end/ui/legacy/inspectorViewTabbedPane.css +0 -13
  1509. package/inspector_overlay/debug/tool_distances.html +0 -25
  1510. package/inspector_overlay/tool_distances.ts +0 -125
  1511. package/scripts/eslint_rules/lib/no-it-screenshot-only-or-repeat.ts +0 -47
  1512. package/scripts/eslint_rules/lib/no-screenshot-test-outside-perf-panel.ts +0 -77
  1513. package/scripts/eslint_rules/lib/screenshot-assertion-in-it-screenshot.ts +0 -110
  1514. package/scripts/eslint_rules/lib/single-screenshot-assertion-per-test.ts +0 -85
  1515. package/scripts/eslint_rules/tests/no-it-screenshot-only-or-repeat.test.ts +0 -34
  1516. package/scripts/eslint_rules/tests/no-screenshot-test-outside-perf-panel.test.ts +0 -99
  1517. package/scripts/eslint_rules/tests/screenshot-assertion-in-it-screenshot.test.ts +0 -79
  1518. package/scripts/eslint_rules/tests/single-screenshot-assertion-per-test.test.ts +0 -97
  1519. package/scripts/tools/update_goldens_unittest.py +0 -88
  1520. package/scripts/tools/update_goldens_v2.py +0 -68
  1521. package/scripts/watch_build.js +0 -230
  1522. /package/front_end/panels/recorder/models/{RecorderShorcutHelper.test.ts → RecorderShortcutHelper.test.ts} +0 -0
@@ -2,34 +2,34 @@
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 Common from '../../../core/common/common.js';
6
- import * as Platform from '../../../core/platform/platform.js';
7
- import * as SDK from '../../../core/sdk/sdk.js';
8
- import type * as Protocol from '../../../generated/protocol.js';
9
- import * as Bindings from '../../../models/bindings/bindings.js';
10
- import * as Breakpoints from '../../../models/breakpoints/breakpoints.js';
11
- import * as TextUtils from '../../../models/text_utils/text_utils.js';
12
- import * as Workspace from '../../../models/workspace/workspace.js';
5
+ import * as Common from '../../core/common/common.js';
6
+ import * as Platform from '../../core/platform/platform.js';
7
+ import * as SDK from '../../core/sdk/sdk.js';
8
+ import type * as Protocol from '../../generated/protocol.js';
9
+ import * as Bindings from '../../models/bindings/bindings.js';
10
+ import * as Breakpoints from '../../models/breakpoints/breakpoints.js';
11
+ import * as TextUtils from '../../models/text_utils/text_utils.js';
12
+ import * as Workspace from '../../models/workspace/workspace.js';
13
13
  import {
14
14
  assertElements,
15
15
  dispatchClickEvent,
16
16
  dispatchKeyDownEvent,
17
17
  renderElementIntoDOM,
18
- } from '../../../testing/DOMHelpers.js';
18
+ } from '../../testing/DOMHelpers.js';
19
19
  import {
20
20
  createTarget,
21
21
  describeWithEnvironment,
22
- } from '../../../testing/EnvironmentHelpers.js';
23
- import {describeWithMockConnection} from '../../../testing/MockConnection.js';
24
- import {MockProtocolBackend} from '../../../testing/MockScopeChain.js';
22
+ } from '../../testing/EnvironmentHelpers.js';
23
+ import {describeWithMockConnection} from '../../testing/MockConnection.js';
24
+ import {MockProtocolBackend} from '../../testing/MockScopeChain.js';
25
25
  import {
26
26
  createContentProviderUISourceCode,
27
27
  setupMockedUISourceCode,
28
- } from '../../../testing/UISourceCodeHelpers.js';
29
- import * as RenderCoordinator from '../../../ui/components/render_coordinator/render_coordinator.js';
30
- import * as UI from '../../../ui/legacy/legacy.js';
28
+ } from '../../testing/UISourceCodeHelpers.js';
29
+ import * as RenderCoordinator from '../../ui/components/render_coordinator/render_coordinator.js';
30
+ import * as UI from '../../ui/legacy/legacy.js';
31
31
 
32
- import * as SourcesComponents from './components.js';
32
+ import * as Sources from './sources.js';
33
33
 
34
34
  const {urlString} = Platform.DevToolsPath;
35
35
  const DETAILS_SELECTOR = 'details';
@@ -132,8 +132,8 @@ async function setUpTestWithOneBreakpointLocation(
132
132
  ];
133
133
  const {breakpointManager, settings} = createStubBreakpointManagerAndSettingsWithMockdata(testData);
134
134
 
135
- const controller = SourcesComponents.BreakpointsView.BreakpointsSidebarController.instance(
136
- {forceNew: true, breakpointManager, settings});
135
+ const controller =
136
+ Sources.BreakpointsView.BreakpointsSidebarController.instance({forceNew: true, breakpointManager, settings});
137
137
  const data = await controller.getUpdatedBreakpointViewData();
138
138
 
139
139
  assert.lengthOf(data.groups, 1);
@@ -148,18 +148,19 @@ class MockRevealer<T> implements Common.Revealer.Revealer<T> {
148
148
  }
149
149
  }
150
150
 
151
- async function createAndInitializeBreakpointsView(): Promise<SourcesComponents.BreakpointsView.BreakpointsView> {
151
+ async function createAndInitializeBreakpointsView(): Promise<Sources.BreakpointsView.BreakpointsView> {
152
152
  // Force creation of a new BreakpointsView singleton so that it gets correctly re-wired with
153
153
  // the current controller singleton (to pick up the latest breakpoint state).
154
- const component = SourcesComponents.BreakpointsView.BreakpointsView.instance({forceNew: true});
154
+ const component = Sources.BreakpointsView.BreakpointsView.instance({forceNew: true});
155
155
  await RenderCoordinator.done(); // Wait until the initial rendering finishes.
156
156
  renderElementIntoDOM(component);
157
+ await component.updateComplete;
157
158
  return component;
158
159
  }
159
160
 
160
161
  async function renderNoBreakpoints({pauseOnUncaughtExceptions, pauseOnCaughtExceptions}:
161
162
  {pauseOnUncaughtExceptions: boolean, pauseOnCaughtExceptions: boolean}):
162
- Promise<SourcesComponents.BreakpointsView.BreakpointsView> {
163
+ Promise<Sources.BreakpointsView.BreakpointsView> {
163
164
  const component = await createAndInitializeBreakpointsView();
164
165
 
165
166
  component.data = {
@@ -169,20 +170,21 @@ async function renderNoBreakpoints({pauseOnUncaughtExceptions, pauseOnCaughtExce
169
170
  groups: [],
170
171
  };
171
172
  await RenderCoordinator.done();
173
+ await component.updateComplete;
172
174
  return component;
173
175
  }
174
176
 
175
177
  async function renderSingleBreakpoint(
176
178
  type: SDK.DebuggerModel.BreakpointType = SDK.DebuggerModel.BreakpointType.REGULAR_BREAKPOINT,
177
179
  hoverText?: string): Promise<{
178
- component: SourcesComponents.BreakpointsView.BreakpointsView,
179
- data: SourcesComponents.BreakpointsView.BreakpointsViewData,
180
+ component: Sources.BreakpointsView.BreakpointsView,
181
+ data: Sources.BreakpointsView.BreakpointsViewData,
180
182
  }> {
181
183
  // Only provide a hover text if it's not a regular breakpoint.
182
184
  assert.isTrue(!hoverText || type !== SDK.DebuggerModel.BreakpointType.REGULAR_BREAKPOINT);
183
185
  const component = await createAndInitializeBreakpointsView();
184
186
 
185
- const data: SourcesComponents.BreakpointsView.BreakpointsViewData = {
187
+ const data: Sources.BreakpointsView.BreakpointsViewData = {
186
188
  breakpointsActive: true,
187
189
  pauseOnUncaughtExceptions: false,
188
190
  pauseOnCaughtExceptions: false,
@@ -198,7 +200,7 @@ async function renderSingleBreakpoint(
198
200
  location: '1',
199
201
  codeSnippet: 'const a = 0;',
200
202
  isHit: true,
201
- status: SourcesComponents.BreakpointsView.BreakpointStatus.ENABLED,
203
+ status: Sources.BreakpointsView.BreakpointStatus.ENABLED,
202
204
  type,
203
205
  hoverText,
204
206
  },
@@ -209,16 +211,17 @@ async function renderSingleBreakpoint(
209
211
 
210
212
  component.data = data;
211
213
  await RenderCoordinator.done();
214
+ await component.updateComplete;
212
215
  return {component, data};
213
216
  }
214
217
 
215
218
  async function renderMultipleBreakpoints(): Promise<{
216
- component: SourcesComponents.BreakpointsView.BreakpointsView,
217
- data: SourcesComponents.BreakpointsView.BreakpointsViewData,
219
+ component: Sources.BreakpointsView.BreakpointsView,
220
+ data: Sources.BreakpointsView.BreakpointsViewData,
218
221
  }> {
219
222
  const component = await createAndInitializeBreakpointsView();
220
223
 
221
- const data: SourcesComponents.BreakpointsView.BreakpointsViewData = {
224
+ const data: Sources.BreakpointsView.BreakpointsViewData = {
222
225
  breakpointsActive: true,
223
226
  pauseOnUncaughtExceptions: false,
224
227
  pauseOnCaughtExceptions: false,
@@ -235,7 +238,7 @@ async function renderMultipleBreakpoints(): Promise<{
235
238
  location: '234',
236
239
  codeSnippet: 'const a = x;',
237
240
  isHit: false,
238
- status: SourcesComponents.BreakpointsView.BreakpointStatus.ENABLED,
241
+ status: Sources.BreakpointsView.BreakpointStatus.ENABLED,
239
242
  },
240
243
  {
241
244
  id: '2',
@@ -243,7 +246,7 @@ async function renderMultipleBreakpoints(): Promise<{
243
246
  location: '3:3',
244
247
  codeSnippet: 'if (x > a) {',
245
248
  isHit: true,
246
- status: SourcesComponents.BreakpointsView.BreakpointStatus.DISABLED,
249
+ status: Sources.BreakpointsView.BreakpointStatus.DISABLED,
247
250
  },
248
251
  ],
249
252
  },
@@ -259,7 +262,7 @@ async function renderMultipleBreakpoints(): Promise<{
259
262
  location: '11',
260
263
  codeSnippet: 'const y;',
261
264
  isHit: false,
262
- status: SourcesComponents.BreakpointsView.BreakpointStatus.ENABLED,
265
+ status: Sources.BreakpointsView.BreakpointStatus.ENABLED,
263
266
  },
264
267
  ],
265
268
  },
@@ -275,7 +278,7 @@ async function renderMultipleBreakpoints(): Promise<{
275
278
  location: '3',
276
279
  codeSnippet: 'if (a == 0) {',
277
280
  isHit: false,
278
- status: SourcesComponents.BreakpointsView.BreakpointStatus.ENABLED,
281
+ status: Sources.BreakpointsView.BreakpointStatus.ENABLED,
279
282
  },
280
283
  ],
281
284
  },
@@ -283,37 +286,37 @@ async function renderMultipleBreakpoints(): Promise<{
283
286
  };
284
287
  component.data = data;
285
288
  await RenderCoordinator.done();
289
+ await component.updateComplete;
286
290
  return {component, data};
287
291
  }
288
292
 
289
- function extractBreakpointItems(data: SourcesComponents.BreakpointsView.BreakpointsViewData):
290
- SourcesComponents.BreakpointsView.BreakpointItem[] {
293
+ function extractBreakpointItems(data: Sources.BreakpointsView.BreakpointsViewData):
294
+ Sources.BreakpointsView.BreakpointItem[] {
291
295
  const breakpointItems = data.groups.flatMap(group => group.breakpointItems);
292
296
  assert.isAbove(breakpointItems.length, 0);
293
297
  return breakpointItems;
294
298
  }
295
299
 
296
300
  function checkCodeSnippet(
297
- renderedBreakpointItem: HTMLDivElement, breakpointItem: SourcesComponents.BreakpointsView.BreakpointItem): void {
301
+ renderedBreakpointItem: HTMLDivElement, breakpointItem: Sources.BreakpointsView.BreakpointItem): void {
298
302
  const snippetElement = renderedBreakpointItem.querySelector(CODE_SNIPPET_SELECTOR);
299
303
  assert.instanceOf(snippetElement, HTMLSpanElement);
300
304
  assert.strictEqual(snippetElement.textContent, breakpointItem.codeSnippet);
301
305
  }
302
306
 
303
- function checkCheckboxState(
304
- checkbox: HTMLInputElement, breakpointItem: SourcesComponents.BreakpointsView.BreakpointItem): void {
307
+ function checkCheckboxState(checkbox: HTMLInputElement, breakpointItem: Sources.BreakpointsView.BreakpointItem): void {
305
308
  const checked = checkbox.checked;
306
309
  const indeterminate = checkbox.indeterminate;
307
- if (breakpointItem.status === SourcesComponents.BreakpointsView.BreakpointStatus.INDETERMINATE) {
310
+ if (breakpointItem.status === Sources.BreakpointsView.BreakpointStatus.INDETERMINATE) {
308
311
  assert.isTrue(indeterminate);
309
312
  } else {
310
313
  assert.isFalse(indeterminate);
311
- assert.strictEqual((breakpointItem.status === SourcesComponents.BreakpointsView.BreakpointStatus.ENABLED), checked);
314
+ assert.strictEqual((breakpointItem.status === Sources.BreakpointsView.BreakpointStatus.ENABLED), checked);
312
315
  }
313
316
  }
314
317
 
315
318
  function checkGroupNames(
316
- renderedGroupElements: Element[], breakpointGroups: SourcesComponents.BreakpointsView.BreakpointGroup[]): void {
319
+ renderedGroupElements: Element[], breakpointGroups: Sources.BreakpointsView.BreakpointGroup[]): void {
317
320
  assert.lengthOf(renderedGroupElements, breakpointGroups.length);
318
321
  for (let i = 0; i < renderedGroupElements.length; ++i) {
319
322
  const renderedGroup = renderedGroupElements[i];
@@ -324,17 +327,17 @@ function checkGroupNames(
324
327
  }
325
328
  }
326
329
 
327
- function hover(component: SourcesComponents.BreakpointsView.BreakpointsView, selector: string): Promise<void> {
328
- assert.isNotNull(component.shadowRoot);
330
+ function hover(component: Sources.BreakpointsView.BreakpointsView, selector: string): Promise<void> {
331
+ assert.isNotNull(component.contentElement);
329
332
  // Dispatch a mouse over.
330
- component.shadowRoot.querySelector(selector)?.dispatchEvent(new Event('mouseover'));
333
+ component.contentElement.querySelector(selector)?.dispatchEvent(new Event('mouseover'));
331
334
  // Wait until the re-rendering has happened.
332
335
  return RenderCoordinator.done();
333
336
  }
334
337
 
335
338
  describeWithEnvironment('BreakpointsSidebarController', () => {
336
339
  after(() => {
337
- SourcesComponents.BreakpointsView.BreakpointsSidebarController.removeInstance();
340
+ Sources.BreakpointsView.BreakpointsSidebarController.removeInstance();
338
341
  });
339
342
 
340
343
  it('can remove a breakpoint', async () => {
@@ -342,18 +345,17 @@ describeWithEnvironment('BreakpointsSidebarController', () => {
342
345
  const breakpoint = location.breakpoint as sinon.SinonStubbedInstance<Breakpoints.BreakpointManager.Breakpoint>;
343
346
  const breakpointItem = groups[0].breakpointItems[0];
344
347
 
345
- SourcesComponents.BreakpointsView.BreakpointsSidebarController.instance().breakpointsRemoved([breakpointItem]);
348
+ Sources.BreakpointsView.BreakpointsSidebarController.instance().breakpointsRemoved([breakpointItem]);
346
349
  assert.isTrue(breakpoint.remove.calledOnceWith(false));
347
350
  });
348
351
 
349
352
  it('changes breakpoint state', async () => {
350
353
  const {groups, location} = await setUpTestWithOneBreakpointLocation();
351
354
  const breakpointItem = groups[0].breakpointItems[0];
352
- assert.strictEqual(breakpointItem.status, SourcesComponents.BreakpointsView.BreakpointStatus.ENABLED);
355
+ assert.strictEqual(breakpointItem.status, Sources.BreakpointsView.BreakpointStatus.ENABLED);
353
356
 
354
357
  const breakpoint = location.breakpoint as sinon.SinonStubbedInstance<Breakpoints.BreakpointManager.Breakpoint>;
355
- SourcesComponents.BreakpointsView.BreakpointsSidebarController.instance().breakpointStateChanged(
356
- breakpointItem, false);
358
+ Sources.BreakpointsView.BreakpointsSidebarController.instance().breakpointStateChanged(breakpointItem, false);
357
359
  sinon.assert.calledWith(breakpoint.setEnabled, false);
358
360
  });
359
361
 
@@ -372,7 +374,7 @@ describeWithEnvironment('BreakpointsSidebarController', () => {
372
374
  },
373
375
  });
374
376
 
375
- await SourcesComponents.BreakpointsView.BreakpointsSidebarController.instance().jumpToSource(breakpointItem);
377
+ await Sources.BreakpointsView.BreakpointsSidebarController.instance().jumpToSource(breakpointItem);
376
378
  assert.isTrue(revealer.reveal.calledOnceWith(uiLocation));
377
379
  });
378
380
 
@@ -391,7 +393,7 @@ describeWithEnvironment('BreakpointsSidebarController', () => {
391
393
  },
392
394
  });
393
395
 
394
- await SourcesComponents.BreakpointsView.BreakpointsSidebarController.instance().breakpointEdited(
396
+ await Sources.BreakpointsView.BreakpointsSidebarController.instance().breakpointEdited(
395
397
  breakpointItem, false /* editButtonClicked */);
396
398
  assert.isTrue(revealer.reveal.calledOnceWith(location));
397
399
  });
@@ -404,12 +406,12 @@ describeWithEnvironment('BreakpointsSidebarController', () => {
404
406
  ];
405
407
 
406
408
  const {breakpointManager, settings} = createStubBreakpointManagerAndSettingsWithMockdata(testData);
407
- const controller = SourcesComponents.BreakpointsView.BreakpointsSidebarController.instance(
408
- {forceNew: true, breakpointManager, settings});
409
+ const controller =
410
+ Sources.BreakpointsView.BreakpointsSidebarController.instance({forceNew: true, breakpointManager, settings});
409
411
  const actual = await controller.getUpdatedBreakpointViewData();
410
412
  const createExpectedBreakpointGroups = (testData: LocationTestData) => {
411
- const status = testData.enabled ? SourcesComponents.BreakpointsView.BreakpointStatus.ENABLED :
412
- SourcesComponents.BreakpointsView.BreakpointStatus.DISABLED;
413
+ const status = testData.enabled ? Sources.BreakpointsView.BreakpointStatus.ENABLED :
414
+ Sources.BreakpointsView.BreakpointStatus.DISABLED;
413
415
  let type = SDK.DebuggerModel.BreakpointType.REGULAR_BREAKPOINT;
414
416
 
415
417
  if (testData.condition) {
@@ -438,7 +440,7 @@ describeWithEnvironment('BreakpointsSidebarController', () => {
438
440
  ],
439
441
  };
440
442
  };
441
- const expected: SourcesComponents.BreakpointsView.BreakpointsViewData = {
443
+ const expected: Sources.BreakpointsView.BreakpointsViewData = {
442
444
  breakpointsActive: true,
443
445
  pauseOnUncaughtExceptions: false,
444
446
  pauseOnCaughtExceptions: false,
@@ -449,8 +451,8 @@ describeWithEnvironment('BreakpointsSidebarController', () => {
449
451
 
450
452
  it('respects the breakpointsActive setting', async () => {
451
453
  const {breakpointManager, settings} = createStubBreakpointManagerAndSettingsWithMockdata([]);
452
- const controller = SourcesComponents.BreakpointsView.BreakpointsSidebarController.instance(
453
- {forceNew: true, breakpointManager, settings});
454
+ const controller =
455
+ Sources.BreakpointsView.BreakpointsSidebarController.instance({forceNew: true, breakpointManager, settings});
454
456
  settings.moduleSetting('breakpoints-active').set(true);
455
457
  let data = await controller.getUpdatedBreakpointViewData();
456
458
  assert.isTrue(data.breakpointsActive);
@@ -466,8 +468,8 @@ describeWithEnvironment('BreakpointsSidebarController', () => {
466
468
  ];
467
469
 
468
470
  const {breakpointManager, settings} = createStubBreakpointManagerAndSettingsWithMockdata(testData);
469
- const controller = SourcesComponents.BreakpointsView.BreakpointsSidebarController.instance(
470
- {forceNew: true, breakpointManager, settings});
471
+ const controller =
472
+ Sources.BreakpointsView.BreakpointsSidebarController.instance({forceNew: true, breakpointManager, settings});
471
473
  breakpointManager.supportsConditionalBreakpoints.returns(false);
472
474
  for (const group of (await controller.getUpdatedBreakpointViewData()).groups) {
473
475
  assert.isFalse(group.editable);
@@ -485,8 +487,8 @@ describeWithEnvironment('BreakpointsSidebarController', () => {
485
487
  ];
486
488
 
487
489
  const {breakpointManager, settings} = createStubBreakpointManagerAndSettingsWithMockdata(testData);
488
- const controller = SourcesComponents.BreakpointsView.BreakpointsSidebarController.instance(
489
- {forceNew: true, breakpointManager, settings});
490
+ const controller =
491
+ Sources.BreakpointsView.BreakpointsSidebarController.instance({forceNew: true, breakpointManager, settings});
490
492
  const actualViewData = await controller.getUpdatedBreakpointViewData();
491
493
  assert.lengthOf(actualViewData.groups, 2);
492
494
  assert.lengthOf(actualViewData.groups[0].breakpointItems, 1);
@@ -513,7 +515,7 @@ describeWithEnvironment('BreakpointsSidebarController', () => {
513
515
  ];
514
516
 
515
517
  const {breakpointManager, settings} = createStubBreakpointManagerAndSettingsWithMockdata(testData);
516
- const controller = SourcesComponents.BreakpointsView.BreakpointsSidebarController.instance(
518
+ const controller = Sources.BreakpointsView.BreakpointsSidebarController.instance(
517
519
  {forceNew: true, breakpointManager, settings});
518
520
  const actualViewData = await controller.getUpdatedBreakpointViewData();
519
521
  assert.lengthOf(actualViewData.groups, 1);
@@ -529,8 +531,8 @@ describeWithEnvironment('BreakpointsSidebarController', () => {
529
531
  ];
530
532
 
531
533
  const {breakpointManager, settings} = createStubBreakpointManagerAndSettingsWithMockdata(testData);
532
- const controller = SourcesComponents.BreakpointsView.BreakpointsSidebarController.instance(
533
- {forceNew: true, breakpointManager, settings});
534
+ const controller =
535
+ Sources.BreakpointsView.BreakpointsSidebarController.instance({forceNew: true, breakpointManager, settings});
534
536
  const actualViewData = await controller.getUpdatedBreakpointViewData();
535
537
  assert.lengthOf(actualViewData.groups, 1);
536
538
  assert.lengthOf(actualViewData.groups[0].breakpointItems, 2);
@@ -545,8 +547,8 @@ describeWithEnvironment('BreakpointsSidebarController', () => {
545
547
  ];
546
548
 
547
549
  const {breakpointManager, settings} = createStubBreakpointManagerAndSettingsWithMockdata(testData);
548
- const controller = SourcesComponents.BreakpointsView.BreakpointsSidebarController.instance(
549
- {forceNew: true, breakpointManager, settings});
550
+ const controller =
551
+ Sources.BreakpointsView.BreakpointsSidebarController.instance({forceNew: true, breakpointManager, settings});
550
552
  const actualViewData = await controller.getUpdatedBreakpointViewData();
551
553
  assert.lengthOf(actualViewData.groups, 2);
552
554
  const names = actualViewData.groups.map(group => group.name);
@@ -560,8 +562,8 @@ describeWithEnvironment('BreakpointsSidebarController', () => {
560
562
  ];
561
563
 
562
564
  const {breakpointManager, settings} = createStubBreakpointManagerAndSettingsWithMockdata(testData);
563
- const controller = SourcesComponents.BreakpointsView.BreakpointsSidebarController.instance(
564
- {forceNew: true, breakpointManager, settings});
565
+ const controller =
566
+ Sources.BreakpointsView.BreakpointsSidebarController.instance({forceNew: true, breakpointManager, settings});
565
567
  const actualViewData = await controller.getUpdatedBreakpointViewData();
566
568
  assert.lengthOf(actualViewData.groups, 1);
567
569
  assert.lengthOf(actualViewData.groups[0].breakpointItems, 1);
@@ -571,14 +573,14 @@ describeWithEnvironment('BreakpointsSidebarController', () => {
571
573
  const {groups} =
572
574
  await setUpTestWithOneBreakpointLocation({file: '', lineNumber: 0, columnNumber: 0, enabled: true});
573
575
  const breakpointItem = groups[0].breakpointItems[0];
574
- assert.strictEqual(breakpointItem.status, SourcesComponents.BreakpointsView.BreakpointStatus.ENABLED);
576
+ assert.strictEqual(breakpointItem.status, Sources.BreakpointsView.BreakpointStatus.ENABLED);
575
577
  });
576
578
 
577
579
  it('correctly extracts the enabled state', async () => {
578
580
  const {groups} =
579
581
  await setUpTestWithOneBreakpointLocation({file: '', lineNumber: 0, columnNumber: 0, enabled: false});
580
582
  const breakpointItem = groups[0].breakpointItems[0];
581
- assert.strictEqual(breakpointItem.status, SourcesComponents.BreakpointsView.BreakpointStatus.DISABLED);
583
+ assert.strictEqual(breakpointItem.status, Sources.BreakpointsView.BreakpointStatus.DISABLED);
582
584
  });
583
585
 
584
586
  it('correctly extracts the enabled state', async () => {
@@ -588,14 +590,13 @@ describeWithEnvironment('BreakpointsSidebarController', () => {
588
590
  ];
589
591
 
590
592
  const {breakpointManager, settings} = createStubBreakpointManagerAndSettingsWithMockdata(testData);
591
- const controller = SourcesComponents.BreakpointsView.BreakpointsSidebarController.instance(
592
- {forceNew: true, breakpointManager, settings});
593
+ const controller =
594
+ Sources.BreakpointsView.BreakpointsSidebarController.instance({forceNew: true, breakpointManager, settings});
593
595
  const actualViewData = await controller.getUpdatedBreakpointViewData();
594
596
  assert.lengthOf(actualViewData.groups, 1);
595
597
  assert.lengthOf(actualViewData.groups[0].breakpointItems, 1);
596
598
  assert.strictEqual(
597
- actualViewData.groups[0].breakpointItems[0].status,
598
- SourcesComponents.BreakpointsView.BreakpointStatus.INDETERMINATE);
599
+ actualViewData.groups[0].breakpointItems[0].status, Sources.BreakpointsView.BreakpointStatus.INDETERMINATE);
599
600
  });
600
601
 
601
602
  it('correctly extracts the disabled state', async () => {
@@ -612,14 +613,13 @@ describeWithEnvironment('BreakpointsSidebarController', () => {
612
613
  ];
613
614
 
614
615
  const {breakpointManager, settings} = createStubBreakpointManagerAndSettingsWithMockdata(testData);
615
- const controller = SourcesComponents.BreakpointsView.BreakpointsSidebarController.instance(
616
- {forceNew: true, breakpointManager, settings});
616
+ const controller =
617
+ Sources.BreakpointsView.BreakpointsSidebarController.instance({forceNew: true, breakpointManager, settings});
617
618
  const actualViewData = await controller.getUpdatedBreakpointViewData();
618
619
  assert.lengthOf(actualViewData.groups, 1);
619
620
  assert.lengthOf(actualViewData.groups[0].breakpointItems, 1);
620
621
  assert.strictEqual(
621
- actualViewData.groups[0].breakpointItems[0].status,
622
- SourcesComponents.BreakpointsView.BreakpointStatus.INDETERMINATE);
622
+ actualViewData.groups[0].breakpointItems[0].status, Sources.BreakpointsView.BreakpointStatus.INDETERMINATE);
623
623
  });
624
624
 
625
625
  it('correctly extracts conditional breakpoints', async () => {
@@ -630,8 +630,8 @@ describeWithEnvironment('BreakpointsSidebarController', () => {
630
630
  ];
631
631
 
632
632
  const {breakpointManager, settings} = createStubBreakpointManagerAndSettingsWithMockdata(testData);
633
- const controller = SourcesComponents.BreakpointsView.BreakpointsSidebarController.instance(
634
- {forceNew: true, breakpointManager, settings});
633
+ const controller =
634
+ Sources.BreakpointsView.BreakpointsSidebarController.instance({forceNew: true, breakpointManager, settings});
635
635
  const actualViewData = await controller.getUpdatedBreakpointViewData();
636
636
  assert.lengthOf(actualViewData.groups, 1);
637
637
  assert.lengthOf(actualViewData.groups[0].breakpointItems, 1);
@@ -648,8 +648,8 @@ describeWithEnvironment('BreakpointsSidebarController', () => {
648
648
  ];
649
649
 
650
650
  const {breakpointManager, settings} = createStubBreakpointManagerAndSettingsWithMockdata(testData);
651
- const controller = SourcesComponents.BreakpointsView.BreakpointsSidebarController.instance(
652
- {forceNew: true, breakpointManager, settings});
651
+ const controller =
652
+ Sources.BreakpointsView.BreakpointsSidebarController.instance({forceNew: true, breakpointManager, settings});
653
653
  const actualViewData = await controller.getUpdatedBreakpointViewData();
654
654
  assert.lengthOf(actualViewData.groups, 1);
655
655
  assert.lengthOf(actualViewData.groups[0].breakpointItems, 1);
@@ -690,7 +690,7 @@ describeWithEnvironment('BreakpointsSidebarController', () => {
690
690
  // A new controller is created and initialized with the expanded settings.
691
691
  {const breakpointManager = Breakpoints.BreakpointManager.BreakpointManager.instance();
692
692
  const settings = Common.Settings.Settings.instance();
693
- const controller = SourcesComponents.BreakpointsView.BreakpointsSidebarController.instance({
693
+ const controller = Sources.BreakpointsView.BreakpointsSidebarController.instance({
694
694
  forceNew: true,
695
695
  breakpointManager,
696
696
  settings,
@@ -709,7 +709,7 @@ describeWithEnvironment('BreakpointsSidebarController', () => {
709
709
  // A new controller is created and initialized with the expanded settings.
710
710
  {
711
711
 
712
- const controller = SourcesComponents.BreakpointsView.BreakpointsSidebarController.instance({
712
+ const controller = Sources.BreakpointsView.BreakpointsSidebarController.instance({
713
713
  forceNew: true,
714
714
  breakpointManager: Breakpoints.BreakpointManager.BreakpointManager.instance(),
715
715
  settings: Common.Settings.Settings.instance(),
@@ -728,10 +728,12 @@ describeWithMockConnection('BreakpointsSidebarController', () => {
728
728
  const workspace = Workspace.Workspace.WorkspaceImpl.instance();
729
729
  const targetManager = SDK.TargetManager.TargetManager.instance();
730
730
  const resourceMapping = new Bindings.ResourceMapping.ResourceMapping(targetManager, workspace);
731
+ const ignoreListManager = Workspace.IgnoreListManager.IgnoreListManager.instance({forceNew: true});
731
732
  const debuggerWorkspaceBinding = Bindings.DebuggerWorkspaceBinding.DebuggerWorkspaceBinding.instance({
732
733
  forceNew: true,
733
734
  resourceMapping,
734
735
  targetManager,
736
+ ignoreListManager,
735
737
  });
736
738
  Breakpoints.BreakpointManager.BreakpointManager.instance(
737
739
  {forceNew: true, targetManager, workspace, debuggerWorkspaceBinding});
@@ -746,14 +748,13 @@ describeWithMockConnection('BreakpointsSidebarController', () => {
746
748
  Breakpoints.BreakpointManager.BreakpointOrigin.USER_ACTION,
747
749
  ];
748
750
 
749
- // Flaky
750
- it.skip('[crbug.com/345456307] auto-expands if a user adds a new breakpoint', async () => {
751
+ it('auto-expands if a user adds a new breakpoint', async () => {
751
752
  const breakpointManager = Breakpoints.BreakpointManager.BreakpointManager.instance();
752
753
  const settings = Common.Settings.Settings.instance();
753
754
  const {uiSourceCode, project} =
754
755
  createContentProviderUISourceCode({url: urlString`test.js`, mimeType: 'text/javascript'});
755
- const controller = SourcesComponents.BreakpointsView.BreakpointsSidebarController.instance(
756
- {forceNew: true, breakpointManager, settings});
756
+ const controller =
757
+ Sources.BreakpointsView.BreakpointsSidebarController.instance({forceNew: true, breakpointManager, settings});
757
758
 
758
759
  // Add one breakpoint and collapse the tree.
759
760
  const b1 = await breakpointManager.setBreakpoint(uiSourceCode, 0, 0, ...DEFAULT_BREAKPOINT);
@@ -787,8 +788,8 @@ describeWithMockConnection('BreakpointsSidebarController', () => {
787
788
  const settings = Common.Settings.Settings.instance();
788
789
  const {uiSourceCode, project} =
789
790
  createContentProviderUISourceCode({url: urlString`test.js`, mimeType: 'text/javascript'});
790
- const controller = SourcesComponents.BreakpointsView.BreakpointsSidebarController.instance(
791
- {forceNew: true, breakpointManager, settings});
791
+ const controller =
792
+ Sources.BreakpointsView.BreakpointsSidebarController.instance({forceNew: true, breakpointManager, settings});
792
793
 
793
794
  // Add one breakpoint and collapse the tree.
794
795
  const b1 = await breakpointManager.setBreakpoint(uiSourceCode, 0, 0, ...DEFAULT_BREAKPOINT);
@@ -858,7 +859,7 @@ describeWithMockConnection('BreakpointsSidebarController', () => {
858
859
  assert.exists(b1);
859
860
  await responderPromise;
860
861
 
861
- const controller = SourcesComponents.BreakpointsView.BreakpointsSidebarController.instance(
862
+ const controller = Sources.BreakpointsView.BreakpointsSidebarController.instance(
862
863
  {forceNew: true, breakpointManager, settings: Common.Settings.Settings.instance()});
863
864
  controller.expandedStateChanged(uiSourceCode.url(), false /* expanded */);
864
865
 
@@ -892,8 +893,8 @@ describeWithMockConnection('BreakpointsSidebarController', () => {
892
893
  it('changes pause on exception state', async () => {
893
894
  const {breakpointManager, settings} = createStubBreakpointManagerAndSettings();
894
895
  breakpointManager.allBreakpointLocations.returns([]);
895
- const controller = SourcesComponents.BreakpointsView.BreakpointsSidebarController.instance(
896
- {forceNew: true, breakpointManager, settings});
896
+ const controller =
897
+ Sources.BreakpointsView.BreakpointsSidebarController.instance({forceNew: true, breakpointManager, settings});
897
898
  for (const pauseOnUncaughtExceptions of [true, false]) {
898
899
  for (const pauseOnCaughtExceptions of [true, false]) {
899
900
  controller.setPauseOnUncaughtExceptions(pauseOnUncaughtExceptions);
@@ -914,10 +915,12 @@ describeWithMockConnection('BreakpointsView', () => {
914
915
  const workspace = Workspace.Workspace.WorkspaceImpl.instance();
915
916
  const targetManager = SDK.TargetManager.TargetManager.instance();
916
917
  const resourceMapping = new Bindings.ResourceMapping.ResourceMapping(targetManager, workspace);
918
+ const ignoreListManager = Workspace.IgnoreListManager.IgnoreListManager.instance({forceNew: true});
917
919
  const debuggerWorkspaceBinding = Bindings.DebuggerWorkspaceBinding.DebuggerWorkspaceBinding.instance({
918
920
  forceNew: true,
919
921
  resourceMapping,
920
922
  targetManager,
923
+ ignoreListManager,
921
924
  });
922
925
  Breakpoints.BreakpointManager.BreakpointManager.instance(
923
926
  {forceNew: true, targetManager, workspace, debuggerWorkspaceBinding});
@@ -925,12 +928,12 @@ describeWithMockConnection('BreakpointsView', () => {
925
928
 
926
929
  it('correctly expands breakpoint groups', async () => {
927
930
  const {component, data} = await renderMultipleBreakpoints();
928
- assert.isNotNull(component.shadowRoot);
931
+ assert.isNotNull(component.contentElement);
929
932
 
930
933
  const expandedGroups = data.groups.filter(group => group.expanded);
931
934
  assert.isAbove(expandedGroups.length, 0);
932
935
 
933
- const renderedExpandedGroups = Array.from(component.shadowRoot.querySelectorAll(EXPANDED_GROUPS_SELECTOR));
936
+ const renderedExpandedGroups = Array.from(component.contentElement.querySelectorAll(EXPANDED_GROUPS_SELECTOR));
934
937
  assert.lengthOf(renderedExpandedGroups, expandedGroups.length);
935
938
 
936
939
  checkGroupNames(renderedExpandedGroups, expandedGroups);
@@ -938,21 +941,21 @@ describeWithMockConnection('BreakpointsView', () => {
938
941
 
939
942
  it('correctly collapses breakpoint groups', async () => {
940
943
  const {component, data} = await renderMultipleBreakpoints();
941
- assert.isNotNull(component.shadowRoot);
944
+ assert.isNotNull(component.contentElement);
942
945
 
943
946
  const collapsedGroups = data.groups.filter(group => !group.expanded);
944
947
  assert.isAbove(collapsedGroups.length, 0);
945
948
 
946
- const renderedCollapsedGroups = Array.from(component.shadowRoot.querySelectorAll(COLLAPSED_GROUPS_SELECTOR));
949
+ const renderedCollapsedGroups = Array.from(component.contentElement.querySelectorAll(COLLAPSED_GROUPS_SELECTOR));
947
950
 
948
951
  checkGroupNames(renderedCollapsedGroups, collapsedGroups);
949
952
  });
950
953
 
951
954
  it('renders the group names', async () => {
952
955
  const {component, data} = await renderMultipleBreakpoints();
953
- assert.isNotNull(component.shadowRoot);
956
+ assert.isNotNull(component.contentElement);
954
957
 
955
- const renderedGroupNames = component.shadowRoot.querySelectorAll(GROUP_NAME_SELECTOR);
958
+ const renderedGroupNames = component.contentElement.querySelectorAll(GROUP_NAME_SELECTOR);
956
959
  assertElements(renderedGroupNames, HTMLSpanElement);
957
960
 
958
961
  const expectedNames = data.groups.flatMap(group => group.name);
@@ -965,9 +968,9 @@ describeWithMockConnection('BreakpointsView', () => {
965
968
 
966
969
  it('renders the breakpoints with their checkboxes', async () => {
967
970
  const {component, data} = await renderMultipleBreakpoints();
968
- assert.isNotNull(component.shadowRoot);
971
+ assert.isNotNull(component.contentElement);
969
972
 
970
- const renderedBreakpointItems = Array.from(component.shadowRoot.querySelectorAll(BREAKPOINT_ITEM_SELECTOR));
973
+ const renderedBreakpointItems = Array.from(component.contentElement.querySelectorAll(BREAKPOINT_ITEM_SELECTOR));
971
974
 
972
975
  const breakpointItems = extractBreakpointItems(data);
973
976
  assert.lengthOf(renderedBreakpointItems, breakpointItems.length);
@@ -984,9 +987,9 @@ describeWithMockConnection('BreakpointsView', () => {
984
987
 
985
988
  it('renders breakpoints with their code snippet', async () => {
986
989
  const {component, data} = await renderMultipleBreakpoints();
987
- assert.isNotNull(component.shadowRoot);
990
+ assert.isNotNull(component.contentElement);
988
991
 
989
- const renderedBreakpointItems = Array.from(component.shadowRoot.querySelectorAll(BREAKPOINT_ITEM_SELECTOR));
992
+ const renderedBreakpointItems = Array.from(component.contentElement.querySelectorAll(BREAKPOINT_ITEM_SELECTOR));
990
993
 
991
994
  const breakpointItems = extractBreakpointItems(data);
992
995
  assert.lengthOf(renderedBreakpointItems, breakpointItems.length);
@@ -1013,7 +1016,7 @@ describeWithMockConnection('BreakpointsView', () => {
1013
1016
  location: '234',
1014
1017
  codeSnippet: 'const a = x;',
1015
1018
  isHit: false,
1016
- status: SourcesComponents.BreakpointsView.BreakpointStatus.ENABLED,
1019
+ status: Sources.BreakpointsView.BreakpointStatus.ENABLED,
1017
1020
  },
1018
1021
  ],
1019
1022
  };
@@ -1025,7 +1028,7 @@ describeWithMockConnection('BreakpointsView', () => {
1025
1028
  const group2 = {...groupTemplate};
1026
1029
  group2.url = urlString`https://google.com/src/index.js`;
1027
1030
 
1028
- const data: SourcesComponents.BreakpointsView.BreakpointsViewData = {
1031
+ const data: Sources.BreakpointsView.BreakpointsViewData = {
1029
1032
  breakpointsActive: true,
1030
1033
  pauseOnUncaughtExceptions: false,
1031
1034
  pauseOnCaughtExceptions: false,
@@ -1036,9 +1039,10 @@ describeWithMockConnection('BreakpointsView', () => {
1036
1039
  };
1037
1040
  component.data = data;
1038
1041
  await RenderCoordinator.done();
1042
+ await component.updateComplete;
1039
1043
 
1040
- assert.isNotNull(component.shadowRoot);
1041
- const groupSummaries = Array.from(component.shadowRoot.querySelectorAll(SUMMARY_SELECTOR));
1044
+ assert.isNotNull(component.contentElement);
1045
+ const groupSummaries = Array.from(component.contentElement.querySelectorAll(SUMMARY_SELECTOR));
1042
1046
  const differentiatingPath = groupSummaries.map(group => {
1043
1047
  const differentiatorElement = group.querySelector(GROUP_DIFFERENTIATOR_SELECTOR);
1044
1048
  assert.instanceOf(differentiatorElement, HTMLSpanElement);
@@ -1049,9 +1053,9 @@ describeWithMockConnection('BreakpointsView', () => {
1049
1053
 
1050
1054
  it('renders breakpoints with a differentiating path', async () => {
1051
1055
  const {component, data} = await renderMultipleBreakpoints();
1052
- assert.isNotNull(component.shadowRoot);
1056
+ assert.isNotNull(component.contentElement);
1053
1057
 
1054
- const renderedBreakpointItems = Array.from(component.shadowRoot.querySelectorAll(BREAKPOINT_ITEM_SELECTOR));
1058
+ const renderedBreakpointItems = Array.from(component.contentElement.querySelectorAll(BREAKPOINT_ITEM_SELECTOR));
1055
1059
 
1056
1060
  const breakpointItems = extractBreakpointItems(data);
1057
1061
  assert.lengthOf(renderedBreakpointItems, breakpointItems.length);
@@ -1072,16 +1076,16 @@ describeWithMockConnection('BreakpointsView', () => {
1072
1076
 
1073
1077
  it('triggers an event on clicking the checkbox of a breakpoint', async () => {
1074
1078
  const {component, data} = await renderSingleBreakpoint();
1075
- assert.isNotNull(component.shadowRoot);
1079
+ assert.isNotNull(component.contentElement);
1076
1080
 
1077
- const renderedItem = component.shadowRoot.querySelector(BREAKPOINT_ITEM_SELECTOR);
1081
+ const renderedItem = component.contentElement.querySelector(BREAKPOINT_ITEM_SELECTOR);
1078
1082
  assert.instanceOf(renderedItem, HTMLDivElement);
1079
1083
 
1080
1084
  const checkbox = renderedItem.querySelector('input');
1081
1085
  assert.instanceOf(checkbox, HTMLInputElement);
1082
1086
  const checked = checkbox.checked;
1083
1087
 
1084
- const controller = SourcesComponents.BreakpointsView.BreakpointsSidebarController.instance();
1088
+ const controller = Sources.BreakpointsView.BreakpointsSidebarController.instance();
1085
1089
  const breakpointStateChanged = sinon.stub(controller, 'breakpointStateChanged');
1086
1090
  checkbox.click();
1087
1091
 
@@ -1090,12 +1094,12 @@ describeWithMockConnection('BreakpointsView', () => {
1090
1094
 
1091
1095
  it('triggers an event on clicking on the snippet text', async () => {
1092
1096
  const {component, data} = await renderSingleBreakpoint();
1093
- assert.isNotNull(component.shadowRoot);
1097
+ assert.isNotNull(component.contentElement);
1094
1098
 
1095
- const snippet = component.shadowRoot.querySelector(CODE_SNIPPET_SELECTOR);
1099
+ const snippet = component.contentElement.querySelector(CODE_SNIPPET_SELECTOR);
1096
1100
  assert.instanceOf(snippet, HTMLSpanElement);
1097
1101
 
1098
- const controller = SourcesComponents.BreakpointsView.BreakpointsSidebarController.instance();
1102
+ const controller = Sources.BreakpointsView.BreakpointsSidebarController.instance();
1099
1103
  const jumpToSource = sinon.stub(controller, 'jumpToSource');
1100
1104
  snippet.click();
1101
1105
 
@@ -1104,14 +1108,14 @@ describeWithMockConnection('BreakpointsView', () => {
1104
1108
 
1105
1109
  it('triggers an event on expanding/unexpanding', async () => {
1106
1110
  const {component, data} = await renderSingleBreakpoint();
1107
- assert.isNotNull(component.shadowRoot);
1111
+ assert.isNotNull(component.contentElement);
1108
1112
 
1109
- const renderedGroupName = component.shadowRoot.querySelector(GROUP_NAME_SELECTOR);
1113
+ const renderedGroupName = component.contentElement.querySelector(GROUP_NAME_SELECTOR);
1110
1114
  assert.instanceOf(renderedGroupName, HTMLSpanElement);
1111
1115
 
1112
1116
  const expandedInitialValue = data.groups[0].expanded;
1113
1117
 
1114
- const controller = SourcesComponents.BreakpointsView.BreakpointsSidebarController.instance();
1118
+ const controller = Sources.BreakpointsView.BreakpointsSidebarController.instance();
1115
1119
  const expandedStateChanged = sinon.stub(controller, 'expandedStateChanged');
1116
1120
  renderedGroupName.click();
1117
1121
 
@@ -1123,22 +1127,22 @@ describeWithMockConnection('BreakpointsView', () => {
1123
1127
 
1124
1128
  it('highlights breakpoint if it is set to be hit', async () => {
1125
1129
  const {component} = await renderSingleBreakpoint();
1126
- assert.isNotNull(component.shadowRoot);
1130
+ assert.isNotNull(component.contentElement);
1127
1131
 
1128
- const renderedBreakpointItem = component.shadowRoot.querySelector(HIT_BREAKPOINT_SELECTOR);
1132
+ const renderedBreakpointItem = component.contentElement.querySelector(HIT_BREAKPOINT_SELECTOR);
1129
1133
  assert.instanceOf(renderedBreakpointItem, HTMLDivElement);
1130
1134
  });
1131
1135
 
1132
1136
  it('triggers an event on removing file breakpoints', async () => {
1133
1137
  const {component, data} = await renderMultipleBreakpoints();
1134
- assert.isNotNull(component.shadowRoot);
1138
+ assert.isNotNull(component.contentElement);
1135
1139
 
1136
1140
  await hover(component, SUMMARY_SELECTOR);
1137
1141
 
1138
- const removeFileBreakpointsButton = component.shadowRoot.querySelector(REMOVE_FILE_BREAKPOINTS_SELECTOR);
1142
+ const removeFileBreakpointsButton = component.contentElement.querySelector(REMOVE_FILE_BREAKPOINTS_SELECTOR);
1139
1143
  assert.instanceOf(removeFileBreakpointsButton, HTMLButtonElement);
1140
1144
 
1141
- const controller = SourcesComponents.BreakpointsView.BreakpointsSidebarController.instance();
1145
+ const controller = Sources.BreakpointsView.BreakpointsSidebarController.instance();
1142
1146
  const breakpointsRemoved = sinon.stub(controller, 'breakpointsRemoved');
1143
1147
  removeFileBreakpointsButton.click();
1144
1148
  // await new Promise(resolve => setTimeout(resolve, 0));
@@ -1147,14 +1151,14 @@ describeWithMockConnection('BreakpointsView', () => {
1147
1151
 
1148
1152
  it('triggers an event on removing one breakpoint', async () => {
1149
1153
  const {component, data} = await renderMultipleBreakpoints();
1150
- assert.isNotNull(component.shadowRoot);
1154
+ assert.isNotNull(component.contentElement);
1151
1155
 
1152
1156
  await hover(component, BREAKPOINT_ITEM_SELECTOR);
1153
1157
 
1154
- const removeFileBreakpointsButton = component.shadowRoot.querySelector(REMOVE_SINGLE_BREAKPOINT_SELECTOR);
1158
+ const removeFileBreakpointsButton = component.contentElement.querySelector(REMOVE_SINGLE_BREAKPOINT_SELECTOR);
1155
1159
  assert.instanceOf(removeFileBreakpointsButton, HTMLButtonElement);
1156
1160
 
1157
- const controller = SourcesComponents.BreakpointsView.BreakpointsSidebarController.instance();
1161
+ const controller = Sources.BreakpointsView.BreakpointsSidebarController.instance();
1158
1162
  const breakpointsRemoved = sinon.stub(controller, 'breakpointsRemoved');
1159
1163
  removeFileBreakpointsButton.click();
1160
1164
  // await new Promise(resolve => setTimeout(resolve, 0));
@@ -1164,14 +1168,14 @@ describeWithMockConnection('BreakpointsView', () => {
1164
1168
 
1165
1169
  it('triggers an event on editing one breakpoint', async () => {
1166
1170
  const {component, data} = await renderMultipleBreakpoints();
1167
- assert.isNotNull(component.shadowRoot);
1171
+ assert.isNotNull(component.contentElement);
1168
1172
 
1169
1173
  await hover(component, BREAKPOINT_ITEM_SELECTOR);
1170
1174
 
1171
- const editBreakpointButton = component.shadowRoot.querySelector(EDIT_SINGLE_BREAKPOINT_SELECTOR);
1175
+ const editBreakpointButton = component.contentElement.querySelector(EDIT_SINGLE_BREAKPOINT_SELECTOR);
1172
1176
  assert.instanceOf(editBreakpointButton, HTMLButtonElement);
1173
1177
 
1174
- const controller = SourcesComponents.BreakpointsView.BreakpointsSidebarController.instance();
1178
+ const controller = Sources.BreakpointsView.BreakpointsSidebarController.instance();
1175
1179
  const breakpointEdited = sinon.stub(controller, 'breakpointEdited');
1176
1180
  editBreakpointButton.click();
1177
1181
  // await new Promise(resolve => setTimeout(resolve, 0));
@@ -1180,11 +1184,11 @@ describeWithMockConnection('BreakpointsView', () => {
1180
1184
 
1181
1185
  it('shows a tooltip with edit condition on regular breakpoints', async () => {
1182
1186
  const {component} = await renderSingleBreakpoint(SDK.DebuggerModel.BreakpointType.REGULAR_BREAKPOINT);
1183
- assert.isNotNull(component.shadowRoot);
1187
+ assert.isNotNull(component.contentElement);
1184
1188
 
1185
1189
  await hover(component, BREAKPOINT_ITEM_SELECTOR);
1186
1190
 
1187
- const editBreakpointButton = component.shadowRoot.querySelector(EDIT_SINGLE_BREAKPOINT_SELECTOR);
1191
+ const editBreakpointButton = component.contentElement.querySelector(EDIT_SINGLE_BREAKPOINT_SELECTOR);
1188
1192
  assert.instanceOf(editBreakpointButton, HTMLButtonElement);
1189
1193
 
1190
1194
  assert.strictEqual(editBreakpointButton.title, 'Edit condition');
@@ -1194,7 +1198,7 @@ describeWithMockConnection('BreakpointsView', () => {
1194
1198
  async function waitForCheckboxToggledEventsWithCheckedUpdate(numBreakpointItems: number, checked: boolean) {
1195
1199
  return await new Promise<void>(resolve => {
1196
1200
  let numCheckboxToggledEvents = 0;
1197
- const controller = SourcesComponents.BreakpointsView.BreakpointsSidebarController.instance();
1201
+ const controller = Sources.BreakpointsView.BreakpointsSidebarController.instance();
1198
1202
  sinon.stub(controller, 'breakpointStateChanged').callsFake((_, checkedArg) => {
1199
1203
  assert.strictEqual(checkedArg, checked);
1200
1204
  ++numCheckboxToggledEvents;
@@ -1208,14 +1212,15 @@ describeWithMockConnection('BreakpointsView', () => {
1208
1212
  const {component, data} = await renderMultipleBreakpoints();
1209
1213
 
1210
1214
  // Make sure that at least one breakpoint is enabled.
1211
- data.groups[0].breakpointItems[0].status = SourcesComponents.BreakpointsView.BreakpointStatus.ENABLED;
1215
+ data.groups[0].breakpointItems[0].status = Sources.BreakpointsView.BreakpointStatus.ENABLED;
1212
1216
  component.data = data;
1213
1217
  await RenderCoordinator.done();
1218
+ await component.updateComplete;
1214
1219
 
1215
1220
  await hover(component, SUMMARY_SELECTOR);
1216
1221
 
1217
- assert.isNotNull(component.shadowRoot);
1218
- const firstGroupSummary = component.shadowRoot.querySelector(SUMMARY_SELECTOR);
1222
+ assert.isNotNull(component.contentElement);
1223
+ const firstGroupSummary = component.contentElement.querySelector(SUMMARY_SELECTOR);
1219
1224
  assert.exists(firstGroupSummary);
1220
1225
  const groupCheckbox = firstGroupSummary.querySelector('input');
1221
1226
  assert.instanceOf(groupCheckbox, HTMLInputElement);
@@ -1229,16 +1234,17 @@ describeWithMockConnection('BreakpointsView', () => {
1229
1234
  // Make sure that all breakpoints are disabled.
1230
1235
  const breakpointItems = data.groups[0].breakpointItems;
1231
1236
  for (let i = 0; i < breakpointItems.length; ++i) {
1232
- breakpointItems[i].status = SourcesComponents.BreakpointsView.BreakpointStatus.DISABLED;
1237
+ breakpointItems[i].status = Sources.BreakpointsView.BreakpointStatus.DISABLED;
1233
1238
  }
1234
1239
 
1235
1240
  component.data = data;
1236
1241
  await RenderCoordinator.done();
1242
+ await component.updateComplete;
1237
1243
 
1238
1244
  await hover(component, SUMMARY_SELECTOR);
1239
1245
 
1240
- assert.isNotNull(component.shadowRoot);
1241
- const firstGroupSummary = component.shadowRoot.querySelector(SUMMARY_SELECTOR);
1246
+ assert.isNotNull(component.contentElement);
1247
+ const firstGroupSummary = component.contentElement.querySelector(SUMMARY_SELECTOR);
1242
1248
  assert.exists(firstGroupSummary);
1243
1249
  const groupCheckbox = firstGroupSummary.querySelector('input');
1244
1250
  assert.instanceOf(groupCheckbox, HTMLInputElement);
@@ -1254,16 +1260,17 @@ describeWithMockConnection('BreakpointsView', () => {
1254
1260
 
1255
1261
  // Make sure that all breakpoints are enabled.
1256
1262
  for (let i = 0; i < numBreakpointItems; ++i) {
1257
- data.groups[0].breakpointItems[i].status = SourcesComponents.BreakpointsView.BreakpointStatus.ENABLED;
1263
+ data.groups[0].breakpointItems[i].status = Sources.BreakpointsView.BreakpointStatus.ENABLED;
1258
1264
  }
1259
1265
  component.data = data;
1260
1266
  await RenderCoordinator.done();
1267
+ await component.updateComplete;
1261
1268
 
1262
1269
  await hover(component, SUMMARY_SELECTOR);
1263
1270
 
1264
1271
  // Uncheck the group checkbox.
1265
- assert.isNotNull(component.shadowRoot);
1266
- const firstGroupSummary = component.shadowRoot.querySelector(SUMMARY_SELECTOR);
1272
+ assert.isNotNull(component.contentElement);
1273
+ const firstGroupSummary = component.contentElement.querySelector(SUMMARY_SELECTOR);
1267
1274
  assert.exists(firstGroupSummary);
1268
1275
  const groupCheckbox = firstGroupSummary.querySelector('input');
1269
1276
  assert.instanceOf(groupCheckbox, HTMLInputElement);
@@ -1283,16 +1290,17 @@ describeWithMockConnection('BreakpointsView', () => {
1283
1290
 
1284
1291
  // Make sure that all breakpoints are disabled.
1285
1292
  for (let i = 0; i < numBreakpointItems; ++i) {
1286
- data.groups[0].breakpointItems[i].status = SourcesComponents.BreakpointsView.BreakpointStatus.DISABLED;
1293
+ data.groups[0].breakpointItems[i].status = Sources.BreakpointsView.BreakpointStatus.DISABLED;
1287
1294
  }
1288
1295
  component.data = data;
1289
1296
  await RenderCoordinator.done();
1297
+ await component.updateComplete;
1290
1298
 
1291
1299
  await hover(component, SUMMARY_SELECTOR);
1292
1300
 
1293
1301
  // Uncheck the group checkbox.
1294
- assert.isNotNull(component.shadowRoot);
1295
- const firstGroupSummary = component.shadowRoot.querySelector(SUMMARY_SELECTOR);
1302
+ assert.isNotNull(component.contentElement);
1303
+ const firstGroupSummary = component.contentElement.querySelector(SUMMARY_SELECTOR);
1296
1304
  assert.exists(firstGroupSummary);
1297
1305
  const groupCheckbox = firstGroupSummary.querySelector('input');
1298
1306
  assert.instanceOf(groupCheckbox, HTMLInputElement);
@@ -1308,7 +1316,7 @@ describeWithMockConnection('BreakpointsView', () => {
1308
1316
  it('only renders edit button for breakpoints in editable groups', async () => {
1309
1317
  const component = await createAndInitializeBreakpointsView();
1310
1318
 
1311
- const data: SourcesComponents.BreakpointsView.BreakpointsViewData = {
1319
+ const data: Sources.BreakpointsView.BreakpointsViewData = {
1312
1320
  breakpointsActive: true,
1313
1321
  pauseOnUncaughtExceptions: false,
1314
1322
  pauseOnCaughtExceptions: false,
@@ -1324,7 +1332,7 @@ describeWithMockConnection('BreakpointsView', () => {
1324
1332
  location: '1',
1325
1333
  codeSnippet: 'const a = 0;',
1326
1334
  isHit: true,
1327
- status: SourcesComponents.BreakpointsView.BreakpointStatus.ENABLED,
1335
+ status: Sources.BreakpointsView.BreakpointStatus.ENABLED,
1328
1336
  type: SDK.DebuggerModel.BreakpointType.REGULAR_BREAKPOINT,
1329
1337
  },
1330
1338
  ],
@@ -1334,18 +1342,18 @@ describeWithMockConnection('BreakpointsView', () => {
1334
1342
 
1335
1343
  component.data = data;
1336
1344
  await RenderCoordinator.done();
1337
- assert.isNotNull(component.shadowRoot);
1345
+ assert.isNotNull(component.contentElement);
1338
1346
 
1339
1347
  await hover(component, BREAKPOINT_ITEM_SELECTOR);
1340
1348
 
1341
- const editBreakpointButton = component.shadowRoot.querySelector(EDIT_SINGLE_BREAKPOINT_SELECTOR);
1349
+ const editBreakpointButton = component.contentElement.querySelector(EDIT_SINGLE_BREAKPOINT_SELECTOR);
1342
1350
  assert.isNull(editBreakpointButton);
1343
1351
  });
1344
1352
 
1345
1353
  it('initializes data from the controller on construction', async () => {
1346
1354
  await setUpTestWithOneBreakpointLocation();
1347
1355
  const component = await createAndInitializeBreakpointsView();
1348
- const renderedGroupName = component.shadowRoot?.querySelector(GROUP_NAME_SELECTOR);
1356
+ const renderedGroupName = component.contentElement?.querySelector(GROUP_NAME_SELECTOR);
1349
1357
  assert.strictEqual(renderedGroupName?.textContent, HELLO_JS_FILE);
1350
1358
  });
1351
1359
 
@@ -1355,7 +1363,7 @@ describeWithMockConnection('BreakpointsView', () => {
1355
1363
  it('are rendered', async () => {
1356
1364
  const {component} =
1357
1365
  await renderSingleBreakpoint(SDK.DebuggerModel.BreakpointType.CONDITIONAL_BREAKPOINT, breakpointDetails);
1358
- const breakpointItem = component.shadowRoot?.querySelector(BREAKPOINT_ITEM_SELECTOR);
1366
+ const breakpointItem = component.contentElement?.querySelector(BREAKPOINT_ITEM_SELECTOR);
1359
1367
  assert.exists(breakpointItem);
1360
1368
  assert.instanceOf(breakpointItem, HTMLDivElement);
1361
1369
  assert.isTrue(breakpointItem.classList.contains('conditional-breakpoint'));
@@ -1364,7 +1372,7 @@ describeWithMockConnection('BreakpointsView', () => {
1364
1372
  it('show a tooltip', async () => {
1365
1373
  const {component} =
1366
1374
  await renderSingleBreakpoint(SDK.DebuggerModel.BreakpointType.CONDITIONAL_BREAKPOINT, breakpointDetails);
1367
- const codeSnippet = component.shadowRoot?.querySelector(CODE_SNIPPET_SELECTOR);
1375
+ const codeSnippet = component.contentElement?.querySelector(CODE_SNIPPET_SELECTOR);
1368
1376
  assert.exists(codeSnippet);
1369
1377
  assert.instanceOf(codeSnippet, HTMLSpanElement);
1370
1378
  assert.strictEqual(codeSnippet.title, `Condition: ${breakpointDetails}`);
@@ -1373,11 +1381,11 @@ describeWithMockConnection('BreakpointsView', () => {
1373
1381
  it('show a tooltip on editing the condition', async () => {
1374
1382
  const {component} =
1375
1383
  await renderSingleBreakpoint(SDK.DebuggerModel.BreakpointType.CONDITIONAL_BREAKPOINT, breakpointDetails);
1376
- assert.isNotNull(component.shadowRoot);
1384
+ assert.isNotNull(component.contentElement);
1377
1385
 
1378
1386
  await hover(component, BREAKPOINT_ITEM_SELECTOR);
1379
1387
 
1380
- const editBreakpointButton = component.shadowRoot.querySelector(EDIT_SINGLE_BREAKPOINT_SELECTOR);
1388
+ const editBreakpointButton = component.contentElement.querySelector(EDIT_SINGLE_BREAKPOINT_SELECTOR);
1381
1389
  assert.instanceOf(editBreakpointButton, HTMLButtonElement);
1382
1390
 
1383
1391
  assert.strictEqual(editBreakpointButton.title, 'Edit condition');
@@ -1389,7 +1397,7 @@ describeWithMockConnection('BreakpointsView', () => {
1389
1397
 
1390
1398
  it('are rendered', async () => {
1391
1399
  const {component} = await renderSingleBreakpoint(SDK.DebuggerModel.BreakpointType.LOGPOINT, breakpointDetails);
1392
- const breakpointItem = component.shadowRoot?.querySelector(BREAKPOINT_ITEM_SELECTOR);
1400
+ const breakpointItem = component.contentElement?.querySelector(BREAKPOINT_ITEM_SELECTOR);
1393
1401
  assert.exists(breakpointItem);
1394
1402
  assert.instanceOf(breakpointItem, HTMLDivElement);
1395
1403
  assert.isTrue(breakpointItem.classList.contains('logpoint'));
@@ -1397,7 +1405,7 @@ describeWithMockConnection('BreakpointsView', () => {
1397
1405
 
1398
1406
  it('show a tooltip', async () => {
1399
1407
  const {component} = await renderSingleBreakpoint(SDK.DebuggerModel.BreakpointType.LOGPOINT, breakpointDetails);
1400
- const codeSnippet = component.shadowRoot?.querySelector(CODE_SNIPPET_SELECTOR);
1408
+ const codeSnippet = component.contentElement?.querySelector(CODE_SNIPPET_SELECTOR);
1401
1409
  assert.exists(codeSnippet);
1402
1410
  assert.instanceOf(codeSnippet, HTMLSpanElement);
1403
1411
  assert.strictEqual(codeSnippet.title, `Logpoint: ${breakpointDetails}`);
@@ -1405,11 +1413,11 @@ describeWithMockConnection('BreakpointsView', () => {
1405
1413
 
1406
1414
  it('show a tooltip on editing the logpoint', async () => {
1407
1415
  const {component} = await renderSingleBreakpoint(SDK.DebuggerModel.BreakpointType.LOGPOINT, breakpointDetails);
1408
- assert.isNotNull(component.shadowRoot);
1416
+ assert.isNotNull(component.contentElement);
1409
1417
 
1410
1418
  await hover(component, BREAKPOINT_ITEM_SELECTOR);
1411
1419
 
1412
- const editBreakpointButton = component.shadowRoot.querySelector(EDIT_SINGLE_BREAKPOINT_SELECTOR);
1420
+ const editBreakpointButton = component.contentElement.querySelector(EDIT_SINGLE_BREAKPOINT_SELECTOR);
1413
1421
  assert.instanceOf(editBreakpointButton, HTMLButtonElement);
1414
1422
 
1415
1423
  assert.strictEqual(editBreakpointButton.title, 'Edit logpoint');
@@ -1419,16 +1427,17 @@ describeWithMockConnection('BreakpointsView', () => {
1419
1427
  describe('pause on exceptions', () => {
1420
1428
  it('state is rendered correctly when disabled', async () => {
1421
1429
  const component = await renderNoBreakpoints({pauseOnUncaughtExceptions: false, pauseOnCaughtExceptions: false});
1422
- assert.isNotNull(component.shadowRoot);
1430
+ assert.isNotNull(component.contentElement);
1423
1431
 
1424
- const pauseOnUncaughtExceptionsItem = component.shadowRoot.querySelector(PAUSE_ON_UNCAUGHT_EXCEPTIONS_SELECTOR);
1432
+ const pauseOnUncaughtExceptionsItem =
1433
+ component.contentElement.querySelector(PAUSE_ON_UNCAUGHT_EXCEPTIONS_SELECTOR);
1425
1434
  assert.exists(pauseOnUncaughtExceptionsItem);
1426
1435
 
1427
1436
  const pauseOnUncaughtExceptionsCheckbox = pauseOnUncaughtExceptionsItem.querySelector('input');
1428
1437
  assert.instanceOf(pauseOnUncaughtExceptionsCheckbox, HTMLInputElement);
1429
1438
  assert.isFalse(pauseOnUncaughtExceptionsCheckbox.checked);
1430
1439
 
1431
- const pauseOnCaughtExceptionsItem = component.shadowRoot?.querySelector(PAUSE_ON_CAUGHT_EXCEPTIONS_SELECTOR);
1440
+ const pauseOnCaughtExceptionsItem = component.contentElement?.querySelector(PAUSE_ON_CAUGHT_EXCEPTIONS_SELECTOR);
1432
1441
  assert.exists(pauseOnCaughtExceptionsItem);
1433
1442
 
1434
1443
  const pauseOnCaughtExceptionsCheckbox = pauseOnUncaughtExceptionsItem.querySelector('input');
@@ -1438,9 +1447,10 @@ describeWithMockConnection('BreakpointsView', () => {
1438
1447
 
1439
1448
  it('state is rendered correctly when pausing on uncaught exceptions', async () => {
1440
1449
  const component = await renderNoBreakpoints({pauseOnUncaughtExceptions: true, pauseOnCaughtExceptions: false});
1441
- assert.isNotNull(component.shadowRoot);
1450
+ assert.isNotNull(component.contentElement);
1442
1451
 
1443
- const pauseOnUncaughtExceptionsItem = component.shadowRoot.querySelector(PAUSE_ON_UNCAUGHT_EXCEPTIONS_SELECTOR);
1452
+ const pauseOnUncaughtExceptionsItem =
1453
+ component.contentElement.querySelector(PAUSE_ON_UNCAUGHT_EXCEPTIONS_SELECTOR);
1444
1454
  assert.exists(pauseOnUncaughtExceptionsItem);
1445
1455
 
1446
1456
  const pauseOnUncaughtExceptionsCheckbox = pauseOnUncaughtExceptionsItem.querySelector('input');
@@ -1448,7 +1458,7 @@ describeWithMockConnection('BreakpointsView', () => {
1448
1458
  assert.instanceOf(pauseOnUncaughtExceptionsCheckbox, HTMLInputElement);
1449
1459
  assert.isTrue(pauseOnUncaughtExceptionsCheckbox.checked);
1450
1460
 
1451
- const pauseOnCaughtExceptionsItem = component.shadowRoot?.querySelector(PAUSE_ON_CAUGHT_EXCEPTIONS_SELECTOR);
1461
+ const pauseOnCaughtExceptionsItem = component.contentElement?.querySelector(PAUSE_ON_CAUGHT_EXCEPTIONS_SELECTOR);
1452
1462
  assert.exists(pauseOnCaughtExceptionsItem);
1453
1463
 
1454
1464
  const pauseOnCaughtExceptionsCheckbox = pauseOnCaughtExceptionsItem.querySelector('input');
@@ -1459,9 +1469,10 @@ describeWithMockConnection('BreakpointsView', () => {
1459
1469
 
1460
1470
  it('state is rendered correctly when pausing on all exceptions', async () => {
1461
1471
  const component = await renderNoBreakpoints({pauseOnUncaughtExceptions: true, pauseOnCaughtExceptions: true});
1462
- assert.isNotNull(component.shadowRoot);
1472
+ assert.isNotNull(component.contentElement);
1463
1473
 
1464
- const pauseOnUncaughtExceptionsItem = component.shadowRoot.querySelector(PAUSE_ON_UNCAUGHT_EXCEPTIONS_SELECTOR);
1474
+ const pauseOnUncaughtExceptionsItem =
1475
+ component.contentElement.querySelector(PAUSE_ON_UNCAUGHT_EXCEPTIONS_SELECTOR);
1465
1476
  assert.exists(pauseOnUncaughtExceptionsItem);
1466
1477
 
1467
1478
  const pauseOnUncaughtExceptionsCheckbox = pauseOnUncaughtExceptionsItem.querySelector('input');
@@ -1469,7 +1480,7 @@ describeWithMockConnection('BreakpointsView', () => {
1469
1480
  assert.instanceOf(pauseOnUncaughtExceptionsCheckbox, HTMLInputElement);
1470
1481
  assert.isTrue(pauseOnUncaughtExceptionsCheckbox.checked);
1471
1482
 
1472
- const pauseOnCaughtExceptionsItem = component.shadowRoot?.querySelector(PAUSE_ON_CAUGHT_EXCEPTIONS_SELECTOR);
1483
+ const pauseOnCaughtExceptionsItem = component.contentElement?.querySelector(PAUSE_ON_CAUGHT_EXCEPTIONS_SELECTOR);
1473
1484
  assert.exists(pauseOnCaughtExceptionsItem);
1474
1485
 
1475
1486
  const pauseOnCaughtExceptionsCheckbox = pauseOnCaughtExceptionsItem.querySelector('input');
@@ -1480,16 +1491,16 @@ describeWithMockConnection('BreakpointsView', () => {
1480
1491
 
1481
1492
  it('triggers an event when disabling pausing on all exceptions', async () => {
1482
1493
  const component = await renderNoBreakpoints({pauseOnUncaughtExceptions: true, pauseOnCaughtExceptions: false});
1483
- assert.isNotNull(component.shadowRoot);
1494
+ assert.isNotNull(component.contentElement);
1484
1495
 
1485
- const item = component.shadowRoot.querySelector(PAUSE_ON_UNCAUGHT_EXCEPTIONS_SELECTOR);
1496
+ const item = component.contentElement.querySelector(PAUSE_ON_UNCAUGHT_EXCEPTIONS_SELECTOR);
1486
1497
  assert.exists(item);
1487
1498
 
1488
1499
  const checkbox = item.querySelector('input');
1489
1500
  assert.instanceOf(checkbox, HTMLInputElement);
1490
1501
  const {checked} = checkbox;
1491
1502
 
1492
- const controller = SourcesComponents.BreakpointsView.BreakpointsSidebarController.instance();
1503
+ const controller = Sources.BreakpointsView.BreakpointsSidebarController.instance();
1493
1504
  const setPauseOnUncaughtExceptions = sinon.stub(controller, 'setPauseOnUncaughtExceptions');
1494
1505
 
1495
1506
  checkbox.click();
@@ -1499,16 +1510,16 @@ describeWithMockConnection('BreakpointsView', () => {
1499
1510
 
1500
1511
  it('triggers an event when enabling pausing on caught exceptions', async () => {
1501
1512
  const component = await renderNoBreakpoints({pauseOnUncaughtExceptions: true, pauseOnCaughtExceptions: false});
1502
- assert.isNotNull(component.shadowRoot);
1513
+ assert.isNotNull(component.contentElement);
1503
1514
 
1504
- const item = component.shadowRoot.querySelector(PAUSE_ON_CAUGHT_EXCEPTIONS_SELECTOR);
1515
+ const item = component.contentElement.querySelector(PAUSE_ON_CAUGHT_EXCEPTIONS_SELECTOR);
1505
1516
  assert.exists(item);
1506
1517
 
1507
1518
  const checkbox = item.querySelector('input');
1508
1519
  assert.instanceOf(checkbox, HTMLInputElement);
1509
1520
  const {checked} = checkbox;
1510
1521
 
1511
- const controller = SourcesComponents.BreakpointsView.BreakpointsSidebarController.instance();
1522
+ const controller = Sources.BreakpointsView.BreakpointsSidebarController.instance();
1512
1523
  const setPauseOnCaughtExceptions = sinon.stub(controller, 'setPauseOnCaughtExceptions');
1513
1524
 
1514
1525
  checkbox.click();
@@ -1518,16 +1529,16 @@ describeWithMockConnection('BreakpointsView', () => {
1518
1529
 
1519
1530
  it('triggers an event when enabling pausing on uncaught exceptions', async () => {
1520
1531
  const component = await renderNoBreakpoints({pauseOnUncaughtExceptions: false, pauseOnCaughtExceptions: true});
1521
- assert.isNotNull(component.shadowRoot);
1532
+ assert.isNotNull(component.contentElement);
1522
1533
 
1523
- const item = component.shadowRoot.querySelector(PAUSE_ON_UNCAUGHT_EXCEPTIONS_SELECTOR);
1534
+ const item = component.contentElement.querySelector(PAUSE_ON_UNCAUGHT_EXCEPTIONS_SELECTOR);
1524
1535
  assert.exists(item);
1525
1536
 
1526
1537
  const checkbox = item.querySelector('input');
1527
1538
  assert.instanceOf(checkbox, HTMLInputElement);
1528
1539
  const {checked} = checkbox;
1529
1540
 
1530
- const controller = SourcesComponents.BreakpointsView.BreakpointsSidebarController.instance();
1541
+ const controller = Sources.BreakpointsView.BreakpointsSidebarController.instance();
1531
1542
  const setPauseOnUncaughtExceptions = sinon.stub(controller, 'setPauseOnUncaughtExceptions');
1532
1543
 
1533
1544
  checkbox.click();
@@ -1539,12 +1550,12 @@ describeWithMockConnection('BreakpointsView', () => {
1539
1550
  describe('navigating with keyboard', () => {
1540
1551
  // One expanded group with 2 breakpoints, and one collapsed with 2 breakpoints.
1541
1552
  async function renderBreakpointsForKeyboardNavigation(): Promise<{
1542
- component: SourcesComponents.BreakpointsView.BreakpointsView,
1543
- data: SourcesComponents.BreakpointsView.BreakpointsViewData,
1553
+ component: Sources.BreakpointsView.BreakpointsView,
1554
+ data: Sources.BreakpointsView.BreakpointsViewData,
1544
1555
  }> {
1545
1556
  const component = await createAndInitializeBreakpointsView();
1546
1557
 
1547
- const data: SourcesComponents.BreakpointsView.BreakpointsViewData = {
1558
+ const data: Sources.BreakpointsView.BreakpointsViewData = {
1548
1559
  breakpointsActive: true,
1549
1560
  pauseOnUncaughtExceptions: false,
1550
1561
  pauseOnCaughtExceptions: false,
@@ -1561,7 +1572,7 @@ describeWithMockConnection('BreakpointsView', () => {
1561
1572
  location: '234',
1562
1573
  codeSnippet: 'const a = x;',
1563
1574
  isHit: false,
1564
- status: SourcesComponents.BreakpointsView.BreakpointStatus.ENABLED,
1575
+ status: Sources.BreakpointsView.BreakpointStatus.ENABLED,
1565
1576
  },
1566
1577
  {
1567
1578
  id: '2',
@@ -1569,7 +1580,7 @@ describeWithMockConnection('BreakpointsView', () => {
1569
1580
  location: '3:3',
1570
1581
  codeSnippet: 'if (x > a) {',
1571
1582
  isHit: true,
1572
- status: SourcesComponents.BreakpointsView.BreakpointStatus.DISABLED,
1583
+ status: Sources.BreakpointsView.BreakpointStatus.DISABLED,
1573
1584
  },
1574
1585
  ],
1575
1586
  },
@@ -1585,7 +1596,7 @@ describeWithMockConnection('BreakpointsView', () => {
1585
1596
  location: '11',
1586
1597
  codeSnippet: 'const y;',
1587
1598
  isHit: false,
1588
- status: SourcesComponents.BreakpointsView.BreakpointStatus.ENABLED,
1599
+ status: Sources.BreakpointsView.BreakpointStatus.ENABLED,
1589
1600
  },
1590
1601
  {
1591
1602
  id: '4',
@@ -1593,7 +1604,7 @@ describeWithMockConnection('BreakpointsView', () => {
1593
1604
  location: '12',
1594
1605
  codeSnippet: 'const y;',
1595
1606
  isHit: false,
1596
- status: SourcesComponents.BreakpointsView.BreakpointStatus.ENABLED,
1607
+ status: Sources.BreakpointsView.BreakpointStatus.ENABLED,
1597
1608
  },
1598
1609
  ],
1599
1610
  },
@@ -1601,26 +1612,27 @@ describeWithMockConnection('BreakpointsView', () => {
1601
1612
  };
1602
1613
  component.data = data;
1603
1614
  await RenderCoordinator.done();
1615
+ await component.updateComplete;
1604
1616
  return {component, data};
1605
1617
  }
1606
1618
 
1607
1619
  it('pause on exceptions is tabbable', async () => {
1608
1620
  const component = await renderNoBreakpoints({pauseOnUncaughtExceptions: true, pauseOnCaughtExceptions: false});
1609
- assert.isNotNull(component.shadowRoot);
1621
+ assert.isNotNull(component.contentElement);
1610
1622
 
1611
- const focusableElements = component.shadowRoot.querySelectorAll(TABBABLE_SELECTOR);
1623
+ const focusableElements = component.contentElement.querySelectorAll(TABBABLE_SELECTOR);
1612
1624
  assert.lengthOf(focusableElements, 1);
1613
1625
 
1614
- const pauseOnUncaughtExceptions = component.shadowRoot.querySelector(PAUSE_ON_UNCAUGHT_EXCEPTIONS_SELECTOR);
1626
+ const pauseOnUncaughtExceptions = component.contentElement.querySelector(PAUSE_ON_UNCAUGHT_EXCEPTIONS_SELECTOR);
1615
1627
  assert.deepEqual(focusableElements[0], pauseOnUncaughtExceptions);
1616
1628
  });
1617
1629
 
1618
1630
  describe('pressing the HOME key', () => {
1619
1631
  it('takes the user to the pause-on-exceptions line', async () => {
1620
1632
  const {component} = await renderBreakpointsForKeyboardNavigation();
1621
- assert.isNotNull(component.shadowRoot);
1633
+ assert.isNotNull(component.contentElement);
1622
1634
  const secondGroupsSummary =
1623
- component.shadowRoot.querySelector(`${DETAILS_SELECTOR}:nth-of-type(2) > ${SUMMARY_SELECTOR}`);
1635
+ component.contentElement.querySelector(`${DETAILS_SELECTOR}:nth-of-type(2) > ${SUMMARY_SELECTOR}`);
1624
1636
  assert.instanceOf(secondGroupsSummary, HTMLElement);
1625
1637
 
1626
1638
  // Focus on second group by clicking on it, then press Home button.
@@ -1628,9 +1640,9 @@ describeWithMockConnection('BreakpointsView', () => {
1628
1640
  dispatchKeyDownEvent(secondGroupsSummary, {key: 'Home', bubbles: true});
1629
1641
  await RenderCoordinator.done();
1630
1642
 
1631
- const selected = component.shadowRoot.querySelector(TABBABLE_SELECTOR);
1643
+ const selected = component.contentElement.querySelector(TABBABLE_SELECTOR);
1632
1644
  assert.instanceOf(selected, HTMLElement);
1633
- const pauseOnUncaughtExceptions = component.shadowRoot.querySelector(PAUSE_ON_UNCAUGHT_EXCEPTIONS_SELECTOR);
1645
+ const pauseOnUncaughtExceptions = component.contentElement.querySelector(PAUSE_ON_UNCAUGHT_EXCEPTIONS_SELECTOR);
1634
1646
  assert.instanceOf(pauseOnUncaughtExceptions, HTMLElement);
1635
1647
  assert.strictEqual(selected, pauseOnUncaughtExceptions);
1636
1648
  });
@@ -1639,8 +1651,8 @@ describeWithMockConnection('BreakpointsView', () => {
1639
1651
  describe('pressing the END key', () => {
1640
1652
  it('takes the user to the summary node of the last group (if last group is collapsed)', async () => {
1641
1653
  const {component} = await renderBreakpointsForKeyboardNavigation();
1642
- assert.isNotNull(component.shadowRoot);
1643
- const pauseOnUncaughtExceptions = component.shadowRoot.querySelector(PAUSE_ON_UNCAUGHT_EXCEPTIONS_SELECTOR);
1654
+ assert.isNotNull(component.contentElement);
1655
+ const pauseOnUncaughtExceptions = component.contentElement.querySelector(PAUSE_ON_UNCAUGHT_EXCEPTIONS_SELECTOR);
1644
1656
  assert.instanceOf(pauseOnUncaughtExceptions, HTMLElement);
1645
1657
 
1646
1658
  // Focus on the pause-on-exceptions line by clicking on it, then press End key.
@@ -1648,11 +1660,11 @@ describeWithMockConnection('BreakpointsView', () => {
1648
1660
  dispatchKeyDownEvent(pauseOnUncaughtExceptions, {key: 'End', bubbles: true});
1649
1661
  await RenderCoordinator.done();
1650
1662
 
1651
- const selected = component.shadowRoot.querySelector(TABBABLE_SELECTOR);
1663
+ const selected = component.contentElement.querySelector(TABBABLE_SELECTOR);
1652
1664
  assert.instanceOf(selected, HTMLElement);
1653
1665
 
1654
1666
  const lastGroupSummary =
1655
- component.shadowRoot.querySelector(`${DETAILS_SELECTOR}:nth-of-type(2) > ${SUMMARY_SELECTOR}`);
1667
+ component.contentElement.querySelector(`${DETAILS_SELECTOR}:nth-of-type(2) > ${SUMMARY_SELECTOR}`);
1656
1668
  assert.instanceOf(lastGroupSummary, HTMLElement);
1657
1669
  assert.strictEqual(selected, lastGroupSummary);
1658
1670
  });
@@ -1664,8 +1676,8 @@ describeWithMockConnection('BreakpointsView', () => {
1664
1676
  component.data = data;
1665
1677
  await RenderCoordinator.done();
1666
1678
 
1667
- assert.isNotNull(component.shadowRoot);
1668
- const firstGroupSummary = component.shadowRoot.querySelector(SUMMARY_SELECTOR);
1679
+ assert.isNotNull(component.contentElement);
1680
+ const firstGroupSummary = component.contentElement.querySelector(SUMMARY_SELECTOR);
1669
1681
  assert.instanceOf(firstGroupSummary, HTMLElement);
1670
1682
 
1671
1683
  // First focus on the first group by clicking on it, then press the End button.
@@ -1673,10 +1685,10 @@ describeWithMockConnection('BreakpointsView', () => {
1673
1685
  dispatchKeyDownEvent(firstGroupSummary, {key: 'End', bubbles: true});
1674
1686
  await RenderCoordinator.done();
1675
1687
 
1676
- const selected = component.shadowRoot.querySelector(TABBABLE_SELECTOR);
1688
+ const selected = component.contentElement.querySelector(TABBABLE_SELECTOR);
1677
1689
  assert.instanceOf(selected, HTMLElement);
1678
1690
 
1679
- const breakpointItems = component.shadowRoot.querySelectorAll(BREAKPOINT_ITEM_SELECTOR);
1691
+ const breakpointItems = component.contentElement.querySelectorAll(BREAKPOINT_ITEM_SELECTOR);
1680
1692
  assertElements(breakpointItems, HTMLDivElement);
1681
1693
 
1682
1694
  const lastBreakpointItem = breakpointItems.item(breakpointItems.length - 1);
@@ -1688,9 +1700,9 @@ describeWithMockConnection('BreakpointsView', () => {
1688
1700
  it('on the pause-on-uncaught-exception takes the user to the summary node of the top most details element',
1689
1701
  async () => {
1690
1702
  const {component} = await renderBreakpointsForKeyboardNavigation();
1691
- assert.isNotNull(component.shadowRoot);
1703
+ assert.isNotNull(component.contentElement);
1692
1704
 
1693
- const pauseOnCaughtException = component.shadowRoot.querySelector(PAUSE_ON_CAUGHT_EXCEPTIONS_SELECTOR);
1705
+ const pauseOnCaughtException = component.contentElement.querySelector(PAUSE_ON_CAUGHT_EXCEPTIONS_SELECTOR);
1694
1706
  assert.instanceOf(pauseOnCaughtException, HTMLElement);
1695
1707
 
1696
1708
  // Focus on the pause on exception, and navigate one down.
@@ -1698,8 +1710,8 @@ describeWithMockConnection('BreakpointsView', () => {
1698
1710
  dispatchKeyDownEvent(pauseOnCaughtException, {key: 'ArrowDown', bubbles: true});
1699
1711
  await RenderCoordinator.done();
1700
1712
 
1701
- const selected = component.shadowRoot.querySelector(TABBABLE_SELECTOR);
1702
- const firstSummary = component.shadowRoot.querySelector(`${DETAILS_SELECTOR} > ${SUMMARY_SELECTOR}`);
1713
+ const selected = component.contentElement.querySelector(TABBABLE_SELECTOR);
1714
+ const firstSummary = component.contentElement.querySelector(`${DETAILS_SELECTOR} > ${SUMMARY_SELECTOR}`);
1703
1715
  assert.instanceOf(firstSummary, HTMLElement);
1704
1716
  assert.strictEqual(selected, firstSummary);
1705
1717
  });
@@ -1707,8 +1719,8 @@ describeWithMockConnection('BreakpointsView', () => {
1707
1719
  it('on the summary node of an expanded group takes the user to the top most breakpoint item of that group',
1708
1720
  async () => {
1709
1721
  const {component} = await renderBreakpointsForKeyboardNavigation();
1710
- assert.isNotNull(component.shadowRoot);
1711
- const collapsedDetailsElement = component.shadowRoot.querySelector(COLLAPSED_GROUPS_SELECTOR);
1722
+ assert.isNotNull(component.contentElement);
1723
+ const collapsedDetailsElement = component.contentElement.querySelector(COLLAPSED_GROUPS_SELECTOR);
1712
1724
  assert.instanceOf(collapsedDetailsElement, HTMLDetailsElement);
1713
1725
 
1714
1726
  const collapsedGroupSummary = collapsedDetailsElement.querySelector(SUMMARY_SELECTOR);
@@ -1719,7 +1731,7 @@ describeWithMockConnection('BreakpointsView', () => {
1719
1731
  dispatchKeyDownEvent(collapsedGroupSummary, {key: 'ArrowDown', bubbles: true});
1720
1732
  await RenderCoordinator.done();
1721
1733
 
1722
- const selected = component.shadowRoot.querySelector(TABBABLE_SELECTOR);
1734
+ const selected = component.contentElement.querySelector(TABBABLE_SELECTOR);
1723
1735
  assert.instanceOf(selected, HTMLElement);
1724
1736
 
1725
1737
  const firstBreakpointItem = collapsedDetailsElement.querySelector(BREAKPOINT_ITEM_SELECTOR);
@@ -1730,10 +1742,10 @@ describeWithMockConnection('BreakpointsView', () => {
1730
1742
 
1731
1743
  it('on the summary node of a collapsed group takes the user to the summary node of the next group', async () => {
1732
1744
  const {component} = await renderBreakpointsForKeyboardNavigation();
1733
- assert.isNotNull(component.shadowRoot);
1745
+ assert.isNotNull(component.contentElement);
1734
1746
 
1735
1747
  const firstGroupSummary =
1736
- component.shadowRoot.querySelector(`${DETAILS_SELECTOR}:nth-of-type(1) > ${SUMMARY_SELECTOR}`);
1748
+ component.contentElement.querySelector(`${DETAILS_SELECTOR}:nth-of-type(1) > ${SUMMARY_SELECTOR}`);
1737
1749
  assert.instanceOf(firstGroupSummary, HTMLElement);
1738
1750
 
1739
1751
  // Focus on the expanded group and collapse it by clicking on it. Then navigate down.
@@ -1741,20 +1753,20 @@ describeWithMockConnection('BreakpointsView', () => {
1741
1753
  dispatchKeyDownEvent(firstGroupSummary, {key: 'ArrowDown', bubbles: true});
1742
1754
  await RenderCoordinator.done();
1743
1755
 
1744
- const selected = component.shadowRoot.querySelector(TABBABLE_SELECTOR);
1756
+ const selected = component.contentElement.querySelector(TABBABLE_SELECTOR);
1745
1757
  assert.instanceOf(selected, HTMLElement);
1746
1758
 
1747
1759
  const secondGroupSummary =
1748
- component.shadowRoot.querySelector(`${DETAILS_SELECTOR}:nth-of-type(2) > ${SUMMARY_SELECTOR}`);
1760
+ component.contentElement.querySelector(`${DETAILS_SELECTOR}:nth-of-type(2) > ${SUMMARY_SELECTOR}`);
1749
1761
  assert.instanceOf(secondGroupSummary, HTMLElement);
1750
1762
  assert.strictEqual(selected, secondGroupSummary);
1751
1763
  });
1752
1764
 
1753
1765
  it('on a breakpoint item takes the user to the next breakpoint item', async () => {
1754
1766
  const {component} = await renderBreakpointsForKeyboardNavigation();
1755
- assert.isNotNull(component.shadowRoot);
1767
+ assert.isNotNull(component.contentElement);
1756
1768
 
1757
- const firstDetailsElement = component.shadowRoot.querySelector('details');
1769
+ const firstDetailsElement = component.contentElement.querySelector('details');
1758
1770
  assert.instanceOf(firstDetailsElement, HTMLDetailsElement);
1759
1771
  const firstBreakpointItem = firstDetailsElement.querySelector(BREAKPOINT_ITEM_SELECTOR);
1760
1772
  assert.instanceOf(firstBreakpointItem, HTMLDivElement);
@@ -1764,7 +1776,7 @@ describeWithMockConnection('BreakpointsView', () => {
1764
1776
  dispatchKeyDownEvent(firstBreakpointItem, {key: 'ArrowDown', bubbles: true});
1765
1777
  await RenderCoordinator.done();
1766
1778
 
1767
- const selected = component.shadowRoot.querySelector(TABBABLE_SELECTOR);
1779
+ const selected = component.contentElement.querySelector(TABBABLE_SELECTOR);
1768
1780
  assert.instanceOf(selected, HTMLElement);
1769
1781
 
1770
1782
  const secondBreakpointItem = firstDetailsElement.querySelector(`${BREAKPOINT_ITEM_SELECTOR}:nth-of-type(2)`);
@@ -1777,8 +1789,8 @@ describeWithMockConnection('BreakpointsView', () => {
1777
1789
  describe('pressing the ArrowUp key', () => {
1778
1790
  it('on the first summary takes a user to the pause on exceptions', async () => {
1779
1791
  const {component} = await renderBreakpointsForKeyboardNavigation();
1780
- assert.isNotNull(component.shadowRoot);
1781
- const firstSummary = component.shadowRoot.querySelector(`${DETAILS_SELECTOR} > ${SUMMARY_SELECTOR}`);
1792
+ assert.isNotNull(component.contentElement);
1793
+ const firstSummary = component.contentElement.querySelector(`${DETAILS_SELECTOR} > ${SUMMARY_SELECTOR}`);
1782
1794
  assert.instanceOf(firstSummary, HTMLElement);
1783
1795
 
1784
1796
  // Focus on the summary element.
@@ -1786,8 +1798,8 @@ describeWithMockConnection('BreakpointsView', () => {
1786
1798
  dispatchKeyDownEvent(firstSummary, {key: 'ArrowUp', bubbles: true});
1787
1799
  await RenderCoordinator.done();
1788
1800
 
1789
- const selected = component.shadowRoot.querySelector(TABBABLE_SELECTOR);
1790
- const pauseOnUncaughtExceptions = component.shadowRoot.querySelector(PAUSE_ON_CAUGHT_EXCEPTIONS_SELECTOR);
1801
+ const selected = component.contentElement.querySelector(TABBABLE_SELECTOR);
1802
+ const pauseOnUncaughtExceptions = component.contentElement.querySelector(PAUSE_ON_CAUGHT_EXCEPTIONS_SELECTOR);
1791
1803
  assert.instanceOf(pauseOnUncaughtExceptions, HTMLDivElement);
1792
1804
 
1793
1805
  assert.strictEqual(selected, pauseOnUncaughtExceptions);
@@ -1795,8 +1807,8 @@ describeWithMockConnection('BreakpointsView', () => {
1795
1807
 
1796
1808
  it('on the first breakpoint item in an expanded group takes the user to the summary node', async () => {
1797
1809
  const {component} = await renderBreakpointsForKeyboardNavigation();
1798
- assert.isNotNull(component.shadowRoot);
1799
- const expandedDetails = component.shadowRoot.querySelector(EXPANDED_GROUPS_SELECTOR);
1810
+ assert.isNotNull(component.contentElement);
1811
+ const expandedDetails = component.contentElement.querySelector(EXPANDED_GROUPS_SELECTOR);
1800
1812
  assert.instanceOf(expandedDetails, HTMLDetailsElement);
1801
1813
 
1802
1814
  const firstBreakpointItem = expandedDetails.querySelector(BREAKPOINT_ITEM_SELECTOR);
@@ -1807,7 +1819,7 @@ describeWithMockConnection('BreakpointsView', () => {
1807
1819
  dispatchKeyDownEvent(firstBreakpointItem, {key: 'ArrowUp', bubbles: true});
1808
1820
  await RenderCoordinator.done();
1809
1821
 
1810
- const selected = component.shadowRoot.querySelector(TABBABLE_SELECTOR);
1822
+ const selected = component.contentElement.querySelector(TABBABLE_SELECTOR);
1811
1823
  assert.instanceOf(selected, HTMLElement);
1812
1824
 
1813
1825
  const summary = expandedDetails.querySelector(SUMMARY_SELECTOR);
@@ -1818,8 +1830,8 @@ describeWithMockConnection('BreakpointsView', () => {
1818
1830
 
1819
1831
  it('on a breakpoint item in an expanded group takes the user to the previous breakpoint item', async () => {
1820
1832
  const {component} = await renderBreakpointsForKeyboardNavigation();
1821
- assert.isNotNull(component.shadowRoot);
1822
- const expandedDetails = component.shadowRoot.querySelector(EXPANDED_GROUPS_SELECTOR);
1833
+ assert.isNotNull(component.contentElement);
1834
+ const expandedDetails = component.contentElement.querySelector(EXPANDED_GROUPS_SELECTOR);
1823
1835
  assert.instanceOf(expandedDetails, HTMLDetailsElement);
1824
1836
 
1825
1837
  const breakpointItems = expandedDetails.querySelectorAll(BREAKPOINT_ITEM_SELECTOR);
@@ -1831,7 +1843,7 @@ describeWithMockConnection('BreakpointsView', () => {
1831
1843
  dispatchKeyDownEvent(lastBreakpointItem, {key: 'ArrowUp', bubbles: true});
1832
1844
  await RenderCoordinator.done();
1833
1845
 
1834
- const selected = component.shadowRoot.querySelector(TABBABLE_SELECTOR);
1846
+ const selected = component.contentElement.querySelector(TABBABLE_SELECTOR);
1835
1847
  assert.instanceOf(selected, HTMLElement);
1836
1848
 
1837
1849
  const nextToLastBreakpointItem = breakpointItems.item(breakpointItems.length - 2);
@@ -1841,9 +1853,9 @@ describeWithMockConnection('BreakpointsView', () => {
1841
1853
 
1842
1854
  it('on a summary node takes the user to the last breakpoint item of the previous group', async () => {
1843
1855
  const {component} = await renderBreakpointsForKeyboardNavigation();
1844
- assert.isNotNull(component.shadowRoot);
1856
+ assert.isNotNull(component.contentElement);
1845
1857
  const secondGroupSummary =
1846
- component.shadowRoot.querySelector(`${DETAILS_SELECTOR}:nth-of-type(2) > ${SUMMARY_SELECTOR}`);
1858
+ component.contentElement.querySelector(`${DETAILS_SELECTOR}:nth-of-type(2) > ${SUMMARY_SELECTOR}`);
1847
1859
  assert.instanceOf(secondGroupSummary, HTMLElement);
1848
1860
 
1849
1861
  // Focus on the group. Then navigate up.
@@ -1851,10 +1863,10 @@ describeWithMockConnection('BreakpointsView', () => {
1851
1863
  dispatchKeyDownEvent(secondGroupSummary, {key: 'ArrowUp', bubbles: true});
1852
1864
  await RenderCoordinator.done();
1853
1865
 
1854
- const selected = component.shadowRoot.querySelector(TABBABLE_SELECTOR);
1866
+ const selected = component.contentElement.querySelector(TABBABLE_SELECTOR);
1855
1867
  assert.instanceOf(selected, HTMLElement);
1856
1868
 
1857
- const firstDetailsElement = component.shadowRoot.querySelector(DETAILS_SELECTOR);
1869
+ const firstDetailsElement = component.contentElement.querySelector(DETAILS_SELECTOR);
1858
1870
  assert.exists(firstDetailsElement);
1859
1871
  const lastBreakpointItem = firstDetailsElement.querySelector(`${BREAKPOINT_ITEM_SELECTOR}:last-child`);
1860
1872
  assert.instanceOf(lastBreakpointItem, HTMLDivElement);