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
@@ -0,0 +1,157 @@
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
+ import '../../ui/components/markdown_view/markdown_view.js';
6
+
7
+ import * as Host from '../../core/host/host.js';
8
+ import * as i18n from '../../core/i18n/i18n.js';
9
+ import type * as Platform from '../../core/platform/platform.js';
10
+ import * as Marked from '../../third_party/marked/marked.js';
11
+ import * as Buttons from '../../ui/components/buttons/buttons.js';
12
+ import type * as MarkdownView from '../../ui/components/markdown_view/markdown_view.js';
13
+ import * as Coordinator from '../../ui/components/render_coordinator/render_coordinator.js';
14
+ import * as UI from '../../ui/legacy/legacy.js';
15
+ import * as LitHtml from '../../ui/lit-html/lit-html.js';
16
+ import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
17
+
18
+ import {getReleaseNote} from './ReleaseNoteText.js';
19
+ import releaseNoteViewStyles from './releaseNoteView.css.js';
20
+ import {releaseNoteViewId} from './WhatsNewImpl.js';
21
+
22
+ const {html} = LitHtml;
23
+
24
+ const coordinator = Coordinator.RenderCoordinator.RenderCoordinator.instance();
25
+
26
+ const UIStrings = {
27
+ /**
28
+ *@description Text that is usually a hyperlink to more documentation
29
+ */
30
+ learnMore: 'Learn more',
31
+ /**
32
+ *@description Text to close something
33
+ */
34
+ close: 'Close',
35
+ };
36
+ const str_ = i18n.i18n.registerUIStrings('panels/whats_new/ReleaseNoteView.ts', UIStrings);
37
+
38
+ const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
39
+
40
+ let releaseNoteViewInstance: ReleaseNoteViewWrapper;
41
+
42
+ export class ReleaseNoteViewWrapper extends UI.Widget.VBox {
43
+ releaseNoteElement: ReleaseNoteView;
44
+ constructor() {
45
+ super(true);
46
+ this.element.setAttribute('jslog', `${VisualLogging.panel().context('whats-new')}`);
47
+ this.releaseNoteElement = new ReleaseNoteView();
48
+ this.contentElement.appendChild(this.releaseNoteElement);
49
+ }
50
+
51
+ static instance(opts: {forceNew: boolean|null} = {forceNew: null}): ReleaseNoteViewWrapper {
52
+ const {forceNew} = opts;
53
+ if (!releaseNoteViewInstance || forceNew) {
54
+ releaseNoteViewInstance = new ReleaseNoteViewWrapper();
55
+ }
56
+ return releaseNoteViewInstance;
57
+ }
58
+ }
59
+
60
+ export class ReleaseNoteView extends HTMLElement {
61
+ readonly #shadow = this.attachShadow({mode: 'open'});
62
+
63
+ connectedCallback(): void {
64
+ this.#shadow.adoptedStyleSheets = [
65
+ releaseNoteViewStyles,
66
+ ];
67
+ this.#render();
68
+ }
69
+
70
+ static async getFileContent(): Promise<string> {
71
+ const url = new URL('./resources/WNDT.md', import.meta.url);
72
+ try {
73
+ const response = await fetch(url.toString());
74
+ return response.text();
75
+ } catch (error) {
76
+ throw new Error(`Markdown file ${
77
+ url.toString()} not found. Make sure it is correctly listed in the relevant BUILD.gn files.`);
78
+ }
79
+ }
80
+
81
+ async #renderHighlights(): Promise<LitHtml.TemplateResult> {
82
+ const markdown = await ReleaseNoteView.getFileContent();
83
+ const markdownAst = Marked.Marked.lexer(markdown);
84
+
85
+ // clang-format off
86
+ return html`<devtools-markdown-view .data=${{tokens: markdownAst} as MarkdownView.MarkdownView.MarkdownViewData}>
87
+ </devtools-markdown-view>
88
+ `;
89
+ // clang-format on
90
+ }
91
+
92
+ #render(): void {
93
+ const releaseNote = getReleaseNote();
94
+ void coordinator.write(() => {
95
+ // clang-format off
96
+ const tmpl = html`
97
+ <div class="release-note-top-section">
98
+ ${getReleaseNote().header}
99
+ </div>
100
+ <div class="hbox">
101
+ <div class="release-note-container" jslog=${VisualLogging.section().context('release-notes')}>
102
+ <ul aria-label=${releaseNote.header}>
103
+ ${LitHtml.Directives.until(this.#renderHighlights())}
104
+ </ul>
105
+ <div>
106
+ <devtools-button
107
+ .data=${{
108
+ variant: Buttons.Button.Variant.OUTLINED,
109
+ } as Buttons.Button.ButtonData}
110
+ .jslogContext=${'learn-more'}
111
+ @click=${(event: MouseEvent): void => {
112
+ event.consume(true);
113
+ Host.InspectorFrontendHost.InspectorFrontendHostInstance.openInNewTab(releaseNote.link as Platform.DevToolsPath.UrlString);
114
+ }}
115
+ >${i18nString(UIStrings.learnMore)}
116
+ </devtools-button>
117
+ <devtools-button
118
+ .data=${{
119
+ variant: Buttons.Button.Variant.OUTLINED,
120
+ } as Buttons.Button.ButtonData}
121
+ .jslogContext=${'close'}
122
+ @click=${(event: MouseEvent): void => {
123
+ event.consume(true);
124
+ UI.InspectorView.InspectorView.instance().closeDrawerTab(releaseNoteViewId, true);
125
+ }}
126
+ >
127
+ ${i18nString(UIStrings.close)}
128
+ </devtools-button>
129
+ </div>
130
+ </div>
131
+ <x-link
132
+ href=${releaseNote.link}
133
+ class="devtools-link release-note-image"
134
+ jslog=${VisualLogging.link().track({click: true}).context('learn-more')}
135
+ >
136
+ <img src=${new URL('./resources/whatsnew.avif', import.meta.url).toString()}>
137
+ </x-link>
138
+ </div>
139
+ `;
140
+ // clang-format on
141
+ LitHtml.render(tmpl, this.#shadow, {host: this});
142
+ const releaseNoteImage = this.#shadow.querySelector('img');
143
+ if (releaseNoteImage) {
144
+ UI.Tooltip.Tooltip.install(releaseNoteImage, getReleaseNote().header);
145
+ }
146
+ });
147
+ }
148
+ }
149
+
150
+ customElements.define('devtools-release-note-view', ReleaseNoteView);
151
+
152
+ declare global {
153
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
154
+ interface HTMLElementTagNameMap {
155
+ 'devtools-release-note-view': ReleaseNoteView;
156
+ }
157
+ }
@@ -0,0 +1,102 @@
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
+ import * as Common from '../../core/common/common.js'; // eslint-disable-line no-unused-vars
6
+ import * as Host from '../../core/host/host.js';
7
+ import type * as Platform from '../../core/platform/platform.js';
8
+ import * as UI from '../../ui/legacy/legacy.js'; // eslint-disable-line no-unused-vars
9
+
10
+ import {getReleaseNote} from './ReleaseNoteText.js';
11
+
12
+ export const releaseVersionSeen = 'releaseNoteVersionSeen';
13
+
14
+ export const releaseNoteViewId: string = 'release-note';
15
+
16
+ let releaseNoteVersionSetting: Common.Settings.Setting<number>;
17
+
18
+ export function showReleaseNoteIfNeeded(): boolean {
19
+ const releaseNoteVersionSetting = Common.Settings.Settings.instance().createSetting(releaseVersionSeen, 0);
20
+ const releaseNoteVersionSettingValue = releaseNoteVersionSetting.get();
21
+ const releaseNote = getReleaseNote();
22
+ return innerShowReleaseNoteIfNeeded(
23
+ releaseNoteVersionSettingValue, releaseNote.version,
24
+ Common.Settings.Settings.instance().moduleSetting('help.show-release-note').get());
25
+ }
26
+
27
+ export function getReleaseNoteVersionSetting(): Common.Settings.Setting<number> {
28
+ if (!releaseNoteVersionSetting) {
29
+ releaseNoteVersionSetting = Common.Settings.Settings.instance().createSetting(releaseVersionSeen, 0);
30
+ }
31
+ return releaseNoteVersionSetting;
32
+ }
33
+
34
+ function innerShowReleaseNoteIfNeeded(
35
+ lastSeenVersion: number, latestVersion: number, showReleaseNoteSettingEnabled: boolean): boolean {
36
+ const releaseNoteVersionSetting = Common.Settings.Settings.instance().createSetting(releaseVersionSeen, 0);
37
+ if (!lastSeenVersion) {
38
+ releaseNoteVersionSetting.set(latestVersion);
39
+ return false;
40
+ }
41
+ if (!showReleaseNoteSettingEnabled) {
42
+ return false;
43
+ }
44
+ if (lastSeenVersion >= latestVersion) {
45
+ return false;
46
+ }
47
+ releaseNoteVersionSetting.set(latestVersion);
48
+ void UI.ViewManager.ViewManager.instance().showView(releaseNoteViewId, true);
49
+ return true;
50
+ }
51
+
52
+ let helpLateInitializationInstance: HelpLateInitialization;
53
+ export class HelpLateInitialization implements Common.Runnable.Runnable {
54
+ static instance(opts: {forceNew: boolean|null} = {forceNew: null}): HelpLateInitialization {
55
+ const {forceNew} = opts;
56
+ if (!helpLateInitializationInstance || forceNew) {
57
+ helpLateInitializationInstance = new HelpLateInitialization();
58
+ }
59
+ return helpLateInitializationInstance;
60
+ }
61
+
62
+ async run(): Promise<void> {
63
+ if (!Host.InspectorFrontendHost.isUnderTest()) {
64
+ showReleaseNoteIfNeeded();
65
+ }
66
+ }
67
+ }
68
+
69
+ let releaseNotesActionDelegateInstance: ReleaseNotesActionDelegate;
70
+ export class ReleaseNotesActionDelegate implements UI.ActionRegistration.ActionDelegate {
71
+ handleAction(_context: UI.Context.Context, _actionId: string): boolean {
72
+ const releaseNote = getReleaseNote();
73
+ Host.InspectorFrontendHost.InspectorFrontendHostInstance.openInNewTab(
74
+ releaseNote.link as Platform.DevToolsPath.UrlString);
75
+ return true;
76
+ }
77
+ static instance(opts: {forceNew: boolean|null} = {forceNew: null}): ReleaseNotesActionDelegate {
78
+ const {forceNew} = opts;
79
+ if (!releaseNotesActionDelegateInstance || forceNew) {
80
+ releaseNotesActionDelegateInstance = new ReleaseNotesActionDelegate();
81
+ }
82
+
83
+ return releaseNotesActionDelegateInstance;
84
+ }
85
+ }
86
+
87
+ let reportIssueActionDelegateInstance: ReportIssueActionDelegate;
88
+ export class ReportIssueActionDelegate implements UI.ActionRegistration.ActionDelegate {
89
+ handleAction(_context: UI.Context.Context, _actionId: string): boolean {
90
+ Host.InspectorFrontendHost.InspectorFrontendHostInstance.openInNewTab(
91
+ 'https://goo.gle/devtools-bug' as Platform.DevToolsPath.UrlString);
92
+ return true;
93
+ }
94
+ static instance(opts: {forceNew: boolean|null} = {forceNew: null}): ReportIssueActionDelegate {
95
+ const {forceNew} = opts;
96
+ if (!reportIssueActionDelegateInstance || forceNew) {
97
+ reportIssueActionDelegateInstance = new ReportIssueActionDelegate();
98
+ }
99
+
100
+ return reportIssueActionDelegateInstance;
101
+ }
102
+ }
@@ -0,0 +1,121 @@
1
+ /*
2
+ * Copyright 2024 The Chromium Authors. All rights reserved.
3
+ * Use of this source code is governed by a BSD-style license that can be
4
+ * found in the LICENSE file.
5
+ */
6
+
7
+ * {
8
+ box-sizing: border-box;
9
+ }
10
+
11
+ .hbox {
12
+ overflow-y: auto;
13
+ overflow-x: hidden;
14
+ display: flex;
15
+ position: relative;
16
+ flex-direction: row;
17
+ }
18
+
19
+ .release-note-top-section {
20
+ height: 27px;
21
+ line-height: 27px;
22
+ padding: 0 15px;
23
+ flex: none;
24
+ color: var(--sys-color-on-surface);
25
+ background-color: var(--sys-color-cdt-base-container);
26
+ border-bottom: 1px solid var(--sys-color-divider);
27
+ overflow: hidden;
28
+ white-space: nowrap;
29
+ text-overflow: ellipsis;
30
+ }
31
+
32
+ .release-note-container {
33
+ display: flex;
34
+ flex-direction: column;
35
+ min-width: 350px;
36
+ }
37
+
38
+ .release-note-container ul {
39
+ display: flex;
40
+ padding: 10px 16px;
41
+ flex-direction: column;
42
+ flex: none;
43
+ margin: 4px 12px 0 2px;
44
+ max-width: 600px;
45
+ }
46
+
47
+ .release-note-container li {
48
+ display: flex;
49
+ flex-direction: column;
50
+ flex: none;
51
+ line-height: 200%;
52
+ font-size: 14px;
53
+ }
54
+
55
+ .release-note-container .release-note-link {
56
+ border: 1px solid var(--sys-color-divider);
57
+ padding-left: 8px;
58
+ padding-right: 8px;
59
+ margin-bottom: 4px;
60
+ text-decoration: none;
61
+ color: var(--sys-color-primary);
62
+ }
63
+
64
+ .release-note-container .release-note-link:hover {
65
+ box-shadow: 0 0 0 1px var(--box-shadow-outline-color) inset;
66
+ }
67
+
68
+ .release-note-title,
69
+ .release-note-subtitle {
70
+ color: inherit;
71
+ text-decoration: none;
72
+ }
73
+
74
+ .release-note-subtitle {
75
+ font-size: 13px;
76
+ line-height: 125%;
77
+ padding-bottom: 8px;
78
+ }
79
+
80
+ devtools-button {
81
+ margin: 10px 0 20px 20px;
82
+ }
83
+
84
+ .release-note-container li:not(:hover) .release-note-subtitle {
85
+ color: var(--sys-color-token-subtle);
86
+ }
87
+
88
+ .release-note-image {
89
+ flex-shrink: 2;
90
+ margin: 30px 15px;
91
+ width: 260px;
92
+ height: 200px;
93
+ }
94
+
95
+ img {
96
+ width: 260px;
97
+ height: 200px;
98
+ flex: none;
99
+ box-shadow: var(--drop-shadow-depth-1);
100
+ }
101
+
102
+ img:hover {
103
+ box-shadow: var(--drop-shadow-depth-4);
104
+ }
105
+
106
+ @media (forced-colors: active) {
107
+ .release-note-container .release-note-link {
108
+ border-color: ButtonText;
109
+ }
110
+
111
+ .release-note-container .release-note-link:hover {
112
+ forced-color-adjust: none;
113
+ border-color: Highlight;
114
+ }
115
+
116
+ .release-note-container li .release-note-title,
117
+ .release-note-container li:not(:hover) .release-note-subtitle {
118
+ forced-color-adjust: none;
119
+ color: linktext;
120
+ }
121
+ }
@@ -0,0 +1,6 @@
1
+ ### [AI assistance for Network, Performance, and Sources](ai-assistance)
2
+ In the AI assistance panel, you can now chat with Gemini about network requests, source files, and performance traces.
3
+ ### [AI chat history](chat-history)
4
+ While DevTools is open, you can now create and view several chats with AI.
5
+ ### [Interaction phases in live metrics](interaction-phases)
6
+ The Interactions tab in live metrics in the Performance panel now shows you phases and their timings.
@@ -0,0 +1,142 @@
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
+ import * as Common from '../../core/common/common.js';
6
+ import * as i18n from '../../core/i18n/i18n.js';
7
+ import * as UI from '../../ui/legacy/legacy.js';
8
+
9
+ // eslint-disable-next-line rulesdir/es_modules_import
10
+ import type * as WhatsNew from './whats_new.js';
11
+
12
+ const UIStrings = {
13
+ /**
14
+ *@description Title of the 'What's New' tool in the bottom drawer
15
+ */
16
+ whatsNew: 'What\'s new',
17
+ /**
18
+ *@description Command for showing the 'What's New' tool in the bottom drawer
19
+ */
20
+ showWhatsNew: 'Show what\'s new',
21
+ /**
22
+ *@description Title of an action in the 'What's New' tool to release notes
23
+ */
24
+ releaseNotes: 'Release notes',
25
+ /**
26
+ *@description Title of an action in the 'What's New' tool to file an issue
27
+ */
28
+ reportADevtoolsIssue: 'Report a DevTools issue',
29
+ /**
30
+ *@description A search term referring to a software defect (i.e. bug) that can be entered in the command menu
31
+ */
32
+ bug: 'bug',
33
+ /**
34
+ *@description Title of a setting under the Appearance category that can be invoked through the Command Menu
35
+ */
36
+ showWhatsNewAfterEachUpdate: 'Show what\'s new after each update',
37
+ /**
38
+ *@description Title of a setting under the Appearance category that can be invoked through the Command Menu
39
+ */
40
+ doNotShowWhatsNewAfterEachUpdate: 'Don\'t show what\'s new after each update',
41
+ };
42
+
43
+ const str_ = i18n.i18n.registerUIStrings('panels/whats_new/whats_new-meta.ts', UIStrings);
44
+
45
+ const i18nLazyString = i18n.i18n.getLazilyComputedLocalizedString.bind(undefined, str_);
46
+
47
+ let loadedHelpModule: (typeof WhatsNew|undefined);
48
+
49
+ async function loadWhatsNewModule(): Promise<typeof WhatsNew> {
50
+ if (!loadedHelpModule) {
51
+ loadedHelpModule = await import('./whats_new.js');
52
+ }
53
+ return loadedHelpModule;
54
+ }
55
+ UI.ViewManager.maybeRemoveViewExtension('release-note');
56
+ UI.ActionRegistration.maybeRemoveActionExtension('help.release-notes');
57
+ UI.ActionRegistration.maybeRemoveActionExtension('help.report-issue');
58
+ Common.Settings.maybeRemoveSettingExtension('help.show-release-note');
59
+ UI.ContextMenu.maybeRemoveItem({
60
+ location: UI.ContextMenu.ItemLocation.MAIN_MENU_HELP_DEFAULT,
61
+ actionId: 'help.release-notes',
62
+ order: undefined,
63
+ });
64
+ UI.ContextMenu.maybeRemoveItem({
65
+ location: UI.ContextMenu.ItemLocation.MAIN_MENU_HELP_DEFAULT,
66
+ actionId: 'help.report-issue',
67
+ order: undefined,
68
+ });
69
+
70
+ Common.Runnable.maybeRemoveLateInitializationRunnable('whats-new');
71
+
72
+ UI.ViewManager.registerViewExtension({
73
+ location: UI.ViewManager.ViewLocationValues.DRAWER_VIEW,
74
+ id: 'release-note',
75
+ title: i18nLazyString(UIStrings.whatsNew),
76
+ commandPrompt: i18nLazyString(UIStrings.showWhatsNew),
77
+ persistence: UI.ViewManager.ViewPersistence.CLOSEABLE,
78
+ order: 1,
79
+ async loadView() {
80
+ const WhatsNew = await loadWhatsNewModule();
81
+ return WhatsNew.ReleaseNoteView.ReleaseNoteViewWrapper.instance();
82
+ },
83
+ });
84
+
85
+ UI.ActionRegistration.registerActionExtension({
86
+ category: UI.ActionRegistration.ActionCategory.HELP,
87
+ actionId: 'help.release-notes',
88
+ title: i18nLazyString(UIStrings.releaseNotes),
89
+ async loadActionDelegate() {
90
+ const WhatsNew = await loadWhatsNewModule();
91
+ return WhatsNew.WhatsNew.ReleaseNotesActionDelegate.instance();
92
+ },
93
+ });
94
+
95
+ UI.ActionRegistration.registerActionExtension({
96
+ category: UI.ActionRegistration.ActionCategory.HELP,
97
+ actionId: 'help.report-issue',
98
+ title: i18nLazyString(UIStrings.reportADevtoolsIssue),
99
+ async loadActionDelegate() {
100
+ const WhatsNew = await loadWhatsNewModule();
101
+ return WhatsNew.WhatsNew.ReportIssueActionDelegate.instance();
102
+ },
103
+ tags: [i18nLazyString(UIStrings.bug)],
104
+ });
105
+
106
+ Common.Settings.registerSettingExtension({
107
+ category: Common.Settings.SettingCategory.APPEARANCE,
108
+ title: i18nLazyString(UIStrings.showWhatsNewAfterEachUpdate),
109
+ settingName: 'help.show-release-note',
110
+ settingType: Common.Settings.SettingType.BOOLEAN,
111
+ defaultValue: true,
112
+ options: [
113
+ {
114
+ value: true,
115
+ title: i18nLazyString(UIStrings.showWhatsNewAfterEachUpdate),
116
+ },
117
+ {
118
+ value: false,
119
+ title: i18nLazyString(UIStrings.doNotShowWhatsNewAfterEachUpdate),
120
+ },
121
+ ],
122
+ });
123
+
124
+ UI.ContextMenu.registerItem({
125
+ location: UI.ContextMenu.ItemLocation.MAIN_MENU_HELP_DEFAULT,
126
+ actionId: 'help.release-notes',
127
+ order: 10,
128
+ });
129
+
130
+ UI.ContextMenu.registerItem({
131
+ location: UI.ContextMenu.ItemLocation.MAIN_MENU_HELP_DEFAULT,
132
+ actionId: 'help.report-issue',
133
+ order: 11,
134
+ });
135
+
136
+ Common.Runnable.registerLateInitializationRunnable({
137
+ id: 'whats-new',
138
+ async loadRunnable() {
139
+ const WhatsNew = await loadWhatsNewModule();
140
+ return WhatsNew.WhatsNew.HelpLateInitialization.instance();
141
+ },
142
+ });
@@ -0,0 +1,13 @@
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
+ import * as ReleaseNoteText from './ReleaseNoteText.js';
6
+ import * as ReleaseNoteView from './ReleaseNoteView.js';
7
+ import * as WhatsNew from './WhatsNewImpl.js';
8
+
9
+ export {
10
+ ReleaseNoteText,
11
+ ReleaseNoteView,
12
+ WhatsNew,
13
+ };
@@ -2,9 +2,9 @@
2
2
  // Use of this source code is governed by a BSD-style license that can be
