chrome-devtools-frontend 1.0.1362775 → 1.0.1376716

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 (1655) hide show
  1. package/.eslintrc.js +1 -0
  2. package/.stylelintrc.json +2 -1
  3. package/.vscode/extensions.json +4 -4
  4. package/config/gni/devtools_grd_files.gni +43 -9
  5. package/config/gni/devtools_image_files.gni +5 -1
  6. package/docs/README.md +1 -5
  7. package/docs/checklist/javascript.md +45 -8
  8. package/docs/contributing/design.md +1 -1
  9. package/docs/contributing/issues.md +15 -0
  10. package/docs/contributing/settings-experiments-features.md +1 -1
  11. package/docs/cookbook/README.md +12 -0
  12. package/docs/cookbook/create_new_issues.md +91 -0
  13. package/docs/cookbook/dependencies.md +103 -0
  14. package/docs/cookbook/localization.md +320 -0
  15. package/docs/cookbook/navbar.md +8 -0
  16. package/docs/cookbook/release_management.md +60 -0
  17. package/docs/cookbook/uma_metrics.md +121 -0
  18. package/docs/dependencies.md +1 -100
  19. package/docs/l10n.md +1 -295
  20. package/docs/release_management.md +1 -53
  21. package/extensions/cxx_debugging/e2e/standalone/MemoryInspector_test.ts +1 -1
  22. package/extensions/cxx_debugging/e2e/tsconfig.json +1 -0
  23. package/extensions/cxx_debugging/src/ExtensionOptions.ts +6 -8
  24. package/extensions/cxx_debugging/tests/CreditsItem_test.ts +4 -4
  25. package/extensions/cxx_debugging/third_party/llvm/README.chromium +1 -1
  26. package/front_end/.eslintrc.js +0 -6
  27. package/front_end/Images/src/button-magic.svg +3 -0
  28. package/front_end/Images/src/center-focus-weak.svg +1 -0
  29. package/front_end/Images/src/history.svg +3 -0
  30. package/front_end/Images/src/home.svg +1 -0
  31. package/front_end/Images/src/performance-panel-delete-annotation.svg +32 -0
  32. package/front_end/Images/src/performance-panel-diagram.svg +19 -14
  33. package/front_end/Images/src/performance-panel-entry-label.svg +9 -16
  34. package/front_end/Images/src/performance-panel-time-range.svg +2 -8
  35. package/front_end/core/common/AppProvider.ts +1 -1
  36. package/front_end/core/common/Color.ts +10 -0
  37. package/front_end/core/common/Object.ts +2 -7
  38. package/front_end/core/common/ResourceType.test.ts +26 -26
  39. package/front_end/core/common/ResourceType.ts +21 -12
  40. package/front_end/core/common/Revealer.ts +5 -0
  41. package/front_end/core/common/SettingRegistration.ts +1 -1
  42. package/front_end/core/common/Settings.ts +6 -2
  43. package/front_end/core/host/AidaClient.ts +65 -1
  44. package/front_end/core/host/InspectorFrontendHost.ts +2 -2
  45. package/front_end/core/host/InspectorFrontendHostAPI.ts +8 -1
  46. package/front_end/core/host/ResourceLoader.ts +1 -1
  47. package/front_end/core/host/UserMetrics.ts +28 -13
  48. package/front_end/core/i18n/locales/af.json +598 -109
  49. package/front_end/core/i18n/locales/am.json +607 -118
  50. package/front_end/core/i18n/locales/ar.json +888 -399
  51. package/front_end/core/i18n/locales/as.json +603 -114
  52. package/front_end/core/i18n/locales/az.json +606 -117
  53. package/front_end/core/i18n/locales/be.json +599 -110
  54. package/front_end/core/i18n/locales/bg.json +598 -109
  55. package/front_end/core/i18n/locales/bn.json +609 -120
  56. package/front_end/core/i18n/locales/bs.json +607 -118
  57. package/front_end/core/i18n/locales/ca.json +601 -112
  58. package/front_end/core/i18n/locales/cs.json +605 -116
  59. package/front_end/core/i18n/locales/cy.json +603 -114
  60. package/front_end/core/i18n/locales/da.json +599 -110
  61. package/front_end/core/i18n/locales/de.json +604 -115
  62. package/front_end/core/i18n/locales/el.json +596 -107
  63. package/front_end/core/i18n/locales/en-GB.json +599 -110
  64. package/front_end/core/i18n/locales/es-419.json +600 -111
  65. package/front_end/core/i18n/locales/es.json +602 -113
  66. package/front_end/core/i18n/locales/et.json +601 -112
  67. package/front_end/core/i18n/locales/eu.json +605 -116
  68. package/front_end/core/i18n/locales/fa.json +609 -120
  69. package/front_end/core/i18n/locales/fi.json +598 -109
  70. package/front_end/core/i18n/locales/fil.json +605 -116
  71. package/front_end/core/i18n/locales/fr-CA.json +602 -113
  72. package/front_end/core/i18n/locales/fr.json +600 -111
  73. package/front_end/core/i18n/locales/gl.json +595 -106
  74. package/front_end/core/i18n/locales/gu.json +605 -116
  75. package/front_end/core/i18n/locales/he.json +603 -114
  76. package/front_end/core/i18n/locales/hi.json +600 -111
  77. package/front_end/core/i18n/locales/hr.json +600 -111
  78. package/front_end/core/i18n/locales/hu.json +600 -111
  79. package/front_end/core/i18n/locales/hy.json +599 -110
  80. package/front_end/core/i18n/locales/id.json +603 -114
  81. package/front_end/core/i18n/locales/is.json +598 -109
  82. package/front_end/core/i18n/locales/it.json +602 -113
  83. package/front_end/core/i18n/locales/ja.json +596 -107
  84. package/front_end/core/i18n/locales/ka.json +597 -108
  85. package/front_end/core/i18n/locales/kk.json +884 -395
  86. package/front_end/core/i18n/locales/km.json +605 -116
  87. package/front_end/core/i18n/locales/kn.json +606 -117
  88. package/front_end/core/i18n/locales/ko.json +591 -102
  89. package/front_end/core/i18n/locales/ky.json +599 -110
  90. package/front_end/core/i18n/locales/lo.json +608 -119
  91. package/front_end/core/i18n/locales/lt.json +597 -108
  92. package/front_end/core/i18n/locales/lv.json +606 -117
  93. package/front_end/core/i18n/locales/mk.json +885 -396
  94. package/front_end/core/i18n/locales/ml.json +601 -112
  95. package/front_end/core/i18n/locales/mn.json +599 -110
  96. package/front_end/core/i18n/locales/mr.json +601 -112
  97. package/front_end/core/i18n/locales/ms.json +602 -113
  98. package/front_end/core/i18n/locales/my.json +604 -115
  99. package/front_end/core/i18n/locales/ne.json +609 -120
  100. package/front_end/core/i18n/locales/nl.json +597 -108
  101. package/front_end/core/i18n/locales/no.json +601 -112
  102. package/front_end/core/i18n/locales/or.json +601 -112
  103. package/front_end/core/i18n/locales/pa.json +600 -111
  104. package/front_end/core/i18n/locales/pl.json +601 -112
  105. package/front_end/core/i18n/locales/pt-PT.json +600 -111
  106. package/front_end/core/i18n/locales/pt.json +596 -107
  107. package/front_end/core/i18n/locales/ro.json +601 -112
  108. package/front_end/core/i18n/locales/ru.json +609 -120
  109. package/front_end/core/i18n/locales/si.json +603 -114
  110. package/front_end/core/i18n/locales/sk.json +599 -110
  111. package/front_end/core/i18n/locales/sl.json +601 -112
  112. package/front_end/core/i18n/locales/sq.json +602 -113
  113. package/front_end/core/i18n/locales/sr-Latn.json +598 -109
  114. package/front_end/core/i18n/locales/sr.json +598 -109
  115. package/front_end/core/i18n/locales/sv.json +600 -111
  116. package/front_end/core/i18n/locales/sw.json +606 -117
  117. package/front_end/core/i18n/locales/ta.json +892 -403
  118. package/front_end/core/i18n/locales/te.json +604 -115
  119. package/front_end/core/i18n/locales/th.json +597 -108
  120. package/front_end/core/i18n/locales/tr.json +601 -112
  121. package/front_end/core/i18n/locales/uk.json +598 -109
  122. package/front_end/core/i18n/locales/ur.json +604 -115
  123. package/front_end/core/i18n/locales/uz.json +599 -110
  124. package/front_end/core/i18n/locales/vi.json +602 -113
  125. package/front_end/core/i18n/locales/zh-HK.json +599 -110
  126. package/front_end/core/i18n/locales/zh-TW.json +595 -106
  127. package/front_end/core/i18n/locales/zh.json +601 -112
  128. package/front_end/core/i18n/locales/zu.json +607 -118
  129. package/front_end/core/i18n/time-utilities.ts +7 -1
  130. package/front_end/core/platform/ArrayUtilities.ts +1 -0
  131. package/front_end/core/platform/DevToolsPath.ts +1 -1
  132. package/front_end/core/platform/Timing.ts +1 -1
  133. package/front_end/core/platform/UIString.ts +1 -1
  134. package/front_end/core/platform/UserVisibleError.ts +1 -1
  135. package/front_end/core/root/Runtime.ts +26 -9
  136. package/front_end/core/sdk/AccessibilityModel.ts +3 -4
  137. package/front_end/{panels/animation → core/sdk}/AnimationModel.test.ts +85 -6
  138. package/front_end/{panels/animation → core/sdk}/AnimationModel.ts +303 -37
  139. package/front_end/core/sdk/CPUProfilerModel.ts +3 -4
  140. package/front_end/core/sdk/CSSContainerQuery.ts +7 -5
  141. package/front_end/core/sdk/CSSLayer.ts +2 -2
  142. package/front_end/core/sdk/CSSMatchedStyles.test.ts +5 -0
  143. package/front_end/core/sdk/CSSMatchedStyles.ts +23 -12
  144. package/front_end/core/sdk/CSSMedia.ts +2 -2
  145. package/front_end/core/sdk/CSSMetadata.ts +27 -0
  146. package/front_end/core/sdk/CSSModel.ts +1 -0
  147. package/front_end/core/sdk/CSSProperty.ts +2 -2
  148. package/front_end/core/sdk/CSSQuery.ts +2 -2
  149. package/front_end/core/sdk/CSSRule.ts +2 -2
  150. package/front_end/core/sdk/CSSScope.ts +2 -2
  151. package/front_end/core/sdk/CSSStyleDeclaration.test.ts +10 -0
  152. package/front_end/core/sdk/CSSStyleDeclaration.ts +4 -4
  153. package/front_end/core/sdk/CSSStyleSheetHeader.ts +4 -4
  154. package/front_end/core/sdk/CSSSupports.ts +2 -2
  155. package/front_end/core/sdk/CookieModel.ts +1 -1
  156. package/front_end/core/sdk/DOMDebuggerModel.ts +1 -1
  157. package/front_end/core/sdk/DOMModel.ts +3 -3
  158. package/front_end/core/sdk/DebuggerModel.test.ts +2 -0
  159. package/front_end/core/sdk/DebuggerModel.ts +9 -3
  160. package/front_end/core/sdk/EmulationModel.ts +32 -0
  161. package/front_end/core/sdk/EnhancedTracesParser.test.ts +5 -9
  162. package/front_end/core/sdk/EnhancedTracesParser.ts +5 -10
  163. package/front_end/core/sdk/EventBreakpointsModel.ts +1 -2
  164. package/front_end/core/sdk/FrameAssociated.ts +1 -1
  165. package/front_end/core/sdk/FrameManager.ts +9 -7
  166. package/front_end/core/sdk/HeapProfilerModel.ts +3 -4
  167. package/front_end/core/sdk/IsolateManager.ts +2 -3
  168. package/front_end/core/sdk/LayerTreeBase.ts +2 -2
  169. package/front_end/core/sdk/NetworkManager.ts +1 -1
  170. package/front_end/core/sdk/OverlayModel.ts +2 -2
  171. package/front_end/core/sdk/OverlayPersistentHighlighter.ts +1 -1
  172. package/front_end/core/sdk/PageLoad.ts +1 -1
  173. package/front_end/core/sdk/PageResourceLoader.ts +1 -1
  174. package/front_end/core/sdk/RehydratingConnection.test.ts +190 -0
  175. package/front_end/core/sdk/RehydratingConnection.ts +310 -0
  176. package/front_end/core/sdk/RehydratingObject.ts +26 -2
  177. package/front_end/core/sdk/RemoteObject.ts +3 -3
  178. package/front_end/core/sdk/Resource.ts +2 -2
  179. package/front_end/core/sdk/ResourceTreeModel.ts +1 -1
  180. package/front_end/core/sdk/RuntimeModel.ts +31 -0
  181. package/front_end/core/sdk/SDKModel.ts +1 -1
  182. package/front_end/core/sdk/Script.ts +6 -6
  183. package/front_end/core/sdk/ServiceWorkerCacheModel.ts +5 -7
  184. package/front_end/core/sdk/SourceMap.ts +1 -1
  185. package/front_end/core/sdk/SourceMapManager.ts +1 -1
  186. package/front_end/core/sdk/SourceMapScopeChainEntry.ts +2 -2
  187. package/front_end/core/sdk/SourceMapScopesInfo.ts +2 -2
  188. package/front_end/core/sdk/Target.ts +3 -2
  189. package/front_end/core/sdk/TargetManager.ts +4 -1
  190. package/front_end/core/sdk/TraceObject.ts +8 -0
  191. package/front_end/core/sdk/WebAuthnModel.ts +20 -0
  192. package/front_end/core/sdk/sdk-meta.ts +7 -0
  193. package/front_end/core/sdk/sdk.ts +2 -0
  194. package/front_end/devtools_compatibility.js +3 -4
  195. package/front_end/entrypoints/formatter_worker/CSSFormatter.ts +1 -1
  196. package/front_end/entrypoints/formatter_worker/HTMLFormatter.ts +1 -1
  197. package/front_end/entrypoints/formatter_worker/IdentityFormatter.ts +1 -1
  198. package/front_end/entrypoints/formatter_worker/JSONFormatter.ts +1 -1
  199. package/front_end/entrypoints/formatter_worker/JavaScriptFormatter.ts +1 -1
  200. package/front_end/entrypoints/heap_snapshot_worker/AllocationProfile.ts +1 -1
  201. package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshot.ts +107 -86
  202. package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshotLoader.ts +1 -1
  203. package/front_end/entrypoints/main/MainImpl.ts +21 -1
  204. package/front_end/generated/InspectorBackendCommands.js +15 -12
  205. package/front_end/generated/SupportedCSSProperties.js +35 -15
  206. package/front_end/generated/protocol-mapping.d.ts +14 -3
  207. package/front_end/generated/protocol-proxy-api.d.ts +16 -3
  208. package/front_end/generated/protocol.ts +63 -3
  209. package/front_end/legacy_test_runner/network_test_runner/network_test_runner.js +1 -0
  210. package/front_end/legacy_test_runner/sdk_test_runner/sdk_test_runner.js +4 -2
  211. package/front_end/models/bindings/CSSWorkspaceBinding.ts +2 -2
  212. package/front_end/models/bindings/CompilerScriptMapping.ts +1 -2
  213. package/front_end/models/bindings/DebuggerLanguagePlugins.test.ts +1 -1
  214. package/front_end/models/bindings/DebuggerLanguagePlugins.ts +2 -2
  215. package/front_end/models/bindings/DebuggerWorkspaceBinding.ts +1 -1
  216. package/front_end/models/bindings/DefaultScriptMapping.ts +1 -1
  217. package/front_end/models/bindings/IgnoreListManager.test.ts +49 -12
  218. package/front_end/models/bindings/IgnoreListManager.ts +79 -5
  219. package/front_end/models/bindings/ResourceMapping.ts +1 -1
  220. package/front_end/models/bindings/StylesSourceMapping.ts +11 -6
  221. package/front_end/models/breakpoints/BreakpointManager.test.ts +1 -1
  222. package/front_end/models/extensions/ExtensionPanel.ts +1 -1
  223. package/front_end/models/extensions/ExtensionServer.test.ts +1 -1
  224. package/front_end/models/extensions/ExtensionServer.ts +1 -1
  225. package/front_end/models/extensions/ExtensionView.ts +1 -1
  226. package/front_end/models/extensions/LanguageExtensionEndpoint.ts +1 -1
  227. package/front_end/models/extensions/RecorderPluginManager.ts +1 -1
  228. package/front_end/models/har/HARFormat.ts +1 -0
  229. package/front_end/models/har/Importer.test.ts +16 -2
  230. package/front_end/models/har/Importer.ts +3 -3
  231. package/front_end/models/har/Log.test.ts +23 -0
  232. package/front_end/models/har/Log.ts +6 -4
  233. package/front_end/models/heap_snapshot_model/HeapSnapshotModel.ts +4 -2
  234. package/front_end/models/issues_manager/AttributionReportingIssue.ts +59 -19
  235. package/front_end/models/issues_manager/BounceTrackingIssue.ts +1 -2
  236. package/front_end/models/issues_manager/CookieDeprecationMetadataIssue.ts +1 -1
  237. package/front_end/models/issues_manager/CookieIssue.ts +12 -0
  238. package/front_end/models/issues_manager/CorsIssue.ts +1 -1
  239. package/front_end/models/issues_manager/HeavyAdIssue.ts +1 -1
  240. package/front_end/models/issues_manager/Issue.ts +1 -1
  241. package/front_end/models/issues_manager/IssueResolver.ts +2 -2
  242. package/front_end/models/issues_manager/IssuesManager.ts +1 -1
  243. package/front_end/models/issues_manager/LowTextContrastIssue.ts +1 -1
  244. package/front_end/models/issues_manager/MixedContentIssue.ts +1 -1
  245. package/front_end/models/issues_manager/PropertyRuleIssue.ts +1 -1
  246. package/front_end/models/issues_manager/QuirksModeIssue.ts +1 -1
  247. package/front_end/models/issues_manager/RelatedIssue.ts +1 -1
  248. package/front_end/models/issues_manager/SharedArrayBufferIssue.ts +3 -3
  249. package/front_end/models/issues_manager/SourceFrameIssuesManager.ts +1 -1
  250. package/front_end/models/issues_manager/StylesheetLoadingIssue.ts +1 -1
  251. package/front_end/models/issues_manager/descriptions/arInvalidInfoHeader.md +5 -0
  252. package/front_end/models/issues_manager/descriptions/arNavigationRegistrationUniqueScopeAlreadySet.md +5 -0
  253. package/front_end/models/issues_manager/descriptions/arNoRegisterOsSourceHeader.md +5 -0
  254. package/front_end/models/issues_manager/descriptions/arNoRegisterOsTriggerHeader.md +5 -0
  255. package/front_end/models/issues_manager/descriptions/arNoRegisterSourceHeader.md +5 -0
  256. package/front_end/models/issues_manager/descriptions/arNoRegisterTriggerHeader.md +5 -0
  257. package/front_end/models/issues_manager/descriptions/arNoWebOrOsSupport.md +4 -0
  258. package/front_end/models/issues_manager/descriptions/placeholderDescriptionForInvisibleIssues.md +3 -0
  259. package/front_end/models/javascript_metadata/NativeFunctions.js +132 -73
  260. package/front_end/models/live-metrics/LiveMetrics.ts +152 -48
  261. package/front_end/models/live-metrics/web-vitals-injected/OnEachInteraction.ts +24 -61
  262. package/front_end/models/live-metrics/web-vitals-injected/spec/spec.ts +50 -22
  263. package/front_end/models/live-metrics/web-vitals-injected/web-vitals-injected.ts +43 -5
  264. package/front_end/models/persistence/EditFileSystemView.ts +1 -1
  265. package/front_end/models/persistence/FileSystemWorkspaceBinding.ts +2 -3
  266. package/front_end/models/persistence/IsolatedFileSystemManager.ts +2 -3
  267. package/front_end/models/persistence/WorkspaceSettingsTab.ts +2 -2
  268. package/front_end/models/text_utils/ContentProvider.ts +3 -3
  269. package/front_end/models/text_utils/StaticContentProvider.ts +1 -5
  270. package/front_end/models/text_utils/TextUtils.ts +1 -1
  271. package/front_end/models/text_utils/WasmDisassembly.ts +1 -1
  272. package/front_end/models/timeline_model/TimelineModelFilter.ts +2 -2
  273. package/front_end/models/timeline_model/TimelineProfileTree.test.ts +21 -21
  274. package/front_end/models/timeline_model/TimelineProfileTree.ts +1 -1
  275. package/front_end/models/trace/ModelImpl.test.ts +1 -1
  276. package/front_end/models/trace/ModelImpl.ts +10 -27
  277. package/front_end/models/trace/Processor.test.ts +16 -15
  278. package/front_end/models/trace/Processor.ts +38 -10
  279. package/front_end/models/trace/extras/FilmStrip.ts +2 -2
  280. package/front_end/models/trace/extras/ThirdParties.test.ts +117 -0
  281. package/front_end/models/trace/extras/ThirdParties.ts +207 -0
  282. package/front_end/models/trace/extras/extras.ts +1 -0
  283. package/front_end/models/trace/handlers/FramesHandler.ts +12 -5
  284. package/front_end/models/trace/handlers/InitiatorsHandler.test.ts +40 -0
  285. package/front_end/models/trace/handlers/InitiatorsHandler.ts +9 -0
  286. package/front_end/models/trace/handlers/LayoutShiftsHandler.test.ts +2 -2
  287. package/front_end/models/trace/handlers/LayoutShiftsHandler.ts +27 -1
  288. package/front_end/models/trace/handlers/MetaHandler.ts +4 -0
  289. package/front_end/models/trace/handlers/NetworkRequestsHandler.ts +2 -2
  290. package/front_end/models/trace/handlers/PageLoadMetricsHandler.ts +1 -1
  291. package/front_end/models/trace/handlers/RendererHandler.test.ts +5 -5
  292. package/front_end/models/trace/handlers/SamplesHandler.test.ts +2 -2
  293. package/front_end/models/trace/handlers/ScreenshotsHandler.test.ts +5 -4
  294. package/front_end/models/trace/handlers/ScreenshotsHandler.ts +7 -5
  295. package/front_end/models/trace/handlers/Threads.ts +2 -2
  296. package/front_end/models/trace/handlers/WarningsHandler.ts +1 -1
  297. package/front_end/models/trace/helpers/Network.ts +20 -2
  298. package/front_end/models/trace/helpers/SyntheticEvents.test.ts +1 -1
  299. package/front_end/models/trace/helpers/Timing.test.ts +29 -0
  300. package/front_end/models/trace/helpers/Timing.ts +18 -0
  301. package/front_end/models/trace/helpers/Trace.test.ts +34 -3
  302. package/front_end/models/trace/helpers/Trace.ts +12 -0
  303. package/front_end/models/trace/helpers/TreeHelpers.test.ts +70 -0
  304. package/front_end/models/trace/helpers/TreeHelpers.ts +170 -1
  305. package/front_end/models/trace/insights/Common.ts +1 -1
  306. package/front_end/models/trace/insights/CumulativeLayoutShift.test.ts +46 -2
  307. package/front_end/models/trace/insights/CumulativeLayoutShift.ts +164 -47
  308. package/front_end/models/trace/insights/DocumentLatency.test.ts +22 -11
  309. package/front_end/models/trace/insights/DocumentLatency.ts +9 -6
  310. package/front_end/models/trace/insights/FontDisplay.ts +5 -1
  311. package/front_end/models/trace/insights/InteractionToNextPaint.ts +4 -3
  312. package/front_end/models/trace/insights/LargestContentfulPaint.test.ts +9 -1
  313. package/front_end/models/trace/insights/LargestContentfulPaint.ts +26 -6
  314. package/front_end/models/trace/insights/RenderBlocking.test.ts +10 -16
  315. package/front_end/models/trace/insights/RenderBlocking.ts +6 -4
  316. package/front_end/models/trace/insights/SlowCSSSelector.ts +3 -1
  317. package/front_end/models/trace/insights/ThirdPartyWeb.ts +21 -178
  318. package/front_end/models/trace/insights/Viewport.ts +1 -0
  319. package/front_end/models/trace/insights/types.ts +14 -11
  320. package/front_end/models/trace/lantern/core/NetworkAnalyzer.test.ts +4 -4
  321. package/front_end/models/trace/lantern/core/NetworkAnalyzer.ts +9 -5
  322. package/front_end/models/trace/lantern/graph/BaseNode.ts +2 -2
  323. package/front_end/models/trace/lantern/graph/PageDependencyGraph.ts +4 -3
  324. package/front_end/models/trace/lantern/simulation/Simulator.ts +1 -1
  325. package/front_end/models/trace/lantern/simulation/TCPConnection.ts +1 -1
  326. package/front_end/models/trace/lantern/testing/MetricTestUtils.ts +5 -1
  327. package/front_end/models/trace/root-causes/LayoutShift.ts +3 -20
  328. package/front_end/models/trace/types/Extensions.ts +3 -7
  329. package/front_end/models/trace/types/File.ts +2 -8
  330. package/front_end/models/trace/types/TraceEvents.ts +78 -6
  331. package/front_end/models/workspace/UISourceCode.test.ts +3 -3
  332. package/front_end/models/workspace/WorkspaceImpl.ts +1 -1
  333. package/front_end/panels/accessibility/AXBreadcrumbsPane.ts +1 -1
  334. package/front_end/panels/accessibility/AccessibilitySidebarView.ts +1 -1
  335. package/front_end/panels/animation/AnimationGroupPreviewUI.ts +3 -3
  336. package/front_end/panels/animation/AnimationTimeline.test.ts +15 -15
  337. package/front_end/panels/animation/AnimationTimeline.ts +85 -53
  338. package/front_end/panels/animation/AnimationUI.ts +5 -6
  339. package/front_end/panels/animation/animation-meta.ts +15 -0
  340. package/front_end/panels/animation/animation.ts +0 -4
  341. package/front_end/panels/application/ApplicationPanelSidebar.test.ts +106 -0
  342. package/front_end/panels/application/ApplicationPanelSidebar.ts +127 -20
  343. package/front_end/panels/application/ApplicationPanelTreeElement.ts +1 -1
  344. package/front_end/panels/application/BackForwardCacheTreeElement.ts +1 -1
  345. package/front_end/panels/application/BounceTrackingMitigationsTreeElement.ts +1 -1
  346. package/front_end/panels/application/DOMStorageItemsView.ts +4 -2
  347. package/front_end/panels/application/ExtensionStorageItemsView.test.ts +161 -0
  348. package/front_end/panels/application/ExtensionStorageItemsView.ts +241 -0
  349. package/front_end/panels/application/ExtensionStorageModel.test.ts +27 -0
  350. package/front_end/panels/application/ExtensionStorageModel.ts +66 -14
  351. package/front_end/panels/application/IndexedDBViews.ts +14 -19
  352. package/front_end/panels/application/InterestGroupTreeElement.ts +1 -1
  353. package/front_end/panels/application/OpenedWindowDetailsView.ts +2 -3
  354. package/front_end/panels/application/PreloadingTreeElement.ts +1 -1
  355. package/front_end/panels/application/ReportingApiTreeElement.ts +1 -1
  356. package/front_end/panels/application/ResourcesPanel.ts +18 -1
  357. package/front_end/panels/application/ServiceWorkerCacheTreeElement.ts +1 -1
  358. package/front_end/panels/application/SharedStorageItemsView.test.ts +1 -20
  359. package/front_end/panels/application/SharedStorageListTreeElement.ts +1 -1
  360. package/front_end/panels/application/SharedStorageTreeElement.ts +2 -2
  361. package/front_end/panels/application/StorageBucketsTreeElement.ts +1 -1
  362. package/front_end/panels/application/TrustTokensTreeElement.ts +1 -1
  363. package/front_end/panels/application/application.ts +2 -0
  364. package/front_end/panels/application/components/BackForwardCacheStrings.ts +1 -0
  365. package/front_end/panels/application/components/BackForwardCacheView.ts +76 -72
  366. package/front_end/panels/application/components/BounceTrackingMitigationsView.ts +32 -33
  367. package/front_end/panels/application/components/EndpointsGrid.ts +5 -5
  368. package/front_end/panels/application/components/FrameDetailsView.ts +118 -135
  369. package/front_end/panels/application/components/InterestGroupAccessGrid.ts +11 -15
  370. package/front_end/panels/application/components/OriginTrialTreeView.ts +36 -34
  371. package/front_end/panels/application/components/PermissionsPolicySection.ts +32 -35
  372. package/front_end/panels/application/components/ProtocolHandlersView.ts +15 -14
  373. package/front_end/panels/application/components/ReportsGrid.ts +10 -10
  374. package/front_end/panels/application/components/ServiceWorkerRouterView.ts +0 -1
  375. package/front_end/panels/application/components/SharedStorageAccessGrid.ts +11 -16
  376. package/front_end/panels/application/components/SharedStorageMetadataView.ts +16 -14
  377. package/front_end/panels/application/components/StackTrace.ts +20 -22
  378. package/front_end/panels/application/components/StorageMetadataView.ts +18 -18
  379. package/front_end/panels/application/components/TrustTokensView.ts +16 -16
  380. package/front_end/panels/application/preloading/PreloadingView.ts +18 -15
  381. package/front_end/panels/application/preloading/components/MismatchedPreloadingGrid.test.ts +2 -2
  382. package/front_end/panels/application/preloading/components/MismatchedPreloadingGrid.ts +8 -13
  383. package/front_end/panels/application/preloading/components/PreloadingDetailsReportView.ts +41 -47
  384. package/front_end/panels/application/preloading/components/PreloadingDisabledInfobar.ts +15 -13
  385. package/front_end/panels/application/preloading/components/PreloadingGrid.test.ts +1 -1
  386. package/front_end/panels/application/preloading/components/PreloadingGrid.ts +11 -12
  387. package/front_end/panels/application/preloading/components/PreloadingMismatchedHeadersGrid.ts +4 -5
  388. package/front_end/panels/application/preloading/components/PreloadingString.ts +7 -0
  389. package/front_end/panels/application/preloading/components/RuleSetDetailsView.ts +11 -10
  390. package/front_end/panels/application/preloading/components/RuleSetGrid.ts +24 -23
  391. package/front_end/panels/application/preloading/components/UsedPreloadingView.ts +50 -57
  392. package/front_end/panels/application/resourcesSidebar.css +0 -3
  393. package/front_end/panels/autofill/AutofillView.ts +19 -17
  394. package/front_end/panels/console/ConsoleFilter.ts +1 -1
  395. package/front_end/panels/console/ConsoleSidebar.ts +1 -1
  396. package/front_end/panels/console/ConsoleView.ts +1 -1
  397. package/front_end/panels/console/ConsoleViewMessage.ts +2 -2
  398. package/front_end/panels/console/consoleView.css +4 -3
  399. package/front_end/panels/coverage/CoverageDecorationManager.ts +1 -1
  400. package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +1 -1
  401. package/front_end/panels/css_overview/CSSOverviewController.ts +2 -2
  402. package/front_end/panels/css_overview/CSSOverviewModel.ts +2 -3
  403. package/front_end/panels/css_overview/CSSOverviewPanel.ts +5 -7
  404. package/front_end/panels/css_overview/components/CSSOverviewStartView.ts +13 -13
  405. package/front_end/panels/elements/AccessibilityTreeUtils.ts +9 -6
  406. package/front_end/panels/elements/CSSRuleValidator.ts +0 -5
  407. package/front_end/panels/elements/ColorSwatchPopoverIcon.ts +3 -5
  408. package/front_end/panels/elements/ComputedStyleWidget.ts +6 -4
  409. package/front_end/panels/elements/ElementStatePaneWidget.ts +5 -0
  410. package/front_end/panels/elements/ElementsPanel.ts +11 -10
  411. package/front_end/panels/elements/ElementsTreeElement.ts +36 -1
  412. package/front_end/panels/elements/ElementsTreeOutline.ts +1 -1
  413. package/front_end/panels/elements/PropertyMatchers.test.ts +57 -0
  414. package/front_end/panels/elements/PropertyMatchers.ts +78 -1
  415. package/front_end/panels/elements/StyleEditorWidget.ts +2 -2
  416. package/front_end/panels/elements/StylePropertiesSection.test.ts +1 -0
  417. package/front_end/panels/elements/StylePropertyHighlighter.test.ts +1 -0
  418. package/front_end/panels/elements/StylePropertyHighlighter.ts +2 -2
  419. package/front_end/panels/elements/StylePropertyTreeElement.test.ts +126 -3
  420. package/front_end/panels/elements/StylePropertyTreeElement.ts +101 -28
  421. package/front_end/panels/elements/StylesSidebarPane.test.ts +2 -0
  422. package/front_end/panels/elements/TopLayerContainer.ts +1 -2
  423. package/front_end/panels/elements/components/AccessibilityTreeNode.ts +8 -7
  424. package/front_end/panels/elements/components/AdornerSettingsPane.ts +3 -4
  425. package/front_end/panels/elements/components/AnchorFunctionLinkSwatch.ts +8 -7
  426. package/front_end/panels/elements/components/CSSHintDetailsView.ts +3 -2
  427. package/front_end/panels/elements/components/CSSPropertyDocsView.ts +3 -2
  428. package/front_end/panels/elements/components/CSSQuery.ts +0 -1
  429. package/front_end/panels/elements/components/CSSVariableValueView.ts +1 -3
  430. package/front_end/panels/elements/components/ComputedStyleProperty.ts +0 -1
  431. package/front_end/panels/elements/components/ComputedStyleTrace.ts +0 -1
  432. package/front_end/panels/elements/components/ElementsBreadcrumbs.ts +15 -13
  433. package/front_end/panels/elements/components/ElementsBreadcrumbsUtils.ts +1 -1
  434. package/front_end/panels/elements/components/ElementsTreeExpandButton.ts +6 -4
  435. package/front_end/panels/elements/components/LayoutPane.ts +8 -8
  436. package/front_end/panels/elements/components/QueryContainer.test.ts +2 -3
  437. package/front_end/panels/elements/components/QueryContainer.ts +9 -10
  438. package/front_end/panels/elements/components/StylePropertyEditor.ts +4 -4
  439. package/front_end/panels/elements/components/computedStyleProperty.css +2 -1
  440. package/front_end/panels/elements/components/cssPropertyDocsView.css +3 -2
  441. package/front_end/panels/elements/elementsTreeOutline.css +17 -0
  442. package/front_end/panels/elements/stylePropertiesTreeOutline.css +13 -0
  443. package/front_end/panels/elements/stylesSidebarPane.css +2 -2
  444. package/front_end/panels/emulation/DeviceModeWrapper.ts +1 -1
  445. package/front_end/panels/emulation/components/DeviceSizeInputElement.ts +3 -3
  446. package/front_end/panels/event_listeners/EventListenersView.ts +2 -2
  447. package/front_end/panels/event_listeners/eventListenersView.css +4 -3
  448. package/front_end/panels/explain/components/ConsoleInsight.test.ts +56 -8
  449. package/front_end/panels/explain/components/ConsoleInsight.ts +99 -81
  450. package/front_end/panels/explain/components/consoleInsight.css +0 -9
  451. package/front_end/panels/explain/explain-meta.ts +1 -12
  452. package/front_end/panels/freestyler/AiAgent.test.ts +92 -12
  453. package/front_end/panels/freestyler/AiAgent.ts +345 -54
  454. package/front_end/panels/freestyler/DrJonesFileAgent.test.ts +228 -0
  455. package/front_end/panels/freestyler/DrJonesFileAgent.ts +192 -0
  456. package/front_end/panels/freestyler/DrJonesNetworkAgent.test.ts +136 -73
  457. package/front_end/panels/freestyler/DrJonesNetworkAgent.ts +251 -146
  458. package/front_end/panels/freestyler/DrJonesPerformanceAgent.test.ts +241 -0
  459. package/front_end/panels/freestyler/DrJonesPerformanceAgent.ts +197 -0
  460. package/front_end/panels/freestyler/FreestylerAgent.test.ts +258 -85
  461. package/front_end/panels/freestyler/FreestylerAgent.ts +124 -167
  462. package/front_end/panels/freestyler/FreestylerEvaluateAction.test.ts +61 -37
  463. package/front_end/panels/freestyler/FreestylerEvaluateAction.ts +18 -14
  464. package/front_end/panels/freestyler/FreestylerPanel.test.ts +562 -15
  465. package/front_end/panels/freestyler/FreestylerPanel.ts +469 -105
  466. package/front_end/panels/freestyler/components/FreestylerChatUi.test.ts +53 -4
  467. package/front_end/panels/freestyler/components/FreestylerChatUi.ts +434 -191
  468. package/front_end/panels/freestyler/components/UserActionRow.test.ts +60 -0
  469. package/front_end/panels/freestyler/components/{ProvideFeedback.ts → UserActionRow.ts} +58 -29
  470. package/front_end/panels/freestyler/components/freestylerChatUi.css +148 -93
  471. package/front_end/panels/freestyler/components/userActionRow.css +149 -0
  472. package/front_end/panels/freestyler/freestyler-meta.ts +108 -26
  473. package/front_end/panels/freestyler/freestyler.ts +3 -1
  474. package/front_end/panels/issues/AffectedResourcesView.ts +2 -2
  475. package/front_end/panels/issues/AttributionReportingIssueDetailsView.ts +19 -4
  476. package/front_end/panels/issues/CorsIssueDetailsView.ts +6 -6
  477. package/front_end/panels/issues/GenericIssueDetailsView.ts +3 -3
  478. package/front_end/panels/issues/IssueAggregator.ts +10 -1
  479. package/front_end/panels/issues/IssueView.ts +2 -2
  480. package/front_end/panels/issues/components/ElementsPanelLink.ts +3 -2
  481. package/front_end/panels/issues/components/HideIssuesMenu.ts +17 -8
  482. package/front_end/panels/lighthouse/LighthouseController.ts +2 -2
  483. package/front_end/panels/lighthouse/LighthousePanel.ts +1 -1
  484. package/front_end/panels/lighthouse/LighthouseReportRenderer.ts +2 -6
  485. package/front_end/panels/lighthouse/LighthouseStartView.ts +2 -2
  486. package/front_end/panels/lighthouse/LighthouseStatusView.ts +1 -1
  487. package/front_end/panels/lighthouse/LighthouseTimespanView.ts +1 -1
  488. package/front_end/panels/linear_memory_inspector/LinearMemoryInspectorController.ts +2 -2
  489. package/front_end/panels/linear_memory_inspector/LinearMemoryInspectorPane.ts +8 -2
  490. package/front_end/panels/linear_memory_inspector/components/LinearMemoryHighlightChipList.ts +6 -7
  491. package/front_end/panels/linear_memory_inspector/components/LinearMemoryInspector.test.ts +11 -0
  492. package/front_end/panels/linear_memory_inspector/components/LinearMemoryInspector.ts +26 -36
  493. package/front_end/panels/linear_memory_inspector/components/LinearMemoryNavigator.ts +5 -5
  494. package/front_end/panels/linear_memory_inspector/components/LinearMemoryValueInterpreter.ts +12 -16
  495. package/front_end/panels/linear_memory_inspector/components/LinearMemoryViewer.ts +1 -3
  496. package/front_end/panels/linear_memory_inspector/components/ValueInterpreterDisplay.ts +5 -5
  497. package/front_end/panels/linear_memory_inspector/components/ValueInterpreterSettings.ts +0 -1
  498. package/front_end/panels/media/EventDisplayTable.ts +1 -1
  499. package/front_end/panels/media/EventTimelineView.ts +1 -1
  500. package/front_end/panels/media/PlayerDetailView.ts +3 -3
  501. package/front_end/panels/media/PlayerListView.ts +2 -2
  502. package/front_end/panels/mobile_throttling/ThrottlingManager.ts +23 -29
  503. package/front_end/panels/network/BinaryResourceView.ts +3 -2
  504. package/front_end/panels/network/NetworkConfigView.ts +1 -2
  505. package/front_end/panels/network/NetworkDataGridNode.test.ts +29 -0
  506. package/front_end/panels/network/NetworkDataGridNode.ts +60 -158
  507. package/front_end/panels/network/NetworkFrameGrouper.ts +1 -1
  508. package/front_end/panels/network/NetworkItemView.ts +1 -1
  509. package/front_end/panels/network/NetworkLogView.test.ts +29 -0
  510. package/front_end/panels/network/NetworkLogView.ts +3 -3
  511. package/front_end/panels/network/NetworkLogViewColumns.ts +4 -6
  512. package/front_end/panels/network/NetworkPanel.test.ts +3 -22
  513. package/front_end/panels/network/NetworkPanel.ts +26 -7
  514. package/front_end/panels/network/NetworkWaterfallColumn.ts +7 -8
  515. package/front_end/panels/network/RequestResponseView.test.ts +28 -1
  516. package/front_end/panels/network/RequestResponseView.ts +17 -14
  517. package/front_end/panels/network/ResourceWebSocketFrameView.ts +3 -1
  518. package/front_end/panels/network/components/EditableSpan.ts +0 -1
  519. package/front_end/panels/network/components/HeaderSectionRow.test.ts +1 -1
  520. package/front_end/panels/network/components/HeaderSectionRow.ts +31 -31
  521. package/front_end/panels/network/components/RequestHeaderSection.ts +10 -15
  522. package/front_end/panels/network/components/RequestHeadersView.css +7 -0
  523. package/front_end/panels/network/components/RequestHeadersView.ts +25 -26
  524. package/front_end/panels/network/components/RequestTrustTokensView.ts +33 -36
  525. package/front_end/panels/network/components/ResponseHeaderSection.ts +8 -10
  526. package/front_end/panels/network/components/WebBundleInfoView.ts +13 -11
  527. package/front_end/panels/network/networkConfigView.css +13 -5
  528. package/front_end/panels/network/networkLogView.css +35 -16
  529. package/front_end/panels/network/networkPanel.css +2 -1
  530. package/front_end/panels/network/requestHTMLView.css +1 -0
  531. package/front_end/panels/profiler/BottomUpProfileDataGrid.ts +3 -3
  532. package/front_end/panels/profiler/HeapProfileView.ts +1 -1
  533. package/front_end/panels/profiler/HeapProfilerPanel.ts +2 -2
  534. package/front_end/panels/profiler/HeapSnapshotDataGrids.ts +14 -13
  535. package/front_end/panels/profiler/HeapSnapshotGridNodes.ts +15 -11
  536. package/front_end/panels/profiler/HeapSnapshotProxy.ts +7 -7
  537. package/front_end/panels/profiler/ProfileLauncherView.ts +3 -3
  538. package/front_end/panels/protocol_monitor/ProtocolMonitor.ts +4 -2
  539. package/front_end/panels/protocol_monitor/components/JSONEditor.ts +25 -18
  540. package/front_end/panels/protocol_monitor/components/Toolbar.ts +4 -4
  541. package/front_end/panels/recorder/RecorderController.ts +39 -43
  542. package/front_end/panels/recorder/components/ControlButton.ts +1 -1
  543. package/front_end/panels/recorder/components/CreateRecordingView.ts +15 -15
  544. package/front_end/panels/recorder/components/ExtensionView.ts +9 -8
  545. package/front_end/panels/recorder/components/RecordingListView.ts +15 -13
  546. package/front_end/panels/recorder/components/RecordingView.ts +92 -84
  547. package/front_end/panels/recorder/components/ReplaySection.ts +6 -6
  548. package/front_end/panels/recorder/components/SelectButton.ts +21 -20
  549. package/front_end/panels/recorder/components/StartView.ts +15 -20
  550. package/front_end/panels/recorder/components/StepEditor.ts +3 -3
  551. package/front_end/panels/recorder/components/StepView.ts +20 -20
  552. package/front_end/panels/recorder/components/TimelineSection.ts +3 -2
  553. package/front_end/panels/recorder/components/recordingView.css +1 -4
  554. package/front_end/panels/recorder/components/selectButton.css +6 -50
  555. package/front_end/panels/recorder/converters/ExtensionConverter.ts +2 -2
  556. package/front_end/panels/recorder/converters/JSONConverter.ts +1 -1
  557. package/front_end/panels/recorder/converters/LighthouseConverter.ts +1 -1
  558. package/front_end/panels/recorder/converters/PuppeteerConverter.ts +1 -1
  559. package/front_end/panels/recorder/converters/PuppeteerReplayConverter.ts +1 -1
  560. package/front_end/panels/recorder/injected/RecordingClient.ts +7 -10
  561. package/front_end/panels/recorder/injected/SelectorComputer.ts +5 -5
  562. package/front_end/panels/recorder/injected/SelectorPicker.ts +2 -2
  563. package/front_end/panels/recorder/injected/Step.ts +1 -1
  564. package/front_end/panels/recorder/injected/injected.ts +1 -1
  565. package/front_end/panels/recorder/injected/selectors/ARIASelector.ts +1 -1
  566. package/front_end/panels/recorder/injected/selectors/PierceSelector.ts +6 -7
  567. package/front_end/panels/recorder/injected/selectors/TextSelector.ts +3 -5
  568. package/front_end/panels/recorder/injected/util.ts +1 -1
  569. package/front_end/panels/recorder/models/RecorderShortcutHelper.ts +1 -1
  570. package/front_end/panels/recorder/models/RecordingPlayer.ts +1 -1
  571. package/front_end/panels/recorder/models/RecordingSession.ts +4 -4
  572. package/front_end/panels/recorder/models/RecordingSettings.ts +1 -4
  573. package/front_end/panels/recorder/models/RecordingStorage.ts +1 -1
  574. package/front_end/panels/recorder/models/SDKUtils.ts +3 -2
  575. package/front_end/panels/recorder/models/ScreenshotUtils.ts +1 -1
  576. package/front_end/panels/recorder/models/Section.ts +2 -2
  577. package/front_end/panels/recorder/recorderController.css +38 -18
  578. package/front_end/panels/screencast/ScreencastApp.ts +1 -1
  579. package/front_end/panels/screencast/ScreencastView.ts +1 -1
  580. package/front_end/panels/search/SearchResultsPane.ts +1 -2
  581. package/front_end/panels/search/SearchView.ts +1 -3
  582. package/front_end/panels/search/searchView.css +5 -1
  583. package/front_end/panels/security/CookieReportTreeElement.ts +26 -0
  584. package/front_end/panels/security/OriginTreeElement.ts +20 -7
  585. package/front_end/panels/security/SecurityPanel.ts +64 -15
  586. package/front_end/panels/security/{SecurityAndPrivacyPanelSidebar.ts → SecurityPanelSidebar.ts} +25 -14
  587. package/front_end/panels/security/SecurityPanelSidebarTreeElement.ts +1 -12
  588. package/front_end/panels/security/sidebar.css +40 -1
  589. package/front_end/panels/sensors/SensorsView.ts +43 -0
  590. package/front_end/panels/sensors/sensors-meta.ts +59 -0
  591. package/front_end/panels/sensors/sensors.css +16 -0
  592. package/front_end/panels/settings/AISettingsTab.test.ts +113 -15
  593. package/front_end/panels/settings/AISettingsTab.ts +194 -62
  594. package/front_end/panels/settings/FrameworkIgnoreListSettingsTab.ts +53 -30
  595. package/front_end/panels/settings/KeybindsSettingsTab.ts +34 -17
  596. package/front_end/panels/settings/SettingsScreen.ts +2 -2
  597. package/front_end/panels/settings/aiSettingsTab.css +13 -0
  598. package/front_end/panels/settings/components/SyncSection.ts +18 -15
  599. package/front_end/panels/settings/emulation/DevicesSettingsTab.ts +51 -29
  600. package/front_end/panels/settings/emulation/components/UserAgentClientHintsForm.ts +56 -41
  601. package/front_end/panels/settings/emulation/devicesSettingsTab.css +11 -10
  602. package/front_end/panels/settings/frameworkIgnoreListSettingsTab.css +14 -42
  603. package/front_end/panels/settings/keybindsSettingsTab.css +51 -89
  604. package/front_end/panels/settings/settings-meta.ts +2 -2
  605. package/front_end/panels/settings/settingsScreen.css +30 -6
  606. package/front_end/panels/sources/AddSourceMapURLDialog.ts +1 -1
  607. package/front_end/panels/sources/CSSPlugin.ts +0 -2
  608. package/front_end/panels/sources/DebuggerPlugin.ts +1 -1
  609. package/front_end/panels/sources/EditingLocationHistoryManager.ts +2 -2
  610. package/front_end/panels/sources/GoToLineQuickOpen.ts +1 -1
  611. package/front_end/panels/sources/InplaceFormatterEditorAction.ts +1 -1
  612. package/front_end/panels/sources/NavigatorView.ts +31 -23
  613. package/front_end/panels/sources/OutlineQuickOpen.ts +1 -1
  614. package/front_end/panels/sources/SourcesNavigator.test.ts +1 -0
  615. package/front_end/panels/sources/SourcesPanel.ts +26 -0
  616. package/front_end/panels/sources/SourcesView.test.ts +1 -0
  617. package/front_end/panels/sources/SourcesView.ts +2 -2
  618. package/front_end/panels/sources/TabbedEditorContainer.ts +1 -1
  619. package/front_end/panels/sources/UISourceCodeFrame.ts +1 -1
  620. package/front_end/panels/sources/components/BreakpointsView.ts +25 -27
  621. package/front_end/panels/sources/components/HeadersView.ts +17 -16
  622. package/front_end/panels/sources/navigatorTree.css +11 -0
  623. package/front_end/panels/timeline/AnimationsTrackAppender.ts +18 -3
  624. package/front_end/panels/timeline/AnnotationHelpers.ts +4 -4
  625. package/front_end/panels/timeline/AppenderUtils.ts +2 -4
  626. package/front_end/panels/timeline/CompatibilityTracksAppender.ts +48 -19
  627. package/front_end/panels/timeline/CountersGraph.ts +1 -1
  628. package/front_end/panels/timeline/EntriesFilter.test.ts +51 -0
  629. package/front_end/panels/timeline/EntriesFilter.ts +15 -0
  630. package/front_end/panels/timeline/EventsTimelineTreeView.ts +10 -10
  631. package/front_end/panels/timeline/InteractionsTrackAppender.ts +12 -1
  632. package/front_end/panels/timeline/LayoutShiftsTrackAppender.ts +141 -7
  633. package/front_end/panels/timeline/ModificationsManager.test.ts +160 -0
  634. package/front_end/panels/timeline/ModificationsManager.ts +31 -0
  635. package/front_end/panels/timeline/NetworkTrackAppender.ts +1 -8
  636. package/front_end/panels/timeline/ThreadAppender.ts +5 -6
  637. package/front_end/panels/timeline/TimelineDetailsView.test.ts +89 -44
  638. package/front_end/panels/timeline/TimelineDetailsView.ts +96 -45
  639. package/front_end/panels/timeline/TimelineEventOverview.ts +11 -10
  640. package/front_end/panels/timeline/TimelineFilters.test.ts +4 -4
  641. package/front_end/panels/timeline/TimelineFlameChartDataProvider.test.ts +53 -0
  642. package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +89 -63
  643. package/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.test.ts +57 -0
  644. package/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.ts +34 -15
  645. package/front_end/panels/timeline/TimelineFlameChartView.test.ts +2 -3
  646. package/front_end/panels/timeline/TimelineFlameChartView.ts +192 -86
  647. package/front_end/panels/timeline/TimelineHistoryManager.ts +7 -1
  648. package/front_end/panels/timeline/TimelineLoader.ts +1 -1
  649. package/front_end/panels/timeline/TimelineMiniMap.ts +0 -8
  650. package/front_end/panels/timeline/TimelinePanel.ts +136 -79
  651. package/front_end/panels/timeline/TimelineSelection.test.ts +91 -36
  652. package/front_end/panels/timeline/TimelineSelection.ts +48 -60
  653. package/front_end/panels/timeline/TimelineSelectorStatsView.ts +15 -16
  654. package/front_end/panels/timeline/TimelineTreeView.test.ts +9 -9
  655. package/front_end/panels/timeline/TimelineTreeView.ts +7 -5
  656. package/front_end/panels/timeline/TimelineUIUtils.test.ts +51 -4
  657. package/front_end/panels/timeline/TimelineUIUtils.ts +153 -68
  658. package/front_end/panels/timeline/TimingsTrackAppender.ts +1 -1
  659. package/front_end/panels/timeline/UIDevtoolsController.ts +5 -5
  660. package/front_end/panels/timeline/UIDevtoolsUtils.ts +59 -68
  661. package/front_end/panels/timeline/components/BreadcrumbsUI.ts +3 -5
  662. package/front_end/panels/timeline/components/CPUThrottlingSelector.ts +8 -7
  663. package/front_end/panels/timeline/components/FieldSettingsDialog.ts +28 -27
  664. package/front_end/panels/timeline/components/InteractionBreakdown.ts +3 -2
  665. package/front_end/panels/timeline/components/LayoutShiftDetails.test.ts +13 -11
  666. package/front_end/panels/timeline/components/LayoutShiftDetails.ts +238 -91
  667. package/front_end/panels/timeline/components/LiveMetricsView.test.ts +415 -128
  668. package/front_end/panels/timeline/components/LiveMetricsView.ts +448 -228
  669. package/front_end/panels/timeline/components/MetricCard.test.ts +8 -8
  670. package/front_end/panels/timeline/components/MetricCard.ts +6 -4
  671. package/front_end/panels/timeline/components/MetricCompareStrings.ts +1 -1
  672. package/front_end/panels/timeline/components/NetworkRequestDetails.test.ts +14 -7
  673. package/front_end/panels/timeline/components/NetworkRequestDetails.ts +57 -124
  674. package/front_end/panels/timeline/components/NetworkRequestTooltip.ts +70 -78
  675. package/front_end/panels/timeline/components/NetworkThrottlingSelector.test.ts +35 -2
  676. package/front_end/panels/timeline/components/NetworkThrottlingSelector.ts +30 -13
  677. package/front_end/panels/timeline/components/RelatedInsightChips.test.ts +74 -0
  678. package/front_end/panels/timeline/components/RelatedInsightChips.ts +92 -0
  679. package/front_end/panels/timeline/components/Sidebar.test.ts +74 -0
  680. package/front_end/panels/timeline/components/Sidebar.ts +34 -14
  681. package/front_end/panels/timeline/components/SidebarAnnotationsTab.test.ts +66 -0
  682. package/front_end/panels/timeline/components/SidebarAnnotationsTab.ts +117 -50
  683. package/front_end/panels/timeline/components/SidebarInsightsTab.test.ts +11 -1
  684. package/front_end/panels/timeline/components/SidebarInsightsTab.ts +119 -37
  685. package/front_end/panels/timeline/components/SidebarSingleInsightSet.test.ts +58 -1
  686. package/front_end/panels/timeline/components/SidebarSingleInsightSet.ts +90 -34
  687. package/front_end/panels/timeline/components/Utils.test.ts +65 -0
  688. package/front_end/panels/timeline/components/Utils.ts +145 -29
  689. package/front_end/panels/timeline/components/components.ts +2 -4
  690. package/front_end/panels/timeline/components/insights/CLSCulprits.ts +76 -55
  691. package/front_end/panels/timeline/components/insights/DocumentLatency.ts +105 -17
  692. package/front_end/panels/timeline/components/insights/EventRef.ts +91 -0
  693. package/front_end/panels/timeline/components/insights/FontDisplay.ts +24 -13
  694. package/front_end/panels/timeline/components/insights/Helpers.ts +49 -44
  695. package/front_end/panels/timeline/components/insights/InteractionToNextPaint.ts +21 -21
  696. package/front_end/panels/timeline/components/insights/LCPDiscovery.ts +94 -49
  697. package/front_end/panels/timeline/components/insights/LCPPhases.ts +35 -10
  698. package/front_end/panels/timeline/components/insights/NodeLink.ts +3 -2
  699. package/front_end/panels/timeline/components/insights/README.md +2 -2
  700. package/front_end/panels/timeline/components/insights/RenderBlocking.ts +35 -29
  701. package/front_end/panels/timeline/components/insights/SidebarInsight.ts +103 -17
  702. package/front_end/panels/timeline/components/insights/SlowCSSSelector.ts +125 -60
  703. package/front_end/panels/timeline/components/insights/Table.ts +13 -12
  704. package/front_end/panels/timeline/components/insights/ThirdParties.ts +24 -19
  705. package/front_end/panels/timeline/components/insights/Viewport.ts +23 -22
  706. package/front_end/panels/timeline/components/insights/insights.ts +2 -0
  707. package/front_end/panels/timeline/components/insights/sidebarInsight.css +54 -9
  708. package/front_end/panels/timeline/components/insights/table.css +9 -1
  709. package/front_end/panels/timeline/components/layoutShiftDetails.css +28 -20
  710. package/front_end/panels/timeline/components/liveMetricsView.css +102 -31
  711. package/front_end/panels/timeline/components/networkRequestDetails.css +11 -50
  712. package/front_end/panels/timeline/components/networkRequestTooltip.css +34 -11
  713. package/front_end/panels/timeline/components/relatedInsightChips.css +45 -0
  714. package/front_end/panels/timeline/components/sidebarInsightsTab.css +44 -6
  715. package/front_end/panels/timeline/components/sidebarSingleInsightSet.css +18 -4
  716. package/front_end/panels/timeline/extensions/ExtensionUI.ts +11 -8
  717. package/front_end/panels/timeline/fixtures/traces/README.md +4 -0
  718. package/front_end/panels/timeline/fixtures/traces/basic.json.gz +0 -0
  719. package/front_end/panels/timeline/fixtures/traces/many-redirects.json.gz +0 -0
  720. package/front_end/panels/timeline/fixtures/traces/missing-url.json.gz +0 -0
  721. package/front_end/panels/timeline/fixtures/traces/scheduler-post-task.json.gz +0 -0
  722. package/front_end/panels/timeline/fixtures/traces/unsized-images.json.gz +0 -0
  723. package/front_end/panels/timeline/historyToolbarButton.css +33 -19
  724. package/front_end/panels/timeline/overlays/OverlaysImpl.test.ts +40 -67
  725. package/front_end/panels/timeline/overlays/OverlaysImpl.ts +135 -61
  726. package/front_end/panels/timeline/overlays/components/EntriesLinkOverlay.ts +13 -11
  727. package/front_end/panels/timeline/overlays/components/EntryLabelOverlay.ts +24 -32
  728. package/front_end/panels/timeline/overlays/components/TimeRangeOverlay.ts +23 -24
  729. package/front_end/panels/timeline/overlays/components/TimespanBreakdownOverlay.test.ts +42 -0
  730. package/front_end/panels/timeline/overlays/components/TimespanBreakdownOverlay.ts +25 -19
  731. package/front_end/panels/timeline/overlays/components/entriesLinkOverlay.css +8 -0
  732. package/front_end/panels/timeline/overlays/components/entryLabelOverlay.css +14 -12
  733. package/front_end/panels/timeline/overlays/components/timeRangeOverlay.css +16 -13
  734. package/front_end/panels/timeline/overlays/components/timespanBreakdownOverlay.css +59 -20
  735. package/front_end/panels/timeline/timeline-meta.ts +11 -0
  736. package/front_end/panels/timeline/timelineFlameChartView.css +19 -2
  737. package/front_end/panels/timeline/timelineFlamechartPopover.css +19 -0
  738. package/front_end/panels/timeline/timelineHistoryManager.css +4 -0
  739. package/front_end/panels/timeline/timelinePanel.css +2 -10
  740. package/front_end/panels/timeline/track_appenders/AnimationsTrackAppender.test.ts +2 -3
  741. package/front_end/panels/timeline/track_appenders/AppenderUtils.test.ts +1 -6
  742. package/front_end/panels/timeline/track_appenders/CompatibilityTracksAppender.test.ts +1 -1
  743. package/front_end/panels/timeline/track_appenders/ExtensionTrackAppender.test.ts +7 -8
  744. package/front_end/panels/timeline/track_appenders/GPUTrackAppender.test.ts +2 -2
  745. package/front_end/panels/timeline/track_appenders/InteractionsTrackAppender.test.ts +3 -3
  746. package/front_end/panels/timeline/track_appenders/LayoutShiftsTrackAppender.test.ts +10 -11
  747. package/front_end/panels/timeline/track_appenders/ServerTimingsTrackAppender.test.ts +2 -3
  748. package/front_end/panels/timeline/track_appenders/ThreadAppender.test.ts +5 -10
  749. package/front_end/panels/timeline/track_appenders/TimingsTrackAppender.test.ts +6 -6
  750. package/front_end/panels/timeline/utils/AICallTree.test.ts +80 -0
  751. package/front_end/panels/timeline/utils/AICallTree.ts +165 -0
  752. package/front_end/panels/timeline/{components → utils}/EntryName.test.ts +12 -12
  753. package/front_end/panels/timeline/{components → utils}/EntryName.ts +1 -1
  754. package/front_end/panels/timeline/{components → utils}/EntryStyles.ts +28 -1
  755. package/front_end/panels/timeline/utils/Helpers.test.ts +43 -0
  756. package/front_end/panels/timeline/utils/Helpers.ts +93 -0
  757. package/front_end/panels/timeline/utils/IgnoreList.test.ts +86 -0
  758. package/front_end/panels/timeline/utils/IgnoreList.ts +11 -4
  759. package/front_end/panels/timeline/utils/ImageCache.test.ts +106 -0
  760. package/front_end/panels/timeline/utils/ImageCache.ts +55 -0
  761. package/front_end/panels/timeline/utils/NetworkRequest.ts +1 -1
  762. package/front_end/panels/timeline/utils/SourceMapsResolver.test.ts +64 -19
  763. package/front_end/panels/timeline/utils/SourceMapsResolver.ts +14 -3
  764. package/front_end/panels/timeline/utils/utils.ts +10 -0
  765. package/front_end/panels/utils/utils.ts +57 -5
  766. package/front_end/panels/web_audio/graph_visualizer/EdgeView.ts +1 -1
  767. package/front_end/panels/web_audio/graph_visualizer/GraphView.ts +3 -9
  768. package/front_end/panels/webauthn/WebauthnPane.test.ts +75 -4
  769. package/front_end/panels/webauthn/WebauthnPane.ts +24 -3
  770. package/front_end/services/trace_bounds/TraceBounds.ts +7 -1
  771. package/front_end/testing/ContextMenuHelpers.ts +1 -1
  772. package/front_end/testing/EnvironmentHelpers.ts +42 -5
  773. package/front_end/testing/ExtensionHelpers.ts +1 -1
  774. package/front_end/testing/LanguagePluginHelpers.ts +1 -1
  775. package/front_end/testing/MockConnection.ts +1 -1
  776. package/front_end/testing/MockIssuesManager.ts +1 -1
  777. package/front_end/testing/MockScopeChain.ts +1 -1
  778. package/front_end/testing/MutationHelpers.test.ts +6 -8
  779. package/front_end/testing/NetworkHelpers.ts +38 -0
  780. package/front_end/testing/StorageItemsViewHelpers.ts +24 -0
  781. package/front_end/testing/TraceHelpers.ts +13 -1
  782. package/front_end/third_party/additional_readme_paths.json +1 -0
  783. package/front_end/third_party/codemirror.next/chunk/angular.js +1 -1
  784. package/front_end/third_party/codemirror.next/chunk/angular.js.map +1 -1
  785. package/front_end/third_party/codemirror.next/chunk/codemirror.js +1 -1
  786. package/front_end/third_party/codemirror.next/chunk/codemirror.js.map +1 -1
  787. package/front_end/third_party/codemirror.next/chunk/cpp.js.map +1 -1
  788. package/front_end/third_party/codemirror.next/chunk/java.js +1 -1
  789. package/front_end/third_party/codemirror.next/chunk/java.js.map +1 -1
  790. package/front_end/third_party/codemirror.next/chunk/legacy.js.map +1 -1
  791. package/front_end/third_party/codemirror.next/chunk/less.js.map +1 -1
  792. package/front_end/third_party/codemirror.next/chunk/markdown.js +1 -1
  793. package/front_end/third_party/codemirror.next/chunk/markdown.js.map +1 -1
  794. package/front_end/third_party/codemirror.next/chunk/php.js.map +1 -1
  795. package/front_end/third_party/codemirror.next/chunk/python.js +1 -1
  796. package/front_end/third_party/codemirror.next/chunk/python.js.map +1 -1
  797. package/front_end/third_party/codemirror.next/chunk/sass.js +1 -1
  798. package/front_end/third_party/codemirror.next/chunk/sass.js.map +1 -1
  799. package/front_end/third_party/codemirror.next/chunk/svelte.js +1 -1
  800. package/front_end/third_party/codemirror.next/chunk/svelte.js.map +1 -1
  801. package/front_end/third_party/codemirror.next/chunk/vue.js +1 -1
  802. package/front_end/third_party/codemirror.next/chunk/vue.js.map +1 -1
  803. package/front_end/third_party/codemirror.next/chunk/xml.js +1 -1
  804. package/front_end/third_party/codemirror.next/chunk/xml.js.map +1 -1
  805. package/front_end/third_party/codemirror.next/codemirror.next.d.ts +79 -6
  806. package/front_end/third_party/codemirror.next/codemirror.next.js +1 -1
  807. package/front_end/third_party/codemirror.next/package.json +7 -6
  808. package/front_end/third_party/i18n/localized-string-set.ts +1 -1
  809. package/front_end/third_party/intl-messageformat/README.chromium +2 -1
  810. package/front_end/third_party/intl-messageformat/package/intl-messageformat.esm.js +0 -1
  811. package/front_end/third_party/json5/LICENSE +23 -0
  812. package/front_end/third_party/json5/README.chromium +17 -0
  813. package/front_end/third_party/json5/json5-tsconfig.json +8 -0
  814. package/front_end/third_party/json5/json5.ts +4 -0
  815. package/front_end/third_party/json5/lib/index.d.ts +2 -0
  816. package/front_end/third_party/json5/lib/index.js +1121 -0
  817. package/front_end/third_party/json5/package/lib/index.d.ts +4 -0
  818. package/front_end/third_party/json5/package/lib/index.js +9 -0
  819. package/front_end/third_party/json5/package/lib/parse.d.ts +15 -0
  820. package/front_end/third_party/json5/package/lib/parse.js +1114 -0
  821. package/front_end/third_party/json5/package/lib/register.js +13 -0
  822. package/front_end/third_party/json5/package/lib/require.js +4 -0
  823. package/front_end/third_party/json5/package/lib/stringify.d.ts +89 -0
  824. package/front_end/third_party/json5/package/lib/stringify.js +261 -0
  825. package/front_end/third_party/json5/package/lib/unicode.d.ts +3 -0
  826. package/front_end/third_party/json5/package/lib/unicode.js +4 -0
  827. package/front_end/third_party/json5/package/lib/util.d.ts +5 -0
  828. package/front_end/third_party/json5/package/lib/util.js +35 -0
  829. package/front_end/third_party/json5/package.json +8 -0
  830. package/front_end/third_party/json5/rebuild.sh +5 -0
  831. package/front_end/third_party/puppeteer/README.chromium +2 -2
  832. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.d.ts +2 -2
  833. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.d.ts.map +1 -1
  834. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.js +1 -6
  835. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.js.map +1 -1
  836. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/BrowserContext.d.ts +1 -1
  837. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/BrowserContext.d.ts.map +1 -1
  838. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/BrowserContext.js +1 -1
  839. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/BrowserContext.js.map +1 -1
  840. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/CDPSession.d.ts +1 -1
  841. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/CDPSession.js +1 -1
  842. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/ElementHandle.d.ts +13 -13
  843. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/ElementHandle.d.ts.map +1 -1
  844. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/ElementHandle.js +99 -92
  845. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/ElementHandle.js.map +1 -1
  846. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Frame.d.ts +2 -2
  847. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Frame.js +13 -6
  848. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Frame.js.map +1 -1
  849. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/HTTPRequest.d.ts +7 -2
  850. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/HTTPRequest.d.ts.map +1 -1
  851. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/HTTPRequest.js +3 -3
  852. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/HTTPRequest.js.map +1 -1
  853. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/HTTPResponse.d.ts +0 -1
  854. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/HTTPResponse.d.ts.map +1 -1
  855. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Input.d.ts +3 -3
  856. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Input.js +1 -1
  857. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/JSHandle.js +12 -5
  858. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/JSHandle.js.map +1 -1
  859. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts +22 -22
  860. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts.map +1 -1
  861. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.js +26 -19
  862. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.js.map +1 -1
  863. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/WebWorker.d.ts +2 -2
  864. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/WebWorker.js +2 -2
  865. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/api.d.ts +1 -1
  866. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/api.d.ts.map +1 -1
  867. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/api.js +0 -1
  868. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/api.js.map +1 -1
  869. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/locators/locators.d.ts.map +1 -1
  870. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/locators/locators.js +12 -5
  871. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/locators/locators.js.map +1 -1
  872. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BidiOverCdp.js +1 -2
  873. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BidiOverCdp.js.map +1 -1
  874. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Browser.d.ts +0 -1
  875. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Browser.d.ts.map +1 -1
  876. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Browser.js +4 -0
  877. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Browser.js.map +1 -1
  878. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserConnector.js +1 -2
  879. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserConnector.js.map +1 -1
  880. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserContext.js +12 -5
  881. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserContext.js.map +1 -1
  882. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/ElementHandle.d.ts.map +1 -1
  883. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/ElementHandle.js +13 -7
  884. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/ElementHandle.js.map +1 -1
  885. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/ExposedFunction.js +12 -5
  886. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/ExposedFunction.js.map +1 -1
  887. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Frame.d.ts.map +1 -1
  888. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Frame.js +3 -0
  889. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Frame.js.map +1 -1
  890. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.js +21 -10
  891. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.js.map +1 -1
  892. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Realm.js +12 -5
  893. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Realm.js.map +1 -1
  894. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Browser.d.ts.map +1 -1
  895. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Browser.js +12 -5
  896. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Browser.js.map +1 -1
  897. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/BrowsingContext.d.ts.map +1 -1
  898. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/BrowsingContext.js.map +1 -1
  899. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Navigation.d.ts.map +1 -1
  900. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Navigation.js.map +1 -1
  901. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Realm.d.ts.map +1 -1
  902. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Realm.js.map +1 -1
  903. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Request.d.ts.map +1 -1
  904. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Request.js.map +1 -1
  905. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Session.d.ts.map +1 -1
  906. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Session.js.map +1 -1
  907. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/UserContext.d.ts.map +1 -1
  908. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/UserContext.js.map +1 -1
  909. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/UserPrompt.d.ts.map +1 -1
  910. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/UserPrompt.js.map +1 -1
  911. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/core.d.ts +1 -1
  912. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/core.d.ts.map +1 -1
  913. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/core.js +0 -1
  914. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/core.js.map +1 -1
  915. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/util.js +2 -3
  916. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/util.js.map +1 -1
  917. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Accessibility.d.ts.map +1 -1
  918. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Accessibility.js +7 -4
  919. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Accessibility.js.map +1 -1
  920. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/AriaQueryHandler.d.ts.map +1 -1
  921. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/AriaQueryHandler.js +3 -0
  922. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/AriaQueryHandler.js.map +1 -1
  923. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Binding.js +12 -5
  924. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Binding.js.map +1 -1
  925. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.d.ts +0 -1
  926. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.d.ts.map +1 -1
  927. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserConnector.js +1 -2
  928. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserConnector.js.map +1 -1
  929. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.js +12 -5
  930. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.js.map +1 -1
  931. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ChromeTargetManager.d.ts.map +1 -1
  932. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ChromeTargetManager.js +3 -1
  933. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ChromeTargetManager.js.map +1 -1
  934. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Connection.js +2 -2
  935. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Connection.js.map +1 -1
  936. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/DeviceRequestPrompt.d.ts +1 -1
  937. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/DeviceRequestPrompt.js +1 -1
  938. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ElementHandle.d.ts.map +1 -1
  939. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ElementHandle.js +2 -3
  940. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ElementHandle.js.map +1 -1
  941. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ExecutionContext.d.ts +3 -3
  942. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ExecutionContext.d.ts.map +1 -1
  943. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ExecutionContext.js +17 -13
  944. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ExecutionContext.js.map +1 -1
  945. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ExtensionTransport.d.ts.map +1 -1
  946. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ExtensionTransport.js +5 -1
  947. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ExtensionTransport.js.map +1 -1
  948. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Frame.d.ts +2 -0
  949. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Frame.d.ts.map +1 -1
  950. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Frame.js +17 -0
  951. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Frame.js.map +1 -1
  952. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/FrameManager.js +1 -1
  953. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/FrameManager.js.map +1 -1
  954. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPResponse.js +1 -1
  955. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPResponse.js.map +1 -1
  956. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Input.d.ts.map +1 -1
  957. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Input.js.map +1 -1
  958. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/IsolatedWorld.d.ts +1 -2
  959. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/IsolatedWorld.d.ts.map +1 -1
  960. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/IsolatedWorld.js.map +1 -1
  961. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/JSHandle.js +2 -2
  962. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/JSHandle.js.map +1 -1
  963. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/NetworkManager.d.ts.map +1 -1
  964. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/NetworkManager.js +2 -1
  965. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/NetworkManager.js.map +1 -1
  966. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.d.ts +1 -1
  967. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.d.ts.map +1 -1
  968. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.js +16 -7
  969. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.js.map +1 -1
  970. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/PredefinedNetworkConditions.d.ts +4 -4
  971. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/PredefinedNetworkConditions.d.ts.map +1 -1
  972. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/PredefinedNetworkConditions.js +4 -4
  973. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/cdp.d.ts +2 -0
  974. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/cdp.d.ts.map +1 -1
  975. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/cdp.js +2 -0
  976. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/cdp.js.map +1 -1
  977. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/utils.js +6 -6
  978. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/utils.js.map +1 -1
  979. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.js +1 -2
  980. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.js.map +1 -1
  981. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/CSSQueryHandler.d.ts.map +1 -1
  982. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/CallbackRegistry.d.ts.map +1 -1
  983. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/CallbackRegistry.js +2 -2
  984. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/CallbackRegistry.js.map +1 -1
  985. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConnectOptions.d.ts +3 -0
  986. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConnectOptions.d.ts.map +1 -1
  987. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Debug.d.ts.map +1 -1
  988. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Debug.js +4 -5
  989. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Debug.js.map +1 -1
  990. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/GetQueryHandler.js +1 -2
  991. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/GetQueryHandler.js.map +1 -1
  992. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HandleIterator.js +13 -7
  993. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/HandleIterator.js.map +1 -1
  994. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/LazyArg.d.ts +1 -1
  995. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/LazyArg.d.ts.map +1 -1
  996. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/PSelectorParser.js +1 -2
  997. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/PSelectorParser.js.map +1 -1
  998. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/PierceQueryHandler.d.ts.map +1 -1
  999. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/QueryHandler.d.ts.map +1 -1
  1000. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/QueryHandler.js +13 -7
  1001. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/QueryHandler.js.map +1 -1
  1002. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/common.d.ts +7 -7
  1003. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/common.d.ts.map +1 -1
  1004. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/common.js +0 -7
  1005. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/common.js.map +1 -1
  1006. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/util.d.ts +2 -3
  1007. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/util.d.ts.map +1 -1
  1008. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/util.js +15 -13
  1009. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/util.js.map +1 -1
  1010. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/environment.d.ts +0 -2
  1011. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/environment.d.ts.map +1 -1
  1012. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/injected.d.ts +1 -1
  1013. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/injected.d.ts.map +1 -1
  1014. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/injected.js +1 -1
  1015. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/injected.js.map +1 -1
  1016. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.d.ts +1 -1
  1017. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.js +1 -1
  1018. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/ARIAQuerySelector.d.ts.map +1 -1
  1019. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/CSSSelector.d.ts.map +1 -1
  1020. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/PQuerySelector.d.ts.map +1 -1
  1021. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/PQuerySelector.js +1 -1
  1022. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/PQuerySelector.js.map +1 -1
  1023. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/TextQuerySelector.d.ts.map +1 -1
  1024. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/XPathQuerySelector.d.ts.map +1 -1
  1025. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/injected.d.ts +4 -4
  1026. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/injected.d.ts.map +1 -1
  1027. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/util.js +3 -3
  1028. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/util.js.map +1 -1
  1029. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.d.ts.map +1 -1
  1030. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.js.map +1 -1
  1031. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.d.ts.map +1 -1
  1032. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.js +3 -4
  1033. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.js.map +1 -1
  1034. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/PipeTransport.d.ts +0 -1
  1035. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/PipeTransport.d.ts.map +1 -1
  1036. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/PipeTransport.js.map +1 -1
  1037. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ScreenRecorder.d.ts +0 -1
  1038. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ScreenRecorder.d.ts.map +1 -1
  1039. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ScreenRecorder.js.map +1 -1
  1040. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/node.d.ts +1 -1
  1041. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/node.d.ts.map +1 -1
  1042. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/node.js +0 -1
  1043. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/node.js.map +1 -1
  1044. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/util/fs.js +2 -3
  1045. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/util/fs.js.map +1 -1
  1046. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/puppeteer-core.d.ts +6 -6
  1047. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/puppeteer-core.d.ts.map +1 -1
  1048. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/puppeteer-core.js +15 -4
  1049. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/puppeteer-core.js.map +1 -1
  1050. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.d.ts +3 -3
  1051. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js +3 -3
  1052. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js.map +1 -1
  1053. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Deferred.d.ts.map +1 -1
  1054. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Deferred.js +1 -0
  1055. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Deferred.js.map +1 -1
  1056. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/ErrorLike.d.ts +0 -1
  1057. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/ErrorLike.d.ts.map +1 -1
  1058. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/ErrorLike.js +4 -5
  1059. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/ErrorLike.js.map +1 -1
  1060. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Function.d.ts.map +1 -1
  1061. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Function.js +2 -2
  1062. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Function.js.map +1 -1
  1063. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Mutex.d.ts +2 -2
  1064. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Mutex.d.ts.map +1 -1
  1065. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/decorators.d.ts +1 -1
  1066. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/decorators.d.ts.map +1 -1
  1067. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/decorators.js +18 -13
  1068. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/decorators.js.map +1 -1
  1069. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/disposable.d.ts.map +1 -1
  1070. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/encoding.js +4 -5
  1071. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/encoding.js.map +1 -1
  1072. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/util.d.ts +1 -0
  1073. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/util.d.ts.map +1 -1
  1074. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/util.js +1 -0
  1075. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/util.js.map +1 -1
  1076. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.d.ts +374 -577
  1077. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +427 -244
  1078. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.d.ts +2 -2
  1079. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.d.ts.map +1 -1
  1080. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.js +1 -6
  1081. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.js.map +1 -1
  1082. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/BrowserContext.d.ts +1 -1
  1083. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/BrowserContext.d.ts.map +1 -1
  1084. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/BrowserContext.js +1 -1
  1085. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/BrowserContext.js.map +1 -1
  1086. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/CDPSession.d.ts +1 -1
  1087. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/CDPSession.js +1 -1
  1088. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/ElementHandle.d.ts +13 -13
  1089. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/ElementHandle.d.ts.map +1 -1
  1090. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/ElementHandle.js +98 -92
  1091. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/ElementHandle.js.map +1 -1
  1092. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Frame.d.ts +2 -2
  1093. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Frame.js +13 -6
  1094. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Frame.js.map +1 -1
  1095. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/HTTPRequest.d.ts +7 -2
  1096. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/HTTPRequest.d.ts.map +1 -1
  1097. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/HTTPRequest.js.map +1 -1
  1098. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/HTTPResponse.d.ts +0 -1
  1099. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/HTTPResponse.d.ts.map +1 -1
  1100. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Input.d.ts +3 -3
  1101. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Input.js +1 -1
  1102. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/JSHandle.js +12 -5
  1103. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/JSHandle.js.map +1 -1
  1104. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts +22 -22
  1105. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts.map +1 -1
  1106. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.js +24 -17
  1107. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.js.map +1 -1
  1108. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/WebWorker.d.ts +2 -2
  1109. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/WebWorker.js +2 -2
  1110. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/api.d.ts +1 -1
  1111. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/api.d.ts.map +1 -1
  1112. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/api.js +0 -1
  1113. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/api.js.map +1 -1
  1114. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/locators/locators.d.ts.map +1 -1
  1115. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/locators/locators.js +12 -5
  1116. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/locators/locators.js.map +1 -1
  1117. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Browser.d.ts +0 -1
  1118. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Browser.d.ts.map +1 -1
  1119. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Browser.js +4 -0
  1120. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Browser.js.map +1 -1
  1121. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserContext.js +12 -5
  1122. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserContext.js.map +1 -1
  1123. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/ElementHandle.d.ts.map +1 -1
  1124. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/ElementHandle.js +14 -8
  1125. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/ElementHandle.js.map +1 -1
  1126. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/ExposedFunction.js +12 -5
  1127. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/ExposedFunction.js.map +1 -1
  1128. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Frame.d.ts.map +1 -1
  1129. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Frame.js +3 -0
  1130. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Frame.js.map +1 -1
  1131. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.js +21 -10
  1132. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.js.map +1 -1
  1133. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Realm.js +12 -5
  1134. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Realm.js.map +1 -1
  1135. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Browser.d.ts.map +1 -1
  1136. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Browser.js +12 -5
  1137. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Browser.js.map +1 -1
  1138. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/BrowsingContext.d.ts.map +1 -1
  1139. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/BrowsingContext.js.map +1 -1
  1140. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Navigation.d.ts.map +1 -1
  1141. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Navigation.js.map +1 -1
  1142. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Realm.d.ts.map +1 -1
  1143. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Realm.js.map +1 -1
  1144. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Request.d.ts.map +1 -1
  1145. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Request.js.map +1 -1
  1146. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Session.d.ts.map +1 -1
  1147. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Session.js.map +1 -1
  1148. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/UserContext.d.ts.map +1 -1
  1149. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/UserContext.js.map +1 -1
  1150. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/UserPrompt.d.ts.map +1 -1
  1151. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/UserPrompt.js.map +1 -1
  1152. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/core.d.ts +1 -1
  1153. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/core.d.ts.map +1 -1
  1154. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/core.js +0 -1
  1155. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/core.js.map +1 -1
  1156. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Accessibility.d.ts.map +1 -1
  1157. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Accessibility.js +7 -4
  1158. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Accessibility.js.map +1 -1
  1159. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/AriaQueryHandler.d.ts.map +1 -1
  1160. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/AriaQueryHandler.js +3 -0
  1161. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/AriaQueryHandler.js.map +1 -1
  1162. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Binding.js +12 -5
  1163. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Binding.js.map +1 -1
  1164. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.d.ts +0 -1
  1165. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.d.ts.map +1 -1
  1166. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.js +12 -5
  1167. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.js.map +1 -1
  1168. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ChromeTargetManager.d.ts.map +1 -1
  1169. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ChromeTargetManager.js +3 -1
  1170. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ChromeTargetManager.js.map +1 -1
  1171. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/DeviceRequestPrompt.d.ts +1 -1
  1172. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/DeviceRequestPrompt.js +1 -1
  1173. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ElementHandle.d.ts.map +1 -1
  1174. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ElementHandle.js +3 -4
  1175. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ElementHandle.js.map +1 -1
  1176. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ExecutionContext.d.ts +3 -3
  1177. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ExecutionContext.d.ts.map +1 -1
  1178. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ExecutionContext.js +17 -13
  1179. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ExecutionContext.js.map +1 -1
  1180. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ExtensionTransport.d.ts.map +1 -1
  1181. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ExtensionTransport.js +5 -1
  1182. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ExtensionTransport.js.map +1 -1
  1183. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Frame.d.ts +2 -0
  1184. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Frame.d.ts.map +1 -1
  1185. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Frame.js +17 -0
  1186. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Frame.js.map +1 -1
  1187. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/FrameManager.js +1 -1
  1188. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/FrameManager.js.map +1 -1
  1189. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPResponse.js +1 -1
  1190. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPResponse.js.map +1 -1
  1191. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Input.d.ts.map +1 -1
  1192. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Input.js.map +1 -1
  1193. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/IsolatedWorld.d.ts +1 -2
  1194. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/IsolatedWorld.d.ts.map +1 -1
  1195. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/IsolatedWorld.js.map +1 -1
  1196. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/NetworkManager.d.ts.map +1 -1
  1197. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/NetworkManager.js +2 -1
  1198. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/NetworkManager.js.map +1 -1
  1199. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.d.ts +1 -1
  1200. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.d.ts.map +1 -1
  1201. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.js +16 -7
  1202. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.js.map +1 -1
  1203. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/PredefinedNetworkConditions.d.ts +4 -4
  1204. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/PredefinedNetworkConditions.d.ts.map +1 -1
  1205. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/PredefinedNetworkConditions.js +4 -4
  1206. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/cdp.d.ts +2 -0
  1207. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/cdp.d.ts.map +1 -1
  1208. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/cdp.js +2 -0
  1209. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/cdp.js.map +1 -1
  1210. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/CSSQueryHandler.d.ts.map +1 -1
  1211. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/CallbackRegistry.d.ts.map +1 -1
  1212. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/CallbackRegistry.js.map +1 -1
  1213. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectOptions.d.ts +3 -0
  1214. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectOptions.d.ts.map +1 -1
  1215. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Debug.d.ts.map +1 -1
  1216. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Debug.js +0 -1
  1217. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Debug.js.map +1 -1
  1218. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HandleIterator.js +12 -5
  1219. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/HandleIterator.js.map +1 -1
  1220. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/LazyArg.d.ts +1 -1
  1221. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/LazyArg.d.ts.map +1 -1
  1222. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/PierceQueryHandler.d.ts.map +1 -1
  1223. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/QueryHandler.d.ts.map +1 -1
  1224. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/QueryHandler.js +13 -7
  1225. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/QueryHandler.js.map +1 -1
  1226. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/common.d.ts +7 -7
  1227. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/common.d.ts.map +1 -1
  1228. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/common.js +0 -7
  1229. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/common.js.map +1 -1
  1230. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/util.d.ts +2 -3
  1231. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/util.d.ts.map +1 -1
  1232. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/util.js +4 -2
  1233. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/util.js.map +1 -1
  1234. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/environment.d.ts +0 -2
  1235. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/environment.d.ts.map +1 -1
  1236. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/injected.d.ts +1 -1
  1237. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/injected.d.ts.map +1 -1
  1238. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/injected.js +1 -1
  1239. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/injected.js.map +1 -1
  1240. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.d.ts +1 -1
  1241. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.js +1 -1
  1242. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/injected/ARIAQuerySelector.d.ts.map +1 -1
  1243. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/injected/CSSSelector.d.ts.map +1 -1
  1244. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/injected/PQuerySelector.d.ts.map +1 -1
  1245. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/injected/PQuerySelector.js +1 -1
  1246. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/injected/PQuerySelector.js.map +1 -1
  1247. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/injected/TextQuerySelector.d.ts.map +1 -1
  1248. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/injected/XPathQuerySelector.d.ts.map +1 -1
  1249. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/injected/injected.d.ts +3 -3
  1250. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/injected/injected.d.ts.map +1 -1
  1251. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.d.ts.map +1 -1
  1252. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.js.map +1 -1
  1253. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.d.ts.map +1 -1
  1254. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.js +0 -1
  1255. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.js.map +1 -1
  1256. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/PipeTransport.d.ts +0 -1
  1257. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/PipeTransport.d.ts.map +1 -1
  1258. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/PipeTransport.js.map +1 -1
  1259. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ScreenRecorder.d.ts +0 -1
  1260. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ScreenRecorder.d.ts.map +1 -1
  1261. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ScreenRecorder.js.map +1 -1
  1262. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/node.d.ts +1 -1
  1263. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/node.d.ts.map +1 -1
  1264. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/node.js +0 -1
  1265. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/node.js.map +1 -1
  1266. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/puppeteer-core-browser.d.ts +1 -1
  1267. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/puppeteer-core-browser.d.ts.map +1 -1
  1268. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/puppeteer-core.d.ts +6 -6
  1269. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/puppeteer-core.d.ts.map +1 -1
  1270. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/puppeteer-core.js +3 -4
  1271. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/puppeteer-core.js.map +1 -1
  1272. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.d.ts +3 -3
  1273. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js +3 -3
  1274. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js.map +1 -1
  1275. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/Deferred.d.ts.map +1 -1
  1276. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/Deferred.js +1 -0
  1277. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/Deferred.js.map +1 -1
  1278. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/ErrorLike.d.ts +0 -1
  1279. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/ErrorLike.d.ts.map +1 -1
  1280. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/Function.d.ts.map +1 -1
  1281. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/Mutex.d.ts +1 -1
  1282. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/Mutex.d.ts.map +1 -1
  1283. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/decorators.d.ts +1 -1
  1284. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/decorators.d.ts.map +1 -1
  1285. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/decorators.js +12 -6
  1286. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/decorators.js.map +1 -1
  1287. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/disposable.d.ts.map +1 -1
  1288. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/util.d.ts +1 -0
  1289. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/util.d.ts.map +1 -1
  1290. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/util.js +1 -0
  1291. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/util.js.map +1 -1
  1292. package/front_end/third_party/puppeteer/package/lib/types.d.ts +374 -577
  1293. package/front_end/third_party/puppeteer/package/package.json +6 -6
  1294. package/front_end/third_party/puppeteer/package/src/api/Browser.ts +9 -9
  1295. package/front_end/third_party/puppeteer/package/src/api/BrowserContext.ts +6 -6
  1296. package/front_end/third_party/puppeteer/package/src/api/CDPSession.ts +2 -2
  1297. package/front_end/third_party/puppeteer/package/src/api/Dialog.ts +1 -1
  1298. package/front_end/third_party/puppeteer/package/src/api/ElementHandle.ts +130 -130
  1299. package/front_end/third_party/puppeteer/package/src/api/Frame.ts +33 -33
  1300. package/front_end/third_party/puppeteer/package/src/api/HTTPRequest.ts +14 -9
  1301. package/front_end/third_party/puppeteer/package/src/api/Input.ts +11 -11
  1302. package/front_end/third_party/puppeteer/package/src/api/JSHandle.ts +5 -5
  1303. package/front_end/third_party/puppeteer/package/src/api/Page.ts +89 -88
  1304. package/front_end/third_party/puppeteer/package/src/api/Realm.ts +2 -2
  1305. package/front_end/third_party/puppeteer/package/src/api/WebWorker.ts +2 -2
  1306. package/front_end/third_party/puppeteer/package/src/api/api.ts +1 -1
  1307. package/front_end/third_party/puppeteer/package/src/api/locators/locators.ts +79 -79
  1308. package/front_end/third_party/puppeteer/package/src/bidi/BidiOverCdp.ts +7 -7
  1309. package/front_end/third_party/puppeteer/package/src/bidi/Browser.ts +9 -5
  1310. package/front_end/third_party/puppeteer/package/src/bidi/BrowserConnector.ts +5 -5
  1311. package/front_end/third_party/puppeteer/package/src/bidi/BrowserContext.ts +10 -10
  1312. package/front_end/third_party/puppeteer/package/src/bidi/CDPSession.ts +4 -4
  1313. package/front_end/third_party/puppeteer/package/src/bidi/Connection.ts +6 -6
  1314. package/front_end/third_party/puppeteer/package/src/bidi/ElementHandle.ts +9 -5
  1315. package/front_end/third_party/puppeteer/package/src/bidi/ExposedFunction.ts +11 -11
  1316. package/front_end/third_party/puppeteer/package/src/bidi/Frame.ts +45 -41
  1317. package/front_end/third_party/puppeteer/package/src/bidi/HTTPRequest.ts +9 -9
  1318. package/front_end/third_party/puppeteer/package/src/bidi/HTTPResponse.ts +3 -3
  1319. package/front_end/third_party/puppeteer/package/src/bidi/Input.ts +10 -10
  1320. package/front_end/third_party/puppeteer/package/src/bidi/JSHandle.ts +1 -1
  1321. package/front_end/third_party/puppeteer/package/src/bidi/Page.ts +56 -52
  1322. package/front_end/third_party/puppeteer/package/src/bidi/Realm.ts +15 -15
  1323. package/front_end/third_party/puppeteer/package/src/bidi/Serializer.ts +1 -1
  1324. package/front_end/third_party/puppeteer/package/src/bidi/Target.ts +2 -2
  1325. package/front_end/third_party/puppeteer/package/src/bidi/WebWorker.ts +2 -2
  1326. package/front_end/third_party/puppeteer/package/src/bidi/core/Browser.ts +5 -5
  1327. package/front_end/third_party/puppeteer/package/src/bidi/core/BrowsingContext.ts +18 -18
  1328. package/front_end/third_party/puppeteer/package/src/bidi/core/Connection.ts +1 -1
  1329. package/front_end/third_party/puppeteer/package/src/bidi/core/Navigation.ts +4 -4
  1330. package/front_end/third_party/puppeteer/package/src/bidi/core/Realm.ts +8 -8
  1331. package/front_end/third_party/puppeteer/package/src/bidi/core/Request.ts +6 -6
  1332. package/front_end/third_party/puppeteer/package/src/bidi/core/Session.ts +5 -5
  1333. package/front_end/third_party/puppeteer/package/src/bidi/core/UserContext.ts +10 -10
  1334. package/front_end/third_party/puppeteer/package/src/bidi/core/UserPrompt.ts +5 -5
  1335. package/front_end/third_party/puppeteer/package/src/bidi/core/core.ts +1 -1
  1336. package/front_end/third_party/puppeteer/package/src/bidi/util.ts +4 -4
  1337. package/front_end/third_party/puppeteer/package/src/cdp/Accessibility.ts +16 -12
  1338. package/front_end/third_party/puppeteer/package/src/cdp/AriaQueryHandler.ts +10 -6
  1339. package/front_end/third_party/puppeteer/package/src/cdp/Binding.ts +6 -6
  1340. package/front_end/third_party/puppeteer/package/src/cdp/Browser.ts +24 -24
  1341. package/front_end/third_party/puppeteer/package/src/cdp/BrowserConnector.ts +4 -4
  1342. package/front_end/third_party/puppeteer/package/src/cdp/BrowserContext.ts +2 -2
  1343. package/front_end/third_party/puppeteer/package/src/cdp/CDPSession.ts +7 -7
  1344. package/front_end/third_party/puppeteer/package/src/cdp/ChromeTargetManager.ts +19 -17
  1345. package/front_end/third_party/puppeteer/package/src/cdp/Connection.ts +7 -7
  1346. package/front_end/third_party/puppeteer/package/src/cdp/Coverage.ts +11 -11
  1347. package/front_end/third_party/puppeteer/package/src/cdp/DeviceRequestPrompt.ts +17 -17
  1348. package/front_end/third_party/puppeteer/package/src/cdp/Dialog.ts +1 -1
  1349. package/front_end/third_party/puppeteer/package/src/cdp/ElementHandle.ts +13 -9
  1350. package/front_end/third_party/puppeteer/package/src/cdp/EmulationManager.ts +34 -34
  1351. package/front_end/third_party/puppeteer/package/src/cdp/ExecutionContext.ts +19 -20
  1352. package/front_end/third_party/puppeteer/package/src/cdp/ExtensionTransport.ts +7 -3
  1353. package/front_end/third_party/puppeteer/package/src/cdp/FirefoxTargetManager.ts +7 -7
  1354. package/front_end/third_party/puppeteer/package/src/cdp/Frame.ts +38 -17
  1355. package/front_end/third_party/puppeteer/package/src/cdp/FrameManager.ts +20 -20
  1356. package/front_end/third_party/puppeteer/package/src/cdp/FrameManagerEvents.ts +1 -1
  1357. package/front_end/third_party/puppeteer/package/src/cdp/HTTPRequest.ts +5 -5
  1358. package/front_end/third_party/puppeteer/package/src/cdp/HTTPResponse.ts +5 -5
  1359. package/front_end/third_party/puppeteer/package/src/cdp/Input.ts +16 -14
  1360. package/front_end/third_party/puppeteer/package/src/cdp/IsolatedWorld.ts +15 -14
  1361. package/front_end/third_party/puppeteer/package/src/cdp/JSHandle.ts +2 -2
  1362. package/front_end/third_party/puppeteer/package/src/cdp/LifecycleWatcher.ts +11 -11
  1363. package/front_end/third_party/puppeteer/package/src/cdp/NetworkEventManager.ts +15 -15
  1364. package/front_end/third_party/puppeteer/package/src/cdp/NetworkManager.ts +38 -37
  1365. package/front_end/third_party/puppeteer/package/src/cdp/Page.ts +71 -70
  1366. package/front_end/third_party/puppeteer/package/src/cdp/PredefinedNetworkConditions.ts +4 -4
  1367. package/front_end/third_party/puppeteer/package/src/cdp/Target.ts +4 -4
  1368. package/front_end/third_party/puppeteer/package/src/cdp/TargetManager.ts +1 -1
  1369. package/front_end/third_party/puppeteer/package/src/cdp/Tracing.ts +2 -2
  1370. package/front_end/third_party/puppeteer/package/src/cdp/WebWorker.ts +5 -5
  1371. package/front_end/third_party/puppeteer/package/src/cdp/cdp.ts +2 -0
  1372. package/front_end/third_party/puppeteer/package/src/cdp/utils.ts +10 -10
  1373. package/front_end/third_party/puppeteer/package/src/common/BrowserConnector.ts +5 -5
  1374. package/front_end/third_party/puppeteer/package/src/common/CSSQueryHandler.ts +2 -2
  1375. package/front_end/third_party/puppeteer/package/src/common/CallbackRegistry.ts +9 -7
  1376. package/front_end/third_party/puppeteer/package/src/common/ConnectOptions.ts +3 -0
  1377. package/front_end/third_party/puppeteer/package/src/common/ConsoleMessage.ts +1 -1
  1378. package/front_end/third_party/puppeteer/package/src/common/CustomQueryHandler.ts +6 -6
  1379. package/front_end/third_party/puppeteer/package/src/common/Debug.ts +0 -1
  1380. package/front_end/third_party/puppeteer/package/src/common/EventEmitter.ts +8 -8
  1381. package/front_end/third_party/puppeteer/package/src/common/FileChooser.ts +3 -3
  1382. package/front_end/third_party/puppeteer/package/src/common/HandleIterator.ts +3 -3
  1383. package/front_end/third_party/puppeteer/package/src/common/LazyArg.ts +1 -1
  1384. package/front_end/third_party/puppeteer/package/src/common/NetworkManagerEvents.ts +1 -1
  1385. package/front_end/third_party/puppeteer/package/src/common/PQueryHandler.ts +2 -2
  1386. package/front_end/third_party/puppeteer/package/src/common/PSelectorParser.ts +1 -1
  1387. package/front_end/third_party/puppeteer/package/src/common/PierceQueryHandler.ts +2 -2
  1388. package/front_end/third_party/puppeteer/package/src/common/Puppeteer.ts +1 -1
  1389. package/front_end/third_party/puppeteer/package/src/common/QueryHandler.ts +13 -15
  1390. package/front_end/third_party/puppeteer/package/src/common/TaskQueue.ts +1 -1
  1391. package/front_end/third_party/puppeteer/package/src/common/TextQueryHandler.ts +1 -1
  1392. package/front_end/third_party/puppeteer/package/src/common/WaitTask.ts +8 -8
  1393. package/front_end/third_party/puppeteer/package/src/common/XPathQueryHandler.ts +2 -2
  1394. package/front_end/third_party/puppeteer/package/src/common/common.ts +7 -7
  1395. package/front_end/third_party/puppeteer/package/src/common/util.ts +17 -15
  1396. package/front_end/third_party/puppeteer/package/src/generated/injected.ts +1 -1
  1397. package/front_end/third_party/puppeteer/package/src/generated/version.ts +1 -1
  1398. package/front_end/third_party/puppeteer/package/src/injected/ARIAQuerySelector.ts +3 -3
  1399. package/front_end/third_party/puppeteer/package/src/injected/CSSSelector.ts +2 -2
  1400. package/front_end/third_party/puppeteer/package/src/injected/PQuerySelector.ts +8 -8
  1401. package/front_end/third_party/puppeteer/package/src/injected/PierceQuerySelector.ts +2 -2
  1402. package/front_end/third_party/puppeteer/package/src/injected/TextContent.ts +1 -1
  1403. package/front_end/third_party/puppeteer/package/src/injected/TextQuerySelector.ts +1 -1
  1404. package/front_end/third_party/puppeteer/package/src/injected/XPathQuerySelector.ts +2 -2
  1405. package/front_end/third_party/puppeteer/package/src/injected/util.ts +2 -2
  1406. package/front_end/third_party/puppeteer/package/src/node/BrowserLauncher.ts +38 -30
  1407. package/front_end/third_party/puppeteer/package/src/node/ChromeLauncher.ts +11 -12
  1408. package/front_end/third_party/puppeteer/package/src/node/FirefoxLauncher.ts +8 -8
  1409. package/front_end/third_party/puppeteer/package/src/node/NodeWebSocketTransport.ts +1 -1
  1410. package/front_end/third_party/puppeteer/package/src/node/PipeTransport.ts +7 -3
  1411. package/front_end/third_party/puppeteer/package/src/node/PuppeteerNode.ts +4 -4
  1412. package/front_end/third_party/puppeteer/package/src/node/ScreenRecorder.ts +11 -11
  1413. package/front_end/third_party/puppeteer/package/src/node/node.ts +1 -1
  1414. package/front_end/third_party/puppeteer/package/src/puppeteer-core.ts +4 -4
  1415. package/front_end/third_party/puppeteer/package/src/revisions.ts +3 -3
  1416. package/front_end/third_party/puppeteer/package/src/util/AsyncIterableUtil.ts +3 -3
  1417. package/front_end/third_party/puppeteer/package/src/util/Deferred.ts +3 -2
  1418. package/front_end/third_party/puppeteer/package/src/util/ErrorLike.ts +1 -1
  1419. package/front_end/third_party/puppeteer/package/src/util/Function.ts +4 -4
  1420. package/front_end/third_party/puppeteer/package/src/util/Mutex.ts +1 -1
  1421. package/front_end/third_party/puppeteer/package/src/util/assert.ts +1 -1
  1422. package/front_end/third_party/puppeteer/package/src/util/decorators.ts +8 -9
  1423. package/front_end/third_party/puppeteer/package/src/util/encoding.ts +1 -1
  1424. package/front_end/third_party/puppeteer/package/src/util/util.ts +1 -0
  1425. package/front_end/third_party/puppeteer/puppeteer.ts +1 -1
  1426. package/front_end/third_party/web-vitals/README.chromium +3 -3
  1427. package/front_end/third_party/web-vitals/package/README.md +36 -23
  1428. package/front_end/third_party/web-vitals/package/dist/modules/attribution/onINP.d.ts +2 -1
  1429. package/front_end/third_party/web-vitals/package/dist/modules/attribution/onINP.js +11 -13
  1430. package/front_end/third_party/web-vitals/package/dist/modules/lib/bindReporter.d.ts +2 -22
  1431. package/front_end/third_party/web-vitals/package/dist/modules/lib/initMetric.d.ts +3 -2
  1432. package/front_end/third_party/web-vitals/package/dist/modules/lib/interactions.js +1 -1
  1433. package/front_end/third_party/web-vitals/package/dist/modules/onLCP.js +4 -1
  1434. package/front_end/third_party/web-vitals/package/dist/web-vitals.attribution.iife.js +1 -1
  1435. package/front_end/third_party/web-vitals/package/dist/web-vitals.attribution.js +1 -1
  1436. package/front_end/third_party/web-vitals/package/dist/web-vitals.attribution.umd.cjs +1 -1
  1437. package/front_end/third_party/web-vitals/package/dist/web-vitals.iife.js +1 -1
  1438. package/front_end/third_party/web-vitals/package/dist/web-vitals.js +1 -1
  1439. package/front_end/third_party/web-vitals/package/dist/web-vitals.umd.cjs +1 -1
  1440. package/front_end/third_party/web-vitals/package/package.json +1 -1
  1441. package/front_end/third_party/web-vitals/package/src/attribution/onINP.ts +11 -14
  1442. package/front_end/third_party/web-vitals/package/src/lib/interactions.ts +1 -1
  1443. package/front_end/third_party/web-vitals/package/src/onLCP.ts +4 -1
  1444. package/front_end/third_party/web-vitals/rebuild.sh +14 -0
  1445. package/front_end/third_party/web-vitals/web-vitals.ts +2 -0
  1446. package/front_end/ui/components/adorners/Adorner.ts +0 -1
  1447. package/front_end/ui/components/buttons/Button.ts +18 -18
  1448. package/front_end/ui/components/buttons/button.css +1 -4
  1449. package/front_end/ui/components/cards/Card.test.ts +92 -0
  1450. package/front_end/ui/components/cards/Card.ts +76 -0
  1451. package/front_end/ui/components/cards/card.css +50 -0
  1452. package/front_end/ui/components/cards/cards.ts +9 -0
  1453. package/front_end/ui/components/chrome_link/ChromeLink.test.ts +5 -3
  1454. package/front_end/ui/components/chrome_link/ChromeLink.ts +3 -2
  1455. package/front_end/ui/components/data_grid/DataGrid.test.ts +3 -1
  1456. package/front_end/ui/components/data_grid/DataGrid.ts +25 -24
  1457. package/front_end/ui/components/data_grid/DataGridContextMenuUtils.ts +2 -2
  1458. package/front_end/ui/components/data_grid/DataGridController.ts +10 -7
  1459. package/front_end/ui/components/data_grid/DataGridControllerIntegrator.ts +1 -2
  1460. package/front_end/ui/components/data_grid/DataGridEvents.ts +1 -1
  1461. package/front_end/ui/components/data_grid/DataGridRenderers.ts +7 -4
  1462. package/front_end/ui/components/dialogs/Dialog.ts +4 -3
  1463. package/front_end/ui/components/dialogs/IconDialog.ts +18 -18
  1464. package/front_end/ui/components/dialogs/ShortcutDialog.ts +13 -12
  1465. package/front_end/ui/components/diff_view/DiffView.ts +9 -9
  1466. package/front_end/ui/components/docs/building-ui-documentation/ComponentPerformance.md +1 -4
  1467. package/front_end/ui/components/docs/building-ui-documentation/CreatingComponents.md +14 -44
  1468. package/front_end/ui/components/docs/create_breadcrumbs.ts +3 -1
  1469. package/front_end/ui/components/docs/expandable_list/basic.ts +4 -2
  1470. package/front_end/ui/components/docs/floating_button/basic.html +26 -0
  1471. package/front_end/ui/components/docs/floating_button/basic.ts +20 -0
  1472. package/front_end/ui/components/docs/freestyler/basic.ts +5 -1
  1473. package/front_end/ui/components/docs/freestyler/empty_state.ts +5 -0
  1474. package/front_end/ui/components/docs/icon_dialog/basic.ts +9 -7
  1475. package/front_end/ui/components/docs/panel_introduction_steps/basic.ts +7 -4
  1476. package/front_end/ui/components/docs/performance_panel/basic.ts +4 -1
  1477. package/front_end/ui/components/docs/performance_panel/flamechart.html +4 -0
  1478. package/front_end/ui/components/docs/performance_panel/flamechart.ts +45 -0
  1479. package/front_end/ui/components/docs/recorder_select_button/basic.ts +21 -18
  1480. package/front_end/ui/components/docs/report/basic.ts +21 -25
  1481. package/front_end/ui/components/docs/theme_colors/basic.ts +4 -2
  1482. package/front_end/ui/components/docs/tree_outline/custom-renderers.ts +4 -2
  1483. package/front_end/ui/components/expandable_list/ExpandableList.test.ts +5 -3
  1484. package/front_end/ui/components/expandable_list/ExpandableList.ts +6 -5
  1485. package/front_end/ui/components/floating_button/FloatingButton.ts +50 -0
  1486. package/front_end/ui/components/floating_button/floatingButton.css +63 -0
  1487. package/front_end/ui/components/floating_button/floating_button.ts +7 -0
  1488. package/front_end/ui/components/helpers/helpers.test.ts +18 -14
  1489. package/front_end/ui/components/icon_button/FileSourceIcon.test.ts +32 -0
  1490. package/front_end/ui/components/icon_button/FileSourceIcon.ts +76 -0
  1491. package/front_end/ui/components/icon_button/Icon.ts +2 -5
  1492. package/front_end/ui/components/icon_button/IconButton.ts +15 -11
  1493. package/front_end/ui/components/icon_button/fileSourceIcon.css +43 -0
  1494. package/front_end/ui/components/icon_button/icon_button.ts +2 -0
  1495. package/front_end/ui/components/issue_counter/IssueCounter.ts +6 -4
  1496. package/front_end/ui/components/issue_counter/IssueLinkIcon.ts +7 -5
  1497. package/front_end/ui/components/legacy_wrapper/LegacyWrapper.ts +1 -2
  1498. package/front_end/ui/components/linkifier/LinkifierImpl.ts +6 -2
  1499. package/front_end/ui/components/markdown_view/CodeBlock.test.ts +7 -7
  1500. package/front_end/ui/components/markdown_view/CodeBlock.ts +33 -42
  1501. package/front_end/ui/components/markdown_view/MarkdownImage.ts +12 -10
  1502. package/front_end/ui/components/markdown_view/MarkdownLink.ts +3 -2
  1503. package/front_end/ui/components/markdown_view/MarkdownView.test.ts +51 -3
  1504. package/front_end/ui/components/markdown_view/MarkdownView.ts +43 -23
  1505. package/front_end/ui/components/markdown_view/codeBlock.css +6 -28
  1506. package/front_end/ui/components/markdown_view/markdownLink.css +1 -1
  1507. package/front_end/ui/components/markdown_view/markdownView.css +4 -0
  1508. package/front_end/ui/components/menus/Menu.ts +7 -8
  1509. package/front_end/ui/components/menus/SelectMenu.test.ts +3 -1
  1510. package/front_end/ui/components/menus/SelectMenu.ts +17 -17
  1511. package/front_end/ui/components/menus/selectMenu.css +8 -5
  1512. package/front_end/ui/components/menus/selectMenuButton.css +29 -17
  1513. package/front_end/ui/components/node_text/NodeText.ts +0 -1
  1514. package/front_end/ui/components/panel_feedback/FeedbackButton.ts +5 -4
  1515. package/front_end/ui/components/panel_feedback/PanelFeedback.ts +7 -5
  1516. package/front_end/ui/components/panel_feedback/PreviewToggle.ts +6 -6
  1517. package/front_end/ui/components/panel_introduction_steps/PanelIntroductionSteps.ts +3 -2
  1518. package/front_end/ui/components/report_view/ReportView.test.ts +5 -3
  1519. package/front_end/ui/components/report_view/ReportView.ts +10 -14
  1520. package/front_end/ui/components/request_link_icon/RequestLinkIcon.ts +8 -6
  1521. package/front_end/ui/components/settings/SettingCheckbox.ts +38 -18
  1522. package/front_end/ui/components/settings/SettingDeprecationWarning.ts +6 -5
  1523. package/front_end/ui/components/settings/settingCheckbox.css +1 -0
  1524. package/front_end/ui/components/spinners/Spinner.ts +3 -2
  1525. package/front_end/ui/components/spinners/spinner.css +1 -0
  1526. package/front_end/ui/components/split_view/SplitView.ts +3 -2
  1527. package/front_end/ui/components/srgb_overlay/SrgbOverlay.ts +3 -2
  1528. package/front_end/ui/components/suggestion_input/SuggestionInput.ts +3 -2
  1529. package/front_end/ui/components/survey_link/SurveyLink.ts +6 -4
  1530. package/front_end/ui/components/switch/SwitchImpl.ts +3 -2
  1531. package/front_end/ui/components/text_editor/TextEditor.ts +0 -2
  1532. package/front_end/ui/components/text_editor/TextEditorHistory.ts +2 -2
  1533. package/front_end/ui/components/text_prompt/TextPrompt.ts +3 -2
  1534. package/front_end/ui/components/tree_outline/TreeOutline.test.ts +8 -6
  1535. package/front_end/ui/components/tree_outline/TreeOutline.ts +9 -9
  1536. package/front_end/ui/components/two_states_counter/TwoStatesCounter.ts +5 -4
  1537. package/front_end/ui/legacy/Context.ts +1 -1
  1538. package/front_end/ui/legacy/ContextMenu.ts +46 -7
  1539. package/front_end/ui/legacy/Dialog.ts +2 -2
  1540. package/front_end/ui/legacy/DockController.ts +2 -2
  1541. package/front_end/ui/legacy/FilterBar.test.ts +52 -0
  1542. package/front_end/ui/legacy/FilterBar.ts +47 -2
  1543. package/front_end/ui/legacy/FilterSuggestionBuilder.ts +1 -1
  1544. package/front_end/ui/legacy/GlassPane.ts +1 -1
  1545. package/front_end/ui/legacy/Infobar.ts +1 -1
  1546. package/front_end/ui/legacy/InspectorView.ts +5 -5
  1547. package/front_end/ui/legacy/KeyboardShortcut.ts +35 -21
  1548. package/front_end/ui/legacy/Panel.ts +3 -3
  1549. package/front_end/ui/legacy/ShortcutRegistry.ts +11 -8
  1550. package/front_end/ui/legacy/SoftContextMenu.ts +3 -0
  1551. package/front_end/ui/legacy/SplitWidget.test.ts +33 -1
  1552. package/front_end/ui/legacy/SplitWidget.ts +62 -7
  1553. package/front_end/ui/legacy/TabbedPane.ts +24 -0
  1554. package/front_end/ui/legacy/ThrottledWidget.ts +2 -2
  1555. package/front_end/ui/legacy/Toolbar.test.ts +39 -0
  1556. package/front_end/ui/legacy/Toolbar.ts +17 -17
  1557. package/front_end/ui/legacy/Treeoutline.ts +7 -4
  1558. package/front_end/ui/legacy/UIUtils.ts +10 -1
  1559. package/front_end/ui/legacy/View.ts +4 -4
  1560. package/front_end/ui/legacy/ViewManager.ts +5 -3
  1561. package/front_end/ui/legacy/ViewRegistration.ts +2 -2
  1562. package/front_end/ui/legacy/Widget.ts +64 -16
  1563. package/front_end/ui/legacy/XElement.ts +0 -1
  1564. package/front_end/ui/legacy/XLink.test.ts +3 -1
  1565. package/front_end/ui/legacy/XLink.ts +6 -4
  1566. package/front_end/ui/legacy/checkboxTextLabel.css +4 -0
  1567. package/front_end/ui/legacy/components/color_picker/Spectrum.ts +1 -1
  1568. package/front_end/ui/legacy/components/data_grid/DataGrid.test.ts +51 -0
  1569. package/front_end/ui/legacy/components/data_grid/DataGrid.ts +92 -6
  1570. package/front_end/ui/legacy/components/data_grid/DataGridWithPreview.ts +21 -10
  1571. package/front_end/ui/legacy/components/data_grid/dataGrid.css +8 -1
  1572. package/front_end/ui/legacy/components/inline_editor/AnimationTimingUI.ts +1 -1
  1573. package/front_end/ui/legacy/components/inline_editor/CSSAngle.ts +11 -11
  1574. package/front_end/ui/legacy/components/inline_editor/CSSAngleEditor.ts +0 -1
  1575. package/front_end/ui/legacy/components/inline_editor/CSSAngleSwatch.ts +0 -1
  1576. package/front_end/ui/legacy/components/inline_editor/CSSLength.ts +0 -1
  1577. package/front_end/ui/legacy/components/inline_editor/ColorMixSwatch.ts +3 -2
  1578. package/front_end/ui/legacy/components/inline_editor/ColorSwatch.ts +3 -2
  1579. package/front_end/ui/legacy/components/inline_editor/LinkSwatch.ts +9 -12
  1580. package/front_end/ui/legacy/components/inline_editor/Swatches.ts +6 -6
  1581. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +2 -2
  1582. package/front_end/ui/legacy/components/perf_ui/BrickBreaker.ts +2 -2
  1583. package/front_end/ui/legacy/components/perf_ui/CanvasHelper.ts +1 -83
  1584. package/front_end/ui/legacy/components/perf_ui/ChartViewport.ts +3 -2
  1585. package/front_end/ui/legacy/components/perf_ui/FilmStripView.test.ts +9 -9
  1586. package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +209 -68
  1587. package/front_end/ui/legacy/components/perf_ui/PieChart.ts +1 -1
  1588. package/front_end/ui/legacy/components/perf_ui/TimelineOverviewCalculator.ts +1 -1
  1589. package/front_end/ui/legacy/components/perf_ui/TimelineOverviewPane.ts +3 -3
  1590. package/front_end/ui/legacy/components/source_frame/BinaryResourceViewFactory.test.ts +5 -9
  1591. package/front_end/ui/legacy/components/source_frame/BinaryResourceViewFactory.ts +9 -60
  1592. package/front_end/ui/legacy/components/source_frame/SourceFrame.test.ts +18 -0
  1593. package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +20 -3
  1594. package/front_end/ui/legacy/components/source_frame/StreamingContentHexView.test.ts +69 -0
  1595. package/front_end/ui/legacy/components/source_frame/StreamingContentHexView.ts +122 -0
  1596. package/front_end/ui/legacy/components/source_frame/source_frame.ts +2 -0
  1597. package/front_end/ui/legacy/designTokens.css +46 -40
  1598. package/front_end/ui/legacy/filter.css +23 -8
  1599. package/front_end/ui/legacy/inspectorCommon.css +31 -30
  1600. package/front_end/ui/legacy/searchableView.css +4 -3
  1601. package/front_end/ui/legacy/softDropDownButton.css +10 -6
  1602. package/front_end/ui/legacy/tabbedPane.css +1 -1
  1603. package/front_end/ui/legacy/themeColors.css +10 -0
  1604. package/front_end/ui/legacy/toolbar.css +42 -18
  1605. package/front_end/ui/legacy/treeoutline.css +0 -3
  1606. package/front_end/ui/lit-html/static.test.ts +8 -8
  1607. package/front_end/ui/visual_logging/Debugging.ts +1 -1
  1608. package/front_end/ui/visual_logging/KnownContextValues.ts +99 -4
  1609. package/front_end/ui/visual_logging/LoggingDriver.test.ts +53 -6
  1610. package/front_end/ui/visual_logging/LoggingDriver.ts +9 -6
  1611. package/front_end/ui/visual_logging/LoggingEvents.test.ts +5 -1
  1612. package/front_end/ui/visual_logging/LoggingEvents.ts +29 -29
  1613. package/front_end/ui/visual_logging/LoggingState.ts +2 -2
  1614. package/front_end/ui/visual_logging/NonDomState.ts +2 -2
  1615. package/front_end/ui/visual_logging/visual_logging.ts +3 -1
  1616. package/inspector_overlay/css_grid_label_helpers.test.ts +103 -0
  1617. package/inspector_overlay/css_grid_label_helpers.ts +63 -12
  1618. package/inspector_overlay/highlight_common.ts +2 -2
  1619. package/inspector_overlay/highlight_container_query.ts +1 -2
  1620. package/inspector_overlay/highlight_flex_common.test.ts +1 -1
  1621. package/inspector_overlay/highlight_flex_common.ts +2 -3
  1622. package/inspector_overlay/highlight_grid_common.ts +10 -4
  1623. package/inspector_overlay/highlight_isolated_element.ts +1 -1
  1624. package/inspector_overlay/highlight_scroll_snap.ts +1 -2
  1625. package/inspector_overlay/testing/InspectorOverlayHelpers.ts +1 -1
  1626. package/inspector_overlay/tool_highlight.ts +4 -8
  1627. package/package.json +8 -8
  1628. package/scripts/build/esbuild.js +3 -1
  1629. package/scripts/devtools_paths.js +19 -2
  1630. package/scripts/eslint_rules/lib/avoid_assert_equal.js +34 -7
  1631. package/scripts/eslint_rules/lib/check_test_definitions.js +1 -1
  1632. package/scripts/eslint_rules/lib/html_tagged_template.js +55 -0
  1633. package/scripts/eslint_rules/lib/inline_type_imports.js +22 -23
  1634. package/scripts/eslint_rules/tests/avoid_assert_equal_test.js +61 -2
  1635. package/scripts/eslint_rules/tests/check_test_definitions_test.js +10 -0
  1636. package/scripts/eslint_rules/tests/html_tagged_template_test.js +96 -0
  1637. package/scripts/eslint_rules/tests/inline_type_imports_test.js +5 -25
  1638. package/scripts/freestyler/eval/index.js +83 -47
  1639. package/scripts/protocol_typescript/protocol_dts_generator.ts +1 -1
  1640. package/scripts/stylelint_rules/lib/use_theme_colors.js +2 -1
  1641. package/scripts/stylelint_rules/tests/use_theme_colors_test.js +16 -0
  1642. package/tsconfig.json +11 -1
  1643. package/docs/add_uma_metrics.md +0 -41
  1644. package/docs/uma_metrics.md +0 -23
  1645. package/front_end/Images/src/spark.svg +0 -3
  1646. package/front_end/panels/animation/AnimationDOMNode.ts +0 -268
  1647. package/front_end/panels/freestyler/components/ProvideFeedback.test.ts +0 -29
  1648. package/front_end/panels/freestyler/components/provideFeedback.css +0 -60
  1649. package/front_end/panels/timeline/components/insights/lcpDiscovery.css +0 -13
  1650. package/scripts/eslint_rules/lib/ban_literal_devtools_component_tag_names.js +0 -40
  1651. package/scripts/eslint_rules/lib/check_component_naming.js +0 -214
  1652. package/scripts/eslint_rules/lib/lit_html_data_as_type.js +0 -83
  1653. package/scripts/eslint_rules/tests/ban_literal_devtools_component_tag_names_test.js +0 -38
  1654. package/scripts/eslint_rules/tests/check_component_naming_test.js +0 -246
  1655. package/scripts/eslint_rules/tests/lit_html_data_as_type_test.js +0 -81
@@ -2,36 +2,44 @@
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 '../../../ui/components/icon_button/icon_button.js';
6
+ import './CPUThrottlingSelector.js';
7
+ import './FieldSettingsDialog.js';
8
+ import './NetworkThrottlingSelector.js';
9
+ import '../../../ui/components/menus/menus.js';
10
+ import './MetricCard.js';
11
+
5
12
  import * as Common from '../../../core/common/common.js';
13
+ import * as Host from '../../../core/host/host.js';
6
14
  import * as i18n from '../../../core/i18n/i18n.js';
15
+ import type * as Platform from '../../../core/platform/platform.js';
7
16
  import type * as SDK from '../../../core/sdk/sdk.js';
8
17
  import * as CrUXManager from '../../../models/crux-manager/crux-manager.js';
9
18
  import * as EmulationModel from '../../../models/emulation/emulation.js';
10
19
  import * as LiveMetrics from '../../../models/live-metrics/live-metrics.js';
11
20
  import * as Buttons from '../../../ui/components/buttons/buttons.js';
12
21
  import * as ComponentHelpers from '../../../ui/components/helpers/helpers.js';
13
- import * as IconButton from '../../../ui/components/icon_button/icon_button.js';
14
22
  import * as LegacyWrapper from '../../../ui/components/legacy_wrapper/legacy_wrapper.js';
15
- import * as Menus from '../../../ui/components/menus/menus.js';
16
- import * as Settings from '../../../ui/components/settings/settings.js';
17
- import * as Components from '../../../ui/legacy/components/utils/utils.js';
23
+ import type * as Menus from '../../../ui/components/menus/menus.js';
24
+ import * as Coordinator from '../../../ui/components/render_coordinator/render_coordinator.js';
25
+ import type * as Settings from '../../../ui/components/settings/settings.js';
18
26
  import * as UI from '../../../ui/legacy/legacy.js';
19
27
  import * as LitHtml from '../../../ui/lit-html/lit-html.js';
28
+ import * as VisualLogging from '../../../ui/visual_logging/visual_logging.js';
20
29
  import * as MobileThrottling from '../../mobile_throttling/mobile_throttling.js';
21
30
 
22
- import {CPUThrottlingSelector} from './CPUThrottlingSelector.js';
23
- import {FieldSettingsDialog} from './FieldSettingsDialog.js';
24
31
  import liveMetricsViewStyles from './liveMetricsView.css.js';
25
- import {MetricCard, type MetricCardData} from './MetricCard.js';
32
+ import type {MetricCardData} from './MetricCard.js';
26
33
  import metricValueStyles from './metricValueStyles.css.js';
27
- import {NetworkThrottlingSelector} from './NetworkThrottlingSelector.js';
28
- import {INP_THRESHOLDS, renderMetricValue} from './Utils.js';
34
+ import {CLS_THRESHOLDS, INP_THRESHOLDS, renderMetricValue} from './Utils.js';
29
35
 
30
36
  const {html, nothing, Directives} = LitHtml;
31
37
  const {until} = Directives;
32
38
 
33
39
  type DeviceOption = CrUXManager.DeviceScope|'AUTO';
34
40
 
41
+ const coordinator = Coordinator.RenderCoordinator.RenderCoordinator.instance();
42
+
35
43
  const DEVICE_OPTION_LIST: DeviceOption[] = ['AUTO', ...CrUXManager.DEVICE_SCOPE_LIST];
36
44
 
37
45
  const RTT_COMPARISON_THRESHOLD = 200;
@@ -46,10 +54,18 @@ const UIStrings = {
46
54
  * @description Title of a view that shows performance metrics from the local environment.
47
55
  */
48
56
  localMetrics: 'Local metrics',
57
+ /**
58
+ * @description Accessible label for a section that logs user interactions and layout shifts. A layout shift is an event that shifts content in the layout of the page causing a jarring experience for the user.
59
+ */
60
+ eventLogs: 'Interaction and layout shift logs section',
49
61
  /**
50
62
  * @description Title of a section that lists user interactions.
51
63
  */
52
64
  interactions: 'Interactions',
65
+ /**
66
+ * @description Title of a section that lists layout shifts. A layout shift is an event that shifts content in the layout of the page causing a jarring experience for the user.
67
+ */
68
+ layoutShifts: 'Layout shifts',
53
69
  /**
54
70
  * @description Title of a sidebar section that shows options for the user to take after using the main view.
55
71
  */
@@ -67,6 +83,15 @@ const UIStrings = {
67
83
  * @example {Mobile} PH1
68
84
  */
69
85
  showFieldDataForDevice: 'Show field data for device type: {PH1}',
86
+ /**
87
+ * @description Text indicating that there is not enough data to report real user statistics.
88
+ */
89
+ notEnoughData: 'Not enough data',
90
+ /**
91
+ * @description Label for a text block that describes the network connections of real users.
92
+ * @example {75th percentile is similar to Slow 4G throttling} PH1
93
+ */
94
+ network: 'Network: {PH1}',
70
95
  /**
71
96
  * @description Label for an select box that selects which device type field data be shown for (e.g. desktop/mobile/all devices/etc).
72
97
  * @example {Mobile} PH1
@@ -127,30 +152,20 @@ const UIStrings = {
127
152
  */
128
153
  showFieldDataForPage: 'Show field data for {PH1}',
129
154
  /**
130
- * @description Tooltip text explaining that real user connections are similar to a test environment with no throttling. "latencies" refers to the time it takes for a website server to respond. "throttling" is when the network is intentionally slowed down to simulate a slower connection.
155
+ * @description Tooltip text explaining that real user connections are similar to a test environment with no throttling. "throttling" is when the network is intentionally slowed down to simulate a slower connection.
131
156
  */
132
- tryDisablingThrottling:
133
- 'The 75th percentile of real users experienced network latencies similar to a connection with no throttling.',
157
+ tryDisablingThrottling: '75th percentile is too fast to simulate with throttling',
134
158
  /**
135
- * @description Tooltip text explaining that real user connections are similar to a specif network throttling setup. "latencies" refers to the time it takes for a website server to respond. "throttling" is when the network is intentionally slowed down to simulate a slower connection.
159
+ * @description Tooltip text explaining that real user connections are similar to a specif network throttling setup. "throttling" is when the network is intentionally slowed down to simulate a slower connection.
136
160
  * @example {Slow 4G} PH1
137
161
  */
138
- tryUsingThrottling: 'The 75th percentile of real users experienced network latencies similar to {PH1} throttling.',
162
+ tryUsingThrottling: '75th percentile is similar to {PH1} throttling',
139
163
  /**
140
- * @description Tooltip text explaining that a majority of users are using a mobile form factor with the specific percentage.
164
+ * @description Text block listing what percentage of real users are on different device form factors.
141
165
  * @example {60%} PH1
166
+ * @example {30%} PH2
142
167
  */
143
- mostUsersMobile: '{PH1} of users are on mobile.',
144
- /**
145
- * @description Tooltip text explaining that a majority of users are using a desktop form factor with the specific percentage.
146
- * @example {60%} PH1
147
- */
148
- mostUsersDesktop: '{PH1} of users are on desktop.',
149
- /**
150
- * @description Text for a percentage value.
151
- * @example {60} PH1
152
- */
153
- percentage: '{PH1}%',
168
+ percentDevices: '{PH1}% mobile, {PH2}% desktop',
154
169
  /**
155
170
  * @description Text block explaining how to simulate different mobile and desktop devices. The placeholder at the end will be a link with the text "simulate different devices" translated separately.
156
171
  * @example {simulate different devices} PH1
@@ -172,11 +187,28 @@ const UIStrings = {
172
187
  /**
173
188
  * @description Text label for a link to the Largest Contentful Paint (LCP) related page element. This element represents the largest content on the page. "LCP" should not be translated.
174
189
  */
175
- lcpElement: 'LCP Element',
190
+ lcpElement: 'LCP element',
191
+ /**
192
+ * @description Text label for a button that reveals the user interaction associated with the Interaction to Next Paint (INP) performance metric. "INP" should not be translated.
193
+ */
194
+ inpInteractionLink: 'INP interaction',
195
+ /**
196
+ * @description Text label for a button that reveals the cluster of layout shift events that affected the page content the most. A cluster is a group of layout shift events that occur in quick succession.
197
+ */
198
+ worstCluster: 'Worst cluster',
199
+ /**
200
+ * @description [ICU Syntax] Text content of a button that reveals the cluster of layout shift events that affected the page content the most. A layout shift is an event that shifts content in the layout of the page causing a jarring experience for the user. This text will indicate how many shifts were in the cluster.
201
+ * @example {3} shiftCount
202
+ */
203
+ numShifts: `{shiftCount, plural,
204
+ =1 {{shiftCount} shift}
205
+ other {{shiftCount} shifts}
206
+ }`,
176
207
  /**
177
208
  * @description Label for a a range of dates that represents the period of time a set of field data is collected from.
209
+ * @example {Oct 1, 2024 - Nov 1, 2024} PH1
178
210
  */
179
- collectionPeriod: 'Collection period:',
211
+ collectionPeriod: 'Collection period: {PH1}',
180
212
  /**
181
213
  * @description Text showing a range of dates meant to represent a period of time.
182
214
  * @example {Oct 1, 2024} PH1
@@ -189,36 +221,23 @@ const UIStrings = {
189
221
  */
190
222
  seeHowYourLocalMetricsCompare: 'See how your local metrics compare to real user data in the {PH1}.',
191
223
  /**
192
- * @description Text block explaining that local metrics are collected from the local environment used to load the page being tested. PH1 will be a link with text that will be translated separately.
193
- * @example {local metrics} PH1
224
+ * @description Tooltip text for a link that goes to documentation explaining the difference between local and field metrics. "Local metrics" are performance metrics measured in the developers local environment. "field data" is data measured by real users in the field.
194
225
  */
195
- theLocalMetricsAre: 'The {PH1} are captured from the current page using your network connection and device.',
196
- /**
197
- * @description Link text that is inserted in another translated text block that describes performance metrics measured in the developers local environment.
198
- */
199
- localMetricsLink: 'local metrics',
200
- /**
201
- * @description Text block explaining that field metrics are measured by real users using many different connections and hardware over a 28 period. PH1 will be a link with text that will be translated separately.
202
- * @example {field data} PH1
203
- */
204
- theFieldMetricsAre: 'The {PH1} is measured by real users using many different network connections and devices.',
205
- /**
206
- * @description Link text that is inserted in another translated text block that describes performance data measured by real users in the field.
207
- */
208
- fieldDataLink: 'field data',
226
+ learnMoreAboutMetrics:
227
+ 'Local metrics are captured from the current page using your network connection and device. Field data is measured by real users using many different network connections and devices. Click to learn more about local and field metrics.',
209
228
  /**
210
229
  * @description Tooltip text explaining that this user interaction was ignored when calculating the Interaction to Next Paint (INP) metric because the interaction delay fell beyond the 98th percentile of interaction delays on this page. "INP" is an acronym and should not be translated.
211
230
  */
212
231
  interactionExcluded:
213
232
  'INP is calculated using the 98th percentile of interaction delays, so some interaction delays may be larger than the INP value.',
214
233
  /**
215
- * @description Tooltip for a button that will remove everything from a log that lists user interactions that happened on the page.
234
+ * @description Tooltip for a button that will remove everything from the currently selected log.
216
235
  */
217
- clearInteractionsLog: 'Clear interactions log',
236
+ clearCurrentLog: 'Clear the current log',
218
237
  /**
219
- * @description Title for an expandable section that contains more information about real user environments. This message is meant to prompt the user to understand the conditions experienced by real users.
238
+ * @description Title for a section that contains more information about real user environments. This message is meant to prompt the user to understand the conditions experienced by real users.
220
239
  */
221
- considerRealUser: 'Consider real user environments',
240
+ realUserEnvironments: 'Real user environments',
222
241
  /**
223
242
  * @description Title for a page load phase that measures the time between when the page load starts and the time when the first byte of the initial document is downloaded.
224
243
  */
@@ -255,19 +274,35 @@ const UIStrings = {
255
274
  * @description Tooltip text for a button that reveals the user interaction associated with the Interaction to Next Paint (INP) performance metric.
256
275
  */
257
276
  showInpInteraction: 'Go to the INP interaction.',
277
+ /**
278
+ * @description Tooltip text for a button that reveals the cluster of layout shift events that affected the page content the most. A layout shift is an event that shifts content in the layout of the page causing a jarring experience for the user. A cluster is a group of layout shift events that occur in quick succession.
279
+ */
280
+ showClsCluster: 'Go to worst layout shift cluster.',
281
+ /**
282
+ * @description Column header for table cell values representing the phase/component/stage/section of a larger duration.
283
+ */
284
+ phase: 'Phase',
285
+ /**
286
+ * @description Column header for table cell values representing a phase duration (in milliseconds) that was measured in the developers local environment.
287
+ */
288
+ duration: 'Local duration (ms)',
289
+ /**
290
+ * @description Tooltip text for a button that will open the Chrome DevTools console to and log additional details about a user interaction.
291
+ */
292
+ logToConsole: 'Log additional interaction data to the console',
258
293
  };
259
294
 
260
295
  const str_ = i18n.i18n.registerUIStrings('panels/timeline/components/LiveMetricsView.ts', UIStrings);
261
296
  const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
262
297
 
263
298
  export class LiveMetricsView extends LegacyWrapper.LegacyWrapper.WrappableComponent {
264
- static readonly litTagName = LitHtml.literal`devtools-live-metrics-view`;
265
299
  readonly #shadow = this.attachShadow({mode: 'open'});
266
300
 
267
301
  #lcpValue?: LiveMetrics.LCPValue;
268
302
  #clsValue?: LiveMetrics.CLSValue;
269
303
  #inpValue?: LiveMetrics.INPValue;
270
- #interactions: LiveMetrics.Interaction[] = [];
304
+ #interactions: LiveMetrics.InteractionMap = new Map();
305
+ #layoutShifts: LiveMetrics.LayoutShift[] = [];
271
306
 
272
307
  #cruxPageResult?: CrUXManager.PageResult;
273
308
 
@@ -277,29 +312,17 @@ export class LiveMetricsView extends LegacyWrapper.LegacyWrapper.WrappableCompon
277
312
  #toggleRecordAction: UI.ActionRegistration.Action;
278
313
  #recordReloadAction: UI.ActionRegistration.Action;
279
314
 
315
+ #logsEl?: LiveMetricsLogs;
280
316
  #tooltipContainerEl?: Element;
281
317
  #interactionsListEl?: HTMLElement;
282
- #interactionsListScrolling = false;
318
+ #layoutShiftsListEl?: HTMLElement;
319
+ #listIsScrolling = false;
283
320
 
284
321
  constructor() {
285
322
  super();
286
323
 
287
324
  this.#toggleRecordAction = UI.ActionRegistry.ActionRegistry.instance().getAction('timeline.toggle-recording');
288
325
  this.#recordReloadAction = UI.ActionRegistry.ActionRegistry.instance().getAction('timeline.record-reload');
289
-
290
- const interactionRevealer = new InteractionRevealer(this);
291
-
292
- Common.Revealer.registerRevealer({
293
- contextTypes() {
294
- return [LiveMetrics.Interaction];
295
- },
296
- destination: Common.Revealer.RevealerDestination.TIMELINE_PANEL,
297
- async loadRevealer() {
298
- return interactionRevealer;
299
- },
300
- });
301
-
302
- this.#render();
303
326
  }
304
327
 
305
328
  #onMetricStatus(event: {data: LiveMetrics.StatusEvent}): void {
@@ -307,13 +330,25 @@ export class LiveMetricsView extends LegacyWrapper.LegacyWrapper.WrappableCompon
307
330
  this.#clsValue = event.data.cls;
308
331
  this.#inpValue = event.data.inp;
309
332
 
310
- const hasNewInteraction = this.#interactions.length < event.data.interactions.length;
311
- this.#interactions = [...event.data.interactions];
333
+ const hasNewLS = this.#layoutShifts.length < event.data.layoutShifts.length;
334
+ this.#layoutShifts = [...event.data.layoutShifts];
335
+
336
+ const hasNewInteraction = this.#interactions.size < event.data.interactions.size;
337
+ this.#interactions = new Map(event.data.interactions);
312
338
 
313
339
  const renderPromise = ComponentHelpers.ScheduledRender.scheduleRender(this, this.#render);
314
340
 
315
- const listEl = this.#interactionsListEl;
316
- if (!hasNewInteraction || !listEl) {
341
+ if (hasNewInteraction && this.#interactionsListEl) {
342
+ this.#keepScrolledToBottom(renderPromise, this.#interactionsListEl);
343
+ }
344
+
345
+ if (hasNewLS && this.#layoutShiftsListEl) {
346
+ this.#keepScrolledToBottom(renderPromise, this.#layoutShiftsListEl);
347
+ }
348
+ }
349
+
350
+ #keepScrolledToBottom(renderPromise: Promise<void>, listEl: HTMLElement): void {
351
+ if (!listEl.checkVisibility()) {
317
352
  return;
318
353
  }
319
354
 
@@ -323,15 +358,15 @@ export class LiveMetricsView extends LegacyWrapper.LegacyWrapper.WrappableCompon
323
358
  // However, if a new item appears while the animation for a previous item is still going,
324
359
  // then we should "finish" the scroll by sending another scroll command even if the scroll position
325
360
  // the element hasn't scrolled all the way to the bottom yet.
326
- if (!isAtBottom && !this.#interactionsListScrolling) {
361
+ if (!isAtBottom && !this.#listIsScrolling) {
327
362
  return;
328
363
  }
329
364
 
330
365
  void renderPromise.then(() => {
331
366
  requestAnimationFrame(() => {
332
- this.#interactionsListScrolling = true;
367
+ this.#listIsScrolling = true;
333
368
  listEl.addEventListener('scrollend', () => {
334
- this.#interactionsListScrolling = false;
369
+ this.#listIsScrolling = false;
335
370
  }, {once: true});
336
371
  listEl.scrollTo({top: listEl.scrollHeight, behavior: 'smooth'});
337
372
  });
@@ -381,6 +416,7 @@ export class LiveMetricsView extends LegacyWrapper.LegacyWrapper.WrappableCompon
381
416
  this.#clsValue = liveMetrics.clsValue;
382
417
  this.#inpValue = liveMetrics.inpValue;
383
418
  this.#interactions = liveMetrics.interactions;
419
+ this.#layoutShifts = liveMetrics.layoutShifts;
384
420
  void ComponentHelpers.ScheduledRender.scheduleRender(this, this.#render);
385
421
  }
386
422
 
@@ -415,7 +451,7 @@ export class LiveMetricsView extends LegacyWrapper.LegacyWrapper.WrappableCompon
415
451
 
416
452
  // clang-format off
417
453
  return html`
418
- <${MetricCard.litTagName} .data=${{
454
+ <devtools-metric-card .data=${{
419
455
  metric: 'LCP',
420
456
  localValue: this.#lcpValue?.value,
421
457
  fieldValue: fieldData?.percentiles?.p75,
@@ -435,7 +471,7 @@ export class LiveMetricsView extends LegacyWrapper.LegacyWrapper.WrappableCompon
435
471
  </div>
436
472
  `
437
473
  : nothing}
438
- </${MetricCard.litTagName}>
474
+ </devtools-metric-card>
439
475
  `;
440
476
  // clang-format on
441
477
  }
@@ -443,16 +479,31 @@ export class LiveMetricsView extends LegacyWrapper.LegacyWrapper.WrappableCompon
443
479
  #renderClsCard(): LitHtml.LitTemplate {
444
480
  const fieldData = this.#getFieldMetricData('cumulative_layout_shift');
445
481
 
482
+ const clusterIds = new Set(this.#clsValue?.clusterShiftIds || []);
483
+ const clusterIsVisible =
484
+ clusterIds.size > 0 && this.#layoutShifts.some(layoutShift => clusterIds.has(layoutShift.uniqueLayoutShiftId));
485
+
446
486
  // clang-format off
447
487
  return html`
448
- <${MetricCard.litTagName} .data=${{
488
+ <devtools-metric-card .data=${{
449
489
  metric: 'CLS',
450
490
  localValue: this.#clsValue?.value,
451
491
  fieldValue: fieldData?.percentiles?.p75,
452
492
  histogram: fieldData?.histogram,
453
493
  tooltipContainer: this.#tooltipContainerEl,
454
494
  } as MetricCardData}>
455
- </${MetricCard.litTagName}>
495
+ ${clusterIsVisible ? html`
496
+ <div class="related-info" slot="extra-info">
497
+ <span class="related-info-label">${i18nString(UIStrings.worstCluster)}</span>
498
+ <button
499
+ class="link-to-log"
500
+ title=${i18nString(UIStrings.showClsCluster)}
501
+ @click=${() => this.#revealLayoutShiftCluster(clusterIds)}
502
+ jslog=${VisualLogging.action('timeline.landing.show-cls-cluster').track({click: true})}
503
+ >${i18nString(UIStrings.numShifts, {shiftCount: clusterIds.size})}</button>
504
+ </div>
505
+ ` : nothing}
506
+ </devtools-metric-card>
456
507
  `;
457
508
  // clang-format on
458
509
  }
@@ -460,24 +511,11 @@ export class LiveMetricsView extends LegacyWrapper.LegacyWrapper.WrappableCompon
460
511
  #renderInpCard(): LitHtml.LitTemplate {
461
512
  const fieldData = this.#getFieldMetricData('interaction_to_next_paint');
462
513
  const phases = this.#inpValue?.phases;
463
- const interaction =
464
- this.#interactions.find(interaction => interaction.uniqueInteractionId === this.#inpValue?.uniqueInteractionId);
465
-
466
- let interactionLink;
467
- if (interaction) {
468
- interactionLink = Components.Linkifier.Linkifier.linkifyRevealable(
469
- interaction,
470
- interaction.interactionType,
471
- undefined,
472
- i18nString(UIStrings.showInpInteraction),
473
- 'link-to-interaction',
474
- );
475
- interactionLink.tabIndex = 0;
476
- }
514
+ const interaction = this.#inpValue && this.#interactions.get(this.#inpValue.interactionId);
477
515
 
478
516
  // clang-format off
479
517
  return html`
480
- <${MetricCard.litTagName} .data=${{
518
+ <devtools-metric-card .data=${{
481
519
  metric: 'INP',
482
520
  localValue: this.#inpValue?.value,
483
521
  fieldValue: fieldData?.percentiles?.p75,
@@ -489,13 +527,18 @@ export class LiveMetricsView extends LegacyWrapper.LegacyWrapper.WrappableCompon
489
527
  [i18nString(UIStrings.presentationDelay), phases.presentationDelay],
490
528
  ],
491
529
  } as MetricCardData}>
492
- ${interactionLink ? html`
530
+ ${interaction ? html`
493
531
  <div class="related-info" slot="extra-info">
494
- <span class="related-info-label">INP interaction</span>
495
- ${interactionLink}
532
+ <span class="related-info-label">${i18nString(UIStrings.inpInteractionLink)}</span>
533
+ <button
534
+ class="link-to-log"
535
+ title=${i18nString(UIStrings.showInpInteraction)}
536
+ @click=${() => this.#revealInteraction(interaction)}
537
+ jslog=${VisualLogging.action('timeline.landing.show-inp-interaction').track({click: true})}
538
+ >${interaction.interactionType}</button>
496
539
  </div>
497
540
  ` : nothing}
498
- </${MetricCard.litTagName}>
541
+ </devtools-metric-card>
499
542
  `;
500
543
  // clang-format on
501
544
  }
@@ -508,7 +551,7 @@ export class LiveMetricsView extends LegacyWrapper.LegacyWrapper.WrappableCompon
508
551
  // clang-format off
509
552
  return html`
510
553
  <div class="record-action">
511
- <${Buttons.Button.Button.litTagName} @click=${onClick} .data=${{
554
+ <devtools-button @click=${onClick} .data=${{
512
555
  variant: Buttons.Button.Variant.TEXT,
513
556
  size: Buttons.Button.Size.REGULAR,
514
557
  iconName: action.icon(),
@@ -516,7 +559,7 @@ export class LiveMetricsView extends LegacyWrapper.LegacyWrapper.WrappableCompon
516
559
  jslogContext: action.id(),
517
560
  } as Buttons.Button.ButtonData}>
518
561
  ${action.title()}
519
- </${Buttons.Button.Button.litTagName}>
562
+ </devtools-button>
520
563
  <span class="shortcut-label">${UI.ShortcutRegistry.ShortcutRegistry.instance().shortcutTitleForAction(action.id())}</span>
521
564
  </div>
522
565
  `;
@@ -568,67 +611,64 @@ export class LiveMetricsView extends LegacyWrapper.LegacyWrapper.WrappableCompon
568
611
  return i18nString(UIStrings.tryUsingThrottling, {PH1: title});
569
612
  }
570
613
 
571
- #getDeviceRec(): Common.UIString.LocalizedString|null {
614
+ #getDeviceRec(): string|null {
572
615
  // `form_factors` metric is only populated if CrUX data is fetched for all devices.
573
616
  const fractions = this.#cruxPageResult?.[`${this.#fieldPageScope}-ALL`]?.record.metrics.form_factors?.fractions;
574
617
  if (!fractions) {
575
618
  return null;
576
619
  }
577
620
 
578
- if (fractions.desktop > 0.5) {
579
- const percentage = i18nString(UIStrings.percentage, {PH1: Math.round(fractions.desktop * 100)});
580
- return i18nString(UIStrings.mostUsersDesktop, {PH1: percentage});
581
- }
582
-
583
- if (fractions.phone > 0.5) {
584
- const percentage = i18nString(UIStrings.percentage, {PH1: Math.round(fractions.phone * 100)});
585
- return i18nString(UIStrings.mostUsersMobile, {PH1: percentage});
586
- }
587
-
588
- return null;
621
+ return i18nString(UIStrings.percentDevices, {
622
+ PH1: Math.round(fractions.phone * 100),
623
+ PH2: Math.round(fractions.desktop * 100),
624
+ });
589
625
  }
590
626
 
591
627
  #renderRecordingSettings(): LitHtml.LitTemplate {
592
- const envRecs = [
593
- this.#getDeviceRec(),
594
- this.#getNetworkRec(),
595
- ].filter(rec => rec !== null);
628
+ const fieldEnabled = CrUXManager.CrUXManager.instance().getConfigSetting().get().enabled;
596
629
 
597
630
  const deviceLinkEl = UI.XLink.XLink.create(
598
631
  'https://developer.chrome.com/docs/devtools/device-mode', i18nString(UIStrings.simulateDifferentDevices));
599
632
  const deviceMessage = i18n.i18n.getFormatLocalizedString(str_, UIStrings.useDeviceToolbar, {PH1: deviceLinkEl});
600
633
 
634
+ const deviceRecEl = document.createElement('span');
635
+ deviceRecEl.classList.add('environment-rec');
636
+ deviceRecEl.textContent = this.#getDeviceRec() || i18nString(UIStrings.notEnoughData);
637
+
638
+ const networkRecEl = document.createElement('span');
639
+ networkRecEl.classList.add('environment-rec');
640
+ networkRecEl.textContent = this.#getNetworkRec() || i18nString(UIStrings.notEnoughData);
641
+
601
642
  // clang-format off
602
643
  return html`
603
644
  <h3 class="card-title">${i18nString(UIStrings.environmentSettings)}</h3>
604
645
  <div class="device-toolbar-description">${deviceMessage}</div>
605
- ${envRecs.length > 0 ? html`
606
- <details class="environment-recs">
607
- <summary>${i18nString(UIStrings.considerRealUser)}</summary>
608
- <ul class="environment-recs-list">
609
- ${envRecs.map(rec => html`<li>${rec}</li>`)}
610
- </ul>
611
- </details>
646
+ ${fieldEnabled ? html`
647
+ <div class="environment-recs-title">${i18nString(UIStrings.realUserEnvironments)}</div>
648
+ <ul class="environment-recs-list">
649
+ <li>${i18n.i18n.getFormatLocalizedString(str_, UIStrings.device, {PH1: deviceRecEl})}</li>
650
+ <li>${i18n.i18n.getFormatLocalizedString(str_, UIStrings.network, {PH1: networkRecEl})}</li>
651
+ </ul>
612
652
  ` : nothing}
613
653
  <div class="environment-option">
614
- <${CPUThrottlingSelector.litTagName}></${CPUThrottlingSelector.litTagName}>
654
+ <devtools-cpu-throttling-selector></devtools-cpu-throttling-selector>
615
655
  </div>
616
656
  <div class="environment-option">
617
- <${NetworkThrottlingSelector.litTagName}></${NetworkThrottlingSelector.litTagName}>
657
+ <devtools-network-throttling-selector></devtools-network-throttling-selector>
618
658
  </div>
619
659
  <div class="environment-option">
620
- <${Settings.SettingCheckbox.SettingCheckbox.litTagName}
660
+ <setting-checkbox
621
661
  class="network-cache-setting"
622
662
  .data=${{
623
663
  setting: Common.Settings.Settings.instance().moduleSetting('cache-disabled'),
624
664
  textOverride: i18nString(UIStrings.disableNetworkCache),
625
665
  } as Settings.SettingCheckbox.SettingCheckboxData}
626
- ></${Settings.SettingCheckbox.SettingCheckbox.litTagName}>
627
- <${IconButton.Icon.Icon.litTagName}
666
+ ></setting-checkbox>
667
+ <devtools-icon
628
668
  class="setting-hint"
629
669
  name="help"
630
670
  title=${i18nString(UIStrings.networkCacheExplanation)}
631
- ></${IconButton.Icon.Icon.litTagName}>
671
+ ></devtools-icon>
632
672
  </div>
633
673
  `;
634
674
  // clang-format on
@@ -669,7 +709,7 @@ export class LiveMetricsView extends LegacyWrapper.LegacyWrapper.WrappableCompon
669
709
  const shouldDisable = !this.#cruxPageResult?.['url-ALL'] && !this.#cruxPageResult?.['origin-ALL'];
670
710
 
671
711
  return html`
672
- <${Menus.SelectMenu.SelectMenu.litTagName}
712
+ <devtools-select-menu
673
713
  id="page-scope-select"
674
714
  class="field-data-option"
675
715
  @selectmenuselected=${this.#onPageScopeMenuItemSelected}
@@ -682,19 +722,19 @@ export class LiveMetricsView extends LegacyWrapper.LegacyWrapper.WrappableCompon
682
722
  .disabled=${shouldDisable}
683
723
  title=${accessibleTitle}
684
724
  >
685
- <${Menus.Menu.MenuItem.litTagName}
725
+ <devtools-menu-item
686
726
  .value=${'url'}
687
727
  .selected=${this.#fieldPageScope === 'url'}
688
728
  >
689
729
  ${urlLabel}
690
- </${Menus.Menu.MenuItem.litTagName}>
691
- <${Menus.Menu.MenuItem.litTagName}
730
+ </devtools-menu-item>
731
+ <devtools-menu-item
692
732
  .value=${'origin'}
693
733
  .selected=${this.#fieldPageScope === 'origin'}
694
734
  >
695
735
  ${originLabel}
696
- </${Menus.Menu.MenuItem.litTagName}>
697
- </${Menus.SelectMenu.SelectMenu.litTagName}>
736
+ </devtools-menu-item>
737
+ </devtools-select-menu>
698
738
  `;
699
739
  }
700
740
 
@@ -767,7 +807,7 @@ export class LiveMetricsView extends LegacyWrapper.LegacyWrapper.WrappableCompon
767
807
 
768
808
  // clang-format off
769
809
  return html`
770
- <${Menus.SelectMenu.SelectMenu.litTagName}
810
+ <devtools-select-menu
771
811
  id="device-scope-select"
772
812
  class="field-data-option"
773
813
  @selectmenuselected=${this.#onDeviceOptionMenuItemSelected}
@@ -782,23 +822,23 @@ export class LiveMetricsView extends LegacyWrapper.LegacyWrapper.WrappableCompon
782
822
  >
783
823
  ${DEVICE_OPTION_LIST.map(deviceOption => {
784
824
  return html`
785
- <${Menus.Menu.MenuItem.litTagName}
825
+ <devtools-menu-item
786
826
  .value=${deviceOption}
787
827
  .selected=${this.#fieldDeviceOption === deviceOption}
788
828
  >
789
829
  ${this.#getLabelForDeviceOption(deviceOption)}
790
- </${Menus.Menu.MenuItem.litTagName}>
830
+ </devtools-menu-item>
791
831
  `;
792
832
  })}
793
- </${Menus.SelectMenu.SelectMenu.litTagName}>
833
+ </devtools-select-menu>
794
834
  `;
795
835
  // clang-format on
796
836
  }
797
837
 
798
- #renderCollectionPeriod(): LitHtml.LitTemplate {
838
+ #getCollectionPeriodRange(): string|null {
799
839
  const selectedResponse = this.#getSelectedFieldResponse();
800
840
  if (!selectedResponse) {
801
- return LitHtml.nothing;
841
+ return null;
802
842
  }
803
843
 
804
844
  const {firstDate, lastDate} = selectedResponse.record.collectionPeriod;
@@ -822,18 +862,25 @@ export class LiveMetricsView extends LegacyWrapper.LegacyWrapper.WrappableCompon
822
862
  day: 'numeric',
823
863
  };
824
864
 
825
- const dateEl = document.createElement('span');
826
- dateEl.classList.add('collection-period-range');
827
- dateEl.textContent = i18nString(UIStrings.dateRange, {
865
+ return i18nString(UIStrings.dateRange, {
828
866
  PH1: formattedFirstDate.toLocaleDateString(undefined, options),
829
867
  PH2: formattedLastDate.toLocaleDateString(undefined, options),
830
868
  });
869
+ }
870
+
871
+ #renderCollectionPeriod(): LitHtml.LitTemplate {
872
+ const range = this.#getCollectionPeriodRange();
873
+
874
+ const dateEl = document.createElement('span');
875
+ dateEl.classList.add('collection-period-range');
876
+ dateEl.textContent = range || i18nString(UIStrings.notEnoughData);
877
+
878
+ const message = i18n.i18n.getFormatLocalizedString(str_, UIStrings.collectionPeriod, {
879
+ PH1: dateEl,
880
+ });
831
881
 
832
882
  return html`
833
- <div class="field-data-message">
834
- ${i18nString(UIStrings.collectionPeriod)}
835
- ${dateEl}
836
- </div>
883
+ <div class="field-data-message">${message}</div>
837
884
  `;
838
885
  }
839
886
 
@@ -851,86 +898,198 @@ export class LiveMetricsView extends LegacyWrapper.LegacyWrapper.WrappableCompon
851
898
  `;
852
899
  }
853
900
 
854
- #renderDataDescriptions(): LitHtml.LitTemplate {
855
- const fieldEnabled = CrUXManager.CrUXManager.instance().getConfigSetting().get().enabled;
901
+ #renderLogSection(): LitHtml.LitTemplate {
902
+ // clang-format off
903
+ return html`
904
+ <section class="logs-section" aria-label=${i18nString(UIStrings.eventLogs)}>
905
+ <devtools-live-metrics-logs
906
+ on-render=${ComponentHelpers.Directives.nodeRenderedCallback(node => {
907
+ this.#logsEl = node as LiveMetricsLogs;
908
+ })}
909
+ >
910
+ ${this.#renderInteractionsLog()}
911
+ ${this.#renderLayoutShiftsLog()}
912
+ </devtools-live-metrics-logs>
913
+ </section>
914
+ `;
915
+ // clang-format on
916
+ }
917
+
918
+ async #revealInteraction(interaction: LiveMetrics.Interaction): Promise<void> {
919
+ const interactionEl = this.#shadow.getElementById(interaction.interactionId);
920
+ if (!interactionEl || !this.#logsEl) {
921
+ return;
922
+ }
923
+
924
+ const success = this.#logsEl.selectTab('interactions');
925
+ if (!success) {
926
+ return;
927
+ }
928
+
929
+ await coordinator.write(() => {
930
+ interactionEl.scrollIntoView({
931
+ block: 'center',
932
+ });
933
+ interactionEl.focus();
934
+ UI.UIUtils.runCSSAnimationOnce(interactionEl, 'highlight');
935
+ });
936
+ }
856
937
 
857
- const localLink =
858
- UI.XLink.XLink.create('https://goo.gle/perf-local-metrics', i18nString(UIStrings.localMetricsLink));
859
- const localEl = i18n.i18n.getFormatLocalizedString(str_, UIStrings.theLocalMetricsAre, {PH1: localLink});
938
+ async #logExtraInteractionDetails(interaction: LiveMetrics.Interaction): Promise<void> {
939
+ const success = await LiveMetrics.LiveMetrics.instance().logInteractionScripts(interaction);
940
+ if (success) {
941
+ await Common.Console.Console.instance().showPromise();
942
+ }
943
+ }
860
944
 
861
- const fieldLink = UI.XLink.XLink.create('https://goo.gle/perf-field-data', i18nString(UIStrings.fieldDataLink));
862
- const fieldEl = i18n.i18n.getFormatLocalizedString(str_, UIStrings.theFieldMetricsAre, {PH1: fieldLink});
945
+ #renderInteractionsLog(): LitHtml.LitTemplate {
946
+ if (!this.#interactions.size) {
947
+ return LitHtml.nothing;
948
+ }
863
949
 
950
+ // clang-format off
864
951
  return html`
865
- <div class="data-descriptions">
866
- <div>${localEl}</div>
867
- ${fieldEnabled ? html`<div>${fieldEl}</div>` : nothing}
868
- </div>
952
+ <ol class="log"
953
+ slot="interactions-log-content"
954
+ on-render=${ComponentHelpers.Directives.nodeRenderedCallback(node => {
955
+ this.#interactionsListEl = node as HTMLElement;
956
+ })}
957
+ >
958
+ ${this.#interactions.values().map(interaction => {
959
+ const metricValue = renderMetricValue(
960
+ 'timeline.landing.interaction-event-timing',
961
+ interaction.duration,
962
+ INP_THRESHOLDS,
963
+ v => i18n.TimeUtilities.preciseMillisToString(v),
964
+ {dim: true},
965
+ );
966
+
967
+ const isP98Excluded = this.#inpValue && this.#inpValue.value < interaction.duration;
968
+ const isInp = this.#inpValue?.interactionId === interaction.interactionId;
969
+
970
+ return html`
971
+ <li id=${interaction.interactionId} class="log-item interaction" tabindex="-1">
972
+ <details>
973
+ <summary>
974
+ <span class="interaction-type">
975
+ ${interaction.interactionType}
976
+ ${isInp ?
977
+ html`<span class="interaction-inp-chip" title=${i18nString(UIStrings.inpInteraction)}>INP</span>`
978
+ : nothing}
979
+ </span>
980
+ <span class="interaction-node">${
981
+ interaction.node && until(Common.Linkifier.Linkifier.linkify(interaction.node))}</span>
982
+ ${isP98Excluded ? html`<devtools-icon
983
+ class="interaction-info"
984
+ name="info"
985
+ title=${i18nString(UIStrings.interactionExcluded)}
986
+ ></devtools-icon>` : nothing}
987
+ <span class="interaction-duration">${metricValue}</span>
988
+ </summary>
989
+ <div class="phase-table" role="table">
990
+ <div class="phase-table-row phase-table-header-row" role="row">
991
+ <div role="columnheader">${i18nString(UIStrings.phase)}</div>
992
+ <div role="columnheader">
993
+ ${interaction.longAnimationFrameTimings.length ? html`
994
+ <button
995
+ class="log-extra-details-button"
996
+ title=${i18nString(UIStrings.logToConsole)}
997
+ @click=${() => this.#logExtraInteractionDetails(interaction)}
998
+ >${i18nString(UIStrings.duration)}</button>
999
+ ` : i18nString(UIStrings.duration)}
1000
+ </div>
1001
+ </div>
1002
+ <div class="phase-table-row" role="row">
1003
+ <div role="cell">${i18nString(UIStrings.inputDelay)}</div>
1004
+ <div role="cell">${Math.round(interaction.phases.inputDelay)}</div>
1005
+ </div>
1006
+ <div class="phase-table-row" role="row">
1007
+ <div role="cell">${i18nString(UIStrings.processingDuration)}</div>
1008
+ <div role="cell">${Math.round(interaction.phases.processingDuration)}</div>
1009
+ </div>
1010
+ <div class="phase-table-row" role="row">
1011
+ <div role="cell">${i18nString(UIStrings.presentationDelay)}</div>
1012
+ <div role="cell">${Math.round(interaction.phases.presentationDelay)}</div>
1013
+ </div>
1014
+ </div>
1015
+ </details>
1016
+ </li>
1017
+ `;
1018
+ })}
1019
+ </ol>
869
1020
  `;
1021
+ // clang-format on
870
1022
  }
871
1023
 
872
- #clearInteractionsLog(): void {
873
- LiveMetrics.LiveMetrics.instance().clearInteractions();
1024
+ async #revealLayoutShiftCluster(clusterIds: Set<LiveMetrics.LayoutShift['uniqueLayoutShiftId']>): Promise<void> {
1025
+ if (!this.#logsEl) {
1026
+ return;
1027
+ }
1028
+
1029
+ const layoutShiftEls: HTMLElement[] = [];
1030
+ for (const shiftId of clusterIds) {
1031
+ const layoutShiftEl = this.#shadow.getElementById(shiftId);
1032
+ if (layoutShiftEl) {
1033
+ layoutShiftEls.push(layoutShiftEl);
1034
+ }
1035
+ }
1036
+
1037
+ if (!layoutShiftEls.length) {
1038
+ return;
1039
+ }
1040
+
1041
+ const success = this.#logsEl.selectTab('layout-shifts');
1042
+ if (!success) {
1043
+ return;
1044
+ }
1045
+
1046
+ await coordinator.write(() => {
1047
+ layoutShiftEls[0].scrollIntoView({
1048
+ block: 'start',
1049
+ });
1050
+ layoutShiftEls[0].focus();
1051
+ for (const layoutShiftEl of layoutShiftEls) {
1052
+ UI.UIUtils.runCSSAnimationOnce(layoutShiftEl, 'highlight');
1053
+ }
1054
+ });
874
1055
  }
875
1056
 
876
- #renderInteractionsSection(): LitHtml.LitTemplate {
877
- if (!this.#interactions.length) {
1057
+ #renderLayoutShiftsLog(): LitHtml.LitTemplate {
1058
+ if (!this.#layoutShifts.length) {
878
1059
  return LitHtml.nothing;
879
1060
  }
880
1061
 
881
1062
  // clang-format off
882
1063
  return html`
883
- <section class="interactions-section" aria-labelledby="interactions-section-title">
884
- <h2 id="interactions-section-title" class="section-title">
885
- ${i18nString(UIStrings.interactions)}
886
- <${Buttons.Button.Button.litTagName}
887
- class="interactions-clear"
888
- title=${i18nString(UIStrings.clearInteractionsLog)}
889
- @click=${this.#clearInteractionsLog}
890
- .data=${{
891
- variant: Buttons.Button.Variant.ICON,
892
- size: Buttons.Button.Size.REGULAR,
893
- iconName: 'clear',
894
- } as Buttons.Button.ButtonData}></${Buttons.Button.Button.litTagName}>
895
- </h2>
896
- <ol class="interactions-list"
897
- on-render=${ComponentHelpers.Directives.nodeRenderedCallback(node => {
898
- this.#interactionsListEl = node as HTMLElement;
899
- })}
900
- >
901
- ${this.#interactions.map(interaction => {
902
- const metricValue = renderMetricValue(
903
- 'timeline.landing.interaction-event-timing',
904
- interaction.duration,
905
- INP_THRESHOLDS,
906
- v => i18n.TimeUtilities.millisToString(v),
907
- {dim: true},
908
- );
909
-
910
- const isP98Excluded = this.#inpValue && this.#inpValue.value < interaction.duration;
911
- const isInp = this.#inpValue?.uniqueInteractionId === interaction.uniqueInteractionId;
912
-
913
- return html`
914
- <li id=${interaction.uniqueInteractionId} class="interaction" tabindex="-1">
915
- <span class="interaction-type">
916
- ${interaction.interactionType}
917
- ${isInp ?
918
- html`<span class="interaction-inp-chip" title=${i18nString(UIStrings.inpInteraction)}>INP</span>`
919
- : nothing}
920
- </span>
921
- <span class="interaction-node">${
922
- interaction.node && until(Common.Linkifier.Linkifier.linkify(interaction.node))}</span>
923
- ${isP98Excluded ? html`<${IconButton.Icon.Icon.litTagName}
924
- class="interaction-info"
925
- name="info"
926
- title=${i18nString(UIStrings.interactionExcluded)}
927
- ></${IconButton.Icon.Icon.litTagName}>` : nothing}
928
- <span class="interaction-duration">${metricValue}</span>
929
- </li>
930
- `;
931
- })}
932
- </ol>
933
- </section>
1064
+ <ol class="log"
1065
+ slot="layout-shifts-log-content"
1066
+ on-render=${ComponentHelpers.Directives.nodeRenderedCallback(node => {
1067
+ this.#layoutShiftsListEl = node as HTMLElement;
1068
+ })}
1069
+ >
1070
+ ${this.#layoutShifts.map(layoutShift => {
1071
+ const metricValue = renderMetricValue(
1072
+ 'timeline.landing.layout-shift-event-score',
1073
+ layoutShift.score,
1074
+ CLS_THRESHOLDS,
1075
+ // CLS value is 2 decimal places, but individual shift scores tend to be much smaller
1076
+ // so we expand the precision here.
1077
+ v => v.toFixed(4),
1078
+ {dim: true},
1079
+ );
1080
+
1081
+ return html`
1082
+ <li id=${layoutShift.uniqueLayoutShiftId} class="log-item layout-shift" tabindex="-1">
1083
+ <div class="layout-shift-score">Layout shift score: ${metricValue}</div>
1084
+ <div class="layout-shift-nodes">
1085
+ ${layoutShift.affectedNodes.map(({node}) => html`
1086
+ <div class="layout-shift-node">${until(Common.Linkifier.Linkifier.linkify(node))}</div>
1087
+ `)}
1088
+ </div>
1089
+ </li>
1090
+ `;
1091
+ })}
1092
+ </ol>
934
1093
  `;
935
1094
  // clang-format on
936
1095
  }
@@ -940,13 +1099,25 @@ export class LiveMetricsView extends LegacyWrapper.LegacyWrapper.WrappableCompon
940
1099
  const liveMetricsTitle =
941
1100
  fieldEnabled ? i18nString(UIStrings.localAndFieldMetrics) : i18nString(UIStrings.localMetrics);
942
1101
 
1102
+ const helpLink = 'https://web.dev/articles/lab-and-field-data-differences#lab_data_versus_field_data' as
1103
+ Platform.DevToolsPath.UrlString;
1104
+
943
1105
  // clang-format off
944
1106
  const output = html`
945
1107
  <div class="container">
946
1108
  <div class="live-metrics-view">
947
1109
  <main class="live-metrics"
948
1110
  >
949
- <h2 class="section-title">${liveMetricsTitle}</h2>
1111
+ <h2 class="section-title">
1112
+ ${liveMetricsTitle}
1113
+ <devtools-button
1114
+ class="section-title-help"
1115
+ title=${i18nString(UIStrings.learnMoreAboutMetrics)}
1116
+ .iconName=${'help'}
1117
+ .variant=${Buttons.Button.Variant.ICON}
1118
+ @click=${() => Host.InspectorFrontendHost.InspectorFrontendHostInstance.openInNewTab(helpLink)}
1119
+ ></devtools-button>
1120
+ </h2>
950
1121
  <div class="metric-cards"
951
1122
  on-render=${ComponentHelpers.Directives.nodeRenderedCallback(node => {
952
1123
  this.#tooltipContainerEl = node;
@@ -962,8 +1133,7 @@ export class LiveMetricsView extends LegacyWrapper.LegacyWrapper.WrappableCompon
962
1133
  ${this.#renderInpCard()}
963
1134
  </div>
964
1135
  </div>
965
- ${this.#renderDataDescriptions()}
966
- ${this.#renderInteractionsSection()}
1136
+ ${this.#renderLogSection()}
967
1137
  </main>
968
1138
  <aside class="next-steps" aria-labelledby="next-steps-section-title">
969
1139
  <h2 id="next-steps-section-title" class="section-title">${i18nString(UIStrings.nextSteps)}</h2>
@@ -973,7 +1143,7 @@ export class LiveMetricsView extends LegacyWrapper.LegacyWrapper.WrappableCompon
973
1143
  ${this.#renderPageScopeSetting()}
974
1144
  ${this.#renderDeviceScopeSetting()}
975
1145
  <div class="field-setup-buttons">
976
- <${FieldSettingsDialog.litTagName}></${FieldSettingsDialog.litTagName}>
1146
+ <devtools-field-settings-dialog></devtools-field-settings-dialog>
977
1147
  </div>
978
1148
  </div>
979
1149
  <div id="recording-settings" class="settings-card">
@@ -994,31 +1164,81 @@ export class LiveMetricsView extends LegacyWrapper.LegacyWrapper.WrappableCompon
994
1164
  // clang-format on
995
1165
  }
996
1166
 
997
- export class InteractionRevealer implements Common.Revealer.Revealer<LiveMetrics.Interaction> {
998
- #view: LiveMetricsView;
1167
+ class LiveMetricsLogs extends UI.Widget.WidgetElement<UI.Widget.Widget> {
1168
+ #tabbedPane?: UI.TabbedPane.TabbedPane;
999
1169
 
1000
- constructor(view: LiveMetricsView) {
1001
- this.#view = view;
1170
+ constructor() {
1171
+ super();
1172
+ this.style.display = 'contents';
1002
1173
  }
1003
1174
 
1004
- async reveal(interaction: LiveMetrics.Interaction): Promise<void> {
1005
- const interactionEl = this.#view.shadowRoot?.getElementById(interaction.uniqueInteractionId);
1006
- if (!interactionEl) {
1007
- return;
1175
+ /**
1176
+ * Returns `true` if selecting the tab was successful.
1177
+ */
1178
+ selectTab(tabId: string): boolean {
1179
+ if (!this.#tabbedPane) {
1180
+ return false;
1008
1181
  }
1182
+ return this.#tabbedPane.selectTab(tabId);
1183
+ }
1009
1184
 
1010
- interactionEl.scrollIntoView({
1011
- block: 'center',
1012
- });
1013
- interactionEl.focus();
1014
- UI.UIUtils.runCSSAnimationOnce(interactionEl, 'highlight');
1185
+ #clearCurrentLog(): void {
1186
+ const liveMetrics = LiveMetrics.LiveMetrics.instance();
1187
+
1188
+ switch (this.#tabbedPane?.selectedTabId) {
1189
+ case 'interactions':
1190
+ liveMetrics.clearInteractions();
1191
+ break;
1192
+ case 'layout-shifts':
1193
+ liveMetrics.clearLayoutShifts();
1194
+ break;
1195
+ }
1196
+ }
1197
+
1198
+ override createWidget(): UI.Widget.Widget {
1199
+ // We need a generic widget with a shadow DOM as the container widget so that we can take advantage
1200
+ // of web component slots. Passing `this` into the container widget will make `this` the root element
1201
+ // of that widget.
1202
+ //
1203
+ // Any children of the root element `this` will be matched to the slots defined within the container
1204
+ // widget's shadow DOM.
1205
+ const containerWidget = new UI.Widget.Widget(true, undefined, this);
1206
+ containerWidget.contentElement.style.display = 'contents';
1207
+
1208
+ this.#tabbedPane = new UI.TabbedPane.TabbedPane();
1209
+
1210
+ // Taking advantage of web component slots allows us to render updates in the lit templates defined in the
1211
+ // main component. This should be more performant and doesn't require us to inject live metrics styles twice.
1212
+ const interactionsSlot = document.createElement('slot');
1213
+ interactionsSlot.name = 'interactions-log-content';
1214
+ const interactionsTab = UI.Widget.Widget.getOrCreateWidget(interactionsSlot);
1215
+ this.#tabbedPane.appendTab(
1216
+ 'interactions', i18nString(UIStrings.interactions), interactionsTab, undefined, undefined, undefined, undefined,
1217
+ undefined, 'timeline.landing.interactions-log');
1218
+
1219
+ const layoutShiftsSlot = document.createElement('slot');
1220
+ layoutShiftsSlot.name = 'layout-shifts-log-content';
1221
+ const layoutShiftsTab = UI.Widget.Widget.getOrCreateWidget(layoutShiftsSlot);
1222
+ this.#tabbedPane.appendTab(
1223
+ 'layout-shifts', i18nString(UIStrings.layoutShifts), layoutShiftsTab, undefined, undefined, undefined,
1224
+ undefined, undefined, 'timeline.landing.layout-shifts-log');
1225
+
1226
+ const clearButton = new UI.Toolbar.ToolbarButton(
1227
+ i18nString(UIStrings.clearCurrentLog), 'clear', undefined, 'timeline.landing.clear-log');
1228
+ clearButton.addEventListener(UI.Toolbar.ToolbarButton.Events.CLICK, this.#clearCurrentLog, this);
1229
+ this.#tabbedPane.rightToolbar().appendToolbarItem(clearButton);
1230
+ this.#tabbedPane.show(containerWidget.contentElement);
1231
+
1232
+ return containerWidget;
1015
1233
  }
1016
1234
  }
1017
1235
 
1018
1236
  customElements.define('devtools-live-metrics-view', LiveMetricsView);
1237
+ customElements.define('devtools-live-metrics-logs', LiveMetricsLogs);
1019
1238
 
1020
1239
  declare global {
1021
1240
  interface HTMLElementTagNameMap {
1022
1241
  'devtools-live-metrics-view': LiveMetricsView;
1242
+ 'devtools-live-metrics-logs': LiveMetricsLogs;
1023
1243
  }
1024
1244
  }