chrome-devtools-frontend 1.0.982087 → 1.0.995227

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 (489) hide show
  1. package/AUTHORS +2 -0
  2. package/config/gni/devtools_grd_files.gni +8 -7
  3. package/config/gni/devtools_image_files.gni +1 -0
  4. package/front_end/.eslintrc.js +10 -0
  5. package/front_end/Images/src/ic_rendering.svg +3 -0
  6. package/front_end/core/common/ParsedURL.ts +39 -28
  7. package/front_end/core/common/ResourceType.ts +1 -1
  8. package/front_end/core/common/SettingRegistration.ts +1 -0
  9. package/front_end/core/host/InspectorFrontendHost.ts +4 -4
  10. package/front_end/core/host/InspectorFrontendHostAPI.ts +7 -6
  11. package/front_end/core/host/Platform.ts +11 -2
  12. package/front_end/core/host/UserMetrics.ts +27 -2
  13. package/front_end/core/i18n/DevToolsLocale.ts +4 -0
  14. package/front_end/core/i18n/locales/af.json +76 -16
  15. package/front_end/core/i18n/locales/am.json +76 -16
  16. package/front_end/core/i18n/locales/ar.json +77 -17
  17. package/front_end/core/i18n/locales/as.json +76 -16
  18. package/front_end/core/i18n/locales/az.json +76 -16
  19. package/front_end/core/i18n/locales/be.json +75 -15
  20. package/front_end/core/i18n/locales/bg.json +76 -16
  21. package/front_end/core/i18n/locales/bn.json +76 -16
  22. package/front_end/core/i18n/locales/bs.json +88 -28
  23. package/front_end/core/i18n/locales/ca.json +76 -16
  24. package/front_end/core/i18n/locales/cs.json +76 -16
  25. package/front_end/core/i18n/locales/cy.json +76 -16
  26. package/front_end/core/i18n/locales/da.json +77 -17
  27. package/front_end/core/i18n/locales/de.json +178 -118
  28. package/front_end/core/i18n/locales/el.json +76 -16
  29. package/front_end/core/i18n/locales/en-GB.json +76 -16
  30. package/front_end/core/i18n/locales/en-US.json +193 -52
  31. package/front_end/core/i18n/locales/en-XL.json +193 -52
  32. package/front_end/core/i18n/locales/es-419.json +76 -16
  33. package/front_end/core/i18n/locales/es.json +76 -16
  34. package/front_end/core/i18n/locales/et.json +76 -16
  35. package/front_end/core/i18n/locales/eu.json +76 -16
  36. package/front_end/core/i18n/locales/fa.json +83 -23
  37. package/front_end/core/i18n/locales/fi.json +76 -16
  38. package/front_end/core/i18n/locales/fil.json +76 -16
  39. package/front_end/core/i18n/locales/fr-CA.json +76 -16
  40. package/front_end/core/i18n/locales/fr.json +76 -16
  41. package/front_end/core/i18n/locales/gl.json +76 -16
  42. package/front_end/core/i18n/locales/gu.json +76 -16
  43. package/front_end/core/i18n/locales/he.json +76 -16
  44. package/front_end/core/i18n/locales/hi.json +76 -16
  45. package/front_end/core/i18n/locales/hr.json +76 -16
  46. package/front_end/core/i18n/locales/hu.json +76 -16
  47. package/front_end/core/i18n/locales/hy.json +76 -16
  48. package/front_end/core/i18n/locales/id.json +79 -19
  49. package/front_end/core/i18n/locales/is.json +75 -15
  50. package/front_end/core/i18n/locales/it.json +124 -64
  51. package/front_end/core/i18n/locales/ja.json +76 -16
  52. package/front_end/core/i18n/locales/ka.json +76 -16
  53. package/front_end/core/i18n/locales/kk.json +76 -16
  54. package/front_end/core/i18n/locales/km.json +76 -16
  55. package/front_end/core/i18n/locales/kn.json +76 -16
  56. package/front_end/core/i18n/locales/ko.json +76 -16
  57. package/front_end/core/i18n/locales/ky.json +76 -16
  58. package/front_end/core/i18n/locales/lo.json +76 -16
  59. package/front_end/core/i18n/locales/lt.json +76 -16
  60. package/front_end/core/i18n/locales/lv.json +76 -16
  61. package/front_end/core/i18n/locales/mk.json +76 -16
  62. package/front_end/core/i18n/locales/ml.json +76 -16
  63. package/front_end/core/i18n/locales/mn.json +76 -16
  64. package/front_end/core/i18n/locales/mr.json +76 -16
  65. package/front_end/core/i18n/locales/ms.json +76 -16
  66. package/front_end/core/i18n/locales/my.json +78 -18
  67. package/front_end/core/i18n/locales/ne.json +76 -16
  68. package/front_end/core/i18n/locales/nl.json +77 -17
  69. package/front_end/core/i18n/locales/no.json +76 -16
  70. package/front_end/core/i18n/locales/or.json +76 -16
  71. package/front_end/core/i18n/locales/pa.json +76 -16
  72. package/front_end/core/i18n/locales/pl.json +78 -18
  73. package/front_end/core/i18n/locales/pt-PT.json +123 -63
  74. package/front_end/core/i18n/locales/pt.json +78 -18
  75. package/front_end/core/i18n/locales/ro.json +76 -16
  76. package/front_end/core/i18n/locales/ru.json +77 -17
  77. package/front_end/core/i18n/locales/si.json +76 -16
  78. package/front_end/core/i18n/locales/sk.json +76 -16
  79. package/front_end/core/i18n/locales/sl.json +76 -16
  80. package/front_end/core/i18n/locales/sq.json +76 -16
  81. package/front_end/core/i18n/locales/sr-Latn.json +76 -16
  82. package/front_end/core/i18n/locales/sr.json +76 -16
  83. package/front_end/core/i18n/locales/sv.json +76 -16
  84. package/front_end/core/i18n/locales/sw.json +76 -16
  85. package/front_end/core/i18n/locales/ta.json +77 -17
  86. package/front_end/core/i18n/locales/te.json +76 -16
  87. package/front_end/core/i18n/locales/th.json +76 -16
  88. package/front_end/core/i18n/locales/tr.json +76 -16
  89. package/front_end/core/i18n/locales/uk.json +76 -16
  90. package/front_end/core/i18n/locales/ur.json +76 -16
  91. package/front_end/core/i18n/locales/uz.json +77 -17
  92. package/front_end/core/i18n/locales/vi.json +76 -16
  93. package/front_end/core/i18n/locales/zh-HK.json +76 -16
  94. package/front_end/core/i18n/locales/zh-TW.json +76 -16
  95. package/front_end/core/i18n/locales/zh.json +76 -16
  96. package/front_end/core/i18n/locales/zu.json +76 -16
  97. package/front_end/core/platform/dom-utilities.ts +16 -0
  98. package/front_end/core/platform/platform.ts +2 -0
  99. package/front_end/core/protocol_client/InspectorBackend.ts +2 -1
  100. package/front_end/core/protocol_client/NodeURL.ts +1 -1
  101. package/front_end/core/root/Runtime.ts +6 -0
  102. package/front_end/core/sdk/AccessibilityModel.ts +7 -6
  103. package/front_end/core/sdk/CSSMatchedStyles.ts +71 -17
  104. package/front_end/core/sdk/CSSMetadata.ts +15 -0
  105. package/front_end/core/sdk/CSSModel.ts +9 -7
  106. package/front_end/core/sdk/CSSProperty.ts +97 -11
  107. package/front_end/core/sdk/CSSStyleSheetHeader.ts +9 -5
  108. package/front_end/core/sdk/CSSSupports.ts +4 -1
  109. package/front_end/core/sdk/ChildTargetManager.ts +3 -1
  110. package/front_end/core/sdk/Connections.ts +3 -2
  111. package/front_end/core/sdk/ConsoleModel.ts +6 -5
  112. package/front_end/core/sdk/Cookie.ts +4 -2
  113. package/front_end/core/sdk/DOMDebuggerModel.ts +10 -6
  114. package/front_end/core/sdk/DOMModel.ts +2 -2
  115. package/front_end/core/sdk/DebuggerModel.ts +27 -5
  116. package/front_end/core/sdk/HeapProfilerModel.ts +2 -1
  117. package/front_end/core/sdk/NetworkManager.ts +13 -12
  118. package/front_end/core/sdk/NetworkRequest.ts +1 -1
  119. package/front_end/core/sdk/PageLoad.ts +3 -1
  120. package/front_end/core/sdk/PageResourceLoader.ts +9 -7
  121. package/front_end/core/sdk/ProfileTreeModel.ts +3 -2
  122. package/front_end/core/sdk/RemoteObject.ts +18 -6
  123. package/front_end/core/sdk/ResourceTreeModel.ts +17 -11
  124. package/front_end/core/sdk/ScreenCaptureModel.ts +3 -0
  125. package/front_end/core/sdk/Script.ts +4 -3
  126. package/front_end/core/sdk/ServiceWorkerCacheModel.ts +2 -1
  127. package/front_end/core/sdk/SourceMap.ts +10 -6
  128. package/front_end/core/sdk/SourceMapManager.ts +47 -5
  129. package/front_end/core/sdk/TracingModel.ts +0 -9
  130. package/front_end/devtools_compatibility.js +1 -0
  131. package/front_end/entrypoints/formatter_worker/CSSRuleParser.ts +1 -1
  132. package/front_end/entrypoints/lighthouse_worker/LighthouseWorkerService.ts +10 -3
  133. package/front_end/entrypoints/main/MainImpl.ts +22 -2
  134. package/front_end/generated/InspectorBackendCommands.js +79 -14
  135. package/front_end/generated/SupportedCSSProperties.js +21 -8
  136. package/front_end/generated/protocol-mapping.d.ts +4 -0
  137. package/front_end/generated/protocol-proxy-api.d.ts +5 -0
  138. package/front_end/generated/protocol.ts +158 -28
  139. package/front_end/legacy/legacy-defs.d.ts +0 -4
  140. package/front_end/legacy_test_runner/heap_profiler_test_runner/heap_profiler_test_runner.js +1 -1
  141. package/front_end/legacy_test_runner/test_runner/TestRunner.js +1 -0
  142. package/front_end/models/bindings/BreakpointManager.ts +68 -11
  143. package/front_end/models/bindings/CSSWorkspaceBinding.ts +9 -2
  144. package/front_end/models/bindings/CompilerScriptMapping.ts +3 -2
  145. package/front_end/models/bindings/ContentProviderBasedProject.ts +12 -9
  146. package/front_end/models/bindings/DebuggerLanguagePlugins.ts +10 -8
  147. package/front_end/models/bindings/DebuggerWorkspaceBinding.ts +8 -1
  148. package/front_end/models/bindings/DefaultScriptMapping.ts +8 -2
  149. package/front_end/models/bindings/IgnoreListManager.ts +5 -5
  150. package/front_end/models/bindings/ResourceUtils.ts +5 -4
  151. package/front_end/models/emulation/EmulatedDevices.ts +17 -0
  152. package/front_end/models/extensions/ExtensionAPI.ts +5 -2
  153. package/front_end/models/extensions/ExtensionPanel.ts +2 -1
  154. package/front_end/models/extensions/ExtensionServer.ts +13 -8
  155. package/front_end/models/issues_manager/AttributionReportingIssue.ts +0 -63
  156. package/front_end/models/issues_manager/CookieIssue.ts +7 -0
  157. package/front_end/models/issues_manager/DeprecationIssue.ts +326 -8
  158. package/front_end/models/issues_manager/IssuesManager.ts +4 -0
  159. package/front_end/models/issues_manager/descriptions/CookieAttributeValueExceedsMaxSize.md +5 -0
  160. package/front_end/models/issues_manager/descriptions/deprecation.md +1 -1
  161. package/front_end/models/logs/LogManager.ts +2 -1
  162. package/front_end/models/logs/NetworkLog.ts +14 -12
  163. package/front_end/models/persistence/Automapping.ts +17 -16
  164. package/front_end/models/persistence/EditFileSystemView.ts +5 -4
  165. package/front_end/models/persistence/FileSystemWorkspaceBinding.ts +24 -24
  166. package/front_end/models/persistence/IsolatedFileSystem.ts +2 -2
  167. package/front_end/models/persistence/IsolatedFileSystemManager.ts +7 -6
  168. package/front_end/models/persistence/NetworkPersistenceManager.ts +92 -54
  169. package/front_end/models/persistence/PersistenceImpl.ts +7 -7
  170. package/front_end/models/persistence/PlatformFileSystem.ts +7 -8
  171. package/front_end/models/persistence/WorkspaceSettingsTab.ts +3 -2
  172. package/front_end/models/text_utils/CodeMirrorUtils.ts +53 -0
  173. package/front_end/models/text_utils/text_utils.ts +2 -0
  174. package/front_end/models/timeline_model/TimelineModel.ts +31 -30
  175. package/front_end/models/timeline_model/TimelineProfileTree.ts +3 -2
  176. package/front_end/models/workspace/UISourceCode.ts +16 -14
  177. package/front_end/models/workspace/WorkspaceImpl.ts +40 -16
  178. package/front_end/panels/accessibility/AccessibilitySubPane.ts +2 -1
  179. package/front_end/panels/application/AppManifestView.ts +1 -1
  180. package/front_end/panels/application/ApplicationPanelCacheSection.ts +5 -4
  181. package/front_end/panels/application/ApplicationPanelSidebar.ts +34 -30
  182. package/front_end/panels/application/ApplicationPanelTreeElement.ts +5 -4
  183. package/front_end/panels/application/DatabaseQueryView.ts +2 -1
  184. package/front_end/panels/application/InterestGroupTreeElement.ts +3 -2
  185. package/front_end/panels/application/ReportingApiTreeElement.ts +3 -2
  186. package/front_end/panels/application/ResourcesPanel.ts +4 -3
  187. package/front_end/panels/application/ServiceWorkerCacheViews.ts +6 -1
  188. package/front_end/panels/application/TrustTokensTreeElement.ts +3 -2
  189. package/front_end/panels/application/components/BackForwardCacheStrings.ts +10 -1
  190. package/front_end/panels/application/components/BackForwardCacheView.ts +163 -13
  191. package/front_end/panels/application/components/backForwardCacheView.css +15 -4
  192. package/front_end/panels/browser_debugger/XHRBreakpointsSidebarPane.ts +19 -19
  193. package/front_end/panels/changes/ChangesView.ts +38 -0
  194. package/front_end/panels/console/ConsolePinPane.ts +7 -0
  195. package/front_end/panels/console/ConsolePrompt.ts +11 -1
  196. package/front_end/panels/console/ConsoleSidebar.ts +2 -1
  197. package/front_end/panels/console/ConsoleView.ts +57 -31
  198. package/front_end/panels/console/ConsoleViewMessage.ts +12 -9
  199. package/front_end/panels/console/ConsoleViewport.ts +2 -1
  200. package/front_end/panels/console/ErrorStackParser.ts +8 -4
  201. package/front_end/panels/console/consoleView.css +0 -1
  202. package/front_end/panels/coverage/CoverageListView.ts +1 -1
  203. package/front_end/panels/coverage/CoverageModel.ts +6 -6
  204. package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +2 -1
  205. package/front_end/panels/css_overview/components/CSSOverviewStartView.ts +7 -6
  206. package/front_end/panels/css_overview/components/cssOverviewStartView.css +0 -48
  207. package/front_end/panels/css_overview/cssOverviewCompletedView.css +5 -0
  208. package/front_end/panels/css_overview/cssOverviewSidebarPanel.css +2 -0
  209. package/front_end/panels/elements/ColorSwatchPopoverIcon.ts +2 -1
  210. package/front_end/panels/elements/ComputedStyleWidget.ts +2 -1
  211. package/front_end/panels/elements/ElementStatePaneWidget.ts +4 -6
  212. package/front_end/panels/elements/ElementsPanel.ts +16 -5
  213. package/front_end/panels/elements/ImagePreviewPopover.ts +6 -4
  214. package/front_end/panels/elements/PropertiesWidget.ts +4 -24
  215. package/front_end/panels/elements/StyleEditorWidget.ts +2 -1
  216. package/front_end/panels/elements/StylePropertiesSection.ts +1614 -0
  217. package/front_end/panels/elements/StylePropertyHighlighter.ts +2 -1
  218. package/front_end/panels/elements/StylePropertyTreeElement.ts +20 -1
  219. package/front_end/panels/elements/StylesSidebarPane.ts +97 -1675
  220. package/front_end/panels/elements/elements-legacy.ts +3 -3
  221. package/front_end/panels/elements/elements.ts +3 -0
  222. package/front_end/panels/elements/stylesSidebarPane.css +3 -1
  223. package/front_end/panels/input/InputTimeline.ts +1 -1
  224. package/front_end/panels/issues/AttributionReportingIssueDetailsView.ts +0 -50
  225. package/front_end/panels/issues/ComboBoxOfCheckBoxes.ts +14 -2
  226. package/front_end/panels/issues/IssueAggregator.ts +8 -0
  227. package/front_end/panels/issues/issues.ts +2 -0
  228. package/front_end/panels/lighthouse/LighthouseController.ts +5 -1
  229. package/front_end/panels/lighthouse/LighthousePanel.ts +3 -1
  230. package/front_end/panels/lighthouse/LighthouseTimespanView.ts +3 -3
  231. package/front_end/panels/network/BlockedURLsPane.ts +3 -2
  232. package/front_end/panels/network/NetworkConfigView.ts +6 -0
  233. package/front_end/panels/network/NetworkDataGridNode.ts +4 -0
  234. package/front_end/panels/network/NetworkLogView.ts +1 -1
  235. package/front_end/panels/network/RequestHTMLView.ts +1 -0
  236. package/front_end/panels/network/RequestHeadersView.ts +71 -10
  237. package/front_end/panels/network/networkLogView.css +9 -17
  238. package/front_end/panels/network/requestHeadersTree.css +16 -0
  239. package/front_end/panels/profiler/HeapSnapshotView.ts +2 -0
  240. package/front_end/panels/profiler/LiveHeapProfileView.ts +3 -1
  241. package/front_end/panels/profiler/ProfilesPanel.ts +2 -1
  242. package/front_end/panels/profiler/heapProfiler.css +15 -3
  243. package/front_end/panels/screencast/ScreencastView.ts +1 -1
  244. package/front_end/panels/search/SearchConfig.ts +2 -1
  245. package/front_end/panels/settings/KeybindsSettingsTab.ts +3 -2
  246. package/front_end/panels/settings/emulation/components/userAgentClientHintsForm.css +1 -2
  247. package/front_end/panels/snippets/ScriptSnippetFileSystem.ts +4 -4
  248. package/front_end/panels/sources/BreakpointEditDialog.ts +0 -1
  249. package/front_end/panels/sources/CSSPlugin.ts +6 -6
  250. package/front_end/panels/sources/CoveragePlugin.ts +2 -1
  251. package/front_end/panels/sources/DebuggerPlugin.ts +4 -4
  252. package/front_end/panels/sources/EditingLocationHistoryManager.ts +4 -1
  253. package/front_end/panels/sources/NavigatorView.ts +28 -20
  254. package/front_end/panels/sources/SearchSourcesView.ts +2 -2
  255. package/front_end/panels/sources/SourcesNavigator.ts +4 -2
  256. package/front_end/panels/sources/SourcesPanel.ts +4 -4
  257. package/front_end/panels/sources/SourcesSearchScope.ts +12 -8
  258. package/front_end/panels/sources/SourcesView.ts +3 -1
  259. package/front_end/panels/sources/TabbedEditorContainer.ts +1 -1
  260. package/front_end/panels/sources/components/HeadersView.ts +1 -1
  261. package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +9 -9
  262. package/front_end/panels/timeline/TimelinePanel.ts +1 -1
  263. package/front_end/panels/timeline/timelinePanel.css +1 -2
  264. package/front_end/panels/utils/utils.ts +97 -0
  265. package/front_end/third_party/codemirror.next/bundle.ts +27 -25
  266. package/front_end/third_party/codemirror.next/chunk/codemirror.js +1 -1
  267. package/front_end/third_party/codemirror.next/chunk/cpp.js +2 -2
  268. package/front_end/third_party/codemirror.next/chunk/java.js +2 -1
  269. package/front_end/third_party/codemirror.next/chunk/json.js +2 -2
  270. package/front_end/third_party/codemirror.next/chunk/legacy.js +1 -1
  271. package/front_end/third_party/codemirror.next/chunk/markdown.js +2 -2
  272. package/front_end/third_party/codemirror.next/chunk/php.js +2 -1
  273. package/front_end/third_party/codemirror.next/chunk/python.js +2 -2
  274. package/front_end/third_party/codemirror.next/chunk/wast.js +2 -1
  275. package/front_end/third_party/codemirror.next/chunk/xml.js +2 -1
  276. package/front_end/third_party/codemirror.next/codemirror.next.d.ts +1884 -2281
  277. package/front_end/third_party/codemirror.next/codemirror.next.js +1 -1
  278. package/front_end/third_party/codemirror.next/package.json +21 -32
  279. package/front_end/third_party/lit-html/README.chromium +3 -3
  280. package/front_end/third_party/lit-html/package/README.md +1 -1
  281. package/front_end/third_party/lit-html/package/async-directive.d.ts +1 -1
  282. package/front_end/third_party/lit-html/package/async-directive.js.map +1 -1
  283. package/front_end/third_party/lit-html/package/development/async-directive.d.ts +1 -1
  284. package/front_end/third_party/lit-html/package/development/async-directive.js.map +1 -1
  285. package/front_end/third_party/lit-html/package/development/directives/choose.d.ts +32 -0
  286. package/front_end/third_party/lit-html/package/development/directives/choose.d.ts.map +1 -0
  287. package/front_end/third_party/lit-html/package/development/directives/choose.js +41 -0
  288. package/front_end/third_party/lit-html/package/development/directives/choose.js.map +1 -0
  289. package/front_end/third_party/lit-html/package/development/directives/join.d.ts +21 -0
  290. package/front_end/third_party/lit-html/package/development/directives/join.d.ts.map +1 -0
  291. package/front_end/third_party/lit-html/package/development/directives/join.js +19 -0
  292. package/front_end/third_party/lit-html/package/development/directives/join.js.map +1 -0
  293. package/front_end/third_party/lit-html/package/development/directives/keyed.d.ts +23 -0
  294. package/front_end/third_party/lit-html/package/development/directives/keyed.d.ts.map +1 -0
  295. package/front_end/third_party/lit-html/package/development/directives/keyed.js +39 -0
  296. package/front_end/third_party/lit-html/package/development/directives/keyed.js.map +1 -0
  297. package/front_end/third_party/lit-html/package/development/directives/map.d.ts +23 -0
  298. package/front_end/third_party/lit-html/package/development/directives/map.d.ts.map +1 -0
  299. package/front_end/third_party/lit-html/package/development/directives/map.js +30 -0
  300. package/front_end/third_party/lit-html/package/development/directives/map.js.map +1 -0
  301. package/front_end/third_party/lit-html/package/development/directives/range.d.ts +24 -0
  302. package/front_end/third_party/lit-html/package/development/directives/range.d.ts.map +1 -0
  303. package/front_end/third_party/lit-html/package/development/directives/range.js +13 -0
  304. package/front_end/third_party/lit-html/package/development/directives/range.js.map +1 -0
  305. package/front_end/third_party/lit-html/package/development/directives/template-content.d.ts +1 -1
  306. package/front_end/third_party/lit-html/package/development/directives/when.d.ts +26 -0
  307. package/front_end/third_party/lit-html/package/development/directives/when.d.ts.map +1 -0
  308. package/front_end/third_party/lit-html/package/development/directives/when.js +9 -0
  309. package/front_end/third_party/lit-html/package/development/directives/when.js.map +1 -0
  310. package/front_end/third_party/lit-html/package/development/lit-html.d.ts +182 -1
  311. package/front_end/third_party/lit-html/package/development/lit-html.d.ts.map +1 -1
  312. package/front_end/third_party/lit-html/package/development/lit-html.js +187 -4
  313. package/front_end/third_party/lit-html/package/development/lit-html.js.map +1 -1
  314. package/front_end/third_party/lit-html/package/development/static.d.ts.map +1 -1
  315. package/front_end/third_party/lit-html/package/development/static.js +7 -0
  316. package/front_end/third_party/lit-html/package/development/static.js.map +1 -1
  317. package/front_end/third_party/lit-html/package/directives/choose.d.ts +32 -0
  318. package/front_end/third_party/lit-html/package/directives/choose.d.ts.map +1 -0
  319. package/front_end/third_party/lit-html/package/directives/choose.js +7 -0
  320. package/front_end/third_party/lit-html/package/directives/choose.js.map +1 -0
  321. package/front_end/third_party/lit-html/package/directives/class-map.js +1 -1
  322. package/front_end/third_party/lit-html/package/directives/guard.js +1 -1
  323. package/front_end/third_party/lit-html/package/directives/join.d.ts +21 -0
  324. package/front_end/third_party/lit-html/package/directives/join.d.ts.map +1 -0
  325. package/front_end/third_party/lit-html/package/directives/join.js +7 -0
  326. package/front_end/third_party/lit-html/package/directives/join.js.map +1 -0
  327. package/front_end/third_party/lit-html/package/directives/keyed.d.ts +23 -0
  328. package/front_end/third_party/lit-html/package/directives/keyed.d.ts.map +1 -0
  329. package/front_end/third_party/lit-html/package/directives/keyed.js +7 -0
  330. package/front_end/third_party/lit-html/package/directives/keyed.js.map +1 -0
  331. package/front_end/third_party/lit-html/package/directives/map.d.ts +23 -0
  332. package/front_end/third_party/lit-html/package/directives/map.d.ts.map +1 -0
  333. package/front_end/third_party/lit-html/package/directives/map.js +7 -0
  334. package/front_end/third_party/lit-html/package/directives/map.js.map +1 -0
  335. package/front_end/third_party/lit-html/package/directives/range.d.ts +24 -0
  336. package/front_end/third_party/lit-html/package/directives/range.d.ts.map +1 -0
  337. package/front_end/third_party/lit-html/package/directives/range.js +7 -0
  338. package/front_end/third_party/lit-html/package/directives/range.js.map +1 -0
  339. package/front_end/third_party/lit-html/package/directives/ref.js +1 -1
  340. package/front_end/third_party/lit-html/package/directives/repeat.js +1 -1
  341. package/front_end/third_party/lit-html/package/directives/style-map.js +1 -1
  342. package/front_end/third_party/lit-html/package/directives/template-content.d.ts +1 -1
  343. package/front_end/third_party/lit-html/package/directives/template-content.js +1 -1
  344. package/front_end/third_party/lit-html/package/directives/unsafe-html.js +1 -1
  345. package/front_end/third_party/lit-html/package/directives/until.js +1 -1
  346. package/front_end/third_party/lit-html/package/directives/when.d.ts +26 -0
  347. package/front_end/third_party/lit-html/package/directives/when.d.ts.map +1 -0
  348. package/front_end/third_party/lit-html/package/directives/when.js +7 -0
  349. package/front_end/third_party/lit-html/package/directives/when.js.map +1 -0
  350. package/front_end/third_party/lit-html/package/lit-html.d.ts +182 -1
  351. package/front_end/third_party/lit-html/package/lit-html.d.ts.map +1 -1
  352. package/front_end/third_party/lit-html/package/lit-html.js +1 -1
  353. package/front_end/third_party/lit-html/package/lit-html.js.map +1 -1
  354. package/front_end/third_party/lit-html/package/package.json +25 -1
  355. package/front_end/third_party/lit-html/package/private-ssr-support.js +1 -1
  356. package/front_end/third_party/lit-html/package/static.d.ts.map +1 -1
  357. package/front_end/third_party/lit-html/package/static.js +1 -1
  358. package/front_end/third_party/lit-html/package/static.js.map +1 -1
  359. package/front_end/third_party/puppeteer/README.chromium +1 -1
  360. package/front_end/third_party/puppeteer/package/README.md +12 -13
  361. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api-docs-entry.js +5 -1
  362. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api-docs-entry.js.map +1 -1
  363. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.js +5 -1
  364. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.js.map +1 -1
  365. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FrameManager.d.ts +2 -2
  366. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/FrameManager.js +2 -2
  367. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPRequest.d.ts +2 -2
  368. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPRequest.d.ts.map +1 -1
  369. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPRequest.js +13 -6
  370. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HTTPRequest.js.map +1 -1
  371. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/JSHandle.js +5 -1
  372. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/JSHandle.js.map +1 -1
  373. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkEventManager.d.ts +1 -0
  374. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkEventManager.d.ts.map +1 -1
  375. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkEventManager.js +4 -1
  376. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkEventManager.js.map +1 -1
  377. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkManager.d.ts +1 -0
  378. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkManager.d.ts.map +1 -1
  379. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkManager.js +10 -0
  380. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/NetworkManager.js.map +1 -1
  381. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/PDFOptions.d.ts +4 -2
  382. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/PDFOptions.d.ts.map +1 -1
  383. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/PDFOptions.js.map +1 -1
  384. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Page.d.ts.map +1 -1
  385. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Page.js +12 -1
  386. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Page.js.map +1 -1
  387. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/fetch.js +5 -1
  388. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/fetch.js.map +1 -1
  389. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/helper.d.ts.map +1 -1
  390. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/helper.js +7 -6
  391. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/helper.js.map +1 -1
  392. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserFetcher.js +8 -1
  393. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserFetcher.js.map +1 -1
  394. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserRunner.js +6 -2
  395. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserRunner.js.map +1 -1
  396. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Launcher.js +6 -2
  397. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/Launcher.js.map +1 -1
  398. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js +1 -1
  399. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.d.ts +2 -2
  400. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.js +2 -2
  401. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.d.ts +2 -2
  402. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.d.ts.map +1 -1
  403. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.js +13 -6
  404. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.js.map +1 -1
  405. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkEventManager.d.ts +1 -0
  406. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkEventManager.d.ts.map +1 -1
  407. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkEventManager.js +4 -1
  408. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkEventManager.js.map +1 -1
  409. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.d.ts +1 -0
  410. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.d.ts.map +1 -1
  411. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.js +10 -0
  412. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.js.map +1 -1
  413. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/PDFOptions.d.ts +4 -2
  414. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/PDFOptions.d.ts.map +1 -1
  415. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/PDFOptions.js.map +1 -1
  416. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.d.ts.map +1 -1
  417. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.js +12 -1
  418. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.js.map +1 -1
  419. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/helper.d.ts.map +1 -1
  420. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/helper.js +2 -5
  421. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/helper.js.map +1 -1
  422. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserFetcher.js +3 -0
  423. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserFetcher.js.map +1 -1
  424. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserRunner.js +1 -1
  425. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserRunner.js.map +1 -1
  426. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.js +1 -1
  427. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.js.map +1 -1
  428. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js +1 -1
  429. package/front_end/third_party/puppeteer/package/lib/types.d.ts +10 -6
  430. package/front_end/third_party/puppeteer/package/package.json +17 -17
  431. package/front_end/ui/components/code_highlighter/CodeHighlighter.ts +1 -1
  432. package/front_end/ui/components/data_grid/DataGrid.ts +8 -9
  433. package/front_end/ui/components/data_grid/DataGridController.ts +3 -1
  434. package/front_end/ui/components/docs/panel_introduction_steps/basic.html +25 -0
  435. package/front_end/ui/components/docs/panel_introduction_steps/basic.ts +25 -0
  436. package/front_end/ui/components/input/input.ts +2 -2
  437. package/front_end/ui/components/linkifier/LinkifierUtils.ts +3 -1
  438. package/front_end/ui/components/panel_introduction_steps/PanelIntroductionSteps.ts +44 -0
  439. package/front_end/ui/components/panel_introduction_steps/panelIntroductionSteps.css +56 -0
  440. package/front_end/ui/components/panel_introduction_steps/panel_introduction_steps.ts +5 -0
  441. package/front_end/ui/components/render_coordinator/RenderCoordinator.ts +3 -4
  442. package/front_end/ui/components/text_editor/TextEditor.ts +1 -1
  443. package/front_end/ui/components/text_editor/config.ts +1 -35
  444. package/front_end/ui/components/text_editor/javascript.ts +8 -8
  445. package/front_end/ui/components/tree_outline/TreeOutline.ts +10 -9
  446. package/front_end/ui/components/tree_outline/treeOutline.css +1 -1
  447. package/front_end/ui/legacy/ARIAUtils.ts +4 -2
  448. package/front_end/ui/legacy/ContextMenu.ts +14 -0
  449. package/front_end/ui/legacy/DockController.ts +2 -1
  450. package/front_end/ui/legacy/SettingsUI.ts +3 -3
  451. package/front_end/ui/legacy/SoftContextMenu.ts +43 -14
  452. package/front_end/ui/legacy/Toolbar.ts +16 -0
  453. package/front_end/ui/legacy/Treeoutline.ts +17 -7
  454. package/front_end/ui/legacy/UIUtils.ts +2 -2
  455. package/front_end/ui/legacy/View.ts +14 -8
  456. package/front_end/ui/legacy/ViewManager.ts +2 -1
  457. package/front_end/ui/legacy/ViewRegistration.ts +6 -0
  458. package/front_end/ui/legacy/Widget.ts +2 -1
  459. package/front_end/ui/legacy/components/color_picker/Spectrum.ts +43 -11
  460. package/front_end/ui/legacy/components/data_grid/DataGrid.ts +98 -48
  461. package/front_end/ui/legacy/components/data_grid/ViewportDataGrid.ts +4 -3
  462. package/front_end/ui/legacy/components/data_grid/dataGrid.css +24 -28
  463. package/front_end/ui/legacy/components/inline_editor/CSSAngle.ts +5 -11
  464. package/front_end/ui/legacy/components/inline_editor/CSSLength.ts +8 -1
  465. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +10 -7
  466. package/front_end/ui/legacy/components/perf_ui/LineLevelProfile.ts +11 -10
  467. package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +7 -1
  468. package/front_end/ui/legacy/components/utils/ImagePreview.ts +12 -7
  469. package/front_end/ui/legacy/components/utils/Linkifier.ts +7 -5
  470. package/front_end/ui/legacy/reportView.css +1 -0
  471. package/front_end/ui/legacy/splitWidget.css +1 -1
  472. package/front_end/ui/legacy/tabbedPane.css +1 -0
  473. package/front_end/ui/legacy/themeColors.css +1 -1
  474. package/front_end/ui/legacy/toolbar.css +17 -1
  475. package/front_end/ui/legacy/utils/focus-changed.ts +3 -1
  476. package/inspector_overlay/.eslintrc.js +9 -0
  477. package/package.json +17 -17
  478. package/scripts/eslint_rules/lib/check_component_naming.js +4 -0
  479. package/scripts/eslint_rules/lib/es_modules_import.js +6 -0
  480. package/scripts/eslint_rules/lib/inject_checkbox_styles.js +121 -0
  481. package/scripts/eslint_rules/tests/es_modules_import_test.js +12 -0
  482. package/scripts/eslint_rules/tests/inject_checkbox_styles_test.js +127 -0
  483. package/front_end/models/issues_manager/descriptions/arAttributionEventSourceTriggerDataTooLarge.md +0 -4
  484. package/front_end/models/issues_manager/descriptions/arAttributionTriggerDataTooLarge.md +0 -4
  485. package/front_end/models/issues_manager/descriptions/arInvalidAttributionData.md +0 -8
  486. package/front_end/models/issues_manager/descriptions/arInvalidEventSourceTriggerData.md +0 -9
  487. package/front_end/models/issues_manager/descriptions/arInvalidTriggerDedupKey.md +0 -5
  488. package/front_end/models/issues_manager/descriptions/arInvalidTriggerPriority.md +0 -5
  489. package/front_end/models/issues_manager/descriptions/arMissingAttributionData.md +0 -7
