chrome-devtools-frontend 1.0.1532884 → 1.0.1534251

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 (506) hide show
  1. package/eslint.config.mjs +89 -133
  2. package/front_end/Images/src/justify-content-stretch.svg +4 -0
  3. package/front_end/core/host/InspectorFrontendHost.ts +7 -3
  4. package/front_end/core/host/InspectorFrontendHostAPI.ts +32 -29
  5. package/front_end/core/host/UserMetrics.ts +2 -5
  6. package/front_end/core/i18n/i18nImpl.ts +1 -1
  7. package/front_end/core/protocol_client/CDPConnection.ts +39 -0
  8. package/front_end/core/protocol_client/InspectorBackend.ts +4 -24
  9. package/front_end/core/root/Runtime.ts +0 -2
  10. package/front_end/core/sdk/CSSMatchedStyles.ts +2 -2
  11. package/front_end/core/sdk/CSSPropertyParserMatchers.ts +19 -9
  12. package/front_end/core/sdk/NetworkManager.ts +85 -62
  13. package/front_end/core/sdk/NetworkRequest.ts +7 -0
  14. package/front_end/devtools_compatibility.js +948 -1598
  15. package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshot.ts +1 -1
  16. package/front_end/entrypoints/inspector_main/OutermostTargetSelector.ts +1 -1
  17. package/front_end/entrypoints/inspector_main/RenderingOptions.ts +1 -1
  18. package/front_end/entrypoints/main/MainImpl.ts +4 -9
  19. package/front_end/entrypoints/node_app/NodeConnectionsPanel.ts +1 -1
  20. package/front_end/entrypoints/node_app/node_app.ts +2 -2
  21. package/front_end/generated/InspectorBackendCommands.js +0 -4
  22. package/front_end/generated/protocol-mapping.d.ts +3 -18
  23. package/front_end/generated/protocol-proxy-api.d.ts +0 -22
  24. package/front_end/generated/protocol.ts +0 -74
  25. package/front_end/global_typings/global_defs.d.ts +16 -0
  26. package/front_end/models/ai_assistance/BuiltInAi.ts +0 -17
  27. package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +9 -7
  28. package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.ts +1 -1
  29. package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatterBounds.snapshot.txt +1 -1
  30. package/front_end/models/ai_assistance/injected.ts +1 -1
  31. package/front_end/models/ai_assistance/performance/AIContext.ts +11 -28
  32. package/front_end/models/bindings/CompilerScriptMapping.ts +1 -1
  33. package/front_end/models/bindings/DebuggerWorkspaceBinding.ts +1 -1
  34. package/front_end/models/extensions/ExtensionAPI.ts +1 -1
  35. package/front_end/models/extensions/extensions.ts +0 -6
  36. package/front_end/models/formatter/FormatterWorkerPool.ts +1 -1
  37. package/front_end/models/issues_manager/DeprecationIssue.ts +1 -1
  38. package/front_end/models/javascript_metadata/NativeFunctions.js +8 -0
  39. package/front_end/models/stack_trace/StackTraceModel.ts +1 -1
  40. package/front_end/models/trace/lantern/testing/MetricTestUtils.ts +1 -1
  41. package/front_end/panels/accessibility/AXBreadcrumbsPane.ts +1 -1
  42. package/front_end/panels/accessibility/AccessibilityNodeView.ts +1 -1
  43. package/front_end/panels/accessibility/AccessibilitySidebarView.ts +1 -1
  44. package/front_end/panels/accessibility/AccessibilitySubPane.ts +2 -2
  45. package/front_end/panels/ai_assistance/AiAssistancePanel.ts +0 -12
  46. package/front_end/panels/ai_assistance/PatchWidget.ts +1 -1
  47. package/front_end/panels/ai_assistance/ai_assistance-meta.ts +0 -37
  48. package/front_end/panels/ai_assistance/components/ChatView.ts +2 -2
  49. package/front_end/panels/ai_assistance/components/ExploreWidget.ts +1 -1
  50. package/front_end/panels/ai_assistance/components/PerformanceAgentMarkdownRenderer.ts +1 -1
  51. package/front_end/panels/animation/AnimationTimeline.ts +2 -2
  52. package/front_end/panels/application/AppManifestView.ts +1 -1
  53. package/front_end/panels/application/ApplicationPanelSidebar.ts +1 -1
  54. package/front_end/panels/application/BackgroundServiceView.ts +13 -4
  55. package/front_end/panels/application/CookieItemsView.ts +1 -1
  56. package/front_end/panels/application/DOMStorageItemsView.ts +1 -1
  57. package/front_end/panels/application/ExtensionStorageItemsView.ts +1 -1
  58. package/front_end/panels/application/IndexedDBViews.ts +1 -1
  59. package/front_end/panels/application/InterestGroupStorageView.ts +1 -1
  60. package/front_end/panels/application/OpenedWindowDetailsView.ts +3 -3
  61. package/front_end/panels/application/ServiceWorkerCacheViews.ts +1 -1
  62. package/front_end/panels/application/ServiceWorkerUpdateCycleView.ts +1 -1
  63. package/front_end/panels/application/ServiceWorkersView.ts +1 -1
  64. package/front_end/panels/application/SharedStorageEventsView.ts +1 -1
  65. package/front_end/panels/application/StorageView.ts +1 -1
  66. package/front_end/panels/application/components/BackForwardCacheView.ts +1 -1
  67. package/front_end/panels/application/components/BounceTrackingMitigationsView.ts +1 -1
  68. package/front_end/panels/application/components/FrameDetailsView.ts +1 -1
  69. package/front_end/panels/application/components/InterestGroupAccessGrid.ts +2 -2
  70. package/front_end/panels/application/components/OriginTrialTreeView.ts +2 -2
  71. package/front_end/panels/application/components/PermissionsPolicySection.ts +1 -1
  72. package/front_end/panels/application/components/ProtocolHandlersView.ts +1 -1
  73. package/front_end/panels/application/components/ServiceWorkerRouterView.ts +1 -1
  74. package/front_end/panels/application/components/StackTrace.ts +1 -1
  75. package/front_end/panels/application/components/StorageMetadataView.ts +1 -1
  76. package/front_end/panels/application/components/TrustTokensView.ts +1 -1
  77. package/front_end/panels/application/preloading/PreloadingView.ts +3 -3
  78. package/front_end/panels/application/preloading/components/MismatchedPreloadingGrid.ts +1 -1
  79. package/front_end/panels/application/preloading/components/PreloadingDetailsReportView.ts +1 -1
  80. package/front_end/panels/application/preloading/components/PreloadingDisabledInfobar.ts +1 -1
  81. package/front_end/panels/application/preloading/components/PreloadingGrid.ts +1 -2
  82. package/front_end/panels/application/preloading/components/PreloadingMismatchedHeadersGrid.ts +1 -1
  83. package/front_end/panels/application/preloading/components/RuleSetDetailsView.ts +1 -1
  84. package/front_end/panels/application/preloading/components/RuleSetGrid.ts +1 -1
  85. package/front_end/panels/application/preloading/components/UsedPreloadingView.ts +1 -1
  86. package/front_end/panels/autofill/AutofillView.ts +1 -1
  87. package/front_end/panels/browser_debugger/DOMBreakpointsSidebarPane.ts +1 -1
  88. package/front_end/panels/browser_debugger/ObjectEventListenersSidebarPane.ts +1 -1
  89. package/front_end/panels/browser_debugger/XHRBreakpointsSidebarPane.ts +1 -1
  90. package/front_end/panels/changes/CombinedDiffView.ts +1 -1
  91. package/front_end/{models/extensions → panels/common}/ExtensionPanel.ts +8 -12
  92. package/front_end/{models/extensions → panels/common}/ExtensionServer.ts +242 -180
  93. package/front_end/{models/extensions → panels/common}/ExtensionView.ts +0 -4
  94. package/front_end/panels/common/FreDialog.ts +1 -1
  95. package/front_end/panels/common/PersistenceUtils.ts +1 -1
  96. package/front_end/panels/common/common.ts +4 -1
  97. package/front_end/panels/console/ConsoleContextSelector.ts +1 -1
  98. package/front_end/panels/console/ConsoleFormat.ts +1 -1
  99. package/front_end/panels/console/ConsoleInsightTeaser.ts +74 -58
  100. package/front_end/panels/console/ConsolePanel.ts +1 -1
  101. package/front_end/panels/console/ConsolePinPane.ts +2 -2
  102. package/front_end/panels/console/ConsolePrompt.ts +1 -1
  103. package/front_end/panels/console/ConsoleSidebar.ts +1 -1
  104. package/front_end/panels/console/ConsoleView.ts +2 -2
  105. package/front_end/panels/console/ConsoleViewMessage.ts +6 -4
  106. package/front_end/panels/console/ConsoleViewport.ts +1 -1
  107. package/front_end/panels/console/consoleInsightTeaser.css +4 -0
  108. package/front_end/panels/console/consoleView.css +1 -1
  109. package/front_end/panels/elements/AccessibilityTreeView.ts +1 -1
  110. package/front_end/panels/elements/ClassesPaneWidget.ts +1 -1
  111. package/front_end/panels/elements/ComputedStyleWidget.ts +1 -1
  112. package/front_end/panels/elements/ElementsPanel.ts +7 -7
  113. package/front_end/panels/elements/ElementsSidebarPane.ts +1 -1
  114. package/front_end/panels/elements/ElementsTreeElement.ts +1 -1
  115. package/front_end/panels/elements/ElementsTreeOutline.ts +2 -2
  116. package/front_end/panels/elements/MetricsSidebarPane.ts +1 -1
  117. package/front_end/panels/elements/PropertyRenderer.ts +1 -1
  118. package/front_end/panels/elements/ShortcutTreeElement.ts +1 -1
  119. package/front_end/panels/elements/StyleEditorWidget.ts +1 -1
  120. package/front_end/panels/elements/StylePropertiesSection.ts +1 -1
  121. package/front_end/panels/elements/StylePropertyTreeElement.ts +48 -10
  122. package/front_end/panels/elements/StylesSidebarPane.ts +1 -1
  123. package/front_end/panels/elements/TopLayerContainer.ts +1 -1
  124. package/front_end/panels/elements/components/AccessibilityTreeNode.ts +1 -1
  125. package/front_end/panels/elements/components/CSSHintDetailsView.ts +13 -13
  126. package/front_end/panels/elements/components/CSSPropertyDocsView.ts +1 -1
  127. package/front_end/panels/elements/components/CSSPropertyIconResolver.ts +1 -0
  128. package/front_end/panels/elements/components/CSSQuery.ts +1 -2
  129. package/front_end/panels/elements/components/CSSVariableValueView.ts +1 -1
  130. package/front_end/panels/elements/components/ComputedStyleProperty.ts +1 -1
  131. package/front_end/panels/elements/components/ComputedStyleTrace.ts +1 -1
  132. package/front_end/panels/elements/components/ElementsBreadcrumbs.ts +2 -2
  133. package/front_end/panels/elements/components/ElementsTreeExpandButton.ts +1 -1
  134. package/front_end/panels/elements/components/QueryContainer.ts +2 -2
  135. package/front_end/panels/elements/components/StylePropertyEditor.ts +66 -1
  136. package/front_end/panels/emulation/AdvancedApp.ts +1 -1
  137. package/front_end/panels/emulation/DeviceModeToolbar.ts +1 -1
  138. package/front_end/panels/emulation/DeviceModeView.ts +1 -1
  139. package/front_end/panels/emulation/DeviceModeWrapper.ts +1 -1
  140. package/front_end/panels/emulation/MediaQueryInspector.ts +1 -1
  141. package/front_end/panels/emulation/components/DeviceSizeInputElement.ts +1 -1
  142. package/front_end/panels/event_listeners/EventListenersView.ts +2 -2
  143. package/front_end/panels/explain/components/ConsoleInsight.ts +1 -1
  144. package/front_end/panels/issues/AffectedBlockedByResponseView.ts +1 -1
  145. package/front_end/panels/issues/AffectedCookiesView.ts +1 -1
  146. package/front_end/panels/issues/AffectedDescendantsWithinSelectElementView.ts +1 -1
  147. package/front_end/panels/issues/AffectedDirectivesView.ts +1 -1
  148. package/front_end/panels/issues/AffectedDocumentsInQuirksModeView.ts +1 -1
  149. package/front_end/panels/issues/AffectedElementsView.ts +1 -1
  150. package/front_end/panels/issues/AffectedElementsWithLowContrastView.ts +1 -1
  151. package/front_end/panels/issues/AffectedHeavyAdView.ts +1 -1
  152. package/front_end/panels/issues/AffectedMetadataAllowedSitesView.ts +1 -1
  153. package/front_end/panels/issues/AffectedPartitioningBlobURLView.ts +1 -1
  154. package/front_end/panels/issues/AffectedResourcesView.ts +1 -1
  155. package/front_end/panels/issues/AffectedSharedArrayBufferIssueDetailsView.ts +1 -1
  156. package/front_end/panels/issues/AffectedSourcesView.ts +1 -1
  157. package/front_end/panels/issues/AffectedTrackingSitesView.ts +1 -1
  158. package/front_end/panels/issues/AttributionReportingIssueDetailsView.ts +1 -1
  159. package/front_end/panels/issues/CorsIssueDetailsView.ts +1 -1
  160. package/front_end/panels/issues/GenericIssueDetailsView.ts +1 -1
  161. package/front_end/panels/issues/IssueKindView.ts +1 -1
  162. package/front_end/panels/issues/IssueView.ts +1 -1
  163. package/front_end/panels/issues/IssuesPane.ts +1 -1
  164. package/front_end/panels/issues/components/ElementsPanelLink.ts +1 -1
  165. package/front_end/panels/issues/components/HideIssuesMenu.ts +1 -1
  166. package/front_end/panels/layer_viewer/LayerDetailsView.ts +1 -1
  167. package/front_end/panels/layer_viewer/LayerTreeOutline.ts +1 -1
  168. package/front_end/panels/layer_viewer/Layers3DView.ts +1 -1
  169. package/front_end/panels/layer_viewer/PaintProfilerView.ts +1 -1
  170. package/front_end/panels/layer_viewer/TransformController.ts +1 -1
  171. package/front_end/panels/layers/LayerPaintProfilerView.ts +1 -1
  172. package/front_end/panels/layers/LayersPanel.ts +1 -1
  173. package/front_end/panels/lighthouse/LighthouseController.ts +207 -139
  174. package/front_end/panels/lighthouse/LighthousePanel.ts +1 -1
  175. package/front_end/panels/lighthouse/LighthouseReportSelector.ts +1 -1
  176. package/front_end/panels/lighthouse/LighthouseStartView.ts +1 -1
  177. package/front_end/panels/lighthouse/LighthouseStatusView.ts +1 -1
  178. package/front_end/panels/lighthouse/LighthouseTimespanView.ts +1 -1
  179. package/front_end/panels/lighthouse/RadioSetting.ts +1 -1
  180. package/front_end/panels/linear_memory_inspector/LinearMemoryInspectorPane.ts +1 -1
  181. package/front_end/panels/linear_memory_inspector/components/LinearMemoryHighlightChipList.ts +1 -1
  182. package/front_end/panels/linear_memory_inspector/components/LinearMemoryNavigator.ts +1 -2
  183. package/front_end/panels/linear_memory_inspector/components/LinearMemoryValueInterpreter.ts +1 -1
  184. package/front_end/panels/linear_memory_inspector/components/LinearMemoryViewer.ts +1 -1
  185. package/front_end/panels/linear_memory_inspector/components/ValueInterpreterDisplay.ts +1 -1
  186. package/front_end/panels/linear_memory_inspector/components/ValueInterpreterSettings.ts +1 -2
  187. package/front_end/panels/media/EventDisplayTable.ts +1 -1
  188. package/front_end/panels/media/EventTimelineView.ts +1 -1
  189. package/front_end/panels/media/MainView.ts +1 -1
  190. package/front_end/panels/media/PlayerListView.ts +1 -1
  191. package/front_end/panels/media/PlayerMessagesView.ts +1 -1
  192. package/front_end/panels/media/PlayerPropertiesView.ts +1 -1
  193. package/front_end/panels/media/TickingFlameChart.ts +1 -1
  194. package/front_end/panels/mobile_throttling/CalibrationController.ts +1 -1
  195. package/front_end/panels/mobile_throttling/ThrottlingManager.ts +1 -1
  196. package/front_end/panels/mobile_throttling/ThrottlingSettingsTab.ts +1 -1
  197. package/front_end/panels/network/BinaryResourceView.ts +1 -1
  198. package/front_end/panels/network/EventSourceMessagesView.ts +1 -1
  199. package/front_end/panels/network/NetworkConfigView.ts +1 -1
  200. package/front_end/panels/network/NetworkDataGridNode.ts +21 -2
  201. package/front_end/panels/network/NetworkItemView.ts +1 -1
  202. package/front_end/panels/network/NetworkLogView.ts +2 -2
  203. package/front_end/panels/network/NetworkLogViewColumns.ts +1 -1
  204. package/front_end/panels/network/NetworkManageCustomHeadersView.ts +1 -1
  205. package/front_end/panels/network/NetworkOverview.ts +1 -1
  206. package/front_end/panels/network/NetworkPanel.ts +4 -4
  207. package/front_end/panels/network/NetworkWaterfallColumn.ts +1 -1
  208. package/front_end/panels/network/RequestConditionsDrawer.ts +29 -5
  209. package/front_end/panels/network/RequestCookiesView.ts +1 -1
  210. package/front_end/panels/network/RequestInitiatorView.ts +1 -1
  211. package/front_end/panels/network/RequestPayloadView.ts +3 -4
  212. package/front_end/panels/network/RequestPreviewView.ts +1 -1
  213. package/front_end/panels/network/RequestTimingView.ts +1 -1
  214. package/front_end/panels/network/ResourceChunkView.ts +1 -1
  215. package/front_end/panels/network/ResourceDirectSocketChunkView.ts +1 -1
  216. package/front_end/panels/network/ResourceWebSocketFrameView.ts +1 -1
  217. package/front_end/panels/network/SignedExchangeInfoView.ts +1 -1
  218. package/front_end/panels/network/components/DirectSocketConnectionView.ts +1 -1
  219. package/front_end/panels/network/components/EditableSpan.ts +1 -1
  220. package/front_end/panels/network/components/HeaderSectionRow.ts +1 -1
  221. package/front_end/panels/network/components/RequestHeaderSection.ts +1 -1
  222. package/front_end/panels/network/components/RequestHeadersView.ts +1 -1
  223. package/front_end/panels/network/components/RequestTrustTokensView.ts +1 -1
  224. package/front_end/panels/network/components/ResponseHeaderSection.ts +1 -1
  225. package/front_end/panels/network/network-meta.ts +2 -2
  226. package/front_end/panels/network/networkLogView.css +24 -0
  227. package/front_end/panels/profiler/HeapDetachedElementsDataGrid.ts +1 -1
  228. package/front_end/panels/profiler/HeapDetachedElementsView.ts +1 -1
  229. package/front_end/panels/profiler/HeapProfileView.ts +1 -1
  230. package/front_end/panels/profiler/HeapSnapshotGridNodes.ts +1 -1
  231. package/front_end/panels/profiler/HeapSnapshotView.ts +1 -1
  232. package/front_end/panels/profiler/HeapTimelineOverview.ts +1 -1
  233. package/front_end/panels/profiler/IsolateSelector.ts +1 -1
  234. package/front_end/panels/profiler/LiveHeapProfileView.ts +1 -1
  235. package/front_end/panels/profiler/ProfileDataGrid.ts +1 -1
  236. package/front_end/panels/profiler/ProfileFlameChartDataProvider.ts +1 -1
  237. package/front_end/panels/profiler/ProfileLauncherView.ts +1 -1
  238. package/front_end/panels/profiler/ProfileSidebarTreeElement.ts +1 -1
  239. package/front_end/panels/profiler/ProfileView.ts +1 -1
  240. package/front_end/panels/profiler/ProfilesPanel.ts +2 -2
  241. package/front_end/panels/protocol_monitor/ProtocolMonitor.ts +1 -1
  242. package/front_end/panels/recorder/RecorderPanel.ts +1 -1
  243. package/front_end/panels/recorder/components/CreateRecordingView.ts +1 -1
  244. package/front_end/panels/recorder/components/ExtensionView.ts +1 -1
  245. package/front_end/panels/recorder/components/RecordingView.ts +2 -2
  246. package/front_end/panels/recorder/components/ReplaySection.ts +1 -1
  247. package/front_end/panels/recorder/components/SelectButton.ts +1 -1
  248. package/front_end/panels/recorder/components/TimelineSection.ts +1 -1
  249. package/front_end/panels/recorder/extensions/ExtensionManager.ts +1 -1
  250. package/front_end/panels/recorder/models/ScreenshotUtils.ts +1 -1
  251. package/front_end/panels/screencast/ScreencastApp.ts +1 -1
  252. package/front_end/panels/screencast/ScreencastView.ts +1 -1
  253. package/front_end/panels/security/CookieControlsView.ts +1 -1
  254. package/front_end/panels/security/CookieReportView.ts +1 -1
  255. package/front_end/panels/security/IPProtectionView.ts +1 -1
  256. package/front_end/panels/security/SecurityPanel.ts +2 -2
  257. package/front_end/panels/security/SecurityPanelSidebar.ts +1 -1
  258. package/front_end/panels/sensors/LocationsSettingsTab.ts +1 -1
  259. package/front_end/panels/sensors/SensorsView.ts +1 -1
  260. package/front_end/panels/settings/AISettingsTab.ts +1 -1
  261. package/front_end/panels/settings/FrameworkIgnoreListSettingsTab.ts +1 -1
  262. package/front_end/panels/settings/KeybindsSettingsTab.ts +1 -1
  263. package/front_end/panels/settings/SettingsScreen.ts +2 -2
  264. package/front_end/panels/settings/components/SyncSection.ts +1 -1
  265. package/front_end/panels/settings/emulation/DevicesSettingsTab.ts +1 -1
  266. package/front_end/panels/settings/emulation/components/UserAgentClientHintsForm.ts +1 -1
  267. package/front_end/panels/sources/BreakpointEditDialog.ts +1 -1
  268. package/front_end/panels/sources/CSSPlugin.ts +1 -1
  269. package/front_end/panels/sources/CallStackSidebarPane.ts +1 -1
  270. package/front_end/panels/sources/CoveragePlugin.ts +1 -1
  271. package/front_end/panels/sources/DebuggerPausedMessage.ts +1 -1
  272. package/front_end/panels/sources/DebuggerPlugin.ts +1 -1
  273. package/front_end/panels/sources/InplaceFormatterEditorAction.ts +1 -1
  274. package/front_end/panels/sources/NavigatorView.ts +1 -1
  275. package/front_end/panels/sources/OpenFileQuickOpen.ts +1 -1
  276. package/front_end/panels/sources/PersistenceActions.ts +1 -1
  277. package/front_end/panels/sources/ProfilePlugin.ts +3 -2
  278. package/front_end/panels/sources/ResourceOriginPlugin.ts +1 -1
  279. package/front_end/panels/sources/ScopeChainSidebarPane.ts +1 -1
  280. package/front_end/panels/sources/SourcesNavigator.ts +1 -1
  281. package/front_end/panels/sources/SourcesPanel.ts +7 -7
  282. package/front_end/panels/sources/SourcesView.ts +1 -1
  283. package/front_end/panels/sources/TabbedEditorContainer.ts +4 -5
  284. package/front_end/panels/sources/ThreadsSidebarPane.ts +1 -1
  285. package/front_end/panels/sources/UISourceCodeFrame.ts +2 -2
  286. package/front_end/panels/sources/WatchExpressionsSidebarPane.ts +2 -2
  287. package/front_end/panels/sources/components/HeadersView.ts +2 -2
  288. package/front_end/panels/timeline/CLSLinkifier.ts +1 -1
  289. package/front_end/panels/timeline/CompatibilityTracksAppender.ts +1 -1
  290. package/front_end/panels/timeline/CountersGraph.ts +1 -1
  291. package/front_end/panels/timeline/EventsTimelineTreeView.ts +1 -1
  292. package/front_end/panels/timeline/LayoutShiftsTrackAppender.ts +1 -1
  293. package/front_end/panels/timeline/StatusDialog.ts +1 -1
  294. package/front_end/panels/timeline/ThirdPartyTreeView.ts +1 -1
  295. package/front_end/panels/timeline/TimelineController.ts +3 -3
  296. package/front_end/panels/timeline/TimelineDetailsView.ts +1 -1
  297. package/front_end/panels/timeline/TimelineEventOverview.ts +1 -1
  298. package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +1 -1
  299. package/front_end/panels/timeline/TimelineFlameChartView.ts +1 -1
  300. package/front_end/panels/timeline/TimelineHistoryManager.ts +1 -1
  301. package/front_end/panels/timeline/TimelineLayersView.ts +1 -1
  302. package/front_end/panels/timeline/TimelineMiniMap.ts +1 -1
  303. package/front_end/panels/timeline/TimelinePaintProfilerView.ts +1 -1
  304. package/front_end/panels/timeline/TimelinePanel.ts +1 -1
  305. package/front_end/panels/timeline/TimelineSelectorStatsView.ts +1 -1
  306. package/front_end/panels/timeline/TimelineTreeView.ts +1 -1
  307. package/front_end/panels/timeline/TimelineUIUtils.ts +4 -4
  308. package/front_end/panels/timeline/components/BreadcrumbsUI.ts +1 -1
  309. package/front_end/panels/timeline/components/CPUThrottlingSelector.ts +1 -1
  310. package/front_end/panels/timeline/components/DetailsView.ts +1 -1
  311. package/front_end/panels/timeline/components/ExportTraceOptions.ts +1 -1
  312. package/front_end/panels/timeline/components/FieldSettingsDialog.ts +1 -1
  313. package/front_end/panels/timeline/components/IgnoreListSetting.ts +2 -2
  314. package/front_end/panels/timeline/components/InteractionBreakdown.ts +1 -1
  315. package/front_end/panels/timeline/components/LiveMetricsView.ts +6 -6
  316. package/front_end/panels/timeline/components/MetricCard.ts +1 -1
  317. package/front_end/panels/timeline/components/NetworkRequestTooltip.ts +1 -1
  318. package/front_end/panels/timeline/components/NetworkThrottlingSelector.ts +3 -3
  319. package/front_end/panels/timeline/components/OriginMap.ts +2 -2
  320. package/front_end/panels/timeline/components/Sidebar.ts +1 -1
  321. package/front_end/panels/timeline/components/SidebarAnnotationsTab.ts +1 -1
  322. package/front_end/panels/timeline/components/SidebarInsightsTab.ts +1 -1
  323. package/front_end/panels/timeline/components/SidebarSingleInsightSet.ts +1 -1
  324. package/front_end/panels/timeline/components/TimelineSummary.ts +1 -1
  325. package/front_end/panels/timeline/components/Utils.ts +1 -1
  326. package/front_end/panels/timeline/components/insights/BaseInsightComponent.ts +5 -6
  327. package/front_end/panels/timeline/components/insights/Checklist.ts +1 -1
  328. package/front_end/panels/timeline/components/insights/EventRef.ts +1 -1
  329. package/front_end/panels/timeline/components/insights/LCPDiscovery.ts +2 -2
  330. package/front_end/panels/timeline/components/insights/NodeLink.ts +1 -1
  331. package/front_end/panels/timeline/components/insights/Table.ts +1 -1
  332. package/front_end/panels/timeline/overlays/OverlaysImpl.ts +1 -1
  333. package/front_end/panels/timeline/overlays/components/EntriesLinkOverlay.ts +1 -1
  334. package/front_end/panels/timeline/overlays/components/EntryLabelOverlay.ts +1 -1
  335. package/front_end/panels/timeline/overlays/components/TimeRangeOverlay.ts +1 -1
  336. package/front_end/panels/timeline/overlays/components/TimespanBreakdownOverlay.ts +1 -1
  337. package/front_end/panels/utils/utils.ts +25 -5
  338. package/front_end/panels/webauthn/WebauthnPane.ts +1 -1
  339. package/front_end/third_party/chromium/README.chromium +1 -1
  340. package/front_end/third_party/lighthouse/README.chromium +2 -2
  341. package/front_end/third_party/lighthouse/lighthouse-dt-bundle.js +474 -472
  342. package/front_end/third_party/puppeteer/README.chromium +2 -2
  343. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/ElementHandle.js +1 -1
  344. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/ElementHandle.js.map +1 -1
  345. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Frame.js +4 -4
  346. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Frame.js.map +1 -1
  347. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Realm.d.ts +2 -2
  348. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Accessibility.d.ts +4 -0
  349. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Accessibility.d.ts.map +1 -1
  350. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Accessibility.js +1 -0
  351. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Accessibility.js.map +1 -1
  352. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.js +1 -1
  353. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.js.map +1 -1
  354. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/injected.d.ts +1 -1
  355. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.d.ts +2 -2
  356. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js +2 -2
  357. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js.map +1 -1
  358. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Mutex.d.ts +2 -2
  359. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/version.d.ts +1 -1
  360. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/version.js +1 -1
  361. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.d.ts +4 -0
  362. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +10 -10
  363. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/ElementHandle.js +1 -1
  364. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/ElementHandle.js.map +1 -1
  365. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Frame.js +4 -4
  366. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Frame.js.map +1 -1
  367. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Accessibility.d.ts +4 -0
  368. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Accessibility.d.ts.map +1 -1
  369. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Accessibility.js +1 -0
  370. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Accessibility.js.map +1 -1
  371. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.js +1 -1
  372. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.js.map +1 -1
  373. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.d.ts +2 -2
  374. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js +2 -2
  375. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js.map +1 -1
  376. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/version.d.ts +1 -1
  377. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/version.js +1 -1
  378. package/front_end/third_party/puppeteer/package/lib/types.d.ts +4 -0
  379. package/front_end/third_party/puppeteer/package/package.json +1 -1
  380. package/front_end/third_party/puppeteer/package/src/api/ElementHandle.ts +1 -1
  381. package/front_end/third_party/puppeteer/package/src/api/Frame.ts +4 -4
  382. package/front_end/third_party/puppeteer/package/src/cdp/Accessibility.ts +8 -1
  383. package/front_end/third_party/puppeteer/package/src/cdp/Page.ts +1 -1
  384. package/front_end/third_party/puppeteer/package/src/revisions.ts +2 -2
  385. package/front_end/third_party/puppeteer/package/src/util/version.ts +1 -1
  386. package/front_end/tsconfig.compatibility.json +8 -0
  387. package/front_end/tsconfig.json +3 -1
  388. package/front_end/ui/components/adorners/Adorner.ts +1 -1
  389. package/front_end/ui/components/buttons/Button.ts +1 -1
  390. package/front_end/ui/components/buttons/FloatingButton.ts +1 -1
  391. package/front_end/ui/components/cards/Card.ts +1 -1
  392. package/front_end/ui/components/chrome_link/ChromeLink.ts +2 -2
  393. package/front_end/ui/components/code_highlighter/CodeHighlighter.ts +1 -1
  394. package/front_end/ui/components/dialogs/ButtonDialog.ts +1 -1
  395. package/front_end/ui/components/dialogs/Dialog.ts +1 -1
  396. package/front_end/ui/components/dialogs/ShortcutDialog.ts +1 -1
  397. package/front_end/ui/components/diff_view/DiffView.ts +1 -1
  398. package/front_end/ui/components/docs/create_breadcrumbs.ts +1 -1
  399. package/front_end/ui/components/docs/style_property_editor/masonry.html +21 -0
  400. package/front_end/ui/components/docs/style_property_editor/masonry.ts +50 -0
  401. package/front_end/ui/components/expandable_list/ExpandableList.ts +1 -2
  402. package/front_end/ui/components/icon_button/FileSourceIcon.ts +1 -1
  403. package/front_end/ui/components/icon_button/Icon.ts +1 -1
  404. package/front_end/ui/components/icon_button/IconButton.ts +1 -1
  405. package/front_end/ui/components/issue_counter/IssueCounter.ts +1 -1
  406. package/front_end/ui/components/issue_counter/IssueLinkIcon.ts +1 -1
  407. package/front_end/ui/components/legacy_wrapper/LegacyWrapper.ts +1 -1
  408. package/front_end/ui/components/linkifier/LinkifierImpl.ts +2 -2
  409. package/front_end/ui/components/markdown_view/CodeBlock.ts +1 -1
  410. package/front_end/ui/components/markdown_view/MarkdownImage.ts +1 -1
  411. package/front_end/ui/components/markdown_view/MarkdownLink.ts +1 -2
  412. package/front_end/ui/components/markdown_view/MarkdownView.ts +3 -5
  413. package/front_end/ui/components/menus/Menu.ts +1 -1
  414. package/front_end/ui/components/menus/SelectMenu.ts +5 -5
  415. package/front_end/ui/components/node_text/NodeText.ts +1 -2
  416. package/front_end/ui/components/panel_feedback/FeedbackButton.ts +1 -1
  417. package/front_end/ui/components/panel_feedback/PanelFeedback.ts +1 -1
  418. package/front_end/ui/components/panel_feedback/PreviewToggle.ts +1 -1
  419. package/front_end/ui/components/panel_introduction_steps/PanelIntroductionSteps.ts +1 -1
  420. package/front_end/ui/components/report_view/ReportView.ts +1 -1
  421. package/front_end/ui/components/request_link_icon/RequestLinkIcon.ts +1 -1
  422. package/front_end/ui/components/settings/SettingCheckbox.ts +1 -1
  423. package/front_end/ui/components/settings/SettingDeprecationWarning.ts +1 -1
  424. package/front_end/ui/components/snackbars/Snackbar.ts +1 -1
  425. package/front_end/ui/components/spinners/Spinner.ts +1 -1
  426. package/front_end/ui/components/srgb_overlay/SrgbOverlay.ts +1 -1
  427. package/front_end/ui/components/survey_link/SurveyLink.ts +1 -1
  428. package/front_end/ui/components/switch/SwitchImpl.ts +3 -3
  429. package/front_end/ui/components/text_editor/AiCodeCompletionTeaserPlaceholder.ts +1 -1
  430. package/front_end/ui/components/text_editor/config.ts +1 -1
  431. package/front_end/ui/components/text_editor/javascript.ts +1 -1
  432. package/front_end/ui/components/text_prompt/TextPrompt.ts +1 -1
  433. package/front_end/ui/components/tooltips/Tooltip.ts +1 -1
  434. package/front_end/ui/components/tree_outline/TreeOutline.ts +1 -1
  435. package/front_end/ui/legacy/ContextMenu.ts +2 -2
  436. package/front_end/ui/legacy/Dialog.ts +1 -1
  437. package/front_end/ui/legacy/DropTarget.ts +1 -1
  438. package/front_end/ui/legacy/FilterBar.ts +1 -1
  439. package/front_end/ui/legacy/Fragment.ts +1 -1
  440. package/front_end/ui/legacy/GlassPane.ts +1 -1
  441. package/front_end/ui/legacy/Infobar.ts +1 -1
  442. package/front_end/ui/legacy/InspectorView.ts +1 -1
  443. package/front_end/ui/legacy/ListControl.ts +1 -1
  444. package/front_end/ui/legacy/ListWidget.ts +2 -2
  445. package/front_end/ui/legacy/Panel.ts +1 -1
  446. package/front_end/ui/legacy/ReportView.ts +1 -1
  447. package/front_end/ui/legacy/RootView.ts +1 -1
  448. package/front_end/ui/legacy/SearchableView.ts +1 -1
  449. package/front_end/ui/legacy/SettingsUI.ts +1 -1
  450. package/front_end/ui/legacy/SoftContextMenu.ts +1 -1
  451. package/front_end/ui/legacy/SoftDropDown.ts +1 -1
  452. package/front_end/ui/legacy/SplitWidget.ts +1 -1
  453. package/front_end/ui/legacy/SuggestBox.ts +1 -1
  454. package/front_end/ui/legacy/TabbedPane.ts +1 -1
  455. package/front_end/ui/legacy/TextPrompt.ts +1 -1
  456. package/front_end/ui/legacy/Toolbar.ts +1 -1
  457. package/front_end/ui/legacy/Treeoutline.ts +2 -2
  458. package/front_end/ui/legacy/UIUtils.ts +2 -2
  459. package/front_end/ui/legacy/ViewManager.ts +1 -1
  460. package/front_end/ui/legacy/Widget.ts +1 -1
  461. package/front_end/ui/legacy/components/color_picker/ContrastDetails.ts +1 -1
  462. package/front_end/ui/legacy/components/color_picker/Spectrum.ts +1 -1
  463. package/front_end/ui/legacy/components/cookie_table/CookiesTable.ts +2 -2
  464. package/front_end/ui/legacy/components/data_grid/DataGrid.ts +1 -1
  465. package/front_end/ui/legacy/components/data_grid/DataGridElement.ts +1 -1
  466. package/front_end/ui/legacy/components/data_grid/ShowMoreDataGridNode.ts +1 -1
  467. package/front_end/ui/legacy/components/inline_editor/AnimationTimingUI.ts +1 -1
  468. package/front_end/ui/legacy/components/inline_editor/BezierEditor.ts +1 -1
  469. package/front_end/ui/legacy/components/inline_editor/CSSAngle.ts +1 -1
  470. package/front_end/ui/legacy/components/inline_editor/CSSAngleEditor.ts +1 -1
  471. package/front_end/ui/legacy/components/inline_editor/CSSAngleSwatch.ts +1 -2
  472. package/front_end/ui/legacy/components/inline_editor/CSSShadowEditor.ts +1 -1
  473. package/front_end/ui/legacy/components/inline_editor/ColorMixSwatch.ts +1 -1
  474. package/front_end/ui/legacy/components/inline_editor/ColorSwatch.ts +1 -1
  475. package/front_end/ui/legacy/components/inline_editor/FontEditor.ts +1 -1
  476. package/front_end/ui/legacy/components/inline_editor/LinkSwatch.ts +1 -1
  477. package/front_end/ui/legacy/components/inline_editor/Swatches.ts +1 -1
  478. package/front_end/ui/legacy/components/object_ui/CustomPreviewComponent.ts +1 -1
  479. package/front_end/ui/legacy/components/object_ui/ObjectPopoverHelper.ts +1 -1
  480. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +1 -1
  481. package/front_end/ui/legacy/components/object_ui/RemoteObjectPreviewFormatter.ts +1 -1
  482. package/front_end/ui/legacy/components/perf_ui/BrickBreaker.ts +1 -1
  483. package/front_end/ui/legacy/components/perf_ui/ChartViewport.ts +1 -1
  484. package/front_end/ui/legacy/components/perf_ui/FilmStripView.ts +1 -1
  485. package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +1 -1
  486. package/front_end/ui/legacy/components/perf_ui/OverviewGrid.ts +1 -1
  487. package/front_end/ui/legacy/components/perf_ui/PieChart.ts +1 -1
  488. package/front_end/ui/legacy/components/perf_ui/TimelineGrid.ts +1 -1
  489. package/front_end/ui/legacy/components/perf_ui/TimelineOverviewPane.ts +1 -1
  490. package/front_end/ui/legacy/components/quick_open/FilteredListWidget.ts +1 -1
  491. package/front_end/ui/legacy/components/quick_open/HelpQuickOpen.ts +2 -2
  492. package/front_end/ui/legacy/components/source_frame/FontView.ts +1 -1
  493. package/front_end/ui/legacy/components/source_frame/ImageView.ts +1 -1
  494. package/front_end/ui/legacy/components/source_frame/JSONView.ts +1 -1
  495. package/front_end/ui/legacy/components/source_frame/ResourceSourceFrame.ts +2 -2
  496. package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +1 -1
  497. package/front_end/ui/legacy/components/source_frame/StreamingContentHexView.ts +1 -1
  498. package/front_end/ui/legacy/components/utils/ImagePreview.ts +1 -1
  499. package/front_end/ui/legacy/components/utils/JSPresentationUtils.ts +1 -1
  500. package/front_end/ui/legacy/components/utils/Linkifier.ts +1 -1
  501. package/front_end/ui/legacy/theme_support/ThemeSupport.ts +1 -1
  502. package/front_end/ui/lit/i18n-template.ts +1 -1
  503. package/front_end/ui/visual_logging/Debugging.ts +1 -1
  504. package/front_end/ui/visual_logging/KnownContextValues.ts +3 -2
  505. package/mcp/mcp.ts +7 -2
  506. package/package.json +1 -1
