chrome-devtools-frontend 1.0.1522145 → 1.0.1524741

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 (348) hide show
  1. package/AUTHORS +1 -0
  2. package/docs/README.md +1 -0
  3. package/docs/policy/README.md +1 -0
  4. package/docs/policy/console-policy.md +144 -0
  5. package/docs/policy/images/console-policy1.png +0 -0
  6. package/docs/policy/images/console-policy2.png +0 -0
  7. package/docs/policy/images/console-policy3.png +0 -0
  8. package/docs/ui_engineering.md +98 -0
  9. package/front_end/Tests.js +1 -1
  10. package/front_end/core/common/Color.ts +13 -9
  11. package/front_end/core/common/ColorConverter.ts +9 -7
  12. package/front_end/core/common/Gzip.ts +1 -1
  13. package/front_end/core/common/MapWithDefault.ts +5 -3
  14. package/front_end/core/common/ResourceType.ts +0 -12
  15. package/front_end/core/common/ReturnToPanel.ts +6 -4
  16. package/front_end/core/common/Trie.ts +4 -2
  17. package/front_end/core/host/AidaClient.ts +3 -3
  18. package/front_end/core/host/GdpClient.ts +7 -5
  19. package/front_end/core/host/InspectorFrontendHostAPI.ts +7 -5
  20. package/front_end/core/host/Platform.ts +5 -3
  21. package/front_end/core/host/UserMetrics.ts +6 -4
  22. package/front_end/core/platform/ArrayUtilities.ts +1 -1
  23. package/front_end/core/platform/StringUtilities.ts +34 -31
  24. package/front_end/core/root/Runtime.ts +1 -1
  25. package/front_end/core/sdk/CSSMetadata.ts +6 -4
  26. package/front_end/core/sdk/CSSPropertyParser.ts +17 -13
  27. package/front_end/core/sdk/CSSPropertyParserMatchers.ts +19 -13
  28. package/front_end/core/sdk/ChildTargetManager.ts +35 -0
  29. package/front_end/core/sdk/DOMModel.ts +1 -1
  30. package/front_end/core/sdk/EnhancedTracesParser.ts +13 -6
  31. package/front_end/core/sdk/EventBreakpointsModel.ts +4 -2
  32. package/front_end/core/sdk/HttpReasonPhraseStrings.ts +4 -2
  33. package/front_end/core/sdk/NetworkManager.ts +8 -48
  34. package/front_end/core/sdk/NetworkRequest.ts +0 -28
  35. package/front_end/core/sdk/PageResourceLoader.ts +1 -1
  36. package/front_end/core/sdk/PreloadingModel.ts +22 -18
  37. package/front_end/core/sdk/RehydratingConnection.ts +1 -1
  38. package/front_end/core/sdk/RehydratingObject.ts +1 -1
  39. package/front_end/core/sdk/RemoteObject.ts +1 -1
  40. package/front_end/core/sdk/ResourceTreeModel.ts +2 -0
  41. package/front_end/core/sdk/ScreenCaptureModel.ts +24 -20
  42. package/front_end/core/sdk/Target.ts +7 -1
  43. package/front_end/core/sdk/TraceObject.ts +2 -2
  44. package/front_end/entrypoints/formatter_worker/Substitute.ts +6 -4
  45. package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshot.ts +24 -16
  46. package/front_end/entrypoints/inspector_main/OutermostTargetSelector.ts +2 -1
  47. package/front_end/entrypoints/main/MainImpl.ts +6 -4
  48. package/front_end/generated/Deprecation.ts +4 -4
  49. package/front_end/generated/InspectorBackendCommands.js +2 -2
  50. package/front_end/generated/protocol-mapping.d.ts +3 -2
  51. package/front_end/generated/protocol-proxy-api.d.ts +3 -1
  52. package/front_end/generated/protocol.ts +7 -1
  53. package/front_end/models/ai_assistance/agents/StylingAgent.snapshot.txt +600 -0
  54. package/front_end/models/ai_assistance/agents/StylingAgent.ts +83 -222
  55. package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.snapshot.txt +23 -0
  56. package/front_end/models/ai_assistance/performance/AIContext.ts +19 -4
  57. package/front_end/models/ai_code_completion/AiCodeCompletion.ts +4 -2
  58. package/front_end/models/autofill_manager/AutofillManager.ts +4 -2
  59. package/front_end/models/cpu_profile/CPUProfileDataModel.ts +1 -1
  60. package/front_end/models/crux-manager/CrUXManager.ts +1 -1
  61. package/front_end/models/extensions/HostUrlPattern.ts +13 -5
  62. package/front_end/models/issues_manager/CookieDeprecationMetadataIssue.ts +1 -1
  63. package/front_end/models/issues_manager/CookieIssue.ts +2 -2
  64. package/front_end/models/issues_manager/MarkdownIssueDescription.ts +1 -1
  65. package/front_end/models/issues_manager/SharedDictionaryIssue.ts +20 -0
  66. package/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorInvalidTTLField.md +1 -0
  67. package/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonIntegerTTLField.md +1 -0
  68. package/front_end/models/javascript_metadata/NativeFunctions.js +9 -1
  69. package/front_end/models/network_time_calculator/Calculator.ts +4 -2
  70. package/front_end/models/network_time_calculator/RequestTimeRanges.ts +6 -4
  71. package/front_end/models/source_map_scopes/NamesResolver.ts +7 -5
  72. package/front_end/models/text_utils/ContentProvider.ts +6 -4
  73. package/front_end/models/trace/LanternComputationData.ts +1 -0
  74. package/front_end/models/trace/extras/TraceTree.ts +1 -1
  75. package/front_end/models/trace/handlers/FramesHandler.ts +7 -5
  76. package/front_end/models/trace/handlers/LayoutShiftsHandler.ts +13 -7
  77. package/front_end/models/trace/handlers/MetaHandler.ts +16 -14
  78. package/front_end/models/trace/handlers/NetworkRequestsHandler.ts +30 -8
  79. package/front_end/models/trace/handlers/helpers.ts +1 -1
  80. package/front_end/models/trace/handlers/types.ts +23 -19
  81. package/front_end/models/trace/helpers/Timing.ts +4 -2
  82. package/front_end/models/trace/helpers/Trace.ts +8 -4
  83. package/front_end/models/trace/insights/DocumentLatency.ts +10 -11
  84. package/front_end/models/trace/insights/INPBreakdown.ts +13 -2
  85. package/front_end/models/trace/insights/LCPBreakdown.ts +14 -2
  86. package/front_end/models/trace/insights/NetworkDependencyTree.ts +2 -2
  87. package/front_end/models/trace/types/File.ts +12 -8
  88. package/front_end/models/trace/types/Timing.ts +1 -1
  89. package/front_end/models/trace/types/TraceEvents.ts +43 -28
  90. package/front_end/models/trace_source_maps_resolver/SourceMapsResolver.ts +1 -1
  91. package/front_end/panels/ai_assistance/components/MarkdownRendererWithCodeBlock.ts +12 -10
  92. package/front_end/panels/application/KeyValueStorageItemsView.ts +31 -33
  93. package/front_end/panels/application/components/InterestGroupAccessGrid.ts +6 -11
  94. package/front_end/panels/application/components/OriginTrialTreeView.ts +7 -5
  95. package/front_end/panels/application/components/PermissionsPolicySection.ts +1 -0
  96. package/front_end/panels/application/components/ReportsGrid.ts +4 -10
  97. package/front_end/panels/application/components/SharedStorageAccessGrid.ts +5 -13
  98. package/front_end/panels/application/preloading/components/MismatchedPreloadingGrid.ts +1 -1
  99. package/front_end/panels/application/preloading/components/PreloadingGrid.ts +3 -7
  100. package/front_end/panels/application/preloading/components/PreloadingString.ts +2 -2
  101. package/front_end/panels/application/preloading/components/RuleSetGrid.ts +3 -10
  102. package/front_end/panels/application/preloading/components/UsedPreloadingView.ts +4 -2
  103. package/front_end/panels/browser_debugger/browser_debugger-meta.ts +7 -5
  104. package/front_end/panels/changes/ChangesSidebar.ts +97 -95
  105. package/front_end/panels/changes/changesSidebar.css +3 -0
  106. package/front_end/panels/console/ConsoleView.ts +2 -2
  107. package/front_end/panels/developer_resources/DeveloperResourcesListView.ts +22 -35
  108. package/front_end/panels/elements/ComputedStyleWidget.ts +1 -1
  109. package/front_end/panels/elements/ElementStatePaneWidget.ts +12 -0
  110. package/front_end/panels/elements/ElementsTreeElement.ts +9 -5
  111. package/front_end/panels/elements/ElementsTreeOutline.ts +11 -8
  112. package/front_end/panels/elements/PropertyRenderer.ts +19 -15
  113. package/front_end/panels/elements/StylePropertyTreeElement.ts +6 -4
  114. package/front_end/panels/elements/StylesSidebarPane.ts +2 -2
  115. package/front_end/panels/elements/components/AccessibilityTreeNode.ts +4 -2
  116. package/front_end/panels/elements/components/AdornerManager.ts +5 -3
  117. package/front_end/panels/linear_memory_inspector/components/LinearMemoryInspector.ts +6 -4
  118. package/front_end/panels/media/PlayerPropertiesView.ts +1 -1
  119. package/front_end/panels/network/NetworkDataGridNode.ts +2 -44
  120. package/front_end/panels/network/NetworkLogView.ts +6 -4
  121. package/front_end/panels/network/RequestPreviewView.ts +0 -7
  122. package/front_end/panels/network/components/RequestHeadersView.ts +0 -6
  123. package/front_end/panels/network/components/components.ts +0 -2
  124. package/front_end/panels/profiler/HeapSnapshotDataGrids.ts +1 -1
  125. package/front_end/panels/profiler/HeapSnapshotGridNodes.ts +4 -2
  126. package/front_end/panels/protocol_monitor/ProtocolMonitor.ts +40 -48
  127. package/front_end/panels/search/SearchResultsPane.ts +2 -3
  128. package/front_end/panels/security/IPProtectionView.ts +1 -1
  129. package/front_end/panels/settings/emulation/components/userAgentClientHintsForm.css +4 -0
  130. package/front_end/panels/settings/emulation/utils/StructuredHeaders.ts +45 -37
  131. package/front_end/panels/sources/BreakpointsViewUtils.ts +11 -9
  132. package/front_end/panels/sources/DebuggerPlugin.ts +8 -4
  133. package/front_end/panels/sources/SourcesPanel.ts +1 -1
  134. package/front_end/panels/sources/UISourceCodeFrame.ts +1 -1
  135. package/front_end/panels/timeline/CompatibilityTracksAppender.ts +4 -2
  136. package/front_end/panels/timeline/CountersGraph.ts +12 -5
  137. package/front_end/panels/timeline/EasterEgg.d.ts +5 -3
  138. package/front_end/panels/timeline/LayoutShiftsTrackAppender.ts +8 -6
  139. package/front_end/panels/timeline/ModificationsManager.ts +5 -3
  140. package/front_end/panels/timeline/ThreadAppender.ts +7 -5
  141. package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +10 -8
  142. package/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.ts +1 -1
  143. package/front_end/panels/timeline/TimelineFlameChartView.ts +17 -0
  144. package/front_end/panels/timeline/TimelinePanel.ts +15 -8
  145. package/front_end/panels/timeline/TimelineSelection.ts +4 -2
  146. package/front_end/panels/timeline/TimelineUIUtils.ts +17 -6
  147. package/front_end/panels/timeline/components/BreadcrumbsUI.ts +6 -4
  148. package/front_end/panels/timeline/components/ExportTraceOptions.ts +21 -9
  149. package/front_end/panels/timeline/components/Utils.ts +1 -1
  150. package/front_end/panels/timeline/overlays/OverlaysImpl.ts +5 -3
  151. package/front_end/panels/timeline/timelineDetailsView.css +5 -0
  152. package/front_end/panels/timeline/utils/Helpers.ts +1 -1
  153. package/front_end/panels/utils/utils.ts +1 -7
  154. package/front_end/services/trace_bounds/TraceBounds.ts +4 -2
  155. package/front_end/services/tracing/PerformanceTracing.ts +1 -1
  156. package/front_end/third_party/chromium/README.chromium +1 -1
  157. package/front_end/third_party/codemirror.next/chunk/codemirror.js +1 -1
  158. package/front_end/third_party/codemirror.next/chunk/codemirror.js.map +1 -1
  159. package/front_end/third_party/codemirror.next/chunk/php.js +1 -1
  160. package/front_end/third_party/codemirror.next/chunk/php.js.map +1 -1
  161. package/front_end/third_party/codemirror.next/package.json +3 -2
  162. package/front_end/third_party/puppeteer/README.chromium +2 -2
  163. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Dialog.d.ts +8 -10
  164. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Dialog.d.ts.map +1 -1
  165. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Dialog.js +8 -10
  166. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Dialog.js.map +1 -1
  167. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/ElementHandle.d.ts +28 -30
  168. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/ElementHandle.d.ts.map +1 -1
  169. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/ElementHandle.js +27 -29
  170. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/ElementHandle.js.map +1 -1
  171. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Frame.d.ts +34 -38
  172. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Frame.d.ts.map +1 -1
  173. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Frame.js +34 -38
  174. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Frame.js.map +1 -1
  175. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/HTTPRequest.d.ts +8 -1
  176. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/HTTPRequest.d.ts.map +1 -1
  177. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/HTTPRequest.js +12 -14
  178. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/HTTPRequest.js.map +1 -1
  179. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts +92 -108
  180. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts.map +1 -1
  181. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.js +33 -39
  182. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.js.map +1 -1
  183. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Browser.d.ts.map +1 -1
  184. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Browser.js +5 -3
  185. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Browser.js.map +1 -1
  186. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Frame.d.ts.map +1 -1
  187. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Frame.js +1 -1
  188. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Frame.js.map +1 -1
  189. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/HTTPRequest.d.ts +4 -2
  190. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/HTTPRequest.d.ts.map +1 -1
  191. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/HTTPRequest.js +14 -5
  192. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/HTTPRequest.js.map +1 -1
  193. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.d.ts +1 -0
  194. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.d.ts.map +1 -1
  195. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.js +12 -6
  196. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.js.map +1 -1
  197. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Browser.d.ts.map +1 -1
  198. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Browser.js +24 -2
  199. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Browser.js.map +1 -1
  200. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Realm.d.ts +2 -2
  201. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPRequest.d.ts +1 -0
  202. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPRequest.d.ts.map +1 -1
  203. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPRequest.js +3 -0
  204. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPRequest.js.map +1 -1
  205. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/PredefinedNetworkConditions.d.ts +13 -22
  206. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/PredefinedNetworkConditions.d.ts.map +1 -1
  207. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/PredefinedNetworkConditions.js +13 -22
  208. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/PredefinedNetworkConditions.js.map +1 -1
  209. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Device.d.ts +6 -8
  210. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Device.d.ts.map +1 -1
  211. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Device.js +6 -8
  212. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Device.js.map +1 -1
  213. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.d.ts +1 -1
  214. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.js +1 -1
  215. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/injected.d.ts +1 -1
  216. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.d.ts +1 -1
  217. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.d.ts.map +1 -1
  218. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.js +6 -3
  219. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.js.map +1 -1
  220. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/PuppeteerNode.d.ts +5 -7
  221. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/PuppeteerNode.d.ts.map +1 -1
  222. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/PuppeteerNode.js +5 -7
  223. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/PuppeteerNode.js.map +1 -1
  224. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.d.ts +3 -3
  225. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js +3 -3
  226. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js.map +1 -1
  227. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Mutex.d.ts +2 -2
  228. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.d.ts +188 -224
  229. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +140 -166
  230. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Dialog.d.ts +8 -10
  231. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Dialog.d.ts.map +1 -1
  232. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Dialog.js +8 -10
  233. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Dialog.js.map +1 -1
  234. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/ElementHandle.d.ts +28 -30
  235. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/ElementHandle.d.ts.map +1 -1
  236. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/ElementHandle.js +27 -29
  237. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/ElementHandle.js.map +1 -1
  238. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Frame.d.ts +34 -38
  239. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Frame.d.ts.map +1 -1
  240. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Frame.js +34 -38
  241. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Frame.js.map +1 -1
  242. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/HTTPRequest.d.ts +8 -1
  243. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/HTTPRequest.d.ts.map +1 -1
  244. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/HTTPRequest.js +12 -14
  245. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/HTTPRequest.js.map +1 -1
  246. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts +92 -108
  247. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts.map +1 -1
  248. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.js +33 -39
  249. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.js.map +1 -1
  250. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Browser.d.ts.map +1 -1
  251. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Browser.js +5 -3
  252. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Browser.js.map +1 -1
  253. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Frame.d.ts.map +1 -1
  254. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Frame.js +1 -1
  255. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Frame.js.map +1 -1
  256. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/HTTPRequest.d.ts +4 -2
  257. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/HTTPRequest.d.ts.map +1 -1
  258. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/HTTPRequest.js +15 -6
  259. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/HTTPRequest.js.map +1 -1
  260. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.d.ts +1 -0
  261. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.d.ts.map +1 -1
  262. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.js +12 -6
  263. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.js.map +1 -1
  264. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Browser.d.ts.map +1 -1
  265. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Browser.js +24 -2
  266. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Browser.js.map +1 -1
  267. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPRequest.d.ts +1 -0
  268. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPRequest.d.ts.map +1 -1
  269. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPRequest.js +3 -0
  270. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPRequest.js.map +1 -1
  271. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/PredefinedNetworkConditions.d.ts +13 -22
  272. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/PredefinedNetworkConditions.d.ts.map +1 -1
  273. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/PredefinedNetworkConditions.js +13 -22
  274. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/PredefinedNetworkConditions.js.map +1 -1
  275. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Device.d.ts +6 -8
  276. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Device.d.ts.map +1 -1
  277. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Device.js +6 -8
  278. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Device.js.map +1 -1
  279. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.d.ts +1 -1
  280. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.js +1 -1
  281. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.d.ts +1 -1
  282. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.d.ts.map +1 -1
  283. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.js +6 -3
  284. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.js.map +1 -1
  285. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/PuppeteerNode.d.ts +5 -7
  286. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/PuppeteerNode.d.ts.map +1 -1
  287. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/PuppeteerNode.js +5 -7
  288. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/PuppeteerNode.js.map +1 -1
  289. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.d.ts +3 -3
  290. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js +3 -3
  291. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js.map +1 -1
  292. package/front_end/third_party/puppeteer/package/lib/types.d.ts +188 -224
  293. package/front_end/third_party/puppeteer/package/package.json +3 -3
  294. package/front_end/third_party/puppeteer/package/src/api/Dialog.ts +8 -10
  295. package/front_end/third_party/puppeteer/package/src/api/ElementHandle.ts +27 -29
  296. package/front_end/third_party/puppeteer/package/src/api/Frame.ts +34 -38
  297. package/front_end/third_party/puppeteer/package/src/api/HTTPRequest.ts +17 -14
  298. package/front_end/third_party/puppeteer/package/src/api/Page.ts +92 -108
  299. package/front_end/third_party/puppeteer/package/src/bidi/Browser.ts +5 -3
  300. package/front_end/third_party/puppeteer/package/src/bidi/Frame.ts +5 -1
  301. package/front_end/third_party/puppeteer/package/src/bidi/HTTPRequest.ts +28 -3
  302. package/front_end/third_party/puppeteer/package/src/bidi/Page.ts +16 -7
  303. package/front_end/third_party/puppeteer/package/src/bidi/core/Browser.ts +28 -2
  304. package/front_end/third_party/puppeteer/package/src/cdp/HTTPRequest.ts +4 -0
  305. package/front_end/third_party/puppeteer/package/src/cdp/PredefinedNetworkConditions.ts +13 -22
  306. package/front_end/third_party/puppeteer/package/src/common/Device.ts +6 -8
  307. package/front_end/third_party/puppeteer/package/src/generated/version.ts +1 -1
  308. package/front_end/third_party/puppeteer/package/src/node/BrowserLauncher.ts +6 -3
  309. package/front_end/third_party/puppeteer/package/src/node/PuppeteerNode.ts +5 -7
  310. package/front_end/third_party/puppeteer/package/src/revisions.ts +3 -3
  311. package/front_end/ui/components/chrome_link/ChromeLink.ts +4 -2
  312. package/front_end/ui/components/dialogs/Dialog.ts +13 -9
  313. package/front_end/ui/components/highlighting/HighlightElement.ts +77 -0
  314. package/front_end/ui/components/highlighting/HighlightManager.ts +37 -0
  315. package/front_end/ui/components/highlighting/highlighting.ts +2 -0
  316. package/front_end/ui/components/markdown_view/MarkdownImagesMap.ts +5 -3
  317. package/front_end/ui/components/markdown_view/MarkdownLinksMap.ts +5 -3
  318. package/front_end/ui/components/menus/SelectMenu.ts +6 -4
  319. package/front_end/ui/components/survey_link/SurveyLink.ts +4 -2
  320. package/front_end/ui/components/text_editor/config.ts +10 -6
  321. package/front_end/ui/components/text_editor/javascript.ts +8 -4
  322. package/front_end/ui/components/tooltips/Tooltip.ts +13 -4
  323. package/front_end/ui/legacy/ForwardedInputEventHandler.ts +4 -2
  324. package/front_end/ui/legacy/GlassPane.ts +1 -1
  325. package/front_end/ui/legacy/SettingsUI.ts +1 -5
  326. package/front_end/ui/legacy/Treeoutline.ts +12 -33
  327. package/front_end/ui/legacy/UIUtils.ts +19 -1
  328. package/front_end/ui/legacy/components/color_picker/Spectrum.ts +12 -10
  329. package/front_end/ui/legacy/components/cookie_table/CookiesTable.ts +30 -32
  330. package/front_end/ui/legacy/components/data_grid/DataGrid.ts +1 -1
  331. package/front_end/ui/legacy/components/data_grid/DataGridElement.ts +25 -25
  332. package/front_end/ui/legacy/components/data_grid/dataGrid.css +5 -0
  333. package/front_end/ui/legacy/components/inline_editor/AnimationTimingModel.ts +4 -2
  334. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +4 -2
  335. package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +8 -6
  336. package/front_end/ui/legacy/components/perf_ui/PieChart.ts +6 -4
  337. package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +3 -3
  338. package/front_end/ui/legacy/components/source_frame/XMLView.ts +22 -16
  339. package/front_end/ui/legacy/components/source_frame/xmlView.css +0 -2
  340. package/front_end/ui/legacy/components/utils/Linkifier.ts +6 -4
  341. package/front_end/ui/visual_logging/Debugging.ts +10 -6
  342. package/front_end/ui/visual_logging/KnownContextValues.ts +1 -3
  343. package/inspector_overlay/common.ts +5 -3
  344. package/inspector_overlay/highlight_grid_common.ts +1 -1
  345. package/package.json +1 -1
  346. package/front_end/Images/src/bundle.svg +0 -3
  347. package/front_end/panels/network/components/WebBundleInfoView.css +0 -27
  348. package/front_end/panels/network/components/WebBundleInfoView.ts +0 -95
@@ -65,8 +65,10 @@ export interface Boolean {
65
65
  value: boolean;
66
66
  }
67
67
 
68
- // bare-item = sf-integer / sf-decimal / sf-string / sf-token
69
- // / sf-binary / sf-boolean
68
+ /**
69
+ * bare-item = sf-integer / sf-decimal / sf-string / sf-token
70
+ * / sf-binary / sf-boolean
71
+ **/
70
72
  export type BareItem = Integer|Decimal|String|Token|Binary|Boolean;
71
73
 
72
74
  export interface ParamName {
@@ -74,39 +76,43 @@ export interface ParamName {
74
76
  value: string;
75
77
  }
76
78
 
77
- // parameter = param-name [ "=" param-value ]
78
- // param-value = bare-item
79
+ /**
80
+ * parameter = param-name [ "=" param-value ]
81
+ * param-value = bare-item
82
+ **/
79
83
  export interface Parameter {
80
84
  kind: ResultKind.PARAMETER;
81
85
  name: ParamName;
82
86
  value: BareItem;
83
87
  }
84
88
 
85
- // parameters = *( ";" *SP parameter )
89
+ /** parameters = *( ";" *SP parameter ) **/
86
90
  export interface Parameters {
87
91
  kind: ResultKind.PARAMETERS;
88
92
  items: Parameter[];
89
93
  }
90
94
 
91
- // sf-item = bare-item parameters
95
+ /** sf-item = bare-item parameters **/
92
96
  export interface Item {
93
97
  kind: ResultKind.ITEM;
94
98
  value: BareItem;
95
99
  parameters: Parameters;
96
100
  }
97
101
 
98
- // inner-list = "(" *SP [ sf-item *( 1*SP sf-item ) *SP ] ")"
99
- // parameters
102
+ /**
103
+ * inner-list = "(" *SP [ sf-item *( 1*SP sf-item ) *SP ] ")"
104
+ * parameters
105
+ **/
100
106
  export interface InnerList {
101
107
  kind: ResultKind.INNER_LIST;
102
108
  items: Item[];
103
109
  parameters: Parameters;
104
110
  }
105
111
 
106
- // list-member = sf-item / inner-list
112
+ /** list-member = sf-item / inner-list **/
107
113
  export type ListMember = Item|InnerList;
108
114
 
109
- // sf-list = list-member *( OWS "," OWS list-member )
115
+ /** sf-list = list-member *( OWS "," OWS list-member ) **/
110
116
  export interface List {
111
117
  kind: ResultKind.LIST;
112
118
  items: ListMember[];
@@ -149,9 +155,11 @@ const CHAR_TILDE: number = '~'.charCodeAt(0);
149
155
  const CHAR_MIN_ASCII_PRINTABLE = 0x20;
150
156
  const CHAR_MAX_ASCII_PRINTABLE = 0x7e;
151
157
 
152
- // Note: structured headers operates over ASCII, not unicode, so these are
153
- // all indeed supposed to return false on things outside 32-127 range regardless
154
- // of them being other kinds of digits or letters.
158
+ /**
159
+ * Note: structured headers operates over ASCII, not unicode, so these are
160
+ * all indeed supposed to return false on things outside 32-127 range regardless
161
+ * of them being other kinds of digits or letters.
162
+ **/
155
163
  function isDigit(charCode: number|undefined): boolean {
156
164
  // DIGIT = %x30-39 ; 0-9 (from RFC 5234)
157
165
  if (charCode === undefined) {
@@ -262,7 +270,7 @@ function makeError(): Error {
262
270
  return {kind: ResultKind.ERROR};
263
271
  }
264
272
 
265
- // 4.2.1. Parsing a list
273
+ /** 4.2.1. Parsing a list **/
266
274
  function parseListInternal(input: Input): List|Error {
267
275
  const result: List = {kind: ResultKind.LIST, items: []};
268
276
 
@@ -291,7 +299,7 @@ function parseListInternal(input: Input): List|Error {
291
299
  return result; // this case corresponds to an empty list.
292
300
  }
293
301
 
294
- // 4.2.1.1. Parsing an Item or Inner List
302
+ /** 4.2.1.1. Parsing an Item or Inner List **/
295
303
  function parseItemOrInnerList(input: Input): ListMember|Error {
296
304
  if (input.peek() === '(') {
297
305
  return parseInnerList(input);
@@ -299,7 +307,7 @@ function parseItemOrInnerList(input: Input): ListMember|Error {
299
307
  return parseItemInternal(input);
300
308
  }
301
309
 
302
- // 4.2.1.2. Parsing an Inner List
310
+ /** 4.2.1.2. Parsing an Inner List **/
303
311
  function parseInnerList(input: Input): InnerList|Error {
304
312
  if (input.peek() !== '(') {
305
313
  return makeError();
@@ -335,7 +343,7 @@ function parseInnerList(input: Input): InnerList|Error {
335
343
  return makeError();
336
344
  }
337
345
 
338
- // 4.2.3. Parsing an Item
346
+ /** 4.2.3. Parsing an Item **/
339
347
  function parseItemInternal(input: Input): Item|Error {
340
348
  const bareItem: BareItem|Error = parseBareItem(input);
341
349
  if (bareItem.kind === ResultKind.ERROR) {
@@ -348,7 +356,7 @@ function parseItemInternal(input: Input): Item|Error {
348
356
  return {kind: ResultKind.ITEM, value: bareItem, parameters: params};
349
357
  }
350
358
 
351
- // 4.2.3.1. Parsing a Bare Item
359
+ /** 4.2.3.1. Parsing a Bare Item **/
352
360
  function parseBareItem(input: Input): BareItem|Error {
353
361
  const upcoming = input.peekCharCode();
354
362
  if (upcoming === CHAR_MINUS || isDigit(upcoming)) {
@@ -369,7 +377,7 @@ function parseBareItem(input: Input): BareItem|Error {
369
377
  return makeError();
370
378
  }
371
379
 
372
- // 4.2.3.2. Parsing Parameters
380
+ /** 4.2.3.2. Parsing Parameters **/
373
381
  function parseParameters(input: Input): Parameters|Error {
374
382
  // The main noteworthy thing here is handling of duplicates and ordering:
375
383
  //
@@ -413,7 +421,7 @@ function parseParameters(input: Input): Parameters|Error {
413
421
  return {kind: ResultKind.PARAMETERS, items: [...items.values()]};
414
422
  }
415
423
 
416
- // 4.2.3.3. Parsing a Key
424
+ /** 4.2.3.3. Parsing a Key **/
417
425
  function parseKey(input: Input): ParamName|Error {
418
426
  let outputString = '';
419
427
  const first = input.peekCharCode();
@@ -434,7 +442,7 @@ function parseKey(input: Input): ParamName|Error {
434
442
  return {kind: ResultKind.PARAM_NAME, value: outputString};
435
443
  }
436
444
 
437
- // 4.2.4. Parsing an Integer or Decimal
445
+ /** 4.2.4. Parsing an Integer or Decimal **/
438
446
  function parseIntegerOrDecimal(input: Input): Integer|Decimal|Error {
439
447
  let resultKind = ResultKind.INTEGER;
440
448
  let sign = 1;
@@ -486,7 +494,7 @@ function parseIntegerOrDecimal(input: Input): Integer|Decimal|Error {
486
494
  return {kind: ResultKind.DECIMAL, value: sign * Number.parseFloat(inputNumber)};
487
495
  }
488
496
 
489
- // 4.2.5. Parsing a String
497
+ /** 4.2.5. Parsing a String **/
490
498
  function parseString(input: Input): String|Error {
491
499
  let outputString = '';
492
500
  if (input.peek() !== '"') {
@@ -524,7 +532,7 @@ function parseString(input: Input): String|Error {
524
532
  return makeError();
525
533
  }
526
534
 
527
- // 4.2.6. Parsing a Token
535
+ /** 4.2.6. Parsing a Token **/
528
536
  function parseToken(input: Input): Token|Error {
529
537
  const first = input.peekCharCode();
530
538
  if (first !== CHAR_STAR && !isAlpha(first)) {
@@ -542,7 +550,7 @@ function parseToken(input: Input): Token|Error {
542
550
  return {kind: ResultKind.TOKEN, value: outputString};
543
551
  }
544
552
 
545
- // 4.2.7. Parsing a Byte Sequence
553
+ /** 4.2.7. Parsing a Byte Sequence **/
546
554
  function parseByteSequence(input: Input): Binary|Error {
547
555
  let outputString = '';
548
556
  if (input.peek() !== ':') {
@@ -571,7 +579,7 @@ function parseByteSequence(input: Input): Binary|Error {
571
579
  return makeError();
572
580
  }
573
581
 
574
- // 4.2.8. Parsing a Boolean
582
+ /** 4.2.8. Parsing a Boolean **/
575
583
  function parseBoolean(input: Input): Boolean|Error {
576
584
  if (input.peek() !== '?') {
577
585
  return makeError();
@@ -602,7 +610,7 @@ export function parseList(input: string): List|Error {
602
610
  return parseListInternal(new Input(input));
603
611
  }
604
612
 
605
- // 4.1.3. Serializing an Item
613
+ /** 4.1.3. Serializing an Item **/
606
614
  export function serializeItem(input: Item): SerializationResult|Error {
607
615
  const bareItemVal = serializeBareItem(input.value);
608
616
  if (bareItemVal.kind === ResultKind.ERROR) {
@@ -615,7 +623,7 @@ export function serializeItem(input: Item): SerializationResult|Error {
615
623
  return {kind: ResultKind.SERIALIZATION_RESULT, value: bareItemVal.value + paramVal.value};
616
624
  }
617
625
 
618
- // 4.1.1. Serializing a List
626
+ /** 4.1.1. Serializing a List **/
619
627
  export function serializeList(input: List): SerializationResult|Error {
620
628
  const outputPieces: string[] = [];
621
629
  for (let i = 0; i < input.items.length; ++i) {
@@ -638,7 +646,7 @@ export function serializeList(input: List): SerializationResult|Error {
638
646
  return {kind: ResultKind.SERIALIZATION_RESULT, value: output};
639
647
  }
640
648
 
641
- // 4.1.1.1. Serializing an Inner List
649
+ /** 4.1.1.1. Serializing an Inner List **/
642
650
  function serializeInnerList(input: InnerList): SerializationResult|Error {
643
651
  const outputPieces: string[] = [];
644
652
  for (let i = 0; i < input.items.length; ++i) {
@@ -657,7 +665,7 @@ function serializeInnerList(input: InnerList): SerializationResult|Error {
657
665
  return {kind: ResultKind.SERIALIZATION_RESULT, value: output};
658
666
  }
659
667
 
660
- // 4.1.1.2. Serializing Parameters
668
+ /** 4.1.1.2. Serializing Parameters **/
661
669
  function serializeParameters(input: Parameters): SerializationResult|Error {
662
670
  let output = '';
663
671
  for (const item of input.items) {
@@ -680,7 +688,7 @@ function serializeParameters(input: Parameters): SerializationResult|Error {
680
688
  return {kind: ResultKind.SERIALIZATION_RESULT, value: output};
681
689
  }
682
690
 
683
- // 4.1.1.3. Serializing a Key
691
+ /** 4.1.1.3. Serializing a Key **/
684
692
  function serializeKey(input: ParamName): SerializationResult|Error {
685
693
  if (input.value.length === 0) {
686
694
  return makeError();
@@ -701,7 +709,7 @@ function serializeKey(input: ParamName): SerializationResult|Error {
701
709
  return {kind: ResultKind.SERIALIZATION_RESULT, value: input.value};
702
710
  }
703
711
 
704
- // 4.1.3.1. Serializing a Bare Item
712
+ /** 4.1.3.1. Serializing a Bare Item **/
705
713
  function serializeBareItem(input: BareItem): SerializationResult|Error {
706
714
  if (input.kind === ResultKind.INTEGER) {
707
715
  return serializeInteger(input);
@@ -724,7 +732,7 @@ function serializeBareItem(input: BareItem): SerializationResult|Error {
724
732
  return makeError();
725
733
  }
726
734
 
727
- // 4.1.4. Serializing an Integer
735
+ /** 4.1.4. Serializing an Integer **/
728
736
  function serializeInteger(input: Integer): SerializationResult|Error {
729
737
  if (input.value < -999999999999999 || input.value > 999999999999999 || !Number.isInteger(input.value)) {
730
738
  return makeError();
@@ -732,12 +740,12 @@ function serializeInteger(input: Integer): SerializationResult|Error {
732
740
  return {kind: ResultKind.SERIALIZATION_RESULT, value: input.value.toString(10)};
733
741
  }
734
742
 
735
- // 4.1.5. Serializing a Decimal
743
+ /** 4.1.5. Serializing a Decimal **/
736
744
  function serializeDecimal(_input: Decimal): SerializationResult|Error {
737
745
  throw new Error('Unimplemented');
738
746
  }
739
747
 
740
- // 4.1.6. Serializing a String
748
+ /** 4.1.6. Serializing a String **/
741
749
  function serializeString(input: String): SerializationResult|Error {
742
750
  // Only printable ASCII strings are supported by the spec.
743
751
  for (let i = 0; i < input.value.length; ++i) {
@@ -759,7 +767,7 @@ function serializeString(input: String): SerializationResult|Error {
759
767
  return {kind: ResultKind.SERIALIZATION_RESULT, value: output};
760
768
  }
761
769
 
762
- // 4.1.7. Serializing a Token
770
+ /** 4.1.7. Serializing a Token **/
763
771
  function serializeToken(input: Token): SerializationResult|Error {
764
772
  if (input.value.length === 0) {
765
773
  return makeError();
@@ -779,12 +787,12 @@ function serializeToken(input: Token): SerializationResult|Error {
779
787
  return {kind: ResultKind.SERIALIZATION_RESULT, value: input.value};
780
788
  }
781
789
 
782
- // 4.1.8. Serializing a Byte Sequence
790
+ /** 4.1.8. Serializing a Byte Sequence **/
783
791
  function serializeByteSequence(_input: Binary): SerializationResult|Error {
784
792
  throw new Error('Unimplemented');
785
793
  }
786
794
 
787
- // 4.1.9. Serializing a Boolean
795
+ /** 4.1.9. Serializing a Boolean **/
788
796
  function serializeBoolean(input: Boolean): SerializationResult|Error {
789
797
  return {kind: ResultKind.SERIALIZATION_RESULT, value: input.value ? '?1' : '?0'};
790
798
  }
@@ -234,15 +234,17 @@ function findDifferentiatingPath(url: string[], allUrls: string[][], startIndex:
234
234
  return differentiatingPath;
235
235
  }
236
236
 
237
- // This function tries to find a subpath (if available) that we can use to differentiate
238
- // urls that have the same file name.
239
- // It does so by 1. removing common suffixes, 2. taking segments of the path (from right to left) until the path is
240
- // unique.
241
- //
242
- // Example:
243
- //
244
- // Paths: 'http://www.google.com/src/a/index.js', 'http://www.google.com/src2/a/index.js'
245
- // Output: 'src/…/', 'src2/…/'
237
+ /**
238
+ * This function tries to find a subpath (if available) that we can use to differentiate
239
+ * urls that have the same file name.
240
+ * It does so by 1. removing common suffixes, 2. taking segments of the path (from right to left) until the path is
241
+ * unique.
242
+ *
243
+ * Example:
244
+ *
245
+ * Paths: 'http://www.google.com/src/a/index.js', 'http://www.google.com/src2/a/index.js'
246
+ * Output: 'src/…/', 'src2/…/'
247
+ **/
246
248
  function populateDifferentiatingPathMap(
247
249
  urls: Platform.DevToolsPath.UrlString[], urlToDifferentiator: Map<Platform.DevToolsPath.UrlString, string>): void {
248
250
  const splitReversedUrls = urls.map(url => {
@@ -1765,8 +1765,10 @@ export class BreakpointLocationRevealer implements
1765
1765
  }
1766
1766
  }
1767
1767
 
1768
- // Enumerate non-breakable lines (lines without a known corresponding
1769
- // position in the UISource).
1768
+ /**
1769
+ * Enumerate non-breakable lines (lines without a known corresponding
1770
+ * position in the UISource).
1771
+ **/
1770
1772
  async function computeNonBreakableLines(
1771
1773
  state: CodeMirror.EditorState, transformer: SourceFrame.SourceFrame.Transformer,
1772
1774
  sourceCode: Workspace.UISourceCode.UISourceCode): Promise<readonly number[]> {
@@ -2043,8 +2045,10 @@ export function getVariableNamesByLine(
2043
2045
  toPos = editorState.doc.lineAt(toPos).from;
2044
2046
  const tree = CodeMirror.syntaxTree(editorState);
2045
2047
 
2046
- // Sibling scope is a scope that does not contain the current position.
2047
- // We will exclude variables that are defined (and used in those scopes (since we are currently outside of their lifetime).
2048
+ /**
2049
+ * Sibling scope is a scope that does not contain the current position.
2050
+ * We will exclude variables that are defined (and used in those scopes (since we are currently outside of their lifetime).
2051
+ **/
2048
2052
  function isSiblingScopeNode(node: {name: string, from: number, to: number}): boolean {
2049
2053
  return isScopeNode(node.name) && (node.to < currentPos || currentPos < node.from);
2050
2054
  }
@@ -632,7 +632,7 @@ export class SourcesPanel extends UI.Panel.Panel implements
632
632
 
633
633
  private addExperimentMenuItem(
634
634
  menuSection: UI.ContextMenu.Section, experiment: string, menuItem: Common.UIString.LocalizedString): void {
635
- // menu handler
635
+ /** menu handler **/
636
636
  function toggleExperiment(): void {
637
637
  const checked = Root.Runtime.experiments.isEnabled(experiment);
638
638
  Root.Runtime.experiments.setEnabled(experiment, !checked);
@@ -663,7 +663,7 @@ const setRowMessages = CodeMirror.StateEffect.define<RowMessages>();
663
663
 
664
664
  const underlineMark = CodeMirror.Decoration.mark({class: 'cm-waveUnderline'});
665
665
 
666
- // The widget shown at the end of a message annotation.
666
+ /** The widget shown at the end of a message annotation. **/
667
667
  class MessageWidget extends CodeMirror.WidgetType {
668
668
  constructor(readonly messages: RowMessage[]) {
669
669
  super();
@@ -150,8 +150,10 @@ export const TrackNames = [
150
150
  'Extension',
151
151
  'ServerTimings',
152
152
  ] as const;
153
- // Network track will use TrackAppender interface, but it won't be shown in Main flamechart.
154
- // So manually add it to TrackAppenderName.
153
+ /**
154
+ * Network track will use TrackAppender interface, but it won't be shown in Main flamechart.
155
+ * So manually add it to TrackAppenderName.
156
+ **/
155
157
  export type TrackAppenderName = typeof TrackNames[number]|'Network';
156
158
 
157
159
  export type DrawOverride = PerfUI.FlameChart.DrawOverride;
@@ -71,9 +71,14 @@ export class CountersGraph extends UI.Widget.VBox {
71
71
 
72
72
  #noEventsFoundMessage = document.createElement('div');
73
73
  #showNoEventsMessage = false;
74
+ #defaultNumberFormatter: Intl.NumberFormat;
74
75
 
75
76
  constructor(delegate: TimelineModeViewDelegate) {
76
77
  super();
78
+ this.#defaultNumberFormatter = new Intl.NumberFormat(
79
+ i18n.DevToolsLocale.DevToolsLocale.instance().locale,
80
+ );
81
+
77
82
  this.element.id = 'memory-graphs-container';
78
83
 
79
84
  this.delegate = delegate;
@@ -180,6 +185,7 @@ export class CountersGraph extends UI.Widget.VBox {
180
185
  }
181
186
  }
182
187
  this.#showNoEventsMessage = counterEventsFound === 0;
188
+ this.requestUpdate();
183
189
  }
184
190
 
185
191
  private createCurrentValuesBar(): void {
@@ -192,7 +198,8 @@ export class CountersGraph extends UI.Widget.VBox {
192
198
  formatter?: ((arg0: number) => string)): Counter {
193
199
  const counter = new Counter();
194
200
  this.counters.push(counter);
195
- this.counterUI.push(new CounterUI(this, uiName, settingsKey, color, counter, formatter));
201
+ this.counterUI.push(
202
+ new CounterUI(this, uiName, settingsKey, color, counter, formatter ?? this.#defaultNumberFormatter.format));
196
203
  return counter;
197
204
  }
198
205
 
@@ -388,7 +395,7 @@ export class Counter {
388
395
  export class CounterUI {
389
396
  private readonly countersPane: CountersGraph;
390
397
  counter: Counter;
391
- private readonly formatter: (arg0: number) => string;
398
+ readonly formatter: (arg0: number) => string;
392
399
  private readonly setting: Common.Settings.Setting<boolean>;
393
400
  private readonly filter: UI.Toolbar.ToolbarSettingCheckbox;
394
401
  private readonly value: HTMLElement;
@@ -401,10 +408,10 @@ export class CounterUI {
401
408
 
402
409
  constructor(
403
410
  countersPane: CountersGraph, title: Common.UIString.LocalizedString, settingsKey: string, graphColor: string,
404
- counter: Counter, formatter?: (arg0: number) => string) {
411
+ counter: Counter, formatter: (arg0: number) => string) {
405
412
  this.countersPane = countersPane;
406
413
  this.counter = counter;
407
- this.formatter = formatter || Platform.NumberUtilities.withThousandsSeparator;
414
+ this.formatter = formatter;
408
415
 
409
416
  this.setting = Common.Settings.Settings.instance().createSetting('timeline-counters-graph-' + settingsKey, true);
410
417
  this.setting.setTitle(title);
@@ -474,7 +481,7 @@ export class CounterUI {
474
481
  return;
475
482
  }
476
483
  const index = this.recordIndexAt(x);
477
- const value = Platform.NumberUtilities.withThousandsSeparator(this.counter.values[index]);
484
+ const value = this.formatter(this.counter.values[index]);
478
485
  this.value.textContent = `${this.counterName}: ${value}`;
479
486
  const y = this.graphYValues[index] / window.devicePixelRatio;
480
487
  this.marker.style.left = x + 'px';
@@ -1,4 +1,6 @@
1
- // Copyright 2024 The Chromium Authors
2
- // Use of this source code is governed by a BSD-style license that can be
3
- // found in the LICENSE file.
1
+ /**
2
+ * Copyright 2024 The Chromium Authors
3
+ * Use of this source code is governed by a BSD-style license that can be
4
+ * found in the LICENSE file.
5
+ **/
4
6
  export const SHOULD_SHOW_EASTER_EGG: boolean;
@@ -40,12 +40,14 @@ const UIStrings = {
40
40
  const str_ = i18n.i18n.registerUIStrings('panels/timeline/LayoutShiftsTrackAppender.ts', UIStrings);
41
41
  const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
42
42
 
43
- // Bit of a hack: LayoutShifts are instant events, so have no duration. But
44
- // OPP doesn't do well at making tiny events easy to spot and click. So we
45
- // set it to a small duration so that the user is able to see and click
46
- // them more easily. Long term we will explore a better UI solution to
47
- // allow us to do this properly and not hack around it.
48
- // TODO: Delete this once the new Layout Shift UI ships out of the TIMELINE_LAYOUT_SHIFT_DETAILS experiment
43
+ /**
44
+ * Bit of a hack: LayoutShifts are instant events, so have no duration. But
45
+ * OPP doesn't do well at making tiny events easy to spot and click. So we
46
+ * set it to a small duration so that the user is able to see and click
47
+ * them more easily. Long term we will explore a better UI solution to
48
+ * allow us to do this properly and not hack around it.
49
+ * TODO: Delete this once the new Layout Shift UI ships out of the TIMELINE_LAYOUT_SHIFT_DETAILS experiment
50
+ **/
49
51
  export const LAYOUT_SHIFT_SYNTHETIC_DURATION = Trace.Types.Timing.Micro(5_000);
50
52
 
51
53
  export class LayoutShiftsTrackAppender implements TrackAppender {
@@ -16,9 +16,11 @@ let activeManager: ModificationsManager|null;
16
16
  export type UpdateAction =
17
17
  'Remove'|'Add'|'UpdateLabel'|'UpdateTimeRange'|'UpdateLinkToEntry'|'EnterLabelEditState'|'LabelBringForward';
18
18
 
19
- // Event dispatched after an annotation was added, removed or updated.
20
- // The event argument is the Overlay that needs to be created,removed
21
- // or updated by `Overlays.ts` and the action that needs to be applied to it.
19
+ /**
20
+ * Event dispatched after an annotation was added, removed or updated.
21
+ * The event argument is the Overlay that needs to be created,removed
22
+ * or updated by `Overlays.ts` and the action that needs to be applied to it.
23
+ **/
22
24
  export class AnnotationModifiedEvent extends Event {
23
25
  static readonly eventName = 'annotationmodifiedevent';
24
26
 
@@ -135,11 +135,13 @@ const UIStrings = {
135
135
  const str_ = i18n.i18n.registerUIStrings('panels/timeline/ThreadAppender.ts', UIStrings);
136
136
  const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
137
137
 
138
- // This appender is only triggered when the Renderer handler is run. At
139
- // the moment this only happens in the basic component server example.
140
- // In the future, once this appender fully supports the behaviour of the
141
- // old engine's thread/sync tracks we can always run it by enabling the
142
- // Renderer and Samples handler by default.
138
+ /**
139
+ * This appender is only triggered when the Renderer handler is run. At
140
+ * the moment this only happens in the basic component server example.
141
+ * In the future, once this appender fully supports the behaviour of the
142
+ * old engine's thread/sync tracks we can always run it by enabling the
143
+ * Renderer and Samples handler by default.
144
+ **/
143
145
  export class ThreadAppender implements TrackAppender {
144
146
  readonly appenderName: TrackAppenderName = 'Thread';
145
147
 
@@ -1111,7 +1111,7 @@ export class TimelineFlameChartDataProvider extends Common.ObjectWrapper.ObjectW
1111
1111
  context.fillRect(barX, barY - 0.5, desiredBoxStartX - barX, barHeight);
1112
1112
  context.fillRect(desiredBoxEndX, barY - 0.5, entireBarEndXPixel - desiredBoxEndX, barHeight);
1113
1113
 
1114
- // Draws left and right whiskers
1114
+ /** Draws left and right whiskers **/
1115
1115
  function drawTick(begin: number, end: number, y: number): void {
1116
1116
  const tickHeightPx = 6;
1117
1117
  context.moveTo(begin, y - tickHeightPx / 2);
@@ -1398,13 +1398,15 @@ export interface EventTypes {
1398
1398
  };
1399
1399
  }
1400
1400
 
1401
- // an entry is a trace event, they are classified into "entry types"
1402
- // because some events are rendered differently. For example, screenshot
1403
- // events are rendered as images. Checks for entry types allow to have
1404
- // different styles, names, etc. for events that look differently.
1405
- // In the future we won't have this checks: instead we will forward
1406
- // the event to the corresponding "track appender" and it will determine
1407
- // how the event shall be rendered.
1401
+ /**
1402
+ * an entry is a trace event, they are classified into "entry types"
1403
+ * because some events are rendered differently. For example, screenshot
1404
+ * events are rendered as images. Checks for entry types allow to have
1405
+ * different styles, names, etc. for events that look differently.
1406
+ * In the future we won't have this checks: instead we will forward
1407
+ * the event to the corresponding "track appender" and it will determine
1408
+ * how the event shall be rendered.
1409
+ **/
1408
1410
  export const enum EntryType {
1409
1411
  FRAME = 'Frame',
1410
1412
  TRACK_APPENDER = 'TrackAppender',
@@ -307,7 +307,7 @@ export class TimelineFlameChartNetworkDataProvider implements PerfUI.FlameChart.
307
307
  context.fillRect(barX, barY - 0.5, sendStart - barX, barHeight);
308
308
  context.fillRect(finish, barY - 0.5, barX + barWidth - finish, barHeight);
309
309
 
310
- // Draws left and right whiskers
310
+ /** Draws left and right whiskers **/
311
311
  function drawTick(begin: number, end: number, y: number): void {
312
312
  const /** @constant */ tickHeightPx = 6;
313
313
  context.moveTo(begin, y - tickHeightPx / 2);
@@ -1430,6 +1430,23 @@ export class TimelineFlameChartView extends Common.ObjectWrapper.eventMixin<Even
1430
1430
  }
1431
1431
  }
1432
1432
 
1433
+ zoomEvent(event: Trace.Types.Events.Event): void {
1434
+ const traceBounds = TraceBounds.TraceBounds.BoundsManager.instance().state()?.micro.entireTraceBounds;
1435
+ if (!traceBounds) {
1436
+ return;
1437
+ }
1438
+
1439
+ this.#expandEntryTrack(event);
1440
+ this.revealEventVertically(event);
1441
+ const entryWindow = Trace.Helpers.Timing.traceWindowFromMicroSeconds(
1442
+ event.ts,
1443
+ Trace.Types.Timing.Micro(event.ts + (event.dur ?? 0)),
1444
+ );
1445
+ const expandedBounds = Trace.Helpers.Timing.expandWindowByPercentOrToOneMillisecond(entryWindow, traceBounds, 100);
1446
+ TraceBounds.TraceBounds.BoundsManager.instance().setTimelineVisibleWindow(
1447
+ expandedBounds, {ignoreMiniMapBounds: true, shouldAnimate: true});
1448
+ }
1449
+
1433
1450
  revealEvent(event: Trace.Types.Events.Event): void {
1434
1451
  const mainIndex = this.mainDataProvider.indexForEvent(event);
1435
1452
  const networkIndex = this.networkDataProvider.indexForEvent(event);
@@ -660,6 +660,10 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
660
660
  );
661
661
  }
662
662
 
663
+ zoomEvent(event: Trace.Types.Events.Event): void {
664
+ this.flameChart.zoomEvent(event);
665
+ }
666
+
663
667
  /**
664
668
  * Activates an insight and ensures the sidebar is open too.
665
669
  * Pass `highlightInsight: true` to flash the insight with the background highlight colour.
@@ -1806,11 +1810,13 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
1806
1810
  return;
1807
1811
  }
1808
1812
 
1809
- // To clear out the page and any state from prior test runs, we
1810
- // navigate to about:blank before initiating the trace recording.
1811
- // Once we have navigated to about:blank, we start recording and
1812
- // then navigate to the original page URL, to ensure we profile the
1813
- // page load.
1813
+ /**
1814
+ * To clear out the page and any state from prior test runs, we
1815
+ * navigate to about:blank before initiating the trace recording.
1816
+ * Once we have navigated to about:blank, we start recording and
1817
+ * then navigate to the original page URL, to ensure we profile the
1818
+ * page load.
1819
+ **/
1814
1820
  function waitForAboutBlank(event: Common.EventTarget.EventTargetEvent<SDK.ResourceTreeModel.ResourceTreeFrame>):
1815
1821
  void {
1816
1822
  if (event.data.url === 'about:blank') {
@@ -2020,14 +2026,14 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
2020
2026
  this.toggleRecordAction.setToggled(this.state === State.RECORDING);
2021
2027
  this.toggleRecordAction.setEnabled(this.state === State.RECORDING || this.state === State.IDLE);
2022
2028
  this.askAiButton?.setEnabled(this.state === State.IDLE && this.#hasActiveTrace());
2029
+ this.panelToolbar.setEnabled(this.state !== State.LOADING);
2030
+ this.panelRightToolbar.setEnabled(this.state !== State.LOADING);
2023
2031
 
2024
2032
  if (!this.canRecord()) {
2025
2033
  return;
2026
2034
  }
2027
2035
 
2028
2036
  this.recordReloadAction.setEnabled(isNode ? false : this.state === State.IDLE);
2029
- this.panelToolbar.setEnabled(this.state !== State.LOADING);
2030
- this.panelRightToolbar.setEnabled(this.state !== State.LOADING);
2031
2037
  this.homeButton?.setEnabled(this.state === State.IDLE && this.#hasActiveTrace());
2032
2038
  }
2033
2039
 
@@ -3150,12 +3156,13 @@ export const enum State {
3150
3156
  RECORDING_FAILED = 'RecordingFailed',
3151
3157
  }
3152
3158
 
3153
- // Define row and header height, should be in sync with styles for timeline graphs.
3159
+ /** Define row and header height, should be in sync with styles for timeline graphs. **/
3154
3160
  export const rowHeight = 18;
3155
3161
 
3156
3162
  export const headerHeight = 20;
3157
3163
  export interface TimelineModeViewDelegate {
3158
3164
  select(selection: TimelineSelection|null): void;
3165
+ zoomEvent(event: Trace.Types.Events.Event): void;
3159
3166
  element: Element;
3160
3167
  set3PCheckboxDisabled(disabled: boolean): void;
3161
3168
  selectEntryAtTime(events: Trace.Types.Events.Event[]|null, time: number): void;