@@ -93,6 +93,9 @@ Elements.NodeStackTraceWidget = ElementsModule.NodeStackTraceWidget.NodeStackTra
93
93
  /** @constructor */
94
94
  Elements.PropertiesWidget = ElementsModule.PropertiesWidget.PropertiesWidget;
95
95
 
96
+ /** @constructor */
97
+ Elements.StylePropertiesSection = ElementsModule.StylePropertiesSection.StylePropertiesSection;
98
+
96
99
  /** @constructor */
97
100
  Elements.StylePropertyTreeElement = ElementsModule.StylePropertyTreeElement.StylePropertyTreeElement;
98
101
 
@@ -104,6 +107,3 @@ Elements.StylesSidebarPane.CSSPropertyPrompt = ElementsModule.StylesSidebarPane.
104
107
 
105
108
  /** @constructor */
106
109
  Elements.StylesSidebarPane.ButtonProvider = ElementsModule.StylesSidebarPane.ButtonProvider;
107
-
108
- /** @constructor */
109
- Elements.StylePropertiesSection = ElementsModule.StylesSidebarPane.StylePropertiesSection;
@@ -16,6 +16,7 @@ import './MetricsSidebarPane.js';
16
16
  import './PlatformFontsWidget.js';
17
17
  import './PropertiesWidget.js';