@@ -75,7 +75,6 @@ interface CallbackWithDebugInfo {
75
75
 
76
76
  export class InspectorBackend {
77
77
  readonly agentPrototypes = new Map<ProtocolDomainName, AgentPrototype>();
78
- #initialized = false;
79
78
  #eventParameterNamesForDomain = new Map<ProtocolDomainName, EventParameterNames>();
80
79
  readonly typeMap = new Map<QualifiedName, CommandParameter[]>();
81
80
  readonly enumMap = new Map<QualifiedName, Record<string, string>>();
@@ -114,10 +113,6 @@ export class InspectorBackend {
114
113
  console.warn(error + ': ' + JSON.stringify(messageObject));
115
114
  }
116
115
 
117
- isInitialized(): boolean {
118
- return this.#initialized;
119
- }
120
-
121
116
  private agentPrototype(domain: ProtocolDomainName): AgentPrototype {
122
117
  let prototype = this.agentPrototypes.get(domain);
123
118
  if (!prototype) {
@@ -131,7 +126,6 @@ export class InspectorBackend {
131
126
  void {
132
127
  const [domain, command] = splitQualifiedName(method);
133
128
  this.agentPrototype(domain as ProtocolDomainName).registerCommand(command, parameters, replyArgs, description);
134
- this.#initialized = true;
135
129
  }
136
130
 
137
131
  registerEnum(type: QualifiedName, values: Record<string, string>): void {
@@ -145,19 +139,16 @@ export class InspectorBackend {
145
139
  // @ts-expect-error globalThis global namespace pollution
146
140
  globalThis.Protocol[domain][name] = values;
147
141
  this.enumMap.set(type, values);
148
- this.#initialized = true;
149
142
  }
150
143
 
151
144
  registerType(method: QualifiedName, parameters: CommandParameter[]): void {
152
145
  this.typeMap.set(method, parameters);
153
- this.#initialized = true;
154
146
  }
155
147
 
156
148
  registerEvent(eventName: QualifiedName, params: string[]): void {
157
149
  const domain = eventName.split('.')[0];
158
150
  const eventParameterNames = this.getOrCreateEventParameterNamesForDomain(domain as ProtocolDomainName);
159
151
  eventParameterNames.set(eventName, params);
160
- this.#initialized = true;
161
152
  }
162
153
  }
163
154
 
@@ -191,14 +182,13 @@ export const test = {
191
182
  * Set to get notified about any messages sent over protocol.
192
183
  */
193
184
  onMessageSent: null as
194
- ((message: {domain: string, method: string, params: Object, id: number, sessionId?: string},
195
- target: TargetBase|null) => void) |
185
+ ((message: {domain: string, method: string, params: Object, id: number, sessionId?: string}) => void) |
196
186
  null,
197
187
 
198
188
  /**
199
189
  * Set to get notified about any messages received over protocol.
200
190
  */
201
- onMessageReceived: null as ((message: Object, target: TargetBase|null) => void) | null,
191
+ onMessageReceived: null as ((message: Object) => void) | null,
202
192
  };
203
193
 
204
194
  const LongPollingMethods = new Set<string>(['CSS.takeComputedStyleUpdates']);
@@ -257,14 +247,6 @@ export class SessionRouter {
257
247
  this.#sessions.delete(sessionId);
258
248
  }
259
249
 
260
- private getTargetBySessionId(sessionId: string): TargetBase|null {
261
- const session = this.#sessions.get(sessionId ? sessionId : '');
262
- if (!session) {
263
- return null;
264
- }
265
- return session.target;
266
- }
267
-
268
250
  private nextMessageId(): number {
269
251
  return this.#lastMessageId++;
270
252
  }
@@ -293,9 +275,7 @@ export class SessionRouter {
293
275
 
294
276
  if (test.onMessageSent) {
295
277
  const paramsObject = JSON.parse(JSON.stringify(params || {}));
296
- test.onMessageSent(
297
- {domain, method, params: (paramsObject as Object), id: messageId, sessionId},
298
- this.getTargetBySessionId(sessionId));
278
+ test.onMessageSent({domain, method, params: (paramsObject as Object), id: messageId, sessionId});
299
279
  }
300
280
 
301
281
  ++this.#pendingResponsesCount;
@@ -324,7 +304,7 @@ export class SessionRouter {
324
304
 
325
305
  if (test.onMessageReceived) {
326
306
  const messageObjectCopy = JSON.parse((typeof message === 'string') ? message : JSON.stringify(message));
327
- test.onMessageReceived(messageObjectCopy, this.getTargetBySessionId(messageObjectCopy.sessionId));
307
+ test.onMessageReceived(messageObjectCopy);
328
308
  }
329
309
 
330
310
  const messageObject = ((typeof message === 'string') ? JSON.parse(message) : message) as Message;
@@ -404,8 +404,6 @@ export interface HostConfigAiAssistancePerformanceAgent {
404
404
  temperature: number;
405
405
  enabled: boolean;
406
406
  userTier: string;
407
- // Introduced in crrev.com/c/6243415
408
- insightsEnabled?: boolean;
409
407
  featureName?: string;
410
408
  }
411
409
 
@@ -24,7 +24,7 @@ import {
24
24
  CustomFunctionMatcher,
25
25
  defaultValueForCSSType,
26
26
  EnvFunctionMatcher,
27
- FlexGridMatcher,
27
+ FlexGridMasonryMatcher,
28
28
  GridTemplateMatcher,
29
29
  LengthMatcher,
30
30
  LightDarkColorMatcher,
@@ -939,7 +939,7 @@ export class CSSMatchedStyles {
939
939
  new LinearGradientMatcher(),
940
940
  new AnchorFunctionMatcher(),
941
941
  new PositionAnchorMatcher(),
942
- new FlexGridMatcher(),
942
+ new FlexGridMasonryMatcher(),
943
943
  new PositionTryMatcher(),
944
944
  new LengthMatcher(),
945
945
  new MathFunctionMatcher(),
@@ -1,7 +1,7 @@
1
1
  // Copyright 2023 The Chromium Authors
2
2
  // Use of this source code is governed by a BSD-style license that can be
3
3
  // found in the LICENSE file.
4
- /* eslint-disable rulesdir/no-imperative-dom-api */
4
+ /* eslint-disable @devtools/no-imperative-dom-api */
5
5
 
6
6
  import * as Common from '../../core/common/common.js';
7
7
  import type * as Platform from '../../core/platform/platform.js';
@@ -1072,21 +1072,28 @@ export class CustomFunctionMatcher extends matcherBase(CustomFunctionMatch) {
1072
1072
  }
1073
1073
  }
1074
1074
 
1075
- export class FlexGridMatch implements Match {
1076
- constructor(readonly text: string, readonly node: CodeMirror.SyntaxNode, readonly isFlex: boolean) {
1075
+ export const enum LayoutType {
1076
+ FLEX = 'flex',
1077
+ GRID = 'grid',
1078
+ MASONRY = 'masonry'
1079
+ }
1080
+
1081
+ export class FlexGridMasonryMatch implements Match {
1082
+ constructor(readonly text: string, readonly node: CodeMirror.SyntaxNode, readonly layoutType: LayoutType) {
1077
1083
  }
1078
1084
  }
1079
1085
 
1080
1086
  // clang-format off
1081
- export class FlexGridMatcher extends matcherBase(FlexGridMatch) {
1087
+ export class FlexGridMasonryMatcher extends matcherBase(FlexGridMasonryMatch) {
1082
1088
  // clang-format on
1083
1089
  static readonly FLEX = ['flex', 'inline-flex', 'block flex', 'inline flex'];
1084
1090
  static readonly GRID = ['grid', 'inline-grid', 'block grid', 'inline grid'];
1091
+ static readonly MASONRY = ['masonry', 'inline-masonry', 'block masonry', 'inline masonry'];
1085
1092
  override accepts(propertyName: string): boolean {
1086
1093
  return propertyName === 'display';
1087
1094
  }
1088
1095
 
1089
- override matches(node: CodeMirror.SyntaxNode, matching: BottomUpTreeMatching): FlexGridMatch|null {
1096
+ override matches(node: CodeMirror.SyntaxNode, matching: BottomUpTreeMatching): FlexGridMasonryMatch|null {
1090
1097
  if (node.name !== 'Declaration') {
1091
1098
  return null;
1092
1099
  }
@@ -1098,11 +1105,14 @@ export class FlexGridMatcher extends matcherBase(FlexGridMatch) {
1098
1105
  .map(node => matching.getComputedText(node).trim())
1099
1106
  .filter(value => value);
1100
1107
  const text = values.join(' ');
1101
- if (FlexGridMatcher.FLEX.includes(text)) {
1102
- return new FlexGridMatch(matching.ast.text(node), node, true);
1108
+ if (FlexGridMasonryMatcher.FLEX.includes(text)) {
1109
+ return new FlexGridMasonryMatch(matching.ast.text(node), node, LayoutType.FLEX);
1110
+ }
1111
+ if (FlexGridMasonryMatcher.GRID.includes(text)) {
1112
+ return new FlexGridMasonryMatch(matching.ast.text(node), node, LayoutType.GRID);
1103
1113
  }
1104
- if (FlexGridMatcher.GRID.includes(text)) {
1105
- return new FlexGridMatch(matching.ast.text(node), node, false);
1114
+ if (FlexGridMasonryMatcher.MASONRY.includes(text)) {
1115
+ return new FlexGridMasonryMatch(matching.ast.text(node), node, LayoutType.MASONRY);
1106
1116
  }
1107
1117
  return null;
1108
1118
  }
@@ -1022,9 +1022,15 @@ export class NetworkDispatcher implements ProtocolProxyApi.NetworkDispatcher {
1022
1022
  requestIntercepted({}: Protocol.Network.RequestInterceptedEvent): void {
1023
1023
  }
1024
1024
 
1025
- requestWillBeSentExtraInfo(
1026
- {requestId, associatedCookies, headers, clientSecurityState, connectTiming, siteHasCookieInOtherPartition}:
1027
- Protocol.Network.RequestWillBeSentExtraInfoEvent): void {
1025
+ requestWillBeSentExtraInfo({
1026
+ requestId,
1027
+ associatedCookies,
1028
+ headers,
1029
+ clientSecurityState,
1030
+ connectTiming,
1031
+ siteHasCookieInOtherPartition,
1032
+ appliedNetworkConditionsId
1033
+ }: Protocol.Network.RequestWillBeSentExtraInfoEvent): void {
1028
1034
  const blockedRequestCookies: BlockedCookieWithReason[] = [];
1029
1035
  const includedRequestCookies: IncludedCookieWithReason[] = [];
1030
1036
  for (const {blockedReasons, exemptionReason, cookie} of associatedCookies) {
@@ -1041,6 +1047,7 @@ export class NetworkDispatcher implements ProtocolProxyApi.NetworkDispatcher {
1041
1047
  clientSecurityState,
1042
1048
  connectTiming,
1043
1049
  siteHasCookieInOtherPartition,
1050
+ appliedNetworkConditionsId,
1044
1051
  };
1045
1052
  this.getExtraInfoBuilder(requestId).addRequestExtraInfo(extraRequestInfo);
1046
1053
  }
@@ -1513,22 +1520,6 @@ export class NetworkDispatcher implements ProtocolProxyApi.NetworkDispatcher {
1513
1520
  request.setTrustTokenOperationDoneEvent(event);
1514
1521
  }
1515
1522
 
1516
- subresourceWebBundleMetadataReceived(): void {
1517
- // TODO: remove implementation after deleting this methods from definition in Network.pdl
1518
- }
1519
-
1520
- subresourceWebBundleMetadataError(): void {
1521
- // TODO: remove implementation after deleting this methods from definition in Network.pdl
1522
- }
1523
-
1524
- subresourceWebBundleInnerResponseParsed(): void {
1525
- // TODO: remove implementation after deleting this methods from definition in Network.pdl
1526
- }
1527
-
1528
- subresourceWebBundleInnerResponseError(): void {
1529
- // TODO: remove implementation after deleting this methods from definition in Network.pdl
1530
- }
1531
-
1532
1523
  reportingApiReportAdded(data: Protocol.Network.ReportingApiReportAddedEvent): void {
1533
1524
  this.#manager.dispatchEventToListeners(Events.ReportingApiReportAdded, data.report);
1534
1525
  }
@@ -1575,24 +1566,6 @@ export type RequestConditionsSetting = {
1575
1566
  enabled: boolean,
1576
1567
  };
1577
1568
 
1578
- declare global {
1579
- // TS typedefs are not up to date
1580
- interface URLPattern {
1581
- hash: string;
1582
- hostname: string;
1583
- password: string;
1584
- pathname: string;
1585
- port: string;
1586
- protocol: string;
1587
- search: string;
1588
- username: string;
1589
- hasRegExpGroups: boolean;
1590
- test(url: string): boolean;
1591
- }
1592
- /* eslint-disable-next-line @typescript-eslint/naming-convention */
1593
- var URLPattern: {prototype: URLPattern, new (input: string): URLPattern};
1594
- }
1595
-
1596
1569
  export type URLPatternConstructorString = Platform.Brand.Brand<string, 'URLPatternConstructorString'>;
1597
1570
 
1598
1571
  export const enum RequestURLPatternValidity {
@@ -1650,6 +1623,7 @@ export class RequestCondition extends Common.ObjectWrapper.ObjectWrapper<Request
1650
1623
  #pattern: RequestURLPattern|{wildcardURL: string, upgradedPattern?: RequestURLPattern};
1651
1624
  #enabled: boolean;
1652
1625
  #conditions: ThrottlingConditions;
1626
+ #ruleIds = new Set<string>();
1653
1627
 
1654
1628
  static createFromSetting(setting: RequestConditionsSetting): RequestCondition {
1655
1629
  if ('urlPattern' in setting) {
@@ -1685,6 +1659,14 @@ export class RequestCondition extends Common.ObjectWrapper.ObjectWrapper<Request
1685
1659
  this.#conditions = conditions;
1686
1660
  }
1687
1661
 
1662
+ get isBlocking(): boolean {
1663
+ return this.conditions === BlockingConditions;
1664
+ }
1665
+
1666
+ get ruleIds(): Set<string> {
1667
+ return this.#ruleIds;
1668
+ }
1669
+
1688
1670
  get constructorString(): string|undefined {
1689
1671
  return this.#pattern instanceof RequestURLPattern ? this.#pattern.constructorString :
1690
1672
  this.#pattern.upgradedPattern?.constructorString;
@@ -1731,6 +1713,7 @@ export class RequestCondition extends Common.ObjectWrapper.ObjectWrapper<Request
1731
1713
 
1732
1714
  set conditions(conditions: ThrottlingConditions) {
1733
1715
  this.#conditions = conditions;
1716
+ this.#ruleIds = new Set();
1734
1717
  this.dispatchEventToListeners(RequestCondition.Events.REQUEST_CONDITION_CHANGED);
1735
1718
  }
1736
1719
 
@@ -1766,6 +1749,11 @@ export class RequestConditions extends Common.ObjectWrapper.ObjectWrapper<Reques
1766
1749
  readonly #conditionsEnabledSetting =
1767
1750
  Common.Settings.Settings.instance().moduleSetting<boolean>('request-blocking-enabled');
1768
1751
  readonly #conditions: RequestCondition[] = [];
1752
+ readonly #requestConditionsById = new Map<string, {
1753
+ conditions: Conditions,
1754
+ urlPattern?: string,
1755
+ }>();
1756
+ #conditionsAppliedForTestPromise: Promise<unknown> = Promise.resolve();
1769
1757
 
1770
1758
  constructor() {
1771
1759
  super();
@@ -1871,7 +1859,8 @@ export class RequestConditions extends Common.ObjectWrapper.ObjectWrapper<Reques
1871
1859
  }
1872
1860
  if (Root.Runtime.hostConfig.devToolsIndividualRequestThrottling?.enabled) {
1873
1861
  const urlPatterns: Protocol.Network.BlockPattern[] = [];
1874
- const matchedNetworkConditions: Protocol.Network.NetworkConditions[] = [];
1862
+ // We store all this info out-of-band to prevent races with changing conditions while the promise is still pending
1863
+ const matchedNetworkConditions: Array<{conditions: Conditions, ruleIds?: Set<string>, urlPattern?: string}> = [];
1875
1864
  if (this.conditionsEnabled) {
1876
1865
  for (const condition of this.#conditions) {
1877
1866
  const urlPattern = condition.constructorString;
@@ -1882,43 +1871,56 @@ export class RequestConditions extends Common.ObjectWrapper.ObjectWrapper<Reques
1882
1871
  const block = !isNonBlockingCondition(conditions);
1883
1872
  urlPatterns.push({urlPattern, block});
1884
1873
  if (!block) {
1885
- matchedNetworkConditions.push({
1886
- urlPattern,
1887
- latency: conditions.latency,
1888
- downloadThroughput: conditions.download < 0 ? 0 : conditions.download,
1889
- uploadThroughput: conditions.upload < 0 ? 0 : conditions.upload,
1890
- packetLoss: (conditions.packetLoss ?? 0) < 0 ? 0 : conditions.packetLoss,
1891
- packetQueueLength: conditions.packetQueueLength,
1892
- packetReordering: conditions.packetReordering,
1893
- connectionType: NetworkManager.connectionType(conditions),
1894
- });
1874
+ const {ruleIds} = condition;
1875
+ matchedNetworkConditions.push({ruleIds, urlPattern, conditions});
1895
1876
  }
1896
1877
  }
1897
1878
 
1898
1879
  if (globalConditions) {
1899
- matchedNetworkConditions.push({
1900
- urlPattern: '',
1901
- latency: globalConditions.latency,
1902
- downloadThroughput: globalConditions.download < 0 ? 0 : globalConditions.download,
1903
- uploadThroughput: globalConditions.upload < 0 ? 0 : globalConditions.upload,
1904
- packetLoss: (globalConditions.packetLoss ?? 0) < 0 ? 0 : globalConditions.packetLoss,
1905
- packetQueueLength: globalConditions.packetQueueLength,
1906
- packetReordering: globalConditions.packetReordering,
1907
- connectionType: NetworkManager.connectionType(globalConditions),
1908
- });
1880
+ matchedNetworkConditions.push({conditions: globalConditions});
1909
1881
  }
1910
1882
  }
1911
1883
 
1884
+ const promises: Array<Promise<unknown>> = [];
1885
+
1912
1886
  for (const agent of agents) {
1913
- void agent.invoke_setBlockedURLs({urlPatterns});
1914
- void agent.invoke_emulateNetworkConditionsByRule({offline, matchedNetworkConditions});
1915
- void agent.invoke_overrideNetworkState({
1887
+ promises.push(agent.invoke_setBlockedURLs({urlPatterns}));
1888
+ promises.push(agent
1889
+ .invoke_emulateNetworkConditionsByRule({
1890
+ offline,
1891
+ matchedNetworkConditions: matchedNetworkConditions.map(
1892
+ ({urlPattern, conditions}) => ({
1893
+ urlPattern: urlPattern ?? '',
1894
+ latency: conditions.latency,
1895
+ downloadThroughput: conditions.download < 0 ? 0 : conditions.download,
1896
+ uploadThroughput: conditions.upload < 0 ? 0 : conditions.upload,
1897
+ packetLoss: (conditions.packetLoss ?? 0) < 0 ? 0 : conditions.packetLoss,
1898
+ packetQueueLength: conditions.packetQueueLength,
1899
+ packetReordering: conditions.packetReordering,
1900
+ connectionType: NetworkManager.connectionType(conditions),
1901
+ }))
1902
+ })
1903
+ .then(response => {
1904
+ if (!response.getError()) {
1905
+ for (let i = 0; i < response.ruleIds.length; ++i) {
1906
+ const ruleId = response.ruleIds[i];
1907
+ const {ruleIds, conditions, urlPattern} = matchedNetworkConditions[i];
1908
+ if (ruleIds) {
1909
+ this.#requestConditionsById.set(ruleId, {urlPattern, conditions});
1910
+ matchedNetworkConditions[i].ruleIds?.add(ruleId);
1911
+ }
1912
+ }
1913
+ }
1914
+ }));
1915
+ promises.push(agent.invoke_overrideNetworkState({
1916
1916
  offline,
1917
1917
  latency: globalConditions?.latency ?? 0,
1918
1918
  downloadThroughput: !globalConditions || globalConditions.download < 0 ? 0 : globalConditions.download,
1919
1919
  uploadThroughput: !globalConditions || globalConditions.upload < 0 ? 0 : globalConditions.upload,
1920
- });
1920
+ }));
1921
1921
  }
1922
+
1923
+ this.#conditionsAppliedForTestPromise = this.#conditionsAppliedForTestPromise.then(() => Promise.all(promises));
1922
1924
  return urlPatterns.length > 0;
1923
1925
  }
1924
1926
 
@@ -1932,6 +1934,17 @@ export class RequestConditions extends Common.ObjectWrapper.ObjectWrapper<Reques
1932
1934
  }
1933
1935
  return urls.length > 0;
1934
1936
  }
1937
+
1938
+ conditionsAppliedForTest(): Promise<unknown> {
1939
+ return this.#conditionsAppliedForTestPromise;
1940
+ }
1941
+
1942
+ conditionsForId(appliedNetworkConditionsId: string): {
1943
+ conditions: Conditions,
1944
+ urlPattern?: string,
1945
+ }|undefined {
1946
+ return this.#requestConditionsById.get(appliedNetworkConditionsId);
1947
+ }
1935
1948
  }
1936
1949
 
1937
1950
  export namespace RequestConditions {
@@ -2313,6 +2326,16 @@ export class MultitargetNetworkManager extends Common.ObjectWrapper.ObjectWrappe
2313
2326
  resolve({success, content, errorDescription});
2314
2327
  }, allowRemoteFilePaths));
2315
2328
  }
2329
+
2330
+ appliedRequestConditions(requestInternal: NetworkRequest): {
2331
+ conditions: Conditions,
2332
+ urlPattern?: string,
2333
+ }|undefined {
2334
+ if (!requestInternal.appliedNetworkConditionsId) {
2335
+ return undefined;
2336
+ }
2337
+ return this.requestConditions.conditionsForId(requestInternal.appliedNetworkConditionsId);
2338
+ }
2316
2339
  }
2317
2340
 
2318
2341
  export namespace MultitargetNetworkManager {
@@ -319,6 +319,7 @@ export class NetworkRequest extends Common.ObjectWrapper.ObjectWrapper<EventType
319
319
  readonly #directSocketChunks: DirectSocketChunk[] = [];
320
320
  #isIpProtectionUsed: boolean;
321
321
  #isAdRelated: boolean;
322
+ #appliedNetworkConditionsId?: string;
322
323
 
323
324
  constructor(
324
325
  requestId: string,
@@ -455,6 +456,10 @@ export class NetworkRequest extends Common.ObjectWrapper.ObjectWrapper<EventType
455
456
  return this.#loaderId;
456
457
  }
457
458
 
459
+ get appliedNetworkConditionsId(): string|undefined {
460
+ return this.#appliedNetworkConditionsId;
461
+ }
462
+
458
463
  setRemoteAddress(ip: string, port: number): void {
459
464
  this.#remoteAddress = ip + ':' + port;
460
465
  this.dispatchEventToListeners(Events.REMOTE_ADDRESS_CHANGED, this);
@@ -1613,6 +1618,7 @@ export class NetworkRequest extends Common.ObjectWrapper.ObjectWrapper<EventType
1613
1618
  this.#hasExtraRequestInfo = true;
1614
1619
  this.setRequestHeadersText(''); // Mark request headers as non-provisional
1615
1620
  this.#clientSecurityState = extraRequestInfo.clientSecurityState;
1621
+ this.#appliedNetworkConditionsId = extraRequestInfo.appliedNetworkConditionsId;
1616
1622
  if (extraRequestInfo.connectTiming) {
1617
1623
  this.setConnectTimingFromExtraInfo(extraRequestInfo.connectTiming);
1618
1624
  }
@@ -2170,6 +2176,7 @@ export interface ExtraRequestInfo {
2170
2176
  clientSecurityState?: Protocol.Network.ClientSecurityState;
2171
2177
  connectTiming: Protocol.Network.ConnectTiming;
2172
2178
  siteHasCookieInOtherPartition?: boolean;
2179
+ appliedNetworkConditionsId?: string;
2173
2180
  }
2174
2181
 
2175
2182
  export interface ExtraResponseInfo {