chrome-devtools-frontend 1.0.1380117 → 1.0.1386602

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 (595) hide show
  1. package/.stylelintrc.json +2 -1
  2. package/config/gni/devtools_grd_files.gni +25 -4
  3. package/config/gni/devtools_image_files.gni +2 -0
  4. package/docs/README.md +4 -0
  5. package/docs/contributing/issues.md +13 -10
  6. package/docs/get_the_code.md +4 -1
  7. package/docs/policy/README.md +6 -0
  8. package/docs/policy/slow-close.md +52 -0
  9. package/docs/styleguide/ux/README.md +1 -0
  10. package/docs/styleguide/ux/numbers.md +106 -0
  11. package/front_end/Images/src/cookie_off.svg +3 -0
  12. package/front_end/Images/src/domain.svg +3 -0
  13. package/front_end/core/common/Color.ts +3 -3
  14. package/front_end/core/common/SettingRegistration.ts +7 -0
  15. package/front_end/core/host/AidaClient.ts +3 -3
  16. package/front_end/core/host/InspectorFrontendHostAPI.ts +0 -1
  17. package/front_end/core/host/UserMetrics.ts +0 -8
  18. package/front_end/core/i18n/locales/af.json +1031 -887
  19. package/front_end/core/i18n/locales/am.json +1036 -892
  20. package/front_end/core/i18n/locales/ar.json +1039 -895
  21. package/front_end/core/i18n/locales/as.json +1032 -888
  22. package/front_end/core/i18n/locales/az.json +1034 -890
  23. package/front_end/core/i18n/locales/be.json +1031 -887
  24. package/front_end/core/i18n/locales/bg.json +1031 -887
  25. package/front_end/core/i18n/locales/bn.json +1033 -889
  26. package/front_end/core/i18n/locales/bs.json +1036 -892
  27. package/front_end/core/i18n/locales/ca.json +1031 -887
  28. package/front_end/core/i18n/locales/cs.json +1030 -886
  29. package/front_end/core/i18n/locales/cy.json +1032 -888
  30. package/front_end/core/i18n/locales/da.json +1031 -887
  31. package/front_end/core/i18n/locales/de.json +1033 -889
  32. package/front_end/core/i18n/locales/el.json +1031 -887
  33. package/front_end/core/i18n/locales/en-GB.json +1033 -889
  34. package/front_end/core/i18n/locales/es-419.json +1029 -885
  35. package/front_end/core/i18n/locales/es.json +1032 -888
  36. package/front_end/core/i18n/locales/et.json +1033 -889
  37. package/front_end/core/i18n/locales/eu.json +1031 -887
  38. package/front_end/core/i18n/locales/fa.json +1035 -891
  39. package/front_end/core/i18n/locales/fi.json +1035 -891
  40. package/front_end/core/i18n/locales/fil.json +1034 -890
  41. package/front_end/core/i18n/locales/fr-CA.json +1031 -887
  42. package/front_end/core/i18n/locales/fr.json +1049 -905
  43. package/front_end/core/i18n/locales/gl.json +1032 -888
  44. package/front_end/core/i18n/locales/gu.json +1035 -891
  45. package/front_end/core/i18n/locales/he.json +1031 -887
  46. package/front_end/core/i18n/locales/hi.json +1034 -890
  47. package/front_end/core/i18n/locales/hr.json +1031 -887
  48. package/front_end/core/i18n/locales/hu.json +1033 -889
  49. package/front_end/core/i18n/locales/hy.json +1046 -902
  50. package/front_end/core/i18n/locales/id.json +1023 -879
  51. package/front_end/core/i18n/locales/is.json +1032 -888
  52. package/front_end/core/i18n/locales/it.json +1031 -887
  53. package/front_end/core/i18n/locales/ja.json +1042 -898
  54. package/front_end/core/i18n/locales/ka.json +1034 -890
  55. package/front_end/core/i18n/locales/kk.json +1035 -891
  56. package/front_end/core/i18n/locales/km.json +1035 -891
  57. package/front_end/core/i18n/locales/kn.json +1036 -892
  58. package/front_end/core/i18n/locales/ko.json +1031 -887
  59. package/front_end/core/i18n/locales/ky.json +1032 -888
  60. package/front_end/core/i18n/locales/lo.json +1030 -886
  61. package/front_end/core/i18n/locales/lt.json +1032 -888
  62. package/front_end/core/i18n/locales/lv.json +1032 -888
  63. package/front_end/core/i18n/locales/mk.json +1032 -888
  64. package/front_end/core/i18n/locales/ml.json +1033 -889
  65. package/front_end/core/i18n/locales/mn.json +1034 -890
  66. package/front_end/core/i18n/locales/mr.json +1035 -891
  67. package/front_end/core/i18n/locales/ms.json +1033 -889
  68. package/front_end/core/i18n/locales/my.json +1033 -889
  69. package/front_end/core/i18n/locales/ne.json +1036 -892
  70. package/front_end/core/i18n/locales/nl.json +1033 -889
  71. package/front_end/core/i18n/locales/no.json +1036 -892
  72. package/front_end/core/i18n/locales/or.json +1043 -899
  73. package/front_end/core/i18n/locales/pa.json +1030 -886
  74. package/front_end/core/i18n/locales/pl.json +1032 -888
  75. package/front_end/core/i18n/locales/pt-PT.json +1033 -889
  76. package/front_end/core/i18n/locales/pt.json +1033 -889
  77. package/front_end/core/i18n/locales/ro.json +1029 -885
  78. package/front_end/core/i18n/locales/ru.json +1026 -882
  79. package/front_end/core/i18n/locales/si.json +1031 -887
  80. package/front_end/core/i18n/locales/sk.json +1033 -889
  81. package/front_end/core/i18n/locales/sl.json +1031 -887
  82. package/front_end/core/i18n/locales/sq.json +1061 -917
  83. package/front_end/core/i18n/locales/sr-Latn.json +1033 -889
  84. package/front_end/core/i18n/locales/sr.json +1033 -889
  85. package/front_end/core/i18n/locales/sv.json +1031 -887
  86. package/front_end/core/i18n/locales/sw.json +1033 -889
  87. package/front_end/core/i18n/locales/ta.json +1058 -914
  88. package/front_end/core/i18n/locales/te.json +1037 -893
  89. package/front_end/core/i18n/locales/th.json +1032 -888
  90. package/front_end/core/i18n/locales/tr.json +1031 -887
  91. package/front_end/core/i18n/locales/uk.json +1030 -886
  92. package/front_end/core/i18n/locales/ur.json +1031 -887
  93. package/front_end/core/i18n/locales/uz.json +1023 -879
  94. package/front_end/core/i18n/locales/vi.json +1032 -888
  95. package/front_end/core/i18n/locales/zh-HK.json +1032 -888
  96. package/front_end/core/i18n/locales/zh-TW.json +1032 -888
  97. package/front_end/core/i18n/locales/zh.json +1033 -889
  98. package/front_end/core/i18n/locales/zu.json +1032 -888
  99. package/front_end/core/root/Runtime.ts +0 -1
  100. package/front_end/core/sdk/NetworkManager.test.ts +50 -0
  101. package/front_end/core/sdk/NetworkManager.ts +6 -4
  102. package/front_end/core/sdk/SourceMap.test.ts +5 -5
  103. package/front_end/core/sdk/SourceMapScopeChainEntry.test.ts +7 -2
  104. package/front_end/core/sdk/SourceMapScopeChainEntry.ts +2 -2
  105. package/front_end/core/sdk/SourceMapScopes.test.ts +112 -45
  106. package/front_end/core/sdk/SourceMapScopes.ts +39 -14
  107. package/front_end/core/sdk/SourceMapScopesInfo.test.ts +51 -50
  108. package/front_end/core/sdk/SourceMapScopesInfo.ts +1 -1
  109. package/front_end/core/sdk/sdk-meta.ts +27 -0
  110. package/front_end/devtools_compatibility.js +0 -1
  111. package/front_end/entrypoints/devtools_app/devtools_app.ts +1 -0
  112. package/front_end/entrypoints/inspector_main/renderingOptions.css +1 -1
  113. package/front_end/entrypoints/main/ExecutionContextSelector.test.ts +13 -3
  114. package/front_end/entrypoints/main/ExecutionContextSelector.ts +23 -1
  115. package/front_end/entrypoints/main/MainImpl.ts +0 -5
  116. package/front_end/generated/Deprecation.ts +0 -15
  117. package/front_end/generated/InspectorBackendCommands.js +1 -1
  118. package/front_end/generated/SupportedCSSProperties.js +0 -40
  119. package/front_end/generated/protocol.ts +1 -0
  120. package/front_end/models/bindings/IgnoreListManager.ts +25 -2
  121. package/front_end/models/crux-manager/CrUXManager.test.ts +25 -6
  122. package/front_end/models/crux-manager/CrUXManager.ts +23 -4
  123. package/front_end/models/extensions/ExtensionServer.test.ts +14 -0
  124. package/front_end/models/extensions/ExtensionServer.ts +28 -15
  125. package/front_end/models/issues_manager/CookieIssue.ts +79 -2
  126. package/front_end/models/issues_manager/IssuesManager.ts +1 -1
  127. package/front_end/models/issues_manager/descriptions/cookieExcludePortMismatch.md +8 -0
  128. package/front_end/models/issues_manager/descriptions/cookieExcludeSchemeMismatch.md +7 -0
  129. package/front_end/models/javascript_metadata/NativeFunctions.js +14 -4
  130. package/front_end/models/persistence/EditFileSystemView.ts +2 -2
  131. package/front_end/models/persistence/editFileSystemView.css +6 -3
  132. package/front_end/models/persistence/workspaceSettingsTab.css +2 -2
  133. package/front_end/models/trace/extras/Metadata.test.ts +35 -2
  134. package/front_end/models/trace/extras/Metadata.ts +24 -5
  135. package/front_end/models/trace/extras/TraceTree.ts +28 -18
  136. package/front_end/models/trace/extras/URLForEntry.ts +6 -5
  137. package/front_end/models/trace/handlers/ImagePaintingHandler.ts +12 -0
  138. package/front_end/models/trace/helpers/Timing.ts +8 -0
  139. package/front_end/models/trace/insights/CLSCulprits.ts +11 -3
  140. package/front_end/models/trace/insights/DocumentLatency.ts +16 -3
  141. package/front_end/models/trace/insights/FontDisplay.ts +10 -3
  142. package/front_end/models/trace/insights/ImageDelivery.test.ts +98 -0
  143. package/front_end/models/trace/insights/ImageDelivery.ts +183 -0
  144. package/front_end/models/trace/insights/InteractionToNextPaint.ts +9 -3
  145. package/front_end/models/trace/insights/LCPDiscovery.ts +24 -3
  146. package/front_end/models/trace/insights/LCPPhases.ts +25 -3
  147. package/front_end/models/trace/insights/Models.ts +1 -0
  148. package/front_end/models/trace/insights/RenderBlocking.ts +10 -2
  149. package/front_end/models/trace/insights/SlowCSSSelector.ts +10 -3
  150. package/front_end/models/trace/insights/ThirdParties.ts +11 -3
  151. package/front_end/models/trace/insights/Viewport.ts +16 -3
  152. package/front_end/models/trace/insights/types.ts +13 -2
  153. package/front_end/models/trace/types/File.ts +7 -0
  154. package/front_end/models/trace/types/TraceEvents.ts +9 -2
  155. package/front_end/panels/animation/AnimationTimeline.ts +2 -4
  156. package/front_end/panels/application/ApplicationPanelSidebar.test.ts +0 -5
  157. package/front_end/panels/application/ApplicationPanelSidebar.ts +15 -21
  158. package/front_end/panels/application/IndexedDBViews.ts +4 -1
  159. package/front_end/panels/application/ServiceWorkerCacheViews.ts +4 -1
  160. package/front_end/panels/application/StorageView.test.ts +1 -1
  161. package/front_end/panels/application/resourcesSidebar.css +1 -1
  162. package/front_end/panels/browser_debugger/CategorizedBreakpointsSidebarPane.ts +1 -1
  163. package/front_end/panels/browser_debugger/DOMBreakpointsSidebarPane.ts +1 -1
  164. package/front_end/panels/browser_debugger/XHRBreakpointsSidebarPane.ts +1 -1
  165. package/front_end/panels/browser_debugger/categorizedBreakpointsSidebarPane.css +1 -1
  166. package/front_end/panels/browser_debugger/xhrBreakpointsSidebarPane.css +1 -1
  167. package/front_end/panels/console/ConsoleViewMessage.test.ts +25 -0
  168. package/front_end/panels/console/ConsoleViewMessage.ts +23 -0
  169. package/front_end/panels/coverage/CoverageListView.ts +1 -1
  170. package/front_end/panels/developer_resources/DeveloperResourcesListView.ts +1 -1
  171. package/front_end/panels/elements/ClassesPaneWidget.ts +1 -1
  172. package/front_end/panels/elements/ElementStatePaneWidget.test.ts +3 -2
  173. package/front_end/panels/elements/ElementStatePaneWidget.ts +7 -2
  174. package/front_end/panels/elements/ElementsSidebarPane.ts +3 -3
  175. package/front_end/panels/elements/ElementsTreeElement.ts +1 -0
  176. package/front_end/panels/elements/LayersWidget.ts +1 -1
  177. package/front_end/panels/elements/PropertyMatchers.test.ts +7 -0
  178. package/front_end/panels/elements/PropertyMatchers.ts +3 -0
  179. package/front_end/panels/elements/classesPaneWidget.css +1 -1
  180. package/front_end/panels/emulation/DeviceModeView.ts +1 -1
  181. package/front_end/panels/emulation/DeviceModeWrapper.ts +1 -1
  182. package/front_end/panels/emulation/InspectedPagePlaceholder.ts +1 -1
  183. package/front_end/panels/freestyler/AiAgent.test.ts +319 -50
  184. package/front_end/panels/freestyler/AiAgent.ts +193 -141
  185. package/front_end/panels/freestyler/AiHistoryStorage.test.ts +159 -0
  186. package/front_end/panels/freestyler/AiHistoryStorage.ts +73 -0
  187. package/front_end/panels/freestyler/DrJonesFileAgent.test.ts +14 -15
  188. package/front_end/panels/freestyler/DrJonesFileAgent.ts +3 -14
  189. package/front_end/panels/freestyler/DrJonesNetworkAgent.test.ts +14 -13
  190. package/front_end/panels/freestyler/DrJonesNetworkAgent.ts +3 -3
  191. package/front_end/panels/freestyler/DrJonesPerformanceAgent.test.ts +38 -36
  192. package/front_end/panels/freestyler/DrJonesPerformanceAgent.ts +3 -14
  193. package/front_end/panels/freestyler/FreestylerAgent.test.ts +195 -14
  194. package/front_end/panels/freestyler/FreestylerAgent.ts +13 -18
  195. package/front_end/panels/freestyler/FreestylerPanel.test.ts +71 -0
  196. package/front_end/panels/freestyler/FreestylerPanel.ts +99 -74
  197. package/front_end/panels/freestyler/components/FreestylerChatUi.ts +128 -29
  198. package/front_end/panels/freestyler/components/UserActionRow.ts +1 -0
  199. package/front_end/panels/freestyler/components/freestylerChatUi.css +21 -1
  200. package/front_end/panels/freestyler/components/userActionRow.css +2 -1
  201. package/front_end/panels/freestyler/freestyler.ts +1 -0
  202. package/front_end/panels/issues/IssueAggregator.test.ts +50 -0
  203. package/front_end/panels/issues/IssueAggregator.ts +10 -10
  204. package/front_end/panels/issues/issuesTree.css +1 -1
  205. package/front_end/panels/layer_viewer/LayerDetailsView.ts +1 -1
  206. package/front_end/panels/layer_viewer/Layers3DView.ts +1 -1
  207. package/front_end/panels/layer_viewer/PaintProfilerView.ts +1 -1
  208. package/front_end/panels/layers/LayersPanel.ts +1 -1
  209. package/front_end/panels/lighthouse/lighthouseStartView.css +1 -1
  210. package/front_end/panels/media/TickingFlameChart.ts +1 -1
  211. package/front_end/panels/mobile_throttling/ThrottlingSettingsTab.ts +1 -1
  212. package/front_end/panels/network/BlockedURLsPane.ts +1 -1
  213. package/front_end/panels/network/NetworkDataGridNode.ts +1 -0
  214. package/front_end/panels/network/NetworkLogView.test.ts +1 -1
  215. package/front_end/panels/network/NetworkPanel.ts +40 -32
  216. package/front_end/panels/network/NetworkWaterfallColumn.ts +1 -1
  217. package/front_end/panels/profiler/HeapProfileView.ts +9 -9
  218. package/front_end/panels/profiler/HeapTimelineOverview.ts +1 -1
  219. package/front_end/panels/profiler/IsolateSelector.ts +1 -1
  220. package/front_end/panels/profiler/LiveHeapProfileView.ts +3 -1
  221. package/front_end/panels/profiler/ProfileFlameChartDataProvider.ts +3 -3
  222. package/front_end/panels/profiler/ProfileView.ts +2 -2
  223. package/front_end/panels/profiler/profileLauncherView.css +1 -1
  224. package/front_end/panels/profiler/profilesSidebarTree.css +1 -1
  225. package/front_end/panels/recorder/recorderController.css +1 -1
  226. package/front_end/panels/security/CookieControlsTreeElement.ts +18 -0
  227. package/front_end/panels/security/CookieControlsView.test.ts +29 -0
  228. package/front_end/panels/security/CookieControlsView.ts +265 -0
  229. package/front_end/panels/security/CookieReportView.test.ts +157 -0
  230. package/front_end/panels/security/CookieReportView.ts +208 -12
  231. package/front_end/panels/security/SecurityPanel.ts +5 -3
  232. package/front_end/panels/security/SecurityPanelSidebar.ts +6 -1
  233. package/front_end/panels/security/cookieControlsView.css +101 -0
  234. package/front_end/panels/security/cookieReportView.css +26 -3
  235. package/front_end/panels/security/security.ts +4 -0
  236. package/front_end/panels/security/sidebar.css +1 -1
  237. package/front_end/panels/settings/KeybindsSettingsTab.ts +3 -2
  238. package/front_end/panels/settings/SettingsScreen.ts +5 -1
  239. package/front_end/panels/settings/frameworkIgnoreListSettingsTab.css +1 -1
  240. package/front_end/panels/settings/keybindsSettingsTab.css +6 -1
  241. package/front_end/panels/settings/settings-meta.ts +3 -1
  242. package/front_end/panels/settings/settingsScreen.css +10 -0
  243. package/front_end/panels/sources/CallStackSidebarPane.ts +2 -2
  244. package/front_end/panels/sources/NavigatorView.ts +1 -0
  245. package/front_end/panels/sources/navigatorTree.css +1 -1
  246. package/front_end/panels/sources/sourcesPanel.css +2 -2
  247. package/front_end/panels/timeline/AnimationsTrackAppender.ts +1 -7
  248. package/front_end/panels/timeline/AppenderUtils.ts +1 -1
  249. package/front_end/panels/timeline/CompatibilityTracksAppender.ts +38 -41
  250. package/front_end/panels/timeline/ExtensionTrackAppender.ts +4 -13
  251. package/front_end/panels/timeline/InteractionsTrackAppender.ts +3 -4
  252. package/front_end/panels/timeline/LayoutShiftsTrackAppender.ts +6 -12
  253. package/front_end/panels/timeline/ServerTimingsTrackAppender.ts +1 -10
  254. package/front_end/panels/timeline/ThreadAppender.ts +9 -12
  255. package/front_end/panels/timeline/TimelineController.ts +1 -1
  256. package/front_end/panels/timeline/TimelineDetailsView.test.ts +3 -2
  257. package/front_end/panels/timeline/TimelineDetailsView.ts +18 -17
  258. package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +55 -36
  259. package/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.ts +1 -1
  260. package/front_end/panels/timeline/TimelineFlameChartView.ts +33 -14
  261. package/front_end/panels/timeline/TimelineHistoryManager.test.ts +20 -15
  262. package/front_end/panels/timeline/TimelineHistoryManager.ts +46 -58
  263. package/front_end/panels/timeline/TimelineLayersView.ts +1 -1
  264. package/front_end/panels/timeline/TimelineLoader.ts +16 -0
  265. package/front_end/panels/timeline/TimelineMiniMap.ts +2 -2
  266. package/front_end/panels/timeline/TimelinePaintProfilerView.ts +1 -1
  267. package/front_end/panels/timeline/TimelinePanel.ts +145 -28
  268. package/front_end/panels/timeline/TimelineTreeView.ts +65 -16
  269. package/front_end/panels/timeline/TimelineUIUtils.ts +44 -0
  270. package/front_end/panels/timeline/TimingsTrackAppender.ts +6 -13
  271. package/front_end/panels/timeline/components/FieldSettingsDialog.test.ts +1 -0
  272. package/front_end/panels/timeline/components/FieldSettingsDialog.ts +6 -1
  273. package/front_end/panels/timeline/components/LiveMetricsView.test.ts +12 -0
  274. package/front_end/panels/timeline/components/LiveMetricsView.ts +13 -18
  275. package/front_end/panels/timeline/components/Sidebar.ts +1 -4
  276. package/front_end/panels/timeline/components/SidebarAnnotationsTab.test.ts +1 -1
  277. package/front_end/panels/timeline/components/SidebarInsightsTab.ts +1 -1
  278. package/front_end/panels/timeline/components/SidebarSingleInsightSet.test.ts +21 -35
  279. package/front_end/panels/timeline/components/SidebarSingleInsightSet.ts +16 -9
  280. package/front_end/panels/timeline/components/TimelineSummary.test.ts +75 -0
  281. package/front_end/panels/timeline/components/TimelineSummary.ts +101 -0
  282. package/front_end/panels/timeline/components/Utils.test.ts +49 -0
  283. package/front_end/panels/timeline/components/Utils.ts +2 -2
  284. package/front_end/panels/timeline/components/components.ts +2 -0
  285. package/front_end/panels/timeline/components/insights/BaseInsightComponent.test.ts +84 -0
  286. package/front_end/panels/timeline/components/insights/BaseInsightComponent.ts +291 -0
  287. package/front_end/panels/timeline/components/insights/CLSCulprits.ts +17 -41
  288. package/front_end/panels/timeline/components/insights/DocumentLatency.ts +28 -46
  289. package/front_end/panels/timeline/components/insights/EventRef.ts +70 -2
  290. package/front_end/panels/timeline/components/insights/FontDisplay.ts +28 -46
  291. package/front_end/panels/timeline/components/insights/Helpers.ts +5 -208
  292. package/front_end/panels/timeline/components/insights/ImageDelivery.ts +142 -0
  293. package/front_end/panels/timeline/components/insights/InteractionToNextPaint.ts +30 -53
  294. package/front_end/panels/timeline/components/insights/LCPDiscovery.ts +36 -75
  295. package/front_end/panels/timeline/components/insights/LCPPhases.ts +15 -49
  296. package/front_end/panels/timeline/components/insights/RenderBlocking.ts +27 -44
  297. package/front_end/panels/timeline/components/insights/SidebarInsight.ts +3 -197
  298. package/front_end/panels/timeline/components/insights/SlowCSSSelector.ts +51 -74
  299. package/front_end/panels/timeline/components/insights/Table.ts +6 -5
  300. package/front_end/panels/timeline/components/insights/ThirdParties.ts +41 -61
  301. package/front_end/panels/timeline/components/insights/Viewport.ts +20 -31
  302. package/front_end/panels/timeline/components/insights/{sidebarInsight.css → baseInsightComponent.css} +9 -9
  303. package/front_end/panels/timeline/components/insights/insights.ts +4 -0
  304. package/front_end/panels/timeline/components/insights/types.ts +0 -7
  305. package/front_end/panels/timeline/components/liveMetricsView.css +5 -5
  306. package/front_end/panels/timeline/components/timelineSummary.css +67 -0
  307. package/front_end/panels/timeline/docs/flame_chart_migration.md +1 -1
  308. package/front_end/panels/timeline/fixtures/traces/README.md +4 -0
  309. package/front_end/panels/timeline/fixtures/traces/image-delivery.json.gz +0 -0
  310. package/front_end/panels/timeline/overlays/OverlaysImpl.ts +22 -0
  311. package/front_end/panels/timeline/timeline-meta.ts +1 -1
  312. package/front_end/panels/timeline/timelineFlamechartPopover.css +14 -4
  313. package/front_end/panels/timeline/timelineHistoryManager.css +7 -3
  314. package/front_end/panels/timeline/timelinePanel.css +0 -1
  315. package/front_end/panels/timeline/track_appenders/CompatibilityTracksAppender.test.ts +5 -5
  316. package/front_end/panels/timeline/track_appenders/ExtensionTrackAppender.test.ts +5 -6
  317. package/front_end/panels/timeline/track_appenders/LayoutShiftsTrackAppender.test.ts +11 -2
  318. package/front_end/panels/timeline/track_appenders/ServerTimingsTrackAppender.test.ts +0 -9
  319. package/front_end/panels/timeline/track_appenders/ThreadAppender.test.ts +37 -44
  320. package/front_end/panels/timeline/track_appenders/TimingsTrackAppender.test.ts +44 -30
  321. package/front_end/panels/timeline/utils/EntryName.ts +1 -2
  322. package/front_end/panels/timeline/utils/Helpers.ts +19 -0
  323. package/front_end/panels/timeline/utils/IgnoreList.test.ts +52 -0
  324. package/front_end/panels/timeline/utils/IgnoreList.ts +68 -7
  325. package/front_end/panels/timeline/utils/SourceMapsResolver.ts +2 -0
  326. package/front_end/panels/webauthn/webauthnPane.css +1 -1
  327. package/front_end/panels/whats_new/ReleaseNote.test.ts +90 -0
  328. package/front_end/panels/whats_new/ReleaseNoteText.ts +52 -0
  329. package/front_end/panels/whats_new/ReleaseNoteView.ts +157 -0
  330. package/front_end/panels/whats_new/WhatsNewImpl.ts +102 -0
  331. package/front_end/panels/whats_new/releaseNoteView.css +121 -0
  332. package/front_end/panels/whats_new/resources/WNDT.md +6 -0
  333. package/front_end/panels/whats_new/resources/whatsnew.avif +0 -0
  334. package/front_end/panels/whats_new/whats_new-meta.ts +142 -0
  335. package/front_end/panels/whats_new/whats_new.ts +13 -0
  336. package/front_end/services/puppeteer/PuppeteerConnection.ts +4 -3
  337. package/front_end/testing/EnvironmentHelpers.ts +1 -2
  338. package/front_end/testing/SourceMapEncoder.ts +27 -11
  339. package/front_end/testing/TraceHelpers.ts +2 -1
  340. package/front_end/testing/TraceLoader.ts +6 -2
  341. package/front_end/third_party/lighthouse/README.chromium +2 -2
  342. package/front_end/third_party/lighthouse/lighthouse-dt-bundle.js +1380 -1369
  343. package/front_end/third_party/lighthouse/locales/ar-XB.json +88 -85
  344. package/front_end/third_party/lighthouse/locales/ar.json +98 -95
  345. package/front_end/third_party/lighthouse/locales/bg.json +88 -85
  346. package/front_end/third_party/lighthouse/locales/ca.json +91 -88
  347. package/front_end/third_party/lighthouse/locales/cs.json +91 -88
  348. package/front_end/third_party/lighthouse/locales/da.json +94 -91
  349. package/front_end/third_party/lighthouse/locales/de.json +92 -89
  350. package/front_end/third_party/lighthouse/locales/el.json +92 -89
  351. package/front_end/third_party/lighthouse/locales/en-GB.json +89 -86
  352. package/front_end/third_party/lighthouse/locales/en-US.json +23 -20
  353. package/front_end/third_party/lighthouse/locales/en-XA.json +88 -85
  354. package/front_end/third_party/lighthouse/locales/en-XL.json +23 -20
  355. package/front_end/third_party/lighthouse/locales/es-419.json +92 -89
  356. package/front_end/third_party/lighthouse/locales/es.json +91 -88
  357. package/front_end/third_party/lighthouse/locales/fi.json +92 -89
  358. package/front_end/third_party/lighthouse/locales/fil.json +93 -90
  359. package/front_end/third_party/lighthouse/locales/fr.json +94 -91
  360. package/front_end/third_party/lighthouse/locales/he.json +97 -94
  361. package/front_end/third_party/lighthouse/locales/hi.json +92 -89
  362. package/front_end/third_party/lighthouse/locales/hr.json +90 -87
  363. package/front_end/third_party/lighthouse/locales/hu.json +90 -87
  364. package/front_end/third_party/lighthouse/locales/id.json +91 -88
  365. package/front_end/third_party/lighthouse/locales/it.json +90 -87
  366. package/front_end/third_party/lighthouse/locales/ja.json +90 -87
  367. package/front_end/third_party/lighthouse/locales/ko.json +90 -87
  368. package/front_end/third_party/lighthouse/locales/lt.json +90 -87
  369. package/front_end/third_party/lighthouse/locales/lv.json +91 -88
  370. package/front_end/third_party/lighthouse/locales/nl.json +90 -87
  371. package/front_end/third_party/lighthouse/locales/no.json +92 -89
  372. package/front_end/third_party/lighthouse/locales/pl.json +90 -87
  373. package/front_end/third_party/lighthouse/locales/pt-PT.json +111 -108
  374. package/front_end/third_party/lighthouse/locales/pt.json +97 -94
  375. package/front_end/third_party/lighthouse/locales/ro.json +94 -91
  376. package/front_end/third_party/lighthouse/locales/ru.json +93 -90
  377. package/front_end/third_party/lighthouse/locales/sk.json +93 -90
  378. package/front_end/third_party/lighthouse/locales/sl.json +91 -88
  379. package/front_end/third_party/lighthouse/locales/sr-Latn.json +91 -88
  380. package/front_end/third_party/lighthouse/locales/sr.json +91 -88
  381. package/front_end/third_party/lighthouse/locales/sv.json +92 -89
  382. package/front_end/third_party/lighthouse/locales/ta.json +101 -98
  383. package/front_end/third_party/lighthouse/locales/te.json +92 -89
  384. package/front_end/third_party/lighthouse/locales/th.json +95 -92
  385. package/front_end/third_party/lighthouse/locales/tr.json +91 -88
  386. package/front_end/third_party/lighthouse/locales/uk.json +93 -90
  387. package/front_end/third_party/lighthouse/locales/vi.json +95 -92
  388. package/front_end/third_party/lighthouse/locales/zh-HK.json +92 -89
  389. package/front_end/third_party/lighthouse/locales/zh-TW.json +98 -95
  390. package/front_end/third_party/lighthouse/locales/zh.json +96 -93
  391. package/front_end/third_party/puppeteer/README.chromium +2 -2
  392. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.d.ts +8 -0
  393. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.d.ts.map +1 -1
  394. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.js.map +1 -1
  395. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Frame.d.ts.map +1 -1
  396. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Frame.js +3 -1
  397. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Frame.js.map +1 -1
  398. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/HTTPRequest.d.ts +1 -0
  399. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/HTTPRequest.d.ts.map +1 -1
  400. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/HTTPRequest.js +1 -0
  401. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/HTTPRequest.js.map +1 -1
  402. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts +4 -0
  403. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts.map +1 -1
  404. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.js.map +1 -1
  405. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.d.ts +1 -0
  406. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.d.ts.map +1 -1
  407. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.js +3 -0
  408. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.js.map +1 -1
  409. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.d.ts +3 -2
  410. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.d.ts.map +1 -1
  411. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.js +10 -4
  412. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.js.map +1 -1
  413. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserConnector.d.ts.map +1 -1
  414. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserConnector.js +2 -2
  415. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserConnector.js.map +1 -1
  416. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.d.ts +2 -0
  417. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.d.ts.map +1 -1
  418. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.js +7 -0
  419. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.js.map +1 -1
  420. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPRequest.d.ts +1 -0
  421. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPRequest.d.ts.map +1 -1
  422. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPRequest.js +3 -0
  423. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPRequest.js.map +1 -1
  424. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPResponse.d.ts +1 -2
  425. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPResponse.d.ts.map +1 -1
  426. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPResponse.js +4 -4
  427. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPResponse.js.map +1 -1
  428. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/NetworkManager.d.ts.map +1 -1
  429. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/NetworkManager.js +24 -12
  430. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/NetworkManager.js.map +1 -1
  431. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.d.ts +1 -0
  432. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.d.ts.map +1 -1
  433. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.js +3 -0
  434. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.js.map +1 -1
  435. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConnectOptions.d.ts +5 -0
  436. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConnectOptions.d.ts.map +1 -1
  437. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DownloadBehavior.d.ts +30 -0
  438. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DownloadBehavior.d.ts.map +1 -0
  439. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DownloadBehavior.js +8 -0
  440. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DownloadBehavior.js.map +1 -0
  441. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/common.d.ts +1 -0
  442. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/common.d.ts.map +1 -1
  443. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.d.ts +1 -1
  444. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.js +1 -1
  445. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/injected.d.ts +1 -1
  446. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.d.ts.map +1 -1
  447. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.js +2 -2
  448. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.js.map +1 -1
  449. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.d.ts +3 -3
  450. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js +3 -3
  451. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js.map +1 -1
  452. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Mutex.d.ts +2 -2
  453. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.d.ts +49 -0
  454. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +118 -88
  455. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.d.ts +8 -0
  456. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.d.ts.map +1 -1
  457. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.js.map +1 -1
  458. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Frame.d.ts.map +1 -1
  459. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Frame.js +3 -1
  460. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Frame.js.map +1 -1
  461. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/HTTPRequest.d.ts +1 -0
  462. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/HTTPRequest.d.ts.map +1 -1
  463. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/HTTPRequest.js +1 -0
  464. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/HTTPRequest.js.map +1 -1
  465. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts +4 -0
  466. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts.map +1 -1
  467. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.js.map +1 -1
  468. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.d.ts +1 -0
  469. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.d.ts.map +1 -1
  470. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.js +3 -0
  471. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.js.map +1 -1
  472. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.d.ts +3 -2
  473. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.d.ts.map +1 -1
  474. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.js +10 -4
  475. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.js.map +1 -1
  476. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserConnector.d.ts.map +1 -1
  477. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserConnector.js +2 -2
  478. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserConnector.js.map +1 -1
  479. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.d.ts +2 -0
  480. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.d.ts.map +1 -1
  481. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.js +7 -0
  482. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.js.map +1 -1
  483. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPRequest.d.ts +1 -0
  484. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPRequest.d.ts.map +1 -1
  485. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPRequest.js +3 -0
  486. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPRequest.js.map +1 -1
  487. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPResponse.d.ts +1 -2
  488. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPResponse.d.ts.map +1 -1
  489. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPResponse.js +4 -4
  490. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPResponse.js.map +1 -1
  491. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/NetworkManager.d.ts.map +1 -1
  492. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/NetworkManager.js +24 -12
  493. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/NetworkManager.js.map +1 -1
  494. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.d.ts +1 -0
  495. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.d.ts.map +1 -1
  496. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.js +3 -0
  497. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.js.map +1 -1
  498. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectOptions.d.ts +5 -0
  499. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectOptions.d.ts.map +1 -1
  500. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DownloadBehavior.d.ts +30 -0
  501. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DownloadBehavior.d.ts.map +1 -0
  502. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DownloadBehavior.js +7 -0
  503. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DownloadBehavior.js.map +1 -0
  504. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/common.d.ts +1 -0
  505. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/common.d.ts.map +1 -1
  506. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.d.ts +1 -1
  507. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.js +1 -1
  508. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.d.ts.map +1 -1
  509. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.js +2 -2
  510. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.js.map +1 -1
  511. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.d.ts +3 -3
  512. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js +3 -3
  513. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js.map +1 -1
  514. package/front_end/third_party/puppeteer/package/lib/types.d.ts +49 -0
  515. package/front_end/third_party/puppeteer/package/package.json +3 -3
  516. package/front_end/third_party/puppeteer/package/src/api/Browser.ts +8 -0
  517. package/front_end/third_party/puppeteer/package/src/api/Frame.ts +3 -1
  518. package/front_end/third_party/puppeteer/package/src/api/HTTPRequest.ts +1 -0
  519. package/front_end/third_party/puppeteer/package/src/api/Page.ts +5 -0
  520. package/front_end/third_party/puppeteer/package/src/bidi/Page.ts +4 -0
  521. package/front_end/third_party/puppeteer/package/src/cdp/Browser.ts +11 -3
  522. package/front_end/third_party/puppeteer/package/src/cdp/BrowserConnector.ts +2 -0
  523. package/front_end/third_party/puppeteer/package/src/cdp/BrowserContext.ts +11 -0
  524. package/front_end/third_party/puppeteer/package/src/cdp/HTTPRequest.ts +4 -0
  525. package/front_end/third_party/puppeteer/package/src/cdp/HTTPResponse.ts +3 -5
  526. package/front_end/third_party/puppeteer/package/src/cdp/NetworkManager.ts +34 -17
  527. package/front_end/third_party/puppeteer/package/src/cdp/Page.ts +4 -0
  528. package/front_end/third_party/puppeteer/package/src/common/ConnectOptions.ts +5 -0
  529. package/front_end/third_party/puppeteer/package/src/common/DownloadBehavior.ts +31 -0
  530. package/front_end/third_party/puppeteer/package/src/common/common.ts +1 -0
  531. package/front_end/third_party/puppeteer/package/src/generated/version.ts +1 -1
  532. package/front_end/third_party/puppeteer/package/src/node/BrowserLauncher.ts +2 -0
  533. package/front_end/third_party/puppeteer/package/src/revisions.ts +3 -3
  534. package/front_end/third_party/puppeteer/puppeteer-tsconfig.json +1 -0
  535. package/front_end/ui/components/data_grid/DataGridControllerIntegrator.ts +4 -1
  536. package/front_end/ui/components/dialogs/ButtonDialog.test.ts +78 -0
  537. package/front_end/ui/components/dialogs/ButtonDialog.ts +131 -0
  538. package/front_end/ui/components/dialogs/Dialog.test.ts +43 -0
  539. package/front_end/ui/components/dialogs/Dialog.ts +64 -2
  540. package/front_end/ui/components/dialogs/ShortcutDialog.test.ts +15 -1
  541. package/front_end/ui/components/dialogs/ShortcutDialog.ts +28 -20
  542. package/front_end/ui/components/dialogs/buttonDialog.css +9 -0
  543. package/front_end/ui/components/dialogs/dialog.css +15 -0
  544. package/front_end/ui/components/dialogs/dialogs.ts +2 -0
  545. package/front_end/ui/components/dialogs/shortcutDialog.css +34 -6
  546. package/front_end/ui/components/docs/dialog/button_dialog.html +28 -0
  547. package/front_end/ui/components/docs/dialog/button_dialog.ts +29 -0
  548. package/front_end/ui/components/docs/performance_panel/basic.ts +1 -1
  549. package/front_end/ui/components/docs/performance_panel/timeline_history_manager.ts +6 -4
  550. package/front_end/ui/components/floating_button/FloatingButton.ts +3 -2
  551. package/front_end/ui/components/icon_button/fileSourceIcon.css +7 -3
  552. package/front_end/ui/components/issue_counter/IssueCounter.ts +15 -2
  553. package/front_end/ui/components/legacy_wrapper/LegacyWrapper.ts +1 -1
  554. package/front_end/ui/components/markdown_view/MarkdownView.ts +15 -0
  555. package/front_end/ui/components/markdown_view/markdownView.css +1 -1
  556. package/front_end/ui/components/render_coordinator/RenderCoordinator.ts +24 -18
  557. package/front_end/ui/components/switch/SwitchImpl.ts +2 -2
  558. package/front_end/ui/legacy/Infobar.ts +6 -0
  559. package/front_end/ui/legacy/InspectorView.ts +40 -0
  560. package/front_end/ui/legacy/ListWidget.ts +4 -2
  561. package/front_end/ui/legacy/ThrottledWidget.ts +2 -2
  562. package/front_end/ui/legacy/Toolbar.ts +3 -3
  563. package/front_end/ui/legacy/UIUtils.ts +8 -6
  564. package/front_end/ui/legacy/Widget.ts +32 -0
  565. package/front_end/ui/legacy/components/data_grid/DataGrid.test.ts +6 -9
  566. package/front_end/ui/legacy/components/data_grid/DataGrid.ts +35 -34
  567. package/front_end/ui/legacy/components/data_grid/ViewportDataGrid.ts +1 -1
  568. package/front_end/ui/legacy/components/perf_ui/ChartViewport.ts +2 -2
  569. package/front_end/ui/legacy/components/perf_ui/FilmStripView.ts +1 -1
  570. package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +32 -25
  571. package/front_end/ui/legacy/components/perf_ui/TimelineOverviewCalculator.ts +18 -4
  572. package/front_end/ui/legacy/components/perf_ui/TimelineOverviewPane.ts +80 -39
  573. package/front_end/ui/legacy/components/perf_ui/perf_ui-meta.ts +4 -4
  574. package/front_end/ui/legacy/components/utils/jsUtils.css +8 -0
  575. package/front_end/ui/legacy/filter.css +1 -1
  576. package/front_end/ui/legacy/inspectorCommon.css +1 -1
  577. package/front_end/ui/legacy/listWidget.css +4 -1
  578. package/front_end/ui/legacy/reportView.css +1 -1
  579. package/front_end/ui/legacy/toolbar.css +3 -6
  580. package/front_end/ui/legacy/treeoutline.css +3 -1
  581. package/front_end/ui/visual_logging/KnownContextValues.ts +12 -1
  582. package/front_end/ui/visual_logging/LoggingDriver.test.ts +27 -1
  583. package/front_end/ui/visual_logging/LoggingDriver.ts +7 -4
  584. package/package.json +2 -3
  585. package/scripts/build/wasm-as.py +1 -1
  586. package/scripts/freestyler/auto_freestyler.js +12 -4
  587. package/scripts/freestyler/to_tsv.mjs +40 -0
  588. package/scripts/tools/update_goldens.py +11 -13
  589. package/front_end/panels/timeline/components/insights/SidebarInsight.test.ts +0 -72
  590. package/front_end/ui/components/docs/two_states_counter/basic.html +0 -27
  591. package/front_end/ui/components/docs/two_states_counter/basic.ts +0 -45
  592. package/front_end/ui/components/two_states_counter/TwoStatesCounter.test.ts +0 -73
  593. package/front_end/ui/components/two_states_counter/TwoStatesCounter.ts +0 -104
  594. package/front_end/ui/components/two_states_counter/twoStatesCounter.css +0 -37
  595. package/front_end/ui/components/two_states_counter/two_states_counter.ts +0 -9