18
18
  import './NodeStackTraceWidget.js';
19
+ import './StylePropertiesSection.js';
19
20
  import './StylePropertyHighlighter.js';
20
21
  import './StylesSidebarPane.js';
21
22
  import './StylePropertyTreeElement.js';
@@ -47,6 +48,7 @@ import * as NodeStackTraceWidget from './NodeStackTraceWidget.js';
47
48
  import * as PlatformFontsWidget from './PlatformFontsWidget.js';
48
49
  import * as PropertiesWidget from './PropertiesWidget.js';
49
50
  import * as StyleEditorWidget from './StyleEditorWidget.js';
51
+ import * as StylePropertiesSection from './StylePropertiesSection.js';
50
52
  import * as StylePropertyHighlighter from './StylePropertyHighlighter.js';
51
53
  import * as StylePropertyTreeElement from './StylePropertyTreeElement.js';
52
54
  import * as StylePropertyUtils from './StylePropertyUtils.js';
@@ -75,6 +77,7 @@ export {
75
77
  PlatformFontsWidget,
76
78
  PropertiesWidget,
77
79
  StyleEditorWidget,
80
+ StylePropertiesSection,
78
81
  StylePropertyHighlighter,
79
82
  StylePropertyTreeElement,
80
83
  StylePropertyUtils,
@@ -142,11 +142,13 @@
142
142
  }