3
3
  // found in the LICENSE file.
4
4
 
5
- import * as puppeteer from '../../third_party/puppeteer/puppeteer.js';
6
- import type * as Protocol from '../../generated/protocol.js';
7
5
  import type * as SDK from '../../core/sdk/sdk.js';
6
+ import type * as Protocol from '../../generated/protocol.js';
7
+ import * as puppeteer from '../../third_party/puppeteer/puppeteer.js';
8
8
 
9
9
  class Transport implements puppeteer.ConnectionTransport {
10
10
  #connection: SDK.Connections.ParallelConnectionInterface;
@@ -84,9 +84,10 @@ export class PuppeteerConnectionHelper {
84
84
  [] /* contextIds */,
85
85
  false /* ignoreHTTPSErrors */,
86
86
  undefined /* defaultViewport */,
87
+ undefined /* DownloadBehavior */,
87
88
  undefined /* process */,
88
89
  undefined /* closeCallback */,
89
- undefined,
90
+ undefined /* targetFilterCallback */,
90
91
  target => isPageTargetCallback((target as puppeteer.Target)._getTargetInfo()),
91
92
  false /* waitForInitiallyDiscoveredTargets */,
92
93
  );
@@ -131,7 +131,6 @@ const REGISTERED_EXPERIMENTS = [
131
131
  Root.Runtime.ExperimentName.FULL_ACCESSIBILITY_TREE,
132
132
  Root.Runtime.ExperimentName.TIMELINE_SHOW_POST_MESSAGE_EVENTS,
133
133
  Root.Runtime.ExperimentName.TIMELINE_ENHANCED_TRACES,
134
- Root.Runtime.ExperimentName.EXTENSION_STORAGE_VIEWER,
135
134
  Root.Runtime.ExperimentName.TIMELINE_EXPERIMENTAL_INSIGHTS,
136
135
  Root.Runtime.ExperimentName.TIMELINE_DIM_UNRELATED_EVENTS,
137
136
  Root.Runtime.ExperimentName.TIMELINE_ALTERNATIVE_NAVIGATION,
@@ -287,7 +286,7 @@ export async function initializeGlobalVars({reset = true} = {}) {
287
286
  createSettingValue(
288
287
  Common.Settings.SettingCategory.CONSOLE, 'console-trace-expand', false, Common.Settings.SettingType.BOOLEAN),
289
288
  createSettingValue(
290
- Common.Settings.SettingCategory.PERFORMANCE, 'flamechart-mouse-wheel-action', false,
289
+ Common.Settings.SettingCategory.PERFORMANCE, 'flamechart-selected-navigation', false,
291
290
  Common.Settings.SettingType.ENUM),
292
291
  createSettingValue(
293
292
  Common.Settings.SettingCategory.ELEMENTS, 'show-css-property-documentation-on-hover', false,
@@ -141,22 +141,34 @@ export class OriginalScopeBuilder {
141
141
  this.#names = names;
142
142
  }
143
143
 
144
- start(line: number, column: number, kind: string, name?: string, variables?: string[]): this {
144
+ start(
145
+ line: number, column: number,
146
+ options?: {name?: string, kind?: string, isStackFrame?: boolean, variables?: string[]}): this {
145
147
  if (this.#encodedScope !== '') {
146
148
  this.#encodedScope += ',';
147
149
  }
148
150
 
149
151
  const lineDiff = line - this.#lastLine;
150
152
  this.#lastLine = line;
151
- const flags = (name !== undefined ? 0x1 : 0x0);
152
-
153
- this.#encodedScope += encodeVlqList([lineDiff, column, this.#encodeKind(kind), flags]);
153
+ let flags = 0;
154
+ const nameIdxAndKindIdx: number[] = [];
154
155
 
155
- if (name !== undefined) {
156
- this.#encodedScope += encodeVlq(this.#nameIdx(name));
156
+ if (options?.name) {
157
+ flags |= SDK.SourceMapScopes.EncodedOriginalScopeFlag.HAS_NAME;
158
+ nameIdxAndKindIdx.push(this.#nameIdx(options.name));
157
159
  }
158
- if (variables !== undefined) {
159
- this.#encodedScope += encodeVlqList(variables.map(variable => this.#nameIdx(variable)));
160
+ if (options?.kind) {
161
+ flags |= SDK.SourceMapScopes.EncodedOriginalScopeFlag.HAS_KIND;
162
+ nameIdxAndKindIdx.push(this.#encodeKind(options?.kind));
163
+ }
164
+ if (options?.isStackFrame) {
165
+ flags |= SDK.SourceMapScopes.EncodedOriginalScopeFlag.IS_STACK_FRAME;
166
+ }
167
+
168
+ this.#encodedScope += encodeVlqList([lineDiff, column, flags, ...nameIdxAndKindIdx]);
169
+
170
+ if (options?.variables) {
171
+ this.#encodedScope += encodeVlqList(options.variables.map(variable => this.#nameIdx(variable)));
160
172
  }
161
173
 
162
174
  return this;
@@ -218,7 +230,8 @@ export class GeneratedRangeBuilder {
218
230
  }
219
231
 
220
232
  start(line: number, column: number, options?: {
221
- isFunctionScope?: boolean,
233
+ isStackFrame?: boolean,
234
+ isHidden?: boolean,
222
235
  definition?: {sourceIdx: number, scopeIdx: number},
223
236
  callsite?: {sourceIdx: number, line: number, column: number},
224
237
  bindings?: (string|undefined|{line: number, column: number, name: string|undefined}[])[],
@@ -239,8 +252,11 @@ export class GeneratedRangeBuilder {
239
252
  if (options?.callsite) {
240
253
  flags |= SDK.SourceMapScopes.EncodedGeneratedRangeFlag.HAS_CALLSITE;
241
254
  }
242
- if (options?.isFunctionScope) {
243
- flags |= SDK.SourceMapScopes.EncodedGeneratedRangeFlag.IS_FUNCTION_SCOPE;
255
+ if (options?.isStackFrame) {
256
+ flags |= SDK.SourceMapScopes.EncodedGeneratedRangeFlag.IS_STACK_FRAME;
257
+ }
258
+ if (options?.isHidden) {
259
+ flags |= SDK.SourceMapScopes.EncodedGeneratedRangeFlag.IS_HIDDEN;
244
260
  }
245
261
  this.#encodedRange += encodeVlq(flags);
246
262
 
@@ -463,7 +463,7 @@ export class FakeFlameChartProvider implements PerfUI.FlameChart.FlameChartDataP
463
463
  return 3;
464
464
  }
465
465
 
466
- prepareHighlightedEntryInfo(_entryIndex: number): Element|null {
466
+ preparePopoverElement(_entryIndex: number): Element|null {
467
467
  return null;
468
468
  }
469
469
 
@@ -626,6 +626,7 @@ export function getBaseTraceParseModelData(overrides: Partial<ParsedTrace> = {})
626
626
  ImagePainting: {
627
627
  paintImageByDrawLazyPixelRef: new Map(),
628
628
  paintImageForEvent: new Map(),
629
+ paintImageEventForUrl: new Map(),
629
630
  },
630
631
  Initiators: {
631
632
  eventToInitiator: new Map(),