@@ -89,6 +89,7 @@ export class TimelineOverviewPane extends Common.ObjectWrapper.eventMixin<EventT
89
89
  this.muteOnWindowChanged = false;
90
90
 
91
91
  this.#dimHighlightSVG = UI.UIUtils.createSVGChild(this.element, 'svg', 'timeline-minimap-dim-highlight-svg hidden');
92
+ this.#initializeDimHighlightSVG();
92
93
  }
93
94
 
94
95
  enableCreateBreadcrumbsButton(): void {
@@ -195,7 +196,7 @@ export class TimelineOverviewPane extends Common.ObjectWrapper.eventMixin<EventT
195
196
  });
196
197
  }
197
198
 
198
- private update(start?: Trace.Types.Timing.MilliSeconds, end?: Trace.Types.Timing.MilliSeconds): void {
199
+ override update(start?: Trace.Types.Timing.MilliSeconds, end?: Trace.Types.Timing.MilliSeconds): void {
199
200
  if (!this.isShowing()) {
200
201
  return;
201
202
  }
@@ -308,51 +309,91 @@ export class TimelineOverviewPane extends Common.ObjectWrapper.eventMixin<EventT
308
309
  this.muteOnWindowChanged = false;
309
310
  }
310
311
 
311
- highlightBounds(bounds: Trace.Types.Timing.TraceWindowMicroSeconds): void {
312
- let mask = this.#dimHighlightSVG?.querySelector('mask');
313
- if (!mask) {
314
- // Set up the desaturation mask
315
- const defs = UI.UIUtils.createSVGChild(this.#dimHighlightSVG, 'defs');
316
- mask = UI.UIUtils.createSVGChild(defs, 'mask') as SVGMaskElement;
317
- mask.id = 'dim-highlight-cutouts';
318
- /* Within the mask...
319
- - black fill = punch, fully transparently, through to the next thing. these are the cutouts to the color.
320
- - white fill = be 100% desaturated
321
- - grey fill = show at the Lightness level of grayscale/desaturation
322
- */
323
- const showAllRect = UI.UIUtils.createSVGChild(mask, 'rect');
324
- showAllRect.setAttribute('width', '100%');
325
- showAllRect.setAttribute('height', '100%');
326
- showAllRect.setAttribute('fill', 'hsl(0deg 0% 95%)');
327
-
328
- const desaturateRect = UI.UIUtils.createSVGChild(this.#dimHighlightSVG, 'rect') as SVGRectElement;
329
- desaturateRect.setAttribute('width', '100%');
330
- desaturateRect.setAttribute('height', '100%');
331
- desaturateRect.setAttribute('fill', '#ffffff');
332
- desaturateRect.setAttribute('mask', `url(#${mask.id})`);
333
- desaturateRect.style.mixBlendMode = 'saturation';
334
-
335
- const punchRect = UI.UIUtils.createSVGChild(mask, 'rect', 'punch');
336
- punchRect.setAttribute('y', '0');
337
- punchRect.setAttribute('height', '100%');
338
- punchRect.setAttribute('fill', 'black');
339
-
340
- const bracketColor = ThemeSupport.ThemeSupport.instance().getComputedValue('--sys-color-state-on-header-hover');
341
- const bracket = UI.UIUtils.createSVGChild(this.#dimHighlightSVG, 'polygon') as SVGRectElement;
342
- bracket.setAttribute('fill', bracketColor);
343
- }
312
+ /**
313
+ * This function will create three rectangles and a polygon, which will be use to highlight the time range.
314
+ */
315
+ #initializeDimHighlightSVG(): void {
316
+ // Set up the desaturation mask
317
+ const defs = UI.UIUtils.createSVGChild(this.#dimHighlightSVG, 'defs');
318
+ const mask = UI.UIUtils.createSVGChild(defs, 'mask') as SVGMaskElement;
319
+ mask.id = 'dim-highlight-cutouts';
320
+ /* Within the mask...
321
+ - black fill = punch, fully transparently, through to the next thing. these are the cutouts to the color.
322
+ - white fill = be 100% desaturated
323
+ - grey fill = show at the Lightness level of grayscale/desaturation
324
+ */
325
+
326
+ // This a rectangle covers the entire SVG and has a light gray fill. This sets the base desaturation level for the
327
+ // masked area.
328
+ // The colour here should be fixed because the colour's brightness changes the desaturation level.
329
+ const showAllRect = UI.UIUtils.createSVGChild(mask, 'rect');
330
+ showAllRect.setAttribute('width', '100%');
331
+ showAllRect.setAttribute('height', '100%');
332
+ showAllRect.setAttribute('fill', 'hsl(0deg 0% 95%)');
333
+
334
+ // This rectangle also covers the entire SVG and has a fill with the current background. It is linked to the
335
+ // `mask` element.
336
+ // The `mixBlendMode` is set to 'saturation', so this rectangle will completely desaturate the area it covers
337
+ // within the mask.
338
+ const desaturateRect = UI.UIUtils.createSVGChild(this.#dimHighlightSVG, 'rect', 'background') as SVGRectElement;
339
+ desaturateRect.setAttribute('width', '100%');
340
+ desaturateRect.setAttribute('height', '100%');
341
+ desaturateRect.setAttribute('fill', ThemeSupport.ThemeSupport.instance().getComputedValue('--color-background'));
342
+ desaturateRect.setAttribute('mask', `url(#${mask.id})`);
343
+ desaturateRect.style.mixBlendMode = 'saturation';
344
+
345
+ // This rectangle is positioned at the top of the not-to-desaturate time range, with full height and a black fill.
346
+ // It will be used to "punch" through the desaturation, revealing the original colours beneath.
347
+ // The *black* fill on the "punch-out" rectangle is crucial because black is fully transparent in a mask.
348
+ const punchRect = UI.UIUtils.createSVGChild(mask, 'rect', 'punch');
349
+ punchRect.setAttribute('y', '0');
350
+ punchRect.setAttribute('height', '100%');
351
+ punchRect.setAttribute('fill', 'black');
352
+
353
+ // This polygon is for the bracket beyond the not desaturated area.
354
+ const bracketColor = ThemeSupport.ThemeSupport.instance().getComputedValue('--sys-color-state-on-header-hover');
355
+ const bracket = UI.UIUtils.createSVGChild(this.#dimHighlightSVG, 'polygon') as SVGRectElement;
356
+ bracket.setAttribute('fill', bracketColor);
357
+
358
+ ThemeSupport.ThemeSupport.instance().addEventListener(ThemeSupport.ThemeChangeEvent.eventName, () => {
359
+ const desaturateRect = this.#dimHighlightSVG.querySelector('rect.background');
360
+ desaturateRect?.setAttribute('fill', ThemeSupport.ThemeSupport.instance().getComputedValue('--color-background'));
361
+
362
+ const bracket = this.#dimHighlightSVG.querySelector('polygon');
363
+ bracket?.setAttribute(
364
+ 'fill', ThemeSupport.ThemeSupport.instance().getComputedValue('--sys-color-state-on-header-hover'));
365
+ });
366
+ }
367
+
368
+ #addBracket(left: number, right: number): void {
369
+ const TRIANGLE_SIZE = 5; // px size of triangles
370
+ const bracket = this.#dimHighlightSVG.querySelector('polygon');
371
+ bracket?.setAttribute(
372
+ 'points',
373
+ `${left},0 ${left},${TRIANGLE_SIZE} ${left + TRIANGLE_SIZE - 1},1 ${right - TRIANGLE_SIZE - 1},1 ${right},${
374
+ TRIANGLE_SIZE} ${right},0`);
375
+ bracket?.classList.remove('hidden');
376
+ }
344
377
 
378
+ #hideBracket(): void {
379
+ const bracket = this.#dimHighlightSVG.querySelector('polygon');
380
+ bracket?.classList.add('hidden');
381
+ }
382
+
383
+ highlightBounds(bounds: Trace.Types.Timing.TraceWindowMicroSeconds, withBracket: boolean): void {
345
384
  const left = this.overviewCalculator.computePosition(Trace.Helpers.Timing.microSecondsToMilliseconds(bounds.min));
346
385
  const right = this.overviewCalculator.computePosition(Trace.Helpers.Timing.microSecondsToMilliseconds(bounds.max));
347
386
 
387
+ // Update the punch out rectangle to the not-to-desaturate time range.
348
388
  const punchRect = this.#dimHighlightSVG.querySelector('rect.punch');
349
389
  punchRect?.setAttribute('x', left.toString());
350
390
  punchRect?.setAttribute('width', (right - left).toString());
351
391
 
352
- const size = 5; // px size of triangles
353
- const bracket = this.#dimHighlightSVG.querySelector('polygon');
354
- bracket?.setAttribute(
355
- 'points', `${left},0 ${left},${size} ${left + size - 1},1 ${right - size - 1},1 ${right},${size} ${right},0`);
392
+ if (withBracket) {
393
+ this.#addBracket(left, right);
394
+ } else {
395
+ this.#hideBracket();
396
+ }
356
397
 
357
398
  this.#dimHighlightSVG.classList.remove('hidden');
358
399
  }
@@ -432,7 +473,7 @@ export class TimelineOverviewBase extends UI.Widget.VBox implements TimelineOver
432
473
  return this.calculatorInternal;
433
474
  }
434
475
 
435
- update(): void {
476
+ override update(): void {
436
477
  throw new Error('Not implemented');
437
478
  }
438
479
 
@@ -70,19 +70,19 @@ Common.Settings.registerSettingExtension({
70
70
  category: Common.Settings.SettingCategory.PERFORMANCE,
71
71
  storageType: Common.Settings.SettingStorageType.SYNCED,
72
72
  title: i18nLazyString(UIStrings.flamechartMouseWheelAction),
73
- settingName: 'flamechart-mouse-wheel-action',
73
+ settingName: 'flamechart-selected-navigation',
74
74
  settingType: Common.Settings.SettingType.ENUM,
75
- defaultValue: 'zoom',
75
+ defaultValue: 'classic',
76
76
  options: [
77
77
  {
78
78
  title: i18nLazyString(UIStrings.scroll),
79
79
  text: i18nLazyString(UIStrings.scroll),
80
- value: 'scroll',
80
+ value: 'modern',
81
81
  },
82
82
  {
83
83
  title: i18nLazyString(UIStrings.zoom),
84
84
  text: i18nLazyString(UIStrings.zoom),
85
- value: 'zoom',
85
+ value: 'classic',
86
86
  },
87
87
  ],
88
88
  });
@@ -66,6 +66,14 @@
66
66
  overflow: hidden;
67
67
  text-overflow: ellipsis;
68
68
  padding-inline: 2px;
69
+
70
+ &.link {
71
+ overflow: visible;
72
+
73
+ & > button.text-button.devtools-link {
74
+ background-color: inherit;
75
+ }
76
+ }
69
77
  }
70
78
 
71
79
  &.width-constrained {
@@ -103,7 +103,7 @@
103
103
  position: relative;
104
104
  }
105
105
 
106
- .filter-checkbox-filter > [is="dt-checkbox"] {
106
+ .filter-checkbox-filter > dt-checkbox {
107
107
  display: flex;
108
108
  margin: auto 0;
109
109
  }
@@ -392,7 +392,7 @@ input::placeholder {
392
392
  outline: none;
393
393
  padding: 0 var(--sys-size-9) 0 var(--sys-size-5);
394
394
  background-image: var(--combobox-dropdown-arrow);
395
- background-color: var(--sys-color-surface);
395
+ background-color: transparent;
396
396
  background-position: right center;
397
397
  background-repeat: no-repeat;
398
398
  }
@@ -7,10 +7,13 @@
7
7
  .list {
8
8
  flex: auto 0 1;
9
9
  overflow-y: auto;
10
- border: 1px solid var(--sys-color-divider);
11
10
  flex-direction: column;
12
11
 
13
12
  --override-background-list-item-color: hsl(0deg 0% 96%);
13
+
14
+ &:has(div) {
15
+ border: var(--sys-size-1) solid var(--sys-color-divider);
16
+ }
14
17
  }
15
18
 
16
19
  .theme-with-dark-background .list,
@@ -74,7 +74,7 @@
74
74
  .report-row {
75
75
  margin: 10px 0 2px 18px;
76
76
 
77
- &:has(span[is="dt-checkbox"]) {
77
+ &:has(dt-checkbox) {
78
78
  margin-top: 7px;
79
79
  }
80
80
  }
@@ -128,7 +128,8 @@ devtools-issue-counter.main-toolbar {
128
128
  .toolbar-has-dropdown {
129
129
  justify-content: space-between;
130
130
  height: var(--sys-size-9);
131
- padding: 0 var(--sys-size-3) 0 var(--sys-size-5);
131
+ padding: 0 var(--sys-size-2) 0 var(--sys-size-4);
132
+ margin: 0 var(--sys-size-2);
132
133
  gap: var(--sys-size-2);
133
134
  border-radius: var(--sys-shape-corner-extra-small);
134
135
 
@@ -152,7 +153,7 @@ devtools-issue-counter.main-toolbar {
152
153
  }
153
154
 
154
155
  &:focus-visible {
155
- outline: 2px solid var(--sys-color-state-focus-ring);
156
+ outline: var(--sys-size-2) solid var(--sys-color-state-focus-ring);
156
157
  }
157
158
 
158
159
  &[disabled] {
@@ -160,10 +161,6 @@ devtools-issue-counter.main-toolbar {
160
161
  background-color: var(--sys-color-state-disabled-container);
161
162
  color: var(--sys-color-state-disabled);
162
163
  }
163
-
164
- &:first-child {
165
- margin-left: var(--sys-size-2);
166
- }
167
164
  }
168
165
 
169
166
  .toolbar-has-dropdown-shrinkable {
@@ -47,7 +47,7 @@
47
47
  border-top-color: var(--sys-color-tonal-container);
48
48
  }
49
49
 
50
- .tree-outline li:hover:not(:has(span[is="dt-checkbox"])) .selection {
50
+ .tree-outline li:hover:not(:has(dt-checkbox)) .selection {
51
51
  display: block;
52
52
  background-color: var(--sys-color-state-hover-on-subtle);
53
53
  }
@@ -214,6 +214,8 @@ ol.tree-outline:not(.hide-selection-when-blurred) li.selected:focus {
214
214
  & .tree-variant-navigation li.selected:focus,
215
215
  .tree-variant-navigation li.selected:focus devtools-icon {
216
216
  color: var(--app-color-navigation-drawer-label-selected);
217
+
218
+ --override-file-source-icon-color: var(--app-color-navigation-drawer-label-selected);
217
219
  }
218
220
  }
219
221
 
@@ -334,6 +334,7 @@ export const knownContextValues = new Set([
334
334
  'affected-requests',
335
335
  'affected-sources',
336
336
  'ai-assistance-enabled',
337
+ 'ai-assistance-history-entries',
337
338
  'align-content',
338
339
  'align-content-center',
339
340
  'align-content-flex-end',
@@ -356,6 +357,7 @@ export const knownContextValues = new Set([
356
357
  'allocation-stack',
357
358
  'allow-pasting',
358
359
  'allow-scroll-past-eof',
360
+ 'allow-scroll-past-eof-false',
359
361
  'alpha',
360
362
  'am',
361
363
  'anchor-link',
@@ -605,6 +607,7 @@ export const knownContextValues = new Set([
605
607
  'call-tree',
606
608
  'cancel',
607
609
  'cancel-animation-frame',
610
+ 'cancel-cross-origin-context-chat',
608
611
  'candara',
609
612
  'canplay',
610
613
  'canplaythrough',
@@ -805,6 +808,7 @@ export const knownContextValues = new Set([
805
808
  'converter-puppeteer',
806
809
  'converter-puppeteer-firefox',
807
810
  'converter-puppeteer-replay',
811
+ 'cookie-control-override-enabled',
808
812
  'cookie-preview',
809
813
  'cookie-view-show-decoded',
810
814
  'cookies',
@@ -1323,7 +1327,7 @@ export const knownContextValues = new Set([
1323
1327
  'fit-to-window',
1324
1328
  'fix-this-issue',
1325
1329
  'flame',
1326
- 'flamechart-mouse-wheel-action',
1330
+ 'flamechart-selected-navigation',
1327
1331
  'flex',
1328
1332
  'flex-basis',
1329
1333
  'flex-direction',
@@ -1438,6 +1442,8 @@ export const knownContextValues = new Set([
1438
1442
  'googlebot-desktop',
1439
1443
  'googlebot-smartphone',
1440
1444
  'gotpointercapture',
1445
+ 'grace-period-link',
1446
+ 'grace-period-mitigation-disabled',
1441
1447
  'grid',
1442
1448
  'grid-area',
1443
1449
  'grid-auto-columns',
@@ -1497,6 +1503,8 @@ export const knownContextValues = new Set([
1497
1503
  'help.report-issue',
1498
1504
  'help.show-release-note',
1499
1505
  'helvetica',
1506
+ 'heuristic-link',
1507
+ 'heuristic-mitigation-disabled',
1500
1508
  'hex',
1501
1509
  'hi',
1502
1510
  'hide-all-others',
@@ -3272,6 +3280,7 @@ export const knownContextValues = new Set([
3272
3280
  'timeline.insights.cls-culprits',
3273
3281
  'timeline.insights.document-latency',
3274
3282
  'timeline.insights.font-display',
3283
+ 'timeline.insights.image-delivery',
3275
3284
  'timeline.insights.inp',
3276
3285
  'timeline.insights.lcp-by-phase',
3277
3286
  'timeline.insights.lcp-discovery',
@@ -3331,6 +3340,7 @@ export const knownContextValues = new Set([
3331
3340
  'timeline.toggle-insight.cls-culprits',
3332
3341
  'timeline.toggle-insight.document-latency',
3333
3342
  'timeline.toggle-insight.font-display',
3343
+ 'timeline.toggle-insight.image-delivery',
3334
3344
  'timeline.toggle-insight.inp',
3335
3345
  'timeline.toggle-insight.lcp-by-phase',
3336
3346
  'timeline.toggle-insight.lcp-discovery',
@@ -3458,6 +3468,7 @@ export const knownContextValues = new Set([
3458
3468
  'view-all-rules',
3459
3469
  'view-all-speculations',
3460
3470
  'view-computed-value',
3471
+ 'view-details',
3461
3472
  'view-parsed',
3462
3473
  'view-source',
3463
3474
  'view-timeline',
@@ -554,6 +554,33 @@ describe('LoggingDriver', () => {
554
554
  assert.strictEqual(event.context, 1936227034);
555
555
  });
556
556
 
557
+ it('logs state with change of a label`s control', async () => {
558
+ const recordChange = sinon.stub(
559
+ Host.InspectorFrontendHost.InspectorFrontendHostInstance,
560
+ 'recordChange',
561
+ );
562
+
563
+ const label = document.createElement('label');
564
+ label.setAttribute('jslog', 'TreeItem; track: change');
565
+ const input = document.createElement('input');
566
+ input.type = 'radio';
567
+ input.checked = true;
568
+ input.style.display = 'none';
569
+ label.appendChild(input);
570
+ renderElementIntoDOM(label);
571
+ await VisualLoggingTesting.LoggingDriver.startLogging();
572
+ let logging = expectCall(recordChange);
573
+ input.dispatchEvent(new Event('change'));
574
+ let [event] = await logging;
575
+ assert.strictEqual(event.context, 1530936795);
576
+
577
+ input.checked = false;
578
+ logging = expectCall(recordChange);
579
+ input.dispatchEvent(new Event('change'));
580
+ [event] = await logging;
581
+ assert.strictEqual(event.context, 1936227034);
582
+ });
583
+
557
584
  it('logs hover', async () => {
558
585
  addLoggableElements();
559
586
  await VisualLoggingTesting.LoggingDriver.startLogging({hoverLogThrottler: throttler});
@@ -977,7 +1004,6 @@ describe('LoggingDriver', () => {
977
1004
  assert.sameDeepMembers(recordImpression.lastCall.firstArg.impressions, [
978
1005
  {id: getVeId(loggable2), type: 1, context: 345, parent: getVeId(parent), width: 0, height: 0},
979
1006
  ]);
980
-
981
1007
  });
982
1008
 
983
1009
  it('logs root non-DOM impressions', async () => {
@@ -221,7 +221,13 @@ async function process(): Promise<void> {
221
221
  loggingState.pendingChangeContext = event.inputType;
222
222
  pendingChange.add(element);
223
223
  }, {capture: true});
224
- element.addEventListener('change', () => logPendingChange(element), {capture: true});
224
+ element.addEventListener('change', (event: Event) => {
225
+ const target = event?.target ?? element;
226
+ if (['checkbox', 'radio'].includes((target as HTMLInputElement).type)) {
227
+ loggingState.pendingChangeContext = (target as HTMLInputElement).checked ? 'on' : 'off';
228
+ }
229
+ logPendingChange(element);
230
+ }, {capture: true});
225
231
  element.addEventListener('focusout', () => {
226
232
  if (loggingState.pendingChangeContext) {
227
233
  void logPendingChange(element);
@@ -301,9 +307,6 @@ function logPendingChange(element: Element): void {
301
307
  if (!loggingState) {
302
308
  return;
303
309
  }
304
- if (['checkbox', 'radio'].includes((element as HTMLInputElement).type)) {
305
- loggingState.pendingChangeContext = (element as HTMLInputElement).checked ? 'on' : 'off';
306
- }
307
310
  void logChange(element);
308
311
  delete loggingState.pendingChangeContext;
309
312
  pendingChange.delete(element);
package/package.json CHANGED
@@ -32,7 +32,6 @@
32
32
  "lint": "vpython3 third_party/node/node.py --output scripts/test/run_lint_check.js",
33
33
  "prebuild": "gn gen out/Default",
34
34
  "rdb": "rdb stream -new -realm chrome:public --",
35
- "setup-dtrun": "cd scripts/devtools_run && npm link",
36
35
  "start": "node -e 'console.log(`This script has been removed in favor of --custom-devtools-frontend. For more information, see https://docs.google.com/document/d/1COgCBWWuTh2o-Zbp6h_z0h0LtlJaimaEDsION4RZPxc/edit?usp=sharing`);'",
37
36
  "stylelint-test": "vpython3 third_party/node/node.py --output ./node_modules/.bin/mocha \"./scripts/stylelint_rules/tests/*_test.js\"",
38
37
  "webtest": "vpython3 third_party/node/node.py --output scripts/npm_test.js",
@@ -86,7 +85,7 @@
86
85
  "lit-analyzer": "2.0.3",
87
86
  "mocha": "9.2.2",
88
87
  "postcss": "8.4.38",
89
- "puppeteer-core": "23.0.2",
88
+ "puppeteer-core": "23.8.0",
90
89
  "recast": "0.20.5",
91
90
  "rimraf": "3.0.2",
92
91
  "rollup-plugin-sourcemaps2": "0.4.2",
@@ -106,5 +105,5 @@
106
105
  "tslib": "2.8.0",
107
106
  "ws": "$ws"
108
107
  },
109
- "version": "1.0.1380117"
108
+ "version": "1.0.1386602"
110
109
  }
@@ -54,7 +54,7 @@ def script_main(args):
54
54
  options.output
55
55
  ])
56
56
  (size, offset) = re.search(
57
- b'Section {[^}]*Type: CODE[^}]*Size: (\d*)[^}]*Offset: (\d*)[^}]*}',
57
+ rb'Section {[^}]*Type: CODE[^}]*Size: (\d*)[^}]*Offset: (\d*)[^}]*}',
58
58
  wasm_obj_headers).groups()
59
59
 
60
60
  # readobj reports as offset the location of the first byte of the header.
@@ -264,10 +264,17 @@ class Example {
264
264
 
265
265
  await this.#devtoolsPage.locator('aria/Ask a question about the selected element').fill(query);
266
266
 
267
- this.#devtoolsPage.evaluate(() => {
268
- window.addEventListener('freestylersideeffect', ev => {
269
- ev.detail.confirm();
270
- });
267
+ const abort = new AbortController();
268
+ const autoAcceptEvals = async signal => {
269
+ while (!signal.aborted) {
270
+ await this.#devtoolsPage.locator('aria/Continue').click({signal});
271
+ }
272
+ };
273
+ autoAcceptEvals(abort.signal).catch(err => {
274
+ if (err.message === 'This operation was aborted') {
275
+ return;
276
+ }
277
+ console.error('autoAcceptEvals', err);
271
278
  });
272
279
 
273
280
  const done = this.#devtoolsPage.evaluate(() => {
@@ -282,6 +289,7 @@ class Example {
282
289
 
283
290
  await this.#devtoolsPage.keyboard.press('Enter');
284
291
  await done;
292
+ abort.abort();
285
293
 
286
294
  const result = JSON.parse(await this.#devtoolsPage.evaluate(() => {
287
295
  return localStorage.getItem('freestylerStructuredLog');
@@ -0,0 +1,40 @@
1
+ // Copyright 2024 The Chromium Authors. All rights reserved.
2
+ // Use of this source code is governed by a BSD-style license that can be
3
+ // found in the LICENSE file.
4
+
5
+
6
+ // Converts a JSON results file into two TSV files: queries and responses.
7
+ // Usage: node to_tsv.mjs path/to/file.json
8
+
9
+ import fs from 'fs/promises';
10
+ import assert from 'assert';
11
+
12
+ const file = process.argv[2];
13
+
14
+ assert(file.endsWith('.json'));
15
+
16
+ const data = JSON.parse(await fs.readFile(file, 'utf-8'));
17
+
18
+ const responses = [];
19
+ const queries = [];
20
+
21
+ function formatRequest(request) {
22
+ const lines = [
23
+ ...(request.chat_history || []).map(item => item.text),
24
+ request.input,
25
+ ]
26
+ return lines.join('\n\n===\n\n');
27
+ }
28
+
29
+ const escapeCell = val => `"${(String(val)).replaceAll('"', '""')}"`;
30
+
31
+ for (const example of data.examples) {
32
+ responses.push(escapeCell(example.response));
33
+ queries.push(escapeCell(formatRequest(example.request)));
34
+ }
35
+
36
+ assert(responses.length === queries.length);
37
+
38
+ await fs.writeFile(file.replace('.json', '-queries.tsv'), queries.join('\n'));
39
+ await fs.writeFile(file.replace('.json', '-responses.tsv'), responses.join('\n'));
40
+
@@ -55,7 +55,6 @@ class ProjectConfig:
55
55
  TOOLS_DIR = os.path.dirname(os.path.abspath(__file__))
56
56
  BASE_DIR = os.path.normpath(os.path.join(TOOLS_DIR, '..', '..'))
57
57
  DEPOT_TOOLS_DIR = os.path.join(BASE_DIR, 'third_party', 'depot_tools')
58
- GSUTIL = os.path.join(DEPOT_TOOLS_DIR, 'gsutil.py')
59
58
  VPYTHON = os.path.join(DEPOT_TOOLS_DIR, 'vpython3')
60
59
  GOLDENS_DIR = os.path.join(BASE_DIR, 'test', 'interactions', 'goldens')
61
60
 
@@ -64,13 +63,12 @@ WARNING_BUILDERS_STILL_RUNNING = 'Patchset %s has builders that are still ' \
64
63
  WARNING_BUILDERS_FAILED = 'Patchset %s has builders that failed:\n %s\n'
65
64
  WARNING_BUILDERS_MISSING = 'Patchset %s does not have screenshot tests for ' \
66
65
  'all platform.\nOnly these builders found:\n %s'
67
- WARNING_GSUTIL_CONNECTIVITY = (
68
- 'Ups! gsutil seems to not work for you right '
66
+ WARNING_GCS_CONNECTIVITY = (
67
+ 'Ups! "gcloud storage" seems to not work for you right '
69
68
  'now.\nThis is either a connectivity problem or a configuration issue.\n'
70
69
  'Make sure you are logged in with your Google account and you are included '
71
70
  'in the devtools-dev@google.com group.\n'
72
- 'Try running "./third_party/depot_tools/gsutil.py config" command.\n'
73
- 'When prompted for a project id, please use "v8-infra".\n')
71
+ 'Try running "gcloud config set core/project v8-infra" command.\n')
74
72
  WARNING_GIT_DIRTY = 'Before attempting to apply screenshot patches, please' \
75
73
  'make sure your local repo is clean.\nFolder %s seems to contain ' \
76
74
  'un-committed changes.' % GOLDENS_DIR
@@ -154,7 +152,7 @@ def trigger(project_config, options):
154
152
 
155
153
  def update(project_config, options):
156
154
  test_clean_git()
157
- test_gsutil_connectivity(project_config)
155
+ test_gcs_connectivity(project_config)
158
156
  wait_sec = options.wait_sec
159
157
  if wait_sec:
160
158
  wait_sec = max(wait_sec, 30)
@@ -205,15 +203,15 @@ def test_clean_git():
205
203
  sys.exit(0)
206
204
 
207
205
 
208
- def test_gsutil_connectivity(project_config):
209
- """Test if gsutil needs to be configured for current user."""
210
- process = subprocess.Popen(gsutil_cmd('ls', project_config.gs_root),
206
+ def test_gcs_connectivity(project_config):
207
+ """Test if gcloud needs to be configured for current user."""
208
+ process = subprocess.Popen(gcstorage_cmd('ls', project_config.gs_root),
211
209
  stdout=subprocess.PIPE,
212
210
  stderr=subprocess.PIPE)
213
211
  _, stderr = process.communicate()
214
212
  if process.returncode != 0:
215
213
  print(stderr.decode('utf-8'), '\n')
216
- print(WARNING_GSUTIL_CONNECTIVITY)
214
+ print(WARNING_GCS_CONNECTIVITY)
217
215
  sys.exit(0)
218
216
 
219
217
 
@@ -403,7 +401,7 @@ def download_patches(project_config, results, destination_dir, verbose):
403
401
  local_path = os.path.join(destination_dir, patch_platform + '.patch')
404
402
  if verbose:
405
403
  print('Downloading patch file from: ' + gs_location)
406
- run_command(gsutil_cmd('cp', gs_location, local_path), verbose)
404
+ run_command(gcstorage_cmd('cp', gs_location, local_path), verbose)
407
405
  patches.append(local_path)
408
406
  return patches
409
407
 
@@ -446,8 +444,8 @@ def run_command(command, verbose, message=None):
446
444
  sys.exit(1)
447
445
 
448
446
 
449
- def gsutil_cmd(*args):
450
- return [VPYTHON, GSUTIL] + list(args)
447
+ def gcstorage_cmd(*args):
448
+ return ["gcloud", "storage"] + list(args)
451
449
 
452
450
 
453
451
  if __name__ == '__main__':