143
143
 
144
144
  .styles-sidebar-pane-toolbar-container {
145
+ --override-toolbar-background-color: var(--color-background-elevation-1);
146
+
145
147
  flex-shrink: 0;
146
148
  overflow: hidden;
147
149
  position: sticky;
148
150
  top: 0;
149
- background-color: var(--color-background-elevation-1);
151
+ background-color: var(--override-toolbar-background-color);
150
152
  z-index: 2;
151
153
  }
152
154
 
@@ -313,7 +313,7 @@ export class ActionDelegate implements UI.ActionRegistration.ActionDelegate {
313
313
  const inputViewId = 'Inputs';
314
314
  void UI.ViewManager.ViewManager.instance()
315
315
  .showView(inputViewId)
316
- .then(() => (UI.ViewManager.ViewManager.instance().view(inputViewId) as UI.View.View).widget())
316
+ .then(() => UI.ViewManager.ViewManager.instance().view(inputViewId).widget())
317
317
  .then(widget => this.innerHandleAction(widget as InputTimeline, actionId));
318
318
 
319
319
  return true;
@@ -47,26 +47,6 @@ const UIStrings = {
47
47
  * A origin is (roughly said) the front part of a URL.
48
48
  */
49
49
  untrustworthyOrigin: 'Untrustworthy origin',
50
- /**
51
- * @description Label for the column showing the invalid value used for the 'trigger-data' query
52
- * parameter.
53
- */
54
- invalidTriggerData: 'Invalid `trigger-data`',
55
- /**
56
- * @description Label for the column showing the invalid value used for the
57
- * 'event-source-trigger-data' query parameter.
58
- */
59
- invalidEventSourceTriggerData: 'Invalid `event-source-trigger-data`',
60
- /**
61
- * @description Label for the column showing the invalid value used for the
62
- * 'priority' query parameter.
63
- */
64
- invalidTriggerPriority: 'Invalid `priority`',
65
- /**
66
- * @description Label for the column showing the invalid value used for the
67
- * 'dedup-key' query parameter.
68
- */
69
- invalidTriggerDedupKey: 'Invalid `dedup-key`',
70
50
  };
71
51
  const str_ = i18n.i18n.registerUIStrings('panels/issues/AttributionReportingIssueDetailsView.ts', UIStrings);
72
52
  const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
@@ -109,24 +89,6 @@ export class AttributionReportingIssueDetailsView extends AffectedResourcesView
109
89
  this.appendColumnTitle(header, i18nString(UIStrings.element));
110
90
  this.appendColumnTitle(header, i18nString(UIStrings.untrustworthyOrigin));
111
91
  break;
112
- case IssuesManager.AttributionReportingIssue.IssueCode.InvalidAttributionData:
113
- case IssuesManager.AttributionReportingIssue.IssueCode.AttributionTriggerDataTooLarge:
114
- this.appendColumnTitle(header, i18nString(UIStrings.request));
115
- this.appendColumnTitle(header, i18nString(UIStrings.invalidTriggerData));
116
- break;
117
- case IssuesManager.AttributionReportingIssue.IssueCode.InvalidEventSourceTriggerData:
118
- case IssuesManager.AttributionReportingIssue.IssueCode.AttributionEventSourceTriggerDataTooLarge:
119
- this.appendColumnTitle(header, i18nString(UIStrings.request));
120
- this.appendColumnTitle(header, i18nString(UIStrings.invalidEventSourceTriggerData));
121
- break;
122
- case IssuesManager.AttributionReportingIssue.IssueCode.InvalidTriggerPriority:
123
- this.appendColumnTitle(header, i18nString(UIStrings.request));
124
- this.appendColumnTitle(header, i18nString(UIStrings.invalidTriggerPriority));
125
- break;
126
- case IssuesManager.AttributionReportingIssue.IssueCode.InvalidTriggerDedupKey:
127
- this.appendColumnTitle(header, i18nString(UIStrings.request));
128
- this.appendColumnTitle(header, i18nString(UIStrings.invalidTriggerDedupKey));
129
- break;
130
92
  case IssuesManager.AttributionReportingIssue.IssueCode.InvalidAttributionSourceEventId:
131
93
  this.appendColumnTitle(header, i18nString(UIStrings.frame));
132
94
  this.appendColumnTitle(header, i18nString(UIStrings.element));
@@ -142,9 +104,6 @@ export class AttributionReportingIssueDetailsView extends AffectedResourcesView
142
104
  this.appendColumnTitle(header, i18nString(UIStrings.element));
143
105
  this.appendColumnTitle(header, i18nString(UIStrings.invalidSourcePriority));
144
106
  break;
145
- case IssuesManager.AttributionReportingIssue.IssueCode.MissingAttributionData:
146
- this.appendColumnTitle(header, i18nString(UIStrings.request));
147
- break;
148
107
  case IssuesManager.AttributionReportingIssue.IssueCode.PermissionPolicyDisabled:
149
108
  this.appendColumnTitle(header, i18nString(UIStrings.frame));
150
109
  this.appendColumnTitle(header, i18nString(UIStrings.element));
@@ -179,13 +138,7 @@ export class AttributionReportingIssueDetailsView extends AffectedResourcesView
179
138
  await this.#appendElementOrEmptyCell(element, issue);
180
139
  this.appendIssueDetailCell(element, details.invalidParameter || '');
181
140
  break;
182
- case IssuesManager.AttributionReportingIssue.IssueCode.AttributionTriggerDataTooLarge:
183
- case IssuesManager.AttributionReportingIssue.IssueCode.AttributionEventSourceTriggerDataTooLarge:
184
141
  case IssuesManager.AttributionReportingIssue.IssueCode.AttributionUntrustworthyOrigin:
185
- case IssuesManager.AttributionReportingIssue.IssueCode.InvalidAttributionData:
186
- case IssuesManager.AttributionReportingIssue.IssueCode.InvalidEventSourceTriggerData:
187
- case IssuesManager.AttributionReportingIssue.IssueCode.InvalidTriggerPriority:
188
- case IssuesManager.AttributionReportingIssue.IssueCode.InvalidTriggerDedupKey:
189
142
  this.#appendRequestOrEmptyCell(element, details.request);
190
143
  this.appendIssueDetailCell(element, details.invalidParameter || '');
191
144
  break;
@@ -197,9 +150,6 @@ export class AttributionReportingIssueDetailsView extends AffectedResourcesView
197
150
  await this.#appendElementOrEmptyCell(element, issue);
198
151
  this.appendIssueDetailCell(element, details.invalidParameter || '');
199
152
  break;
200
- case IssuesManager.AttributionReportingIssue.IssueCode.MissingAttributionData:
201
- this.#appendRequestOrEmptyCell(element, details.request);
202
- break;
203
153
  case IssuesManager.AttributionReportingIssue.IssueCode.PermissionPolicyDisabled:
204
154
  this.#appendFrameOrEmptyCell(element, issue);
205
155
  await this.#appendElementOrEmptyCell(element, issue);
@@ -4,6 +4,16 @@
4
4
 
5
5
  import type * as Common from '../../core/common/common.js';
6
6
  import * as UI from '../../ui/legacy/legacy.js';
7
+ import * as i18n from '../../core/i18n/i18n.js';
8
+
9
+ const UIStrings = {
10
+ /**
11
+ *@description Generic menu name accessibility label
12
+ */
13
+ genericMenuLabel: 'Menu',
14
+ };
15
+ const str_ = i18n.i18n.registerUIStrings('panels/issues/ComboBoxOfCheckBoxes.ts', UIStrings);
16
+ const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
7
17
 
8
18
  export class ComboBoxOfCheckBoxes extends UI.Toolbar.ToolbarButton {
9
19
  #options = new Array<MenuOption>();
@@ -41,7 +51,7 @@ export class ComboBoxOfCheckBoxes extends UI.Toolbar.ToolbarButton {
41
51
  return this.#options;
42
52
  }
43
53
 
44
- #showLevelContextMenu({data: mouseEvent}: Common.EventTarget.EventTargetEvent<Event>): void {
54
+ async #showLevelContextMenu({data: mouseEvent}: Common.EventTarget.EventTargetEvent<Event>): Promise<void> {
45
55
  const contextMenu = new UI.ContextMenu.ContextMenu(mouseEvent, {
46
56
  useSoftMenu: true,
47
57
  x: this.element.totalOffsetLeft(),
@@ -56,7 +66,9 @@ export class ComboBoxOfCheckBoxes extends UI.Toolbar.ToolbarButton {
56
66
  this.setOptionEnabled(index, !enabled);
57
67
  }, enabled);
58
68
  }
59
- void contextMenu.show();
69
+ contextMenu.setContextMenuLabel(this.title ?? i18nString(UIStrings.genericMenuLabel));
70
+ await contextMenu.show();
71
+ contextMenu.markAsMenuItemCheckBox();
60
72
  }
61
73
  }
62
74
 
@@ -36,6 +36,7 @@ export class AggregatedIssue extends IssuesManager.Issue.Issue {
36
36
  #blockedByResponseDetails = new Map<string, Protocol.Audits.BlockedByResponseIssueDetails>();
37
37
  #corsIssues = new Set<IssuesManager.CorsIssue.CorsIssue>();
38
38
  #cspIssues = new Set<IssuesManager.ContentSecurityPolicyIssue.ContentSecurityPolicyIssue>();
39
+ #deprecationIssues = new Set<IssuesManager.DeprecationIssue.DeprecationIssue>();
39
40
  #issueKind = IssuesManager.Issue.IssueKind.Improvement;
40
41
  #lowContrastIssues = new Set<IssuesManager.LowTextContrastIssue.LowTextContrastIssue>();
41
42
  #mixedContentIssues = new Set<IssuesManager.MixedContentIssue.MixedContentIssue>();
@@ -104,6 +105,10 @@ export class AggregatedIssue extends IssuesManager.Issue.Issue {
104
105
  return this.#cspIssues;
105
106
  }
106
107
 
108
+ getDeprecationIssues(): Iterable<IssuesManager.DeprecationIssue.DeprecationIssue> {
109
+ return this.#deprecationIssues;
110
+ }
111
+
107
112
  getLowContrastIssues(): Iterable<IssuesManager.LowTextContrastIssue.LowTextContrastIssue> {
108
113
  return this.#lowContrastIssues;
109
114
  }
@@ -201,6 +206,9 @@ export class AggregatedIssue extends IssuesManager.Issue.Issue {
201
206
  if (issue instanceof IssuesManager.ContentSecurityPolicyIssue.ContentSecurityPolicyIssue) {
202
207
  this.#cspIssues.add(issue);
203
208
  }
209
+ if (issue instanceof IssuesManager.DeprecationIssue.DeprecationIssue) {
210
+ this.#deprecationIssues.add(issue);
211
+ }
204
212
  if (issue instanceof IssuesManager.SharedArrayBufferIssue.SharedArrayBufferIssue) {
205
213
  this.#sharedArrayBufferIssues.add(issue);
206
214
  }
@@ -6,10 +6,12 @@ import * as CSPViolationsView from './CSPViolationsView.js';
6
6
  import * as IssueAggregator from './IssueAggregator.js';
7
7
  import * as IssueRevealer from './IssueRevealer.js';
8
8
  import * as IssuesPane from './IssuesPane.js';
9
+ import * as IssueView from './IssueView.js';
9
10
 
10
11
  export {
11
12
  CSPViolationsView,
12
13
  IssueAggregator,
13
14
  IssueRevealer,
14
15
  IssuesPane,
16
+ IssueView,
15
17
  };
@@ -271,7 +271,11 @@ export class LighthouseController extends Common.ObjectWrapper.ObjectWrapper<Eve
271
271
  return '';
272
272
  }
273
273
  const mainTarget = this.manager.target();
274
- const usageData = await mainTarget.storageAgent().invoke_getUsageAndQuota({origin: mainTarget.inspectedURL()});
274
+ const origin = mainTarget.inspectedURL();
275
+ if (!origin) {
276
+ return '';
277
+ }
278
+ const usageData = await mainTarget.storageAgent().invoke_getUsageAndQuota({origin});
275
279
  const locations = usageData.usageBreakdown.filter(usage => usage.usage)
276
280
  .map(usage => STORAGE_TYPE_NAMES.get(usage.storageType))
277
281
  .map(i18nStringFn => i18nStringFn ? i18nStringFn() : undefined)
@@ -5,6 +5,7 @@
5
5
  import * as Common from '../../core/common/common.js';
6
6
  import * as Host from '../../core/host/host.js';
7
7
  import * as i18n from '../../core/i18n/i18n.js';
8
+ import type * as Platform from '../../core/platform/platform.js';
8
9
  import * as Root from '../../core/root/root.js';
9
10
  import * as SDK from '../../core/sdk/sdk.js';
10
11
  import * as EmulationModel from '../../models/emulation/emulation.js';
@@ -501,7 +502,8 @@ export class LighthousePanel extends UI.Panel.Panel {
501
502
  }
502
503
  // reload to reset the page state
503
504
  const inspectedURL = await this.controller.getInspectedURL();
504
- await resourceTreeModel.navigate(inspectedURL);
505
+ // TODO(crbug.com/1253323): Cast to UrlString will be removed when migration to branded types is complete.
506
+ await resourceTreeModel.navigate(inspectedURL as Platform.DevToolsPath.UrlString);
505
507
  }
506
508
 
507
509
  wasShown(): void {
@@ -11,15 +11,15 @@ import lighthouseDialogStyles from './lighthouseDialog.css.js';
11
11
 
12
12
  const UIStrings = {
13
13
  /**
14
- * @description Header indicating that a Lighthouse timespan is starting.
14
+ * @description Header indicating that a Lighthouse timespan is starting. "Timespan" is a Lighthouse mode that analyzes user interactions over a period of time.
15
15
  */
16
16
  timespanStarting: 'Timespan starting…',
17
17
  /**
18
- * @description Header indicating that a Lighthouse timespan has started.
18
+ * @description Header indicating that a Lighthouse timespan has started. "Timespan" is a Lighthouse mode that analyzes user interactions over a period of time. "interact with the page" is a call to action for the user to interact with the web page.
19
19
  */
20
20
  timespanStarted: 'Timespan started, interact with the page',
21
21
  /**
22
- * @description Label for a button that ends a Lighthouse timespan.
22
+ * @description Label for a button that ends a Lighthouse timespan. "timespan" is a Lighthouse mode that analyzes user interactions over a period of time.
23
23
  */
24
24
  endTimespan: 'End timespan',
25
25
  /**
@@ -4,6 +4,7 @@
4
4
 
5
5
  import * as Common from '../../core/common/common.js';
6
6
  import * as i18n from '../../core/i18n/i18n.js';
7
+ import * as Platform from '../../core/platform/platform.js';
7
8
  import * as SDK from '../../core/sdk/sdk.js';
8
9
  import * as UI from '../../ui/legacy/legacy.js';
9
10
 
@@ -132,7 +133,7 @@ export class BlockedURLsPane extends UI.Widget.VBox implements
132
133
 
133
134
  private addButtonClicked(): void {
134
135
  this.manager.setBlockingEnabled(true);
135
- this.list.addNewItem(0, {url: '', enabled: true});
136
+ this.list.addNewItem(0, {url: Platform.DevToolsPath.EmptyUrlString, enabled: true});
136
137
  }
137
138
 
138
139
  renderItem(pattern: SDK.NetworkManager.BlockedPattern, editable: boolean): Element {
@@ -180,7 +181,7 @@ export class BlockedURLsPane extends UI.Widget.VBox implements
180
181
  commitEdit(
181
182
  item: SDK.NetworkManager.BlockedPattern, editor: UI.ListWidget.Editor<SDK.NetworkManager.BlockedPattern>,
182
183
  isNew: boolean): void {
183
- const url = editor.control('url').value;
184
+ const url = editor.control('url').value as Platform.DevToolsPath.UrlString;
184
185
  const patterns = this.manager.blockedPatterns();
185
186
  if (isNew) {
186
187
  patterns.push({enabled: true, url: url});
@@ -54,6 +54,10 @@ const UIStrings = {
54
54
  * @description Status text for successful update of client hints.
55
55
  */
56
56
  clientHintsStatusText: 'User agent updated.',
57
+ /**
58
+ * @description The aria alert message when the Network conditions panel is shown.
59
+ */
60
+ networkConditionsPanelShown: 'Network conditions shown',
57
61
  };
58
62
  const str_ = i18n.i18n.registerUIStrings('panels/network/NetworkConfigView.ts', UIStrings);
59
63
  const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
@@ -348,6 +352,8 @@ export class NetworkConfigView extends UI.Widget.VBox {
348
352
  wasShown(): void {
349
353
  super.wasShown();
350
354
  this.registerCSSFiles([networkConfigViewStyles]);
355
+
356
+ UI.ARIAUtils.alert(i18nString(UIStrings.networkConditionsPanelShown));
351
357
  }
352
358
  }
353
359
 
@@ -1060,6 +1060,10 @@ export class NetworkRequestNode extends NetworkNode {
1060
1060
  const networkManager = SDK.NetworkManager.NetworkManager.forRequest(this.requestInternal);
1061
1061
  UI.UIUtils.createTextChild(cell, networkManager ? networkManager.target().decorateLabel(name) : name);
1062
1062
  this.appendSubtitle(cell, this.requestInternal.path());
1063
+ if (!this.requestInternal.url().startsWith('data')) {
1064
+ // Show the URL as tooltip unless it's a data URL.
1065
+ UI.Tooltip.Tooltip.install(cell, this.requestInternal.url());
1066
+ }
1063
1067
  } else if (text) {
1064
1068
  UI.UIUtils.createTextChild(cell, text);
1065
1069
  }
@@ -1582,7 +1582,7 @@ export class NetworkLogView extends Common.ObjectWrapper.eventMixin<EventTypes,
1582
1582
  let patterns = manager.blockedPatterns();
1583
1583
 
1584
1584
  function addBlockedURL(url: string): void {
1585
- patterns.push({enabled: true, url: url});
1585
+ patterns.push({enabled: true, url: url as Platform.DevToolsPath.UrlString});
1586
1586
  manager.setBlockedPatterns(patterns);
1587
1587
  manager.setBlockingEnabled(true);
1588
1588
  void UI.ViewManager.ViewManager.instance().showView('network.blocked-urls');
@@ -57,6 +57,7 @@ export class RequestHTMLView extends UI.Widget.VBox {
57
57
  const iframe = document.createElement('iframe');
58
58
  iframe.className = 'html-preview-frame';
59
59
  iframe.setAttribute('sandbox', ''); // Forbid to run JavaScript and set unique origin.
60
+ iframe.setAttribute('csp', 'default-src \'none\'');
60
61
  iframe.setAttribute('src', this.dataURL);
61
62
  iframe.tabIndex = -1;
62
63
  UI.ARIAUtils.markAsPresentation(iframe);
@@ -36,9 +36,12 @@ import * as Common from '../../core/common/common.js';
36
36
  import * as Host from '../../core/host/host.js';
37
37
  import * as i18n from '../../core/i18n/i18n.js';
38
38
  import * as Platform from '../../core/platform/platform.js';
39
+ import * as Root from '../../core/root/root.js';
39
40
  import * as SDK from '../../core/sdk/sdk.js';
40
41
  import * as Protocol from '../../generated/protocol.js';
41
42
  import * as IssuesManager from '../../models/issues_manager/issues_manager.js';
43
+ import * as Persistence from '../../models/persistence/persistence.js';
44
+ import * as Workspace from '../../models/workspace/workspace.js';
42
45
  import * as NetworkForward from '../../panels/network/forward/forward.js';
43
46
  import * as ClientVariations from '../../third_party/chromium/client-variations/client-variations.js';
44
47
  // eslint-disable-next-line rulesdir/es_modules_import
@@ -46,6 +49,7 @@ import objectPropertiesSectionStyles from '../../ui/legacy/components/object_ui/
46
49
  // eslint-disable-next-line rulesdir/es_modules_import
47
50
  import objectValueStyles from '../../ui/legacy/components/object_ui/objectValue.css.js';
48
51
  import * as UI from '../../ui/legacy/legacy.js';
52
+ import * as Sources from '../sources/sources.js';
49
53
 
50
54
  import requestHeadersTreeStyles from './requestHeadersTree.css.js';
51
55
  import requestHeadersViewStyles from './requestHeadersView.css.js';
@@ -198,6 +202,11 @@ const UIStrings = {
198
202
  * @example {foo} PH1
199
203
  */
200
204
  recordedAttribution: 'Recorded attribution with `trigger-data`: {PH1}',
205
+ /**
206
+ *@description Label for a link from the network panel's headers view to the file in which
207
+ * header overrides are defined in the sources panel.
208
+ */
209
+ headerOverrides: 'Header overrides',
201
210
  };
202
211
  const str_ = i18n.i18n.registerUIStrings('panels/network/RequestHeadersView.ts', UIStrings);
203
212
  const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
@@ -213,8 +222,9 @@ export class RequestHeadersView extends UI.Widget.VBox {
213
222
  private readonly statusCodeItem: UI.TreeOutline.TreeElement;
214
223
  private readonly remoteAddressItem: UI.TreeOutline.TreeElement;
215
224
  private readonly referrerPolicyItem: UI.TreeOutline.TreeElement;
216
- private readonly responseHeadersCategory: Category;
225
+ readonly responseHeadersCategory: Category;
217
226
  private readonly requestHeadersCategory: Category;
227
+ readonly #workspace = Workspace.Workspace.WorkspaceImpl.instance();
218
228
 
219
229
  constructor(request: SDK.NetworkRequest.NetworkRequest) {
220
230
  super();
@@ -260,6 +270,10 @@ export class RequestHeadersView extends UI.Widget.VBox {
260
270
  this.request.addEventListener(SDK.NetworkRequest.Events.RequestHeadersChanged, this.refreshRequestHeaders, this);
261
271
  this.request.addEventListener(SDK.NetworkRequest.Events.ResponseHeadersChanged, this.refreshResponseHeaders, this);
262
272
  this.request.addEventListener(SDK.NetworkRequest.Events.FinishedLoading, this.refreshHTTPInformation, this);
273
+ this.#workspace.addEventListener(
274
+ Workspace.Workspace.Events.UISourceCodeAdded, this.#uiSourceCodeAddedOrRemoved, this);
275
+ this.#workspace.addEventListener(
276
+ Workspace.Workspace.Events.UISourceCodeRemoved, this.#uiSourceCodeAddedOrRemoved, this);
263
277
 
264
278
  this.refreshURL();
265
279
  this.refreshRequestHeaders();
@@ -276,6 +290,10 @@ export class RequestHeadersView extends UI.Widget.VBox {
276
290
  this.request.removeEventListener(
277
291
  SDK.NetworkRequest.Events.ResponseHeadersChanged, this.refreshResponseHeaders, this);
278
292
  this.request.removeEventListener(SDK.NetworkRequest.Events.FinishedLoading, this.refreshHTTPInformation, this);
293
+ this.#workspace.removeEventListener(
294
+ Workspace.Workspace.Events.UISourceCodeAdded, this.#uiSourceCodeAddedOrRemoved, this);
295
+ this.#workspace.removeEventListener(
296
+ Workspace.Workspace.Events.UISourceCodeRemoved, this.#uiSourceCodeAddedOrRemoved, this);
279
297
  }
280
298
 
281
299
  private addEntryContextMenuHandler(treeElement: UI.TreeOutline.TreeElement, value: string): void {
@@ -425,7 +443,9 @@ export class RequestHeadersView extends UI.Widget.VBox {
425
443
  if (this.showRequestHeadersText && headersText) {
426
444
  this.refreshHeadersText(i18nString(UIStrings.requestHeaders), headers.length, headersText, treeElement);
427
445
  } else {
428
- this.refreshHeaders(i18nString(UIStrings.requestHeaders), headers, treeElement, headersText === undefined);
446
+ this.refreshHeaders(
447
+ i18nString(UIStrings.requestHeaders), headers, treeElement, /* overrideable */ false,
448
+ headersText === undefined);
429
449
  }
430
450
 
431
451
  if (headersText) {
@@ -451,15 +471,17 @@ export class RequestHeadersView extends UI.Widget.VBox {
451
471
  headersWithIssues.push(headerWithIssues);
452
472
  }
453
473
  }
474
+ const overrideable = Root.Runtime.experiments.isEnabled(Root.Runtime.ExperimentName.HEADER_OVERRIDES);
454
475
  this.refreshHeaders(
455
476
  i18nString(UIStrings.responseHeaders), mergeHeadersWithIssues(headers, headersWithIssues), treeElement,
477
+ overrideable,
456
478
  /* provisional */ false, this.request.blockedResponseCookies());
457
479
  }
458
480
 
459
481
  if (headersText) {
460
482
  const toggleButton = this.createHeadersToggleButton(this.showResponseHeadersText);
461
483
  toggleButton.addEventListener('click', this.toggleResponseHeadersText.bind(this), false);
462
- treeElement.listItemElement.appendChild(toggleButton);
484
+ treeElement.listItemElement.querySelector('.headers-title-left')?.appendChild(toggleButton);
463
485
  }
464
486
 
465
487
  // TODO(crbug.com/1172300) Ignored during the jsdoc to ts migration)
@@ -535,23 +557,62 @@ export class RequestHeadersView extends UI.Widget.VBox {
535
557
  }
536
558
  }
537
559
 
538
- private refreshHeadersTitle(title: string, headersTreeElement: UI.TreeOutline.TreeElement, headersLength: number):
539
- void {
560
+ private refreshHeadersTitle(
561
+ title: string, headersTreeElement: UI.TreeOutline.TreeElement, headersLength: number,
562
+ overrideable: boolean): void {
540
563
  headersTreeElement.listItemElement.removeChildren();
541
564
  headersTreeElement.listItemElement.createChild('div', 'selection fill');
542
- UI.UIUtils.createTextChild(headersTreeElement.listItemElement, title);
565
+ const container = headersTreeElement.listItemElement.createChild('div', 'headers-title');
566
+ const leftElement = container.createChild('div', 'headers-title-left');
567
+ UI.UIUtils.createTextChild(leftElement, title);
543
568
 
544
569
  const headerCount = `\xA0(${headersLength})`;
545
- headersTreeElement.listItemElement.createChild('span', 'header-count').textContent = headerCount;
570
+ leftElement.createChild('span', 'header-count').textContent = headerCount;
571
+
572
+ if (overrideable && this.#workspace.uiSourceCodeForURL(this.#getHeaderOverridesFileUrl())) {
573
+ const overridesSetting: Common.Settings.Setting<boolean> =
574
+ Common.Settings.Settings.instance().moduleSetting('persistenceNetworkOverridesEnabled');
575
+ const icon = overridesSetting.get() ? UI.Icon.Icon.create('mediumicon-file-sync', 'purple-dot') :
576
+ UI.Icon.Icon.create('mediumicon-file');
577
+ const button = container.createChild('button', 'link devtools-link headers-link');
578
+ button.appendChild(icon);
579
+ button.addEventListener('click', this.#revealHeadersFile.bind(this));
580
+ const span = document.createElement('span');
581
+ span.textContent = i18nString(UIStrings.headerOverrides);
582
+ button.appendChild(span);
583
+ }
584
+ }
585
+
586
+ #getHeaderOverridesFileUrl(): Platform.DevToolsPath.UrlString {
587
+ const fileUrl = Persistence.NetworkPersistenceManager.NetworkPersistenceManager.instance().fileUrlFromNetworkUrl(
588
+ this.request.url(), /* ignoreInactive */ true);
589
+ return fileUrl.substring(0, fileUrl.lastIndexOf('/')) + '/' +
590
+ Persistence.NetworkPersistenceManager.HEADERS_FILENAME as Platform.DevToolsPath.UrlString;
591
+ }
592
+
593
+ #revealHeadersFile(event: Event): void {
594
+ event.stopPropagation();
595
+ const uiSourceCode = this.#workspace.uiSourceCodeForURL(this.#getHeaderOverridesFileUrl());
596
+ if (!uiSourceCode) {
597
+ return;
598
+ }
599
+ Sources.SourcesPanel.SourcesPanel.instance().showUISourceCode(uiSourceCode);
600
+ }
601
+
602
+ #uiSourceCodeAddedOrRemoved(event: Common.EventTarget.EventTargetEvent<Workspace.UISourceCode.UISourceCode>): void {
603
+ if (this.#getHeaderOverridesFileUrl() === event.data.url()) {
604
+ this.refreshResponseHeaders();
605
+ }
546
606
  }
547
607
 
548
608
  private refreshHeaders(
549
609
  title: string, headers: SDK.NetworkRequest.NameValue[], headersTreeElement: UI.TreeOutline.TreeElement,
550
- provisionalHeaders?: boolean, blockedResponseCookies?: SDK.NetworkRequest.BlockedSetCookieWithReason[]): void {
610
+ overrideable: boolean, provisionalHeaders?: boolean,
611
+ blockedResponseCookies?: SDK.NetworkRequest.BlockedSetCookieWithReason[]): void {
551
612
  headersTreeElement.removeChildren();
552
613
 
553
614
  const length = headers.length;
554
- this.refreshHeadersTitle(title, headersTreeElement, length);
615
+ this.refreshHeadersTitle(title, headersTreeElement, length, overrideable);
555
616
 
556
617
  if (provisionalHeaders) {
557
618
  let cautionText;
@@ -633,7 +694,7 @@ export class RequestHeadersView extends UI.Widget.VBox {
633
694
  private refreshHeadersText(
634
695
  title: string, count: number, headersText: string, headersTreeElement: UI.TreeOutline.TreeElement): void {
635
696
  this.populateTreeElementWithSourceText(headersTreeElement, headersText);
636
- this.refreshHeadersTitle(title, headersTreeElement, count);
697
+ this.refreshHeadersTitle(title, headersTreeElement, count, /* overrideable */ false);
637
698
  }
638
699
 
639
700
  private refreshRemoteAddress(): void {
@@ -88,35 +88,27 @@
88
88
  height: 21px;
89
89
  }
90
90
 
91
- .network-waterfall-header,
92
91
  .network-log-grid.data-grid th {
93
- border-bottom: 1px solid var(--color-details-hairline);
94
- border-left: 1px solid var(--color-details-hairline);
92
+ border-bottom: none;
95
93
  }
96
94
 
97
- .network-log-grid.data-grid table.data th {
98
- border-bottom: none;
95
+ .network-waterfall-header,
96
+ .network-log-grid.data-grid thead th {
97
+ border-bottom: 1px solid var(--color-details-hairline);
98
+ border-left: 1px solid var(--color-details-hairline);
99
99
  }
100
100
 
101
101
  .network-waterfall-header,
102
- .network-log-grid.data-grid .header-container {
102
+ .network-log-grid.data-grid thead {
103
103
  height: 31px;
104
104
  background-color: var(--color-background-elevation-1);
105
105
  }
106
106
 
107
- .network-log-grid.data-grid .data-container {
108
- top: 31px;
109
- }
110
-
111
107
  .network-waterfall-header.small,
112
- .network-log-grid.data-grid.small .header-container {
108
+ .network-log-grid.data-grid.small thead {
113
109
  height: 27px;
114
110
  }
115
111
 
116
- .network-log-grid.data-grid.small .data-container {
117
- top: 27px;
118
- }
119
-
120
112
  .network-log-grid.data-grid select {
121
113
  appearance: none;
122
114
  border: none;
@@ -437,8 +429,8 @@
437
429
  }
438
430
 
439
431
  .network-waterfall-header.small,
440
- .network-log-grid.data-grid.small .header-container .network-waterfall-header,
441
- .network-log-grid.data-grid .header-container {
432
+ .network-log-grid.data-grid.small thead .network-waterfall-header,
433
+ .network-log-grid.data-grid thead {
442
434
  background-color: canvas;
443
435
  }
444
436
 
@@ -216,3 +216,19 @@
216
216
  .header-decode-error {
217
217
  color: var(--color-accent-red);
218
218
  }
219
+
220
+ .headers-title {
221
+ display: flex;
222
+ justify-content: space-between;
223
+ width: 100%;
224
+ padding-right: 5px;
225
+ }
226
+
227
+ .tree-outline li .headers-link {
228
+ display: none;
229
+ }
230
+
231
+ .tree-outline li.expanded .headers-link {
232
+ display: inline;
233
+ color: var(--color-text-primary);
234
+ }
@@ -376,6 +376,7 @@ export class HeapSnapshotView extends UI.View.SimpleView implements DataDisplayD
376
376
  const retainmentViewHeader = document.createElement('div');
377
377
  retainmentViewHeader.classList.add('heap-snapshot-view-resizer');
378
378
  const retainingPathsTitleDiv = retainmentViewHeader.createChild('div', 'title');
379
+ retainmentViewHeader.createChild('div', 'verticalResizerIcon');
379
380
  const retainingPathsTitle = retainingPathsTitleDiv.createChild('span');
380
381
  retainingPathsTitle.textContent = i18nString(UIStrings.retainers);
381
382
 
@@ -1123,6 +1124,7 @@ export class AllocationPerspective extends Perspective {
1123
1124
  const resizer = document.createElement('div');
1124
1125
  resizer.classList.add('heap-snapshot-view-resizer');
1125
1126
  const title = resizer.createChild('div', 'title').createChild('span');
1127
+ resizer.createChild('div', 'verticalResizerIcon');
1126
1128
  title.textContent = i18nString(UIStrings.liveObjects);
1127
1129
  this.allocationSplitWidget.hideDefaultResizer();
1128
1130
  this.allocationSplitWidget.installResizer(resizer);
@@ -292,7 +292,9 @@ export class LiveHeapProfileView extends UI.Widget.VBox {
292
292
  if (!node || !node.url) {
293
293
  return;
294
294
  }
295
- const sourceCode = Workspace.Workspace.WorkspaceImpl.instance().uiSourceCodeForURL(node.url);
295
+ // TODO(crbug.com/1253323): Cast to UrlString will be removed when migration to branded types is complete.
296
+ const sourceCode =
297
+ Workspace.Workspace.WorkspaceImpl.instance().uiSourceCodeForURL(node.url as Platform.DevToolsPath.UrlString);
296
298
  if (sourceCode) {
297
299
  void Common.Revealer.reveal(sourceCode);
298
300
  }