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
@@ -44,10 +44,12 @@ const UIStrings = {
44
44
  const str_ =
45
45
  i18n.i18n.registerUIStrings('panels/linear_memory_inspector/components/LinearMemoryInspector.ts', UIStrings);
46
46
  const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
47
- // If the LinearMemoryInspector only receives a portion
48
- // of the original Uint8Array to show, it requires information
49
- // on the 1. memoryOffset (at which index this portion starts),
50
- // and on the 2. outerMemoryLength (length of the original Uint8Array).
47
+ /**
48
+ * If the LinearMemoryInspector only receives a portion
49
+ * of the original Uint8Array to show, it requires information
50
+ * on the 1. memoryOffset (at which index this portion starts),
51
+ * and on the 2. outerMemoryLength (length of the original Uint8Array).
52
+ **/
51
53
  export interface LinearMemoryInspectorData {
52
54
  memory: Uint8Array<ArrayBuffer>;
53
55
  address: number;
@@ -143,7 +143,7 @@ const i18nLazyString = i18n.i18n.getLazilyComputedLocalizedString.bind(undefined
143
143
 
144
144
  type TabData = Record<string, string|object>;
145
145
 
146
- // Keep this enum in sync with panels/media/base/media_log_properties.h
146
+ /** Keep this enum in sync with panels/media/base/media_log_properties.h **/
147
147
  export const enum PlayerPropertyKeys {
148
148
  RESOLUTION = 'kResolution',
149
149
  TOTAL_BYTES = 'kTotalBytes',
@@ -232,11 +232,6 @@ const UIStrings = {
232
232
  * @example {4 B} PH1
233
233
  */
234
234
  servedFromSignedHttpExchange: 'Served from Signed HTTP Exchange, resource size: {PH1}',
235
- /**
236
- * @description Cell title in Network Data Grid Node of the Network panel. Indicates that the response came from preloaded web bundle. See https://web.dev/web-bundles/
237
- * @example {4 B} PH1
238
- */
239
- servedFromWebBundle: 'Served from Web Bundle, resource size: {PH1}',
240
235
  /**
241
236
  * @description Text of a DOM element in Network Data Grid Node of the Network panel
242
237
  */
@@ -278,19 +273,6 @@ const UIStrings = {
278
273
  * @description Text describing the depth of a top level node in the network datagrid
279
274
  */
280
275
  level: 'level 1',
281
- /**
282
- * @description Text in Network Data Grid Node of the Network panel
283
- */
284
- webBundleError: 'Web Bundle error',
285
- /**
286
- * @description Alternative text for the web bundle inner request icon in Network Data Grid Node of the Network panel
287
- * Indicates that the response came from preloaded web bundle. See https://web.dev/web-bundles/
288
- */
289
- webBundleInnerRequest: 'Served from Web Bundle',
290
- /**
291
- * @description Text in Network Data Grid Node of the Network panel
292
- */
293
- webBundle: '(Web Bundle)',
294
276
  /**
295
277
  * @description Tooltip text for subtitles of Time cells in Network request rows. Latency is the time difference
296
278
  * between the time a response to a network request is received and the time the request is started.
@@ -1202,22 +1184,6 @@ export class NetworkRequestNode extends NetworkNode {
1202
1184
  }
1203
1185
 
1204
1186
  if (columnId === 'name') {
1205
- const webBundleInnerRequestInfo = this.requestInternal.webBundleInnerRequestInfo();
1206
- if (webBundleInnerRequestInfo) {
1207
- const secondIconElement = IconButton.Icon.create('bundle', 'icon');
1208
- secondIconElement.style.color = 'var(--icon-info)';
1209
- secondIconElement.title = i18nString(UIStrings.webBundleInnerRequest);
1210
-
1211
- const networkManager = SDK.NetworkManager.NetworkManager.forRequest(this.requestInternal);
1212
- if (webBundleInnerRequestInfo.bundleRequestId && networkManager) {
1213
- cell.appendChild(Components.Linkifier.Linkifier.linkifyRevealable(
1214
- new NetworkForward.NetworkRequestId.NetworkRequestId(
1215
- webBundleInnerRequestInfo.bundleRequestId, networkManager),
1216
- secondIconElement, undefined, undefined, undefined, 'webbundle-request'));
1217
- } else {
1218
- cell.appendChild(secondIconElement);
1219
- }
1220
- }
1221
1187
  const name = Platform.StringUtilities.trimMiddle(this.requestInternal.name(), 100);
1222
1188
  const networkManager = SDK.NetworkManager.NetworkManager.forRequest(this.requestInternal);
1223
1189
  UI.UIUtils.createTextChild(cell, networkManager ? networkManager.target().decorateLabel(name) : name);
@@ -1236,12 +1202,8 @@ export class NetworkRequestNode extends NetworkNode {
1236
1202
  'network-dim-cell', !this.isFailed() && (this.requestInternal.cached() || !this.requestInternal.statusCode));
1237
1203
 
1238
1204
  const corsErrorStatus = this.requestInternal.corsErrorStatus();
1239
- const webBundleErrorMessage = this.requestInternal.webBundleInfo()?.errorMessage ||
1240
- this.requestInternal.webBundleInnerRequestInfo()?.errorMessage;
1241
- if (webBundleErrorMessage) {
1242
- this.setTextAndTitle(cell, i18nString(UIStrings.webBundleError), webBundleErrorMessage);
1243
- } else if (
1244
- this.requestInternal.failed && !this.requestInternal.canceled && !this.requestInternal.wasBlocked() &&
1205
+
1206
+ if (this.requestInternal.failed && !this.requestInternal.canceled && !this.requestInternal.wasBlocked() &&
1245
1207
  !corsErrorStatus) {
1246
1208
  const failText = i18nString(UIStrings.failed);
1247
1209
  if (this.requestInternal.localizedFailDescription) {
@@ -1526,10 +1488,6 @@ export class NetworkRequestNode extends NetworkNode {
1526
1488
  UI.UIUtils.createTextChild(cell, i18n.i18n.lockedString('(signed-exchange)'));
1527
1489
  UI.Tooltip.Tooltip.install(cell, i18nString(UIStrings.servedFromSignedHttpExchange, {PH1: resourceSize}));
1528
1490
  cell.classList.add('network-dim-cell');
1529
- } else if (this.requestInternal.webBundleInnerRequestInfo()) {
1530
- UI.UIUtils.createTextChild(cell, i18nString(UIStrings.webBundle));
1531
- UI.Tooltip.Tooltip.install(cell, i18nString(UIStrings.servedFromWebBundle, {PH1: resourceSize}));
1532
- cell.classList.add('network-dim-cell');
1533
1491
  } else if (this.requestInternal.fromPrefetchCache()) {
1534
1492
  UI.UIUtils.createTextChild(cell, i18nString(UIStrings.prefetchCache));
1535
1493
  UI.Tooltip.Tooltip.install(cell, i18nString(UIStrings.servedFromPrefetchCacheResource, {PH1: resourceSize}));
@@ -2512,10 +2512,12 @@ export class NetworkLogView extends Common.ObjectWrapper.eventMixin<EventTypes,
2512
2512
  str.replace(/[`\$"]/g, '`$&').replace(/[^\x20-\x7E]/g, char => '$([char]' + char.charCodeAt(0) + ')') + '"';
2513
2513
  }
2514
2514
 
2515
- // Generate a WebRequestSession object with the UserAgent and Cookie header values.
2516
- // This is used to pass the user-agent and cookie headers to Invoke-WebRequest because the Invoke-WebRequest
2517
- // command does not allow setting these headers through the -Headers parameter. See docs at:
2518
- // https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/invoke-webrequest?view=powershell-7.1#parameters
2515
+ /**
2516
+ * Generate a WebRequestSession object with the UserAgent and Cookie header values.
2517
+ * This is used to pass the user-agent and cookie headers to Invoke-WebRequest because the Invoke-WebRequest
2518
+ * command does not allow setting these headers through the -Headers parameter. See docs at:
2519
+ * https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/invoke-webrequest?view=powershell-7.1#parameters
2520
+ **/
2519
2521
  function generatePowerShellSession(request: SDK.NetworkRequest.NetworkRequest): string|null {
2520
2522
  const requestHeaders = request.requestHeaders();
2521
2523
  const props = [];
@@ -8,12 +8,10 @@ import '../../ui/legacy/legacy.js';
8
8
  import * as i18n from '../../core/i18n/i18n.js';
9
9
  import type * as SDK from '../../core/sdk/sdk.js';
10
10
  import * as TextUtils from '../../models/text_utils/text_utils.js';
11
- import * as LegacyWrapper from '../../ui/components/legacy_wrapper/legacy_wrapper.js';
12
11
  import * as SourceFrame from '../../ui/legacy/components/source_frame/source_frame.js';
13
12
  import * as UI from '../../ui/legacy/legacy.js';
14
13
  import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
15
14
 
16
- import * as NetworkComponents from './components/components.js';
17
15
  import {RequestHTMLView} from './RequestHTMLView.js';
18
16
  import {SignedExchangeInfoView} from './SignedExchangeInfoView.js';
19
17
 
@@ -90,11 +88,6 @@ export class RequestPreviewView extends UI.Widget.VBox {
90
88
  return new SignedExchangeInfoView(this.request);
91
89
  }
92
90
 
93
- if (this.request.webBundleInfo()) {
94
- return LegacyWrapper.LegacyWrapper.legacyWrapper(
95
- UI.Widget.VBox, new NetworkComponents.WebBundleInfoView.WebBundleInfoView(this.request));
96
- }
97
-
98
91
  const htmlErrorPreview = await this.htmlPreview();
99
92
  if (htmlErrorPreview) {
100
93
  return htmlErrorPreview;
@@ -58,10 +58,6 @@ const UIStrings = {
58
58
  * @description Text in Request Headers View of the Network panel
59
59
  */
60
60
  fromSignedexchange: '(from signed-exchange)',
61
- /**
62
- * @description Text in Request Headers View of the Network panel
63
- */
64
- fromWebBundle: '(from Web Bundle)',
65
61
  /**
66
62
  * @description Section header for a list of the main aspects of a http request
67
63
  */
@@ -450,8 +446,6 @@ export class RequestHeadersView extends LegacyWrapper.LegacyWrapper.WrappableCom
450
446
  comment = i18nString(UIStrings.fromServiceWorker);
451
447
  } else if (this.#request.redirectSourceSignedExchangeInfoHasNoErrors()) {
452
448
  comment = i18nString(UIStrings.fromSignedexchange);
453
- } else if (this.#request.webBundleInnerRequestInfo()) {
454
- comment = i18nString(UIStrings.fromWebBundle);
455
449
  } else if (this.#request.fromPrefetchCache()) {
456
450
  comment = i18nString(UIStrings.fromPrefetchCache);
457
451
  } else if (this.#request.cached()) {
@@ -9,7 +9,6 @@ import * as RequestHeaderSection from './RequestHeaderSection.js';
9
9
  import * as RequestHeadersView from './RequestHeadersView.js';
10
10
  import * as RequestTrustTokensView from './RequestTrustTokensView.js';
11
11
  import * as ResponseHeaderSection from './ResponseHeaderSection.js';
12
- import * as WebBundleInfoView from './WebBundleInfoView.js';
13
12
 
14
13
  export {
15
14
  DirectSocketConnectionView,
@@ -19,5 +18,4 @@ export {
19
18
  RequestHeadersView,
20
19
  RequestTrustTokensView,
21
20
  ResponseHeaderSection,
22
- WebBundleInfoView,
23
21
  };
@@ -734,7 +734,7 @@ export class HeapSnapshotRetainmentDataGrid extends HeapSnapshotContainmentDataG
734
734
  }
735
735
  }
736
736
 
737
- // TODO(crbug.com/1228674): Remove this enum, it is only used in web tests.
737
+ /** TODO(crbug.com/1228674): Remove this enum, it is only used in web tests. **/
738
738
  export enum HeapSnapshotRetainmentDataGridEvents {
739
739
  /* eslint-disable @typescript-eslint/naming-convention -- Used by web_tests. */
740
740
  ExpandRetainersComplete = 'ExpandRetainersComplete',
@@ -1084,6 +1084,8 @@ export class HeapSnapshotConstructorNode extends HeapSnapshotGridNode {
1084
1084
  readonly retainedSize: number;
1085
1085
  readonly classKey: string;
1086
1086
 
1087
+ #numberFormatter = new Intl.NumberFormat(i18n.DevToolsLocale.DevToolsLocale.instance().locale);
1088
+
1087
1089
  constructor(
1088
1090
  dataGrid: HeapSnapshotConstructorsDataGrid, classKey: string,
1089
1091
  aggregate: HeapSnapshotModel.HeapSnapshotModel.Aggregate,
@@ -1102,7 +1104,7 @@ export class HeapSnapshotConstructorNode extends HeapSnapshotGridNode {
1102
1104
  const shallowSizePercent = this.shallowSize / snapshot.totalSize * 100.0;
1103
1105
  this.data = {
1104
1106
  object: this.nameInternal,
1105
- count: Platform.NumberUtilities.withThousandsSeparator(this.count),
1107
+ count: this.#numberFormatter.format(this.count),
1106
1108
  distance: this.toUIDistance(this.distance),
1107
1109
  shallowSize: i18n.ByteUtilities.formatBytesToKb(this.shallowSize),
1108
1110
  retainedSize: i18n.ByteUtilities.formatBytesToKb(this.retainedSize),
@@ -1143,7 +1145,7 @@ export class HeapSnapshotConstructorNode extends HeapSnapshotGridNode {
1143
1145
  override createCell(columnId: string): HTMLElement {
1144
1146
  const cell = columnId === 'object' ? super.createCell(columnId) : this.createValueCell(columnId);
1145
1147
  if (columnId === 'object' && this.count > 1) {
1146
- cell.appendChild(UI.Fragment.html`<span class="objects-count">×${this.count}</span>`);
1148
+ cell.appendChild(UI.Fragment.html`<span class="objects-count">×${this.data.count}</span>`);
1147
1149
  }
1148
1150
  return cell;
1149
1151
  }
@@ -173,17 +173,17 @@ export interface ViewInput {
173
173
  filterKeys: string[];
174
174
  filter: string;
175
175
  parseFilter: (filter: string) => TextUtils.TextUtils.ParsedFilter[];
176
- onRecord: (e: Event) => void;
176
+ onRecord: (record: boolean) => void;
177
177
  onClear: () => void;
178
178
  onSave: () => void;
179
- onSplitChange: (e: CustomEvent<string>) => void;
180
- onSelect: (e: CustomEvent<HTMLElement|null>) => void;
181
- onContextMenu: (e: CustomEvent<{menu: UI.ContextMenu.ContextMenu, element: HTMLElement}>) => void;
182
- onFilterChanged: (e: CustomEvent<string>) => void;
183
- onCommandChange: (e: CustomEvent<string>) => void;
184
- onCommandSubmitted: (e: CustomEvent<string>) => void;
185
- onTargetChange: (e: Event) => void;
186
- onToggleSidebar: (e: Event) => void;
179
+ onSplitChange: (onlyMain: boolean) => void;
180
+ onSelect: (e: Message|undefined) => void;
181
+ onContextMenu: (message: Message, menu: UI.ContextMenu.ContextMenu) => void;
182
+ onFilterChanged: (filter: string) => void;
183
+ onCommandChange: (command: string) => void;
184
+ onCommandSubmitted: (input: string) => void;
185
+ onTargetChange: (targetId: string) => void;
186
+ onToggleSidebar: () => void;
187
187
  targets: SDK.Target.Target[];
188
188
  selectedTargetId: string;
189
189
  }
@@ -203,7 +203,7 @@ export const DEFAULT_VIEW: View = (input, output, target) => {
203
203
  direction="column"
204
204
  sidebar-initial-size="400"
205
205
  sidebar-visibility=${input.sidebarVisible ? 'visible' : 'hidden'}
206
- @change=${input.onSplitChange}>
206
+ @change=${(e: CustomEvent<string>) => input.onSplitChange(e.detail === 'OnlyMain')}>
207
207
  <div slot="main" class="vbox protocol-monitor-main">
208
208
  <devtools-toolbar class="protocol-monitor-toolbar"
209
209
  jslog=${VisualLogging.toolbar('top')}>
@@ -214,22 +214,23 @@ export const DEFAULT_VIEW: View = (input, output, target) => {
214
214
  .variant=${Buttons.Button.Variant.ICON_TOGGLE}
215
215
  .toggleType=${Buttons.Button.ToggleType.RED}
216
216
  .toggled=${true}
217
- @click=${input.onRecord}></devtools-button>
217
+ @click=${(e: Event) => input.onRecord((e.target as Buttons.Button.Button).toggled)}>
218
+ </devtools-button>
218
219
  <devtools-button title=${i18nString(UIStrings.clearAll)}
219
220
  .iconName=${'clear'}
220
221
  .variant=${Buttons.Button.Variant.TOOLBAR}
221
222
  .jslogContext=${'protocol-monitor.clear-all'}
222
- @click=${input.onClear}></devtools-button>
223
+ @click=${() => input.onClear()}></devtools-button>
223
224
  <devtools-button title=${i18nString(UIStrings.save)}
224
225
  .iconName=${'download'}
225
226
  .variant=${Buttons.Button.Variant.TOOLBAR}
226
227
  .jslogContext=${'protocol-monitor.save'}
227
- @click=${input.onSave}></devtools-button>
228
+ @click=${() => input.onSave()}></devtools-button>
228
229
  <devtools-toolbar-input type="filter"
229
230
  list="filter-suggestions"
230
231
  style="flex-grow: 1"
231
232
  value=${input.filter}
232
- @change=${input.onFilterChanged}>
233
+ @change=${(e: CustomEvent<string>) => input.onFilterChanged(e.detail)}>
233
234
  <datalist id="filter-suggestions">
234
235
  ${input.filterKeys.map(key => html`
235
236
  <option value=${key + ':'}></option>
@@ -242,8 +243,6 @@ export const DEFAULT_VIEW: View = (input, output, target) => {
242
243
  <devtools-data-grid
243
244
  striped
244
245
  slot="main"
245
- @select=${input.onSelect}
246
- @contextmenu=${input.onContextMenu}
247
246
  .filters=${input.parseFilter(input.filter)}>
248
247
  <table>
249
248
  <tr>
@@ -274,8 +273,9 @@ export const DEFAULT_VIEW: View = (input, output, target) => {
274
273
  </tr>
275
274
  ${
276
275
  input.messages.map(
277
- (message, index) => html`
278
- <tr data-index=${index}
276
+ message => html`
277
+ <tr @select=${() => input.onSelect(message)}
278
+ @contextmenu=${(e: CustomEvent<UI.ContextMenu.ContextMenu>) => input.onContextMenu(message, e.detail)}
279
279
  style="--override-data-grid-row-background-color: var(--sys-color-surface3)">
280
280
  ${'id' in message ? html`
281
281
  <td title="sent">
@@ -320,7 +320,7 @@ export const DEFAULT_VIEW: View = (input, output, target) => {
320
320
  .iconName=${input.sidebarVisible ? 'left-panel-close' : 'left-panel-open'}
321
321
  .variant=${Buttons.Button.Variant.TOOLBAR}
322
322
  .jslogContext=${'protocol-monitor.toggle-command-editor'}
323
- @click=${input.onToggleSidebar}></devtools-button>
323
+ @click=${() => input.onToggleSidebar()}></devtools-button>
324
324
  </devtools-button>
325
325
  <devtools-toolbar-input id="command-input"
326
326
  style=${styleMap({
@@ -330,8 +330,8 @@ export const DEFAULT_VIEW: View = (input, output, target) => {
330
330
  list="command-input-suggestions"
331
331
  placeholder=${i18nString(UIStrings.sendRawCDPCommand)}
332
332
  title=${i18nString(UIStrings.sendRawCDPCommandExplanation)}
333
- @change=${input.onCommandChange}
334
- @submit=${input.onCommandSubmitted}>
333
+ @change=${(e: CustomEvent<string>) => input.onCommandChange(e.detail)}
334
+ @submit=${(e: CustomEvent<string>) => input.onCommandSubmitted(e.detail)}>
335
335
  <datalist id="command-input-suggestions">
336
336
  ${input.commandSuggestions.map(c => html`<option value=${c}></option>`)}
337
337
  </datalist>
@@ -340,7 +340,7 @@ export const DEFAULT_VIEW: View = (input, output, target) => {
340
340
  title=${i18nString(UIStrings.selectTarget)}
341
341
  style=${styleMap({display: input.sidebarVisible ? 'none' : 'flex'})}
342
342
  jslog=${VisualLogging.dropDown('target-selector').track({change: true})}
343
- @change=${input.onTargetChange}>
343
+ @change=${(e: Event) => input.onTargetChange((e.target as HTMLSelectElement).value)}>
344
344
  ${input.targets.map(target => html`
345
345
  <option jslog=${VisualLogging.item('target').track({click: true})}
346
346
  value=${target.id()} ?selected=${target.id() === input.selectedTargetId}>
@@ -416,8 +416,8 @@ export class ProtocolMonitorImpl extends UI.Panel.Panel {
416
416
  filterKeys: this.#filterKeys,
417
417
  filter: this.#filter,
418
418
  parseFilter: this.filterParser.parse.bind(this.filterParser),
419
- onSplitChange: (e: CustomEvent<string>) => {
420
- if (e.detail === 'OnlyMain') {
419
+ onSplitChange: (onlyMain: boolean) => {
420
+ if (onlyMain) {
421
421
  this.#populateToolbarInput();
422
422
  this.#sidebarVisible = false;
423
423
  } else {
@@ -427,8 +427,8 @@ export class ProtocolMonitorImpl extends UI.Panel.Panel {
427
427
  }
428
428
  this.requestUpdate();
429
429
  },
430
- onRecord: (e: Event) => {
431
- this.setRecording((e.target as Buttons.Button.Button).toggled);
430
+ onRecord: (recording: boolean) => {
431
+ this.setRecording(recording);
432
432
  },
433
433
  onClear: () => {
434
434
  this.#messages = [];
@@ -438,35 +438,27 @@ export class ProtocolMonitorImpl extends UI.Panel.Panel {
438
438
  onSave: () => {
439
439
  void this.saveAsFile();
440
440
  },
441
- onSelect: (e: CustomEvent<HTMLElement|null>) => {
442
- const index = parseInt(e.detail?.dataset?.index ?? '', 10);
443
- this.#selectedMessage = !isNaN(index) ? this.#messages[index] : undefined;
441
+ onSelect: (message: Message|undefined) => {
442
+ this.#selectedMessage = message;
444
443
  this.requestUpdate();
445
444
  },
446
- onContextMenu: (e: CustomEvent<{menu: UI.ContextMenu.ContextMenu, element: HTMLElement}>) => {
447
- const message = this.#messages[parseInt(e.detail?.element?.dataset?.index || '', 10)];
448
- if (message) {
449
- this.#populateContextMenu(e.detail.menu, message);
450
- }
451
- },
452
- onCommandChange: (e: CustomEvent<string>) => {
453
- this.#command = e.detail;
445
+ onContextMenu: this.#populateContextMenu.bind(this),
446
+ onCommandChange: (command: string) => {
447
+ this.#command = command;
454
448
  },
455
- onCommandSubmitted: (e: CustomEvent<string>) => {
456
- this.#commandAutocompleteSuggestionProvider.addEntry(e.detail);
457
- const {command, parameters} = parseCommandInput(e.detail);
449
+ onCommandSubmitted: (input: string) => {
450
+ this.#commandAutocompleteSuggestionProvider.addEntry(input);
451
+ const {command, parameters} = parseCommandInput(input);
458
452
  this.onCommandSend(command, parameters, this.#selectedTargetId);
459
453
  },
460
- onFilterChanged: (e: CustomEvent<string>) => {
461
- this.#filter = e.detail;
454
+ onFilterChanged: (filter: string) => {
455
+ this.#filter = filter;
462
456
  this.requestUpdate();
463
457
  },
464
- onTargetChange: (e: Event) => {
465
- if (e.target instanceof HTMLSelectElement) {
466
- this.#selectedTargetId = e.target.value;
467
- }
458
+ onTargetChange: (targetId: string) => {
459
+ this.#selectedTargetId = targetId;
468
460
  },
469
- onToggleSidebar: (_e: Event) => {
461
+ onToggleSidebar: () => {
470
462
  this.#sidebarVisible = !this.#sidebarVisible;
471
463
  this.requestUpdate();
472
464
  },
@@ -482,7 +474,7 @@ export class ProtocolMonitorImpl extends UI.Panel.Panel {
482
474
  this.#view(viewInput, viewOutput, this.contentElement);
483
475
  }
484
476
 
485
- #populateContextMenu(menu: UI.ContextMenu.ContextMenu, message: Message): void {
477
+ #populateContextMenu(message: Message, menu: UI.ContextMenu.ContextMenu): void {
486
478
  /**
487
479
  * You can click the "Edit and resend" item in the context menu to be
488
480
  * taken to the CDP editor with the filled with the selected command.
@@ -107,8 +107,6 @@ const renderSearchMatches =
107
107
  return html`
108
108
  ${visibleMatches.map(({lineContent, matchRanges, resultLabel}, i) => html`
109
109
  <li role="treeitem" class="search-match" @click=${() => onSelectMatch(searchResult, i)}
110
- ${UI.TreeOutline.TreeSearch.highlight(matchRanges.map(range =>
111
- ({offset: range.offset + `${resultLabel}`.length, length: range.length})), undefined)}
112
110
  @keydown=${(event: KeyboardEvent) => {
113
111
  if (event.key === 'Enter') {
114
112
  onSelectMatch(searchResult, i);
@@ -123,7 +121,8 @@ const renderSearchMatches =
123
121
  ? i18nString(UIStrings.lineS, {PH1: resultLabel}) : resultLabel}>
124
122
  ${resultLabel}
125
123
  </span>
126
- <span class="search-match-content" aria-label="${lineContent} line">
124
+ <span class="search-match-content" aria-label="${lineContent} line"
125
+ ${UI.TreeOutline.TreeSearch.highlight(matchRanges, undefined)}>
127
126
  ${lineContent}
128
127
  </span>
129
128
  </button>
@@ -122,7 +122,7 @@ const allStatusStrings = [
122
122
  const INCOGNITO_EXPLANATION_URL = 'https://support.google.com/chrome/answer/95464?hl=en&co=GENIE.Platform%3DDesktop' as
123
123
  Platform.DevToolsPath.UrlString;
124
124
 
125
- // A simplified representation of a network request for mock data.
125
+ /** A simplified representation of a network request for mock data. **/
126
126
  interface MockNetworkRequest {
127
127
  requestId: string;
128
128
  url: string;
@@ -86,6 +86,10 @@ hr.section-separator {
86
86
  height: 18px;
87
87
  }
88
88
 
89
+ .input-field::placeholder {
90
+ color: var(--sys-color-on-surface-subtle);
91
+ }
92
+
89
93
  .input-field:focus {
90
94
  border: 1px solid var(--sys-color-state-focus-ring);
91
95
  outline-width: 0;