chrome-devtools-frontend 1.0.1690116 → 1.0.1695017

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 (421) hide show
  1. package/.agents/skills/devtools-model-management/SKILL.md +3 -3
  2. package/.agents/skills/foundation-test-migration/SKILL.md +2 -2
  3. package/.agents/skills/merging-devtools-module/SKILL.md +5 -5
  4. package/AUTHORS +3 -0
  5. package/config/typescript/tsconfig.base.json +1 -0
  6. package/docs/get_the_code.md +4 -9
  7. package/front_end/Images/src/comment-mode-cursor.svg +23 -0
  8. package/front_end/Tests.js +1 -1
  9. package/front_end/application_tokens.css +5 -0
  10. package/front_end/core/common/ColorConverter.ts +3 -3
  11. package/front_end/core/host/UserMetrics.ts +27 -0
  12. package/front_end/core/protocol_client/DevToolsCDPConnection.ts +0 -46
  13. package/front_end/core/protocol_client/InspectorBackend.ts +6 -6
  14. package/front_end/core/root/Runtime.ts +1 -0
  15. package/front_end/core/sdk/CSSLocation.ts +32 -0
  16. package/front_end/core/sdk/CSSModel.ts +2 -22
  17. package/front_end/core/sdk/CSSQuery.ts +2 -1
  18. package/front_end/core/sdk/CSSRule.ts +29 -0
  19. package/front_end/core/sdk/DebuggerModel.ts +5 -1
  20. package/front_end/core/sdk/NetworkManager.ts +2 -0
  21. package/front_end/core/sdk/NetworkRequest.ts +63 -4
  22. package/front_end/core/sdk/NetworkRequestAccess.ts +191 -0
  23. package/front_end/core/sdk/ResourceTreeModel.ts +72 -23
  24. package/front_end/core/sdk/SecurityOrigin.ts +97 -12
  25. package/front_end/core/sdk/Target.ts +18 -0
  26. package/front_end/core/sdk/sdk.ts +4 -0
  27. package/front_end/entrypoints/main/MainImpl.ts +8 -1
  28. package/front_end/foundation/Universe.ts +14 -11
  29. package/front_end/generated/Deprecation.ts +8 -0
  30. package/front_end/generated/InspectorBackendCommands.ts +9 -8
  31. package/front_end/generated/SupportedCSSProperties.ts +14 -4
  32. package/front_end/generated/protocol.ts +24 -0
  33. package/front_end/models/ai_assistance/AiAgent2.ts +46 -10
  34. package/front_end/models/ai_assistance/AiConversation.ts +35 -24
  35. package/front_end/models/ai_assistance/README.md +5 -3
  36. package/front_end/models/ai_assistance/agents/AccessibilityAgent.ts +1 -0
  37. package/front_end/models/ai_assistance/agents/AiAgent.ts +28 -34
  38. package/front_end/models/ai_assistance/agents/ContextSelectionAgent.ts +13 -17
  39. package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +5 -3
  40. package/front_end/models/ai_assistance/agents/StorageAgent.ts +16 -10
  41. package/front_end/models/ai_assistance/agents/StylingAgent.ts +3 -4
  42. package/front_end/models/ai_assistance/ai_assistance.ts +0 -2
  43. package/front_end/models/ai_assistance/contexts/AccessibilityContext.ts +11 -2
  44. package/front_end/models/ai_assistance/contexts/DOMNodeContext.ts +17 -5
  45. package/front_end/models/ai_assistance/contexts/FileContext.ts +13 -6
  46. package/front_end/models/ai_assistance/contexts/PerformanceTraceContext.ts +52 -25
  47. package/front_end/models/ai_assistance/contexts/RequestContext.ts +18 -34
  48. package/front_end/models/ai_assistance/contexts/StorageContext.ts +14 -3
  49. package/front_end/models/ai_assistance/data_formatters/FileFormatter.ts +2 -5
  50. package/front_end/models/ai_assistance/data_formatters/NetworkRequestFormatter.ts +135 -58
  51. package/front_end/models/ai_assistance/tools/CookieUtils.ts +25 -35
  52. package/front_end/models/ai_assistance/tools/DOMStorageUtils.ts +6 -3
  53. package/front_end/models/ai_assistance/tools/ExecuteJavaScript.ts +9 -2
  54. package/front_end/models/ai_assistance/tools/GetCookieValues.ts +1 -1
  55. package/front_end/models/ai_assistance/tools/GetElementAccessibilityDetails.ts +3 -2
  56. package/front_end/models/ai_assistance/tools/GetFunctionCode.ts +3 -5
  57. package/front_end/models/ai_assistance/tools/GetInsightDetails.ts +1 -1
  58. package/front_end/models/ai_assistance/tools/GetNetworkRequestDetails.ts +8 -11
  59. package/front_end/models/ai_assistance/tools/GetResourceContent.ts +2 -4
  60. package/front_end/models/ai_assistance/tools/GetSourceContent.ts +6 -13
  61. package/front_end/models/ai_assistance/tools/GetStorageBreakdown.ts +1 -1
  62. package/front_end/models/ai_assistance/tools/GetStorageValues.ts +9 -9
  63. package/front_end/models/ai_assistance/tools/GetStyles.ts +3 -2
  64. package/front_end/models/ai_assistance/tools/ListCookies.ts +1 -1
  65. package/front_end/models/ai_assistance/tools/ListNetworkRequests.ts +6 -14
  66. package/front_end/models/ai_assistance/tools/ListPageOrigins.ts +10 -15
  67. package/front_end/models/ai_assistance/tools/ListSources.ts +5 -7
  68. package/front_end/models/ai_assistance/tools/ListStorageKeys.ts +9 -9
  69. package/front_end/models/ai_assistance/tools/README.md +4 -2
  70. package/front_end/models/ai_assistance/tools/ResolveDevtoolsNodePath.ts +3 -2
  71. package/front_end/models/ai_assistance/tools/Tool.ts +27 -3
  72. package/front_end/models/comment_manager/CD4ABridge.ts +128 -0
  73. package/front_end/models/comment_manager/CommentManager.ts +50 -8
  74. package/front_end/models/comment_manager/comment_manager.ts +2 -0
  75. package/front_end/models/emulation/DeviceModeModel.ts +37 -47
  76. package/front_end/models/javascript_metadata/NativeFunctions.ts +9 -1
  77. package/front_end/models/live-metrics/web-vitals-injected/README.md +1 -1
  78. package/front_end/models/source_map_scopes/NamesResolver.ts +9 -7
  79. package/front_end/models/trace/ModelImpl.ts +2 -0
  80. package/front_end/models/trace/Processor.ts +6 -4
  81. package/front_end/models/trace/handlers/LayerTreeHandler.ts +3 -3
  82. package/front_end/models/trace/handlers/LayoutShiftsHandler.ts +1 -1
  83. package/front_end/models/trace/helpers/SyntheticEvents.ts +23 -1
  84. package/front_end/models/trace/types/Configuration.ts +7 -0
  85. package/front_end/models/trace/types/TraceEvents.ts +20 -4
  86. package/front_end/panels/accessibility/ARIAAttributesView.ts +3 -0
  87. package/front_end/panels/accessibility/AccessibilityAnnouncementRecordingListView.ts +177 -0
  88. package/front_end/panels/accessibility/accessibility.ts +2 -0
  89. package/front_end/panels/accessibility/accessibilityAnnouncementRecordingListView.css +33 -0
  90. package/front_end/panels/ai_assistance/AiAssistancePanel.ts +25 -15
  91. package/front_end/panels/ai_assistance/components/ChatMessage.ts +6 -35
  92. package/front_end/panels/ai_assistance/components/DisabledWidget.ts +4 -3
  93. package/front_end/panels/ai_assistance/components/chatMessage.css +3 -1
  94. package/front_end/panels/animation/AnimationTimeline.ts +1 -0
  95. package/front_end/panels/application/CrashReportContextView.ts +0 -1
  96. package/front_end/panels/application/FrameDetailsView.ts +5 -4
  97. package/front_end/panels/application/IndexedDBViews.ts +4 -4
  98. package/front_end/panels/application/components/BackForwardCacheView.ts +1 -1
  99. package/front_end/panels/application/components/EndpointsGrid.ts +2 -1
  100. package/front_end/panels/application/components/PermissionsPolicySection.ts +1 -1
  101. package/front_end/panels/application/components/ServiceWorkerRouterView.ts +1 -1
  102. package/front_end/panels/application/components/TrustTokensView.ts +1 -1
  103. package/front_end/panels/application/indexedDBViews.css +0 -14
  104. package/front_end/panels/application/preloading/components/PreloadingDetailsReportView.ts +2 -1
  105. package/front_end/panels/application/preloading/components/RuleSetDetailsView.ts +2 -1
  106. package/front_end/panels/application/preloading/components/UsedPreloadingView.ts +1 -1
  107. package/front_end/panels/common/CPUThrottlingOption.ts +12 -6
  108. package/front_end/panels/common/DOMLinkifier.ts +1 -1
  109. package/front_end/panels/common/ExtensionView.ts +2 -1
  110. package/front_end/panels/console/ConsoleContextSelector.ts +12 -5
  111. package/front_end/panels/console/ConsolePinPane.ts +4 -2
  112. package/front_end/panels/console/ConsoleSidebar.ts +6 -2
  113. package/front_end/panels/console/ConsoleViewMessage.ts +12 -8
  114. package/front_end/panels/console/PromptBuilder.ts +1 -1
  115. package/front_end/panels/coverage/CoverageListView.ts +1 -1
  116. package/front_end/panels/coverage/CoverageModel.ts +6 -4
  117. package/front_end/panels/coverage/coverageView.css +8 -8
  118. package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +13 -14
  119. package/front_end/panels/css_overview/CSSOverviewPanel.ts +3 -3
  120. package/front_end/panels/css_overview/CSSOverviewProcessingView.ts +2 -2
  121. package/front_end/panels/css_overview/CSSOverviewSidebarPanel.ts +3 -3
  122. package/front_end/panels/css_overview/CSSOverviewStartView.ts +3 -3
  123. package/front_end/panels/developer_resources/DeveloperResourcesListView.ts +1 -1
  124. package/front_end/panels/developer_resources/developerResourcesView.css +3 -3
  125. package/front_end/panels/elements/ComputedStyleWidget.ts +1 -1
  126. package/front_end/panels/elements/ElementsTreeElement.ts +43 -15
  127. package/front_end/panels/elements/ElementsTreeOutline.ts +185 -109
  128. package/front_end/panels/elements/MetricsSidebarPane.ts +1 -1
  129. package/front_end/panels/elements/PropertyNameCategories.ts +1 -1
  130. package/front_end/panels/elements/ShortcutTreeElement.ts +6 -1
  131. package/front_end/panels/elements/StandaloneStylesContainer.ts +1 -1
  132. package/front_end/panels/elements/StylePropertiesSection.ts +2 -35
  133. package/front_end/panels/elements/StylesSidebarPane.ts +3 -2
  134. package/front_end/panels/elements/components/CSSPropertyIconResolver.ts +5 -4
  135. package/front_end/panels/elements/components/StylePropertyEditor.ts +161 -148
  136. package/front_end/panels/elements/components/computedStyleProperty.css +5 -5
  137. package/front_end/panels/elements/components/computedStyleTrace.css +5 -5
  138. package/front_end/panels/elements/components/cssHintDetailsView.css +1 -1
  139. package/front_end/panels/elements/components/cssPropertyDocsView.css +3 -3
  140. package/front_end/panels/elements/components/cssVariableValueView.css +4 -4
  141. package/front_end/panels/elements/components/elementsBreadcrumbs.css +3 -3
  142. package/front_end/panels/elements/components/elementsTreeExpandButton.css +5 -5
  143. package/front_end/panels/elements/components/queryContainer.css +2 -2
  144. package/front_end/panels/elements/elementsTreeOutline.css +20 -4
  145. package/front_end/panels/emulation/MediaQueryInspector.ts +2 -1
  146. package/front_end/panels/event_listeners/eventListenersView.css +1 -1
  147. package/front_end/panels/issues/AffectedElementsView.ts +3 -0
  148. package/front_end/panels/issues/AffectedLazyLoadImagesView.ts +1 -1
  149. package/front_end/panels/issues/issues.ts +2 -0
  150. package/front_end/panels/layer_viewer/LayerDetailsView.ts +12 -10
  151. package/front_end/panels/layer_viewer/LayerTreeOutline.ts +1 -0
  152. package/front_end/panels/layer_viewer/Layers3DView.ts +13 -11
  153. package/front_end/panels/linear_memory_inspector/components/LinearMemoryHighlightChipList.ts +1 -1
  154. package/front_end/panels/linear_memory_inspector/components/LinearMemoryInspectorUtils.ts +2 -2
  155. package/front_end/panels/linear_memory_inspector/components/ValueInterpreterDisplayUtils.ts +1 -1
  156. package/front_end/panels/linear_memory_inspector/components/ValueInterpreterSettings.ts +1 -1
  157. package/front_end/panels/linear_memory_inspector/components/linearMemoryHighlightChipList.css +11 -11
  158. package/front_end/panels/linear_memory_inspector/components/linearMemoryInspector.css +2 -2
  159. package/front_end/panels/linear_memory_inspector/components/linearMemoryNavigator.css +1 -1
  160. package/front_end/panels/linear_memory_inspector/components/linearMemoryValueInterpreter.css +5 -5
  161. package/front_end/panels/linear_memory_inspector/components/linearMemoryViewer.css +6 -6
  162. package/front_end/panels/linear_memory_inspector/components/valueInterpreterDisplay.css +6 -6
  163. package/front_end/panels/linear_memory_inspector/components/valueInterpreterSettings.css +2 -2
  164. package/front_end/panels/media/PlayerPropertiesView.ts +1 -1
  165. package/front_end/panels/media/TickingFlameChart.ts +3 -2
  166. package/front_end/panels/mobile_throttling/NetworkThrottlingSelector.ts +2 -1
  167. package/front_end/panels/mobile_throttling/ThrottlingManager.ts +1 -1
  168. package/front_end/panels/mobile_throttling/ThrottlingPresets.ts +2 -1
  169. package/front_end/panels/network/NetworkDataGridNode.ts +11 -9
  170. package/front_end/panels/network/NetworkLogView.ts +4 -1
  171. package/front_end/panels/network/NetworkLogViewColumns.ts +5 -2
  172. package/front_end/panels/network/RequestConditionsDrawer.ts +2 -2
  173. package/front_end/panels/network/RequestHeadersView.ts +47 -11
  174. package/front_end/panels/network/RequestPayloadView.ts +1 -1
  175. package/front_end/panels/network/RequestResponseView.ts +1 -1
  176. package/front_end/panels/network/RequestTimingView.ts +1 -1
  177. package/front_end/panels/network/ShowMoreDetailsWidget.ts +1 -1
  178. package/front_end/panels/network/components/RequestHeadersView.css +12 -0
  179. package/front_end/panels/network/components/ResponseHeaderSection.ts +1 -1
  180. package/front_end/panels/performance_monitor/PerformanceMonitor.ts +3 -3
  181. package/front_end/panels/profiler/HeapProfileView.ts +1 -1
  182. package/front_end/panels/profiler/HeapSnapshotGridNodes.ts +1 -1
  183. package/front_end/panels/protocol_monitor/JSONEditor.ts +1 -1
  184. package/front_end/panels/protocol_monitor/ProtocolMonitor.ts +3 -3
  185. package/front_end/panels/recorder/RecordingListView.ts +0 -6
  186. package/front_end/panels/recorder/RecordingView.ts +0 -6
  187. package/front_end/panels/recorder/controlButton.css +10 -10
  188. package/front_end/panels/recorder/startView.css +1 -1
  189. package/front_end/panels/screencast/ScreencastView.ts +4 -2
  190. package/front_end/panels/search/SearchView.ts +1 -1
  191. package/front_end/panels/security/SecurityPanel.ts +46 -35
  192. package/front_end/panels/sources/BreakpointEditDialog.ts +1 -1
  193. package/front_end/panels/sources/CallStackSidebarPane.ts +1 -1
  194. package/front_end/panels/sources/DebuggerPausedMessage.ts +8 -6
  195. package/front_end/panels/sources/ProfilePlugin.ts +2 -1
  196. package/front_end/panels/sources/ScopeChainSidebarPane.ts +1 -1
  197. package/front_end/panels/timeline/IsolateSelector.ts +1 -1
  198. package/front_end/panels/timeline/LayoutShiftsTrackAppender.ts +1 -1
  199. package/front_end/panels/timeline/NetworkTrackAppender.ts +1 -1
  200. package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +1 -1
  201. package/front_end/panels/timeline/TimelineFlameChartView.ts +0 -32
  202. package/front_end/panels/timeline/TimelineHistoryManager.ts +1 -1
  203. package/front_end/panels/timeline/TimelinePaintProfilerView.ts +7 -3
  204. package/front_end/panels/timeline/TimelinePanel.ts +3 -20
  205. package/front_end/panels/timeline/TimelineTreeView.ts +1 -1
  206. package/front_end/panels/timeline/TimelineUIUtils.ts +4 -4
  207. package/front_end/panels/timeline/components/LayoutShiftDetails.ts +4 -3
  208. package/front_end/panels/timeline/components/LiveMetricsView.ts +1 -1
  209. package/front_end/panels/timeline/components/NetworkRequestDetails.ts +25 -24
  210. package/front_end/panels/timeline/components/RelatedInsightChips.ts +4 -3
  211. package/front_end/panels/timeline/components/Sidebar.ts +1 -1
  212. package/front_end/panels/timeline/components/SidebarAnnotationsTab.ts +4 -3
  213. package/front_end/panels/timeline/components/cwvMetrics.css +2 -2
  214. package/front_end/panels/timeline/components/insights/checklist.css +1 -1
  215. package/front_end/panels/timeline/components/insights/table.css +3 -3
  216. package/front_end/panels/timeline/overlays/components/entriesLinkOverlay.css +4 -4
  217. package/front_end/panels/timeline/overlays/components/entryLabelOverlay.css +4 -4
  218. package/front_end/panels/timeline/overlays/components/timeRangeOverlay.css +2 -2
  219. package/front_end/panels/timeline/overlays/components/timespanBreakdownOverlay.css +4 -4
  220. package/front_end/panels/timeline/timelinePanel.css +0 -74
  221. package/front_end/panels/timeline/utils/Helpers.ts +1 -1
  222. package/front_end/panels/timeline/utils/ImageCache.ts +5 -3
  223. package/front_end/panels/web_audio/WebAudioView.ts +3 -3
  224. package/front_end/panels/web_audio/webAudio.css +5 -5
  225. package/front_end/panels/webauthn/WebauthnPane.ts +5 -11
  226. package/front_end/third_party/acorn/acorn.ts +3 -3
  227. package/front_end/third_party/chromium/README.chromium +1 -1
  228. package/front_end/third_party/chromium/ahem/ahem.d.ts +1 -0
  229. package/front_end/third_party/csp_evaluator/package/csp.ts +4 -4
  230. package/front_end/third_party/csp_evaluator/package/parser.ts +3 -1
  231. package/front_end/third_party/csp_evaluator/package/tsconfig.json +1 -0
  232. package/front_end/third_party/csp_evaluator/package/utils.ts +1 -1
  233. package/front_end/third_party/diff/DiffWrapper.ts +1 -8
  234. package/front_end/third_party/diff/diff_match_patch.d.ts +10 -0
  235. package/front_end/third_party/json5/json5.ts +2 -2
  236. package/front_end/third_party/puppeteer/README.chromium +2 -2
  237. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.d.ts +183 -4
  238. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +708 -122
  239. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/Page.d.ts +85 -3
  240. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/Page.d.ts.map +1 -1
  241. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/Page.js +84 -11
  242. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/Page.js.map +1 -1
  243. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/ScreenRecording.d.ts +75 -0
  244. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/ScreenRecording.d.ts.map +1 -0
  245. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/ScreenRecording.js +102 -0
  246. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/ScreenRecording.js.map +1 -0
  247. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/api.d.ts +1 -0
  248. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/api.d.ts.map +1 -1
  249. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/api.js +1 -0
  250. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/api.js.map +1 -1
  251. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/Page.d.ts +6 -1
  252. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/Page.d.ts.map +1 -1
  253. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/Page.js +7 -0
  254. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/Page.js.map +1 -1
  255. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/ScreenRecording.d.ts +31 -0
  256. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/ScreenRecording.d.ts.map +1 -0
  257. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/ScreenRecording.js +138 -0
  258. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/ScreenRecording.js.map +1 -0
  259. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/bidi.d.ts +1 -0
  260. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/bidi.d.ts.map +1 -1
  261. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/bidi.js +1 -0
  262. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/bidi.js.map +1 -1
  263. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/core/BrowsingContext.d.ts +6 -0
  264. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/core/BrowsingContext.d.ts.map +1 -1
  265. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/core/BrowsingContext.js +23 -0
  266. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/core/BrowsingContext.js.map +1 -1
  267. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Page.d.ts +6 -1
  268. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Page.d.ts.map +1 -1
  269. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Page.js +7 -0
  270. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Page.js.map +1 -1
  271. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/ScreenRecording.d.ts +31 -0
  272. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/ScreenRecording.d.ts.map +1 -0
  273. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/ScreenRecording.js +131 -0
  274. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/ScreenRecording.js.map +1 -0
  275. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/cdp.d.ts +1 -0
  276. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/cdp.d.ts.map +1 -1
  277. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/cdp.js +1 -0
  278. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/cdp.js.map +1 -1
  279. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/BrowserConnector.js +7 -4
  280. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/BrowserConnector.js.map +1 -1
  281. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/BrowserWebSocketTransport.d.ts +4 -1
  282. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/BrowserWebSocketTransport.d.ts.map +1 -1
  283. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/BrowserWebSocketTransport.js +5 -1
  284. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/BrowserWebSocketTransport.js.map +1 -1
  285. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/ConnectOptions.d.ts +42 -0
  286. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/ConnectOptions.d.ts.map +1 -1
  287. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/Device.d.ts +2 -2
  288. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/Device.d.ts.map +1 -1
  289. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/Device.js +265 -1
  290. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/Device.js.map +1 -1
  291. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/BrowserLauncher.d.ts +4 -0
  292. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/BrowserLauncher.d.ts.map +1 -1
  293. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/BrowserLauncher.js +24 -3
  294. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/BrowserLauncher.js.map +1 -1
  295. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/NodeWebSocketTransport.d.ts +23 -2
  296. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/NodeWebSocketTransport.d.ts.map +1 -1
  297. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/NodeWebSocketTransport.js +49 -3
  298. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/NodeWebSocketTransport.js.map +1 -1
  299. package/front_end/third_party/puppeteer/package/lib/puppeteer/revisions.d.ts +3 -3
  300. package/front_end/third_party/puppeteer/package/lib/puppeteer/revisions.js +3 -3
  301. package/front_end/third_party/puppeteer/package/lib/puppeteer/util/version.d.ts +1 -1
  302. package/front_end/third_party/puppeteer/package/lib/puppeteer/util/version.d.ts.map +1 -1
  303. package/front_end/third_party/puppeteer/package/lib/puppeteer/util/version.js +1 -1
  304. package/front_end/third_party/puppeteer/package/lib/puppeteer/util/version.js.map +1 -1
  305. package/front_end/third_party/puppeteer/package/lib/types.d.ts +183 -4
  306. package/front_end/third_party/puppeteer/package/package.json +4 -4
  307. package/front_end/third_party/puppeteer/package/src/api/Page.ts +143 -11
  308. package/front_end/third_party/puppeteer/package/src/api/ScreenRecording.ts +145 -0
  309. package/front_end/third_party/puppeteer/package/src/api/api.ts +1 -0
  310. package/front_end/third_party/puppeteer/package/src/bidi/Page.ts +11 -0
  311. package/front_end/third_party/puppeteer/package/src/bidi/ScreenRecording.ts +106 -0
  312. package/front_end/third_party/puppeteer/package/src/bidi/bidi.ts +1 -0
  313. package/front_end/third_party/puppeteer/package/src/bidi/core/BrowsingContext.ts +41 -0
  314. package/front_end/third_party/puppeteer/package/src/cdp/Page.ts +11 -0
  315. package/front_end/third_party/puppeteer/package/src/cdp/ScreenRecording.ts +101 -0
  316. package/front_end/third_party/puppeteer/package/src/cdp/cdp.ts +1 -0
  317. package/front_end/third_party/puppeteer/package/src/common/BrowserConnector.ts +17 -9
  318. package/front_end/third_party/puppeteer/package/src/common/BrowserWebSocketTransport.ts +4 -0
  319. package/front_end/third_party/puppeteer/package/src/common/ConnectOptions.ts +46 -0
  320. package/front_end/third_party/puppeteer/package/src/common/Device.ts +287 -1
  321. package/front_end/third_party/puppeteer/package/src/node/BrowserLauncher.ts +30 -1
  322. package/front_end/third_party/puppeteer/package/src/node/NodeWebSocketTransport.ts +73 -2
  323. package/front_end/third_party/puppeteer/package/src/revisions.ts +3 -3
  324. package/front_end/third_party/puppeteer/package/src/util/version.ts +1 -1
  325. package/front_end/third_party/puppeteer/puppeteer-tsconfig.json +3 -0
  326. package/front_end/tsconfig.json +1 -2
  327. package/front_end/ui/comments/CommentAnchorResolver.ts +8 -3
  328. package/front_end/ui/comments/CommentOverlayManager.ts +53 -12
  329. package/front_end/ui/comments/CommentsOverlayWidget.ts +3 -3
  330. package/front_end/ui/comments/CommentsStatusBarPill.ts +96 -0
  331. package/front_end/ui/comments/comments-meta.ts +21 -0
  332. package/front_end/ui/comments/comments.ts +2 -0
  333. package/front_end/ui/comments/commentsOverlay.css +22 -3
  334. package/front_end/ui/components/buttons/floatingButton.css +25 -0
  335. package/front_end/ui/components/markdown_view/MarkdownView.ts +31 -1
  336. package/front_end/ui/components/srgb_overlay/SrgbOverlay.ts +1 -1
  337. package/front_end/ui/components/suggestion_input/SuggestionInput.ts +45 -25
  338. package/front_end/ui/kit/icons/Icon.ts +0 -1
  339. package/front_end/ui/kit/link/Link.ts +8 -1
  340. package/front_end/ui/legacy/ContextMenu.ts +2 -2
  341. package/front_end/ui/legacy/DropTarget.ts +6 -1
  342. package/front_end/ui/legacy/EmptyWidget.ts +1 -1
  343. package/front_end/ui/legacy/GlassPane.ts +1 -1
  344. package/front_end/ui/legacy/InspectorView.ts +17 -1
  345. package/front_end/ui/legacy/ShortcutRegistry.ts +2 -2
  346. package/front_end/ui/legacy/SplitWidget.ts +18 -3
  347. package/front_end/ui/legacy/StackedPane.ts +1 -1
  348. package/front_end/ui/legacy/StatusBar.ts +78 -0
  349. package/front_end/ui/legacy/TargetCrashedScreen.ts +1 -1
  350. package/front_end/ui/legacy/TextPrompt.ts +2 -1
  351. package/front_end/ui/legacy/Toolbar.ts +5 -1
  352. package/front_end/ui/legacy/Treeoutline.ts +91 -48
  353. package/front_end/ui/legacy/UIUtils.ts +8 -4
  354. package/front_end/ui/legacy/ViewManager.ts +1 -1
  355. package/front_end/ui/legacy/ViewRegistration.ts +1 -0
  356. package/front_end/ui/legacy/Widget.ts +1 -1
  357. package/front_end/ui/legacy/components/color_picker/Spectrum.ts +7 -1
  358. package/front_end/ui/legacy/components/data_grid/DataGrid.ts +1 -1
  359. package/front_end/ui/legacy/components/data_grid/DataGridElement.ts +3 -2
  360. package/front_end/ui/legacy/components/data_grid/dataGrid.css +23 -23
  361. package/front_end/ui/legacy/components/inline_editor/AnimationTimingModel.ts +1 -1
  362. package/front_end/ui/legacy/components/inline_editor/BezierEditor.ts +48 -44
  363. package/front_end/ui/legacy/components/inline_editor/CSSAngleUtils.ts +1 -1
  364. package/front_end/ui/legacy/components/inline_editor/PositionAreaEditor.docs.ts +83 -0
  365. package/front_end/ui/legacy/components/inline_editor/PositionAreaEditor.ts +600 -0
  366. package/front_end/ui/legacy/components/inline_editor/animationNameSwatch.css +1 -1
  367. package/front_end/ui/legacy/components/inline_editor/colorMixSwatch.css +4 -4
  368. package/front_end/ui/legacy/components/inline_editor/cssAngleSwatch.css +3 -3
  369. package/front_end/ui/legacy/components/inline_editor/inline_editor.ts +2 -0
  370. package/front_end/ui/legacy/components/inline_editor/linkSwatch.css +1 -1
  371. package/front_end/ui/legacy/components/inline_editor/positionAreaEditor.css +154 -0
  372. package/front_end/ui/legacy/components/object_ui/CustomPreviewComponent.ts +224 -127
  373. package/front_end/ui/legacy/components/object_ui/ObjectPopoverHelper.ts +10 -7
  374. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +25 -106
  375. package/front_end/ui/legacy/components/object_ui/customPreviewComponent.css +7 -3
  376. package/front_end/ui/legacy/components/object_ui/objectPropertiesSection.css +1 -1
  377. package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +0 -66
  378. package/front_end/ui/legacy/components/perf_ui/perf_ui.ts +0 -2
  379. package/front_end/ui/legacy/components/perf_ui/pieChart.css +7 -5
  380. package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +8 -5
  381. package/front_end/ui/legacy/components/utils/JSPresentationUtils.ts +1 -1
  382. package/front_end/ui/legacy/components/utils/Linkifier.ts +5 -5
  383. package/front_end/ui/legacy/inspectorCommon.css +41 -6
  384. package/front_end/ui/legacy/legacy.ts +2 -0
  385. package/front_end/ui/legacy/statusBar.css +18 -0
  386. package/front_end/ui/visual_logging/Debugging.ts +2 -1
  387. package/front_end/ui/visual_logging/KnownContextValues.ts +3 -1
  388. package/front_end/ui/visual_logging/LoggingDriver.ts +3 -3
  389. package/front_end/ui/visual_logging/LoggingEvents.ts +5 -5
  390. package/front_end/ui/visual_logging/LoggingState.ts +1 -1
  391. package/front_end/ui/visual_logging/visual_logging.ts +67 -56
  392. package/inspector_overlay/main.ts +8 -8
  393. package/mcp/mcp.ts +5 -0
  394. package/package.json +2 -8
  395. package/front_end/Images/generate-css-vars.js +0 -52
  396. package/front_end/Images/rollup.config.mjs +0 -36
  397. package/front_end/models/ai_assistance/AiOrigins.ts +0 -107
  398. package/front_end/models/live-metrics/web-vitals-injected/rollup.config.mjs +0 -20
  399. package/front_end/panels/recorder/injected/rollup.config.mjs +0 -20
  400. package/front_end/panels/timeline/EasterEgg.d.ts +0 -6
  401. package/front_end/panels/timeline/easter-egg-tsconfig.json +0 -8
  402. package/front_end/panels/timeline/enable-easter-egg.js +0 -20
  403. package/front_end/third_party/acorn/acorn-tsconfig.json +0 -12
  404. package/front_end/third_party/acorn/estree-tsconfig.json +0 -8
  405. package/front_end/third_party/chromium/client-variations/client-variations-tsconfig.json +0 -8
  406. package/front_end/third_party/codemirror/codemirror-legacy-types-tsconfig.json +0 -8
  407. package/front_end/third_party/codemirror/codemirror-tsconfig.json +0 -15
  408. package/front_end/third_party/codemirror.next/bundle-tsconfig.json +0 -24
  409. package/front_end/third_party/intl-messageformat/intl-messageformat-tsconfig.json +0 -16
  410. package/front_end/third_party/json5/json5-tsconfig.json +0 -8
  411. package/front_end/third_party/legacy-javascript/legacy-javascript-tsconfig.json +0 -8
  412. package/front_end/third_party/lighthouse/lighthouse-tsconfig.json +0 -11
  413. package/front_end/third_party/lighthouse/report/bundle-tsconfig.json +0 -8
  414. package/front_end/third_party/lit/lit-tsconfig.json +0 -15
  415. package/front_end/third_party/marked/marked-tsconfig.json +0 -8
  416. package/front_end/third_party/puppeteer-replay/puppeteer-replay-tsconfig.json +0 -8
  417. package/front_end/third_party/third-party-web/third-party-web-tsconfig.json +0 -8
  418. package/front_end/third_party/wasmparser/wasmparser-tsconfig.json +0 -9
  419. package/front_end/third_party/web-vitals/web-vitals-tsconfig.json +0 -47
  420. package/front_end/ui/legacy/components/perf_ui/BrickBreaker.ts +0 -606
  421. package/inspector_overlay/loadCSS.rollup.js +0 -29
@@ -84,6 +84,11 @@ const UIStrings = {
84
84
  * @description A context menu item in the Network Log View Columns of the Network panel
85
85
  */
86
86
  earlyHintsHeaders: 'Early hints headers',
87
+ /**
88
+ * @description Warning in the Early hints headers section when the Disable cache setting prevents Early Hints preloads.
89
+ */
90
+ earlyPreloadsIgnoredCacheDisabledWarning:
91
+ 'Early Hints preloads were ignored because cache is disabled. Enable cache and reload the page to use them.',
87
92
  /**
88
93
  * @description Title text for a link to the Sources panel to the file containing the header override definitions
89
94
  */
@@ -99,6 +104,7 @@ const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
99
104
  interface ViewInput {
100
105
  showRequestHeadersText: boolean;
101
106
  showResponseHeadersText: boolean;
107
+ cacheDisabled: boolean;
102
108
  request: SDK.NetworkRequest.NetworkRequest;
103
109
  toggleShowRawResponseHeaders: () => void;
104
110
  toggleShowRawRequestHeaders: () => void;
@@ -184,16 +190,20 @@ export const DEFAULT_VIEW: View = (input, _output, target) => {
184
190
  additionalContent: undefined,
185
191
  forceOpen: input.toReveal?.section === NetworkForward.UIRequestLocation.UIHeaderSection.EARLY_HINTS,
186
192
  loggingContext: 'early-hints-headers',
187
- contents: input.showResponseHeadersText ?
188
- renderRawHeaders(input.request.responseHeadersText) :
189
- html`
190
- <devtools-early-hints-header-section .data=${
191
- {
192
- request: input.request,
193
- toReveal: input.toReveal,
194
- } as NetworkComponents.ResponseHeaderSection
195
- .ResponseHeaderSectionData}></devtools-early-hints-header-section>
196
- `,
193
+ contents: html`
194
+ ${input.cacheDisabled && hasEarlyHintsPreload(input.request.earlyHintsHeaders) ?
195
+ renderEarlyHintsWarning() : Lit.nothing}
196
+ ${input.showResponseHeadersText ?
197
+ renderRawHeaders(input.request.responseHeadersText) :
198
+ html`
199
+ <devtools-early-hints-header-section .data=${
200
+ {
201
+ request: input.request,
202
+ toReveal: input.toReveal,
203
+ } as NetworkComponents.ResponseHeaderSection
204
+ .ResponseHeaderSectionData}></devtools-early-hints-header-section>
205
+ `}
206
+ `,
197
207
  })}
198
208
  ${renderCategory({
199
209
  name: 'response-headers',
@@ -268,7 +278,7 @@ export class RequestHeadersView extends UI.Widget.Widget {
268
278
  this.#addEventListeners();
269
279
  }
270
280
 
271
- constructor(target?: HTMLElement, view = DEFAULT_VIEW) {
281
+ constructor(target?: HTMLElement, view: View = DEFAULT_VIEW) {
272
282
  super();
273
283
  this.#view = view;
274
284
  }
@@ -368,6 +378,7 @@ export class RequestHeadersView extends UI.Widget.Widget {
368
378
  revealHeadersFile,
369
379
  request: this.#request,
370
380
  toReveal: this.#toReveal,
381
+ cacheDisabled: this.#request.cacheDisabled(),
371
382
  showResponseHeadersText: this.#showResponseHeadersText,
372
383
  showRequestHeadersText: this.#showRequestHeadersText,
373
384
  };
@@ -386,6 +397,31 @@ export class RequestHeadersView extends UI.Widget.Widget {
386
397
  }
387
398
  }
388
399
 
400
+ function hasEarlyHintsPreload(headers: SDK.NetworkRequest.NameValue[]): boolean {
401
+ const relationParameter = /(?:^|[,;])\s*rel\s*=\s*(?:"([^"]*)"|'([^']*)'|([^,;\s]+))/gi;
402
+ return headers.some(header => {
403
+ if (Platform.StringUtilities.toLowerCaseString(header.name) !== 'link') {
404
+ return false;
405
+ }
406
+ for (const match of header.value.matchAll(relationParameter)) {
407
+ const relations = (match[1] ?? match[2] ?? match[3] ?? '').toLowerCase().trim().split(/[ \t]+/);
408
+ if (relations.includes('preload') || relations.includes('modulepreload')) {
409
+ return true;
410
+ }
411
+ }
412
+ return false;
413
+ });
414
+ }
415
+
416
+ function renderEarlyHintsWarning(): Lit.LitTemplate {
417
+ return html`
418
+ <div class="early-hints-warning">
419
+ <devtools-icon class="medium" name="warning-filled"></devtools-icon>
420
+ <div>${i18nString(UIStrings.earlyPreloadsIgnoredCacheDisabledWarning)}</div>
421
+ </div>
422
+ `;
423
+ }
424
+
389
425
  function renderHeaderOverridesLink(input: ViewInput): Lit.LitTemplate {
390
426
  if (!input.revealHeadersFile) {
391
427
  return Lit.nothing;
@@ -365,7 +365,7 @@ export class RequestPayloadView extends UI.Widget.VBox {
365
365
  #viewQueryParamSource = false;
366
366
  #refreshFormDataPromiseForTest = Promise.resolve();
367
367
 
368
- constructor(target?: HTMLElement, view = DEFAULT_VIEW) {
368
+ constructor(target?: HTMLElement, view: View = DEFAULT_VIEW) {
369
369
  super();
370
370
  this.#view = view;
371
371
  }
@@ -82,7 +82,7 @@ export class RequestResponseView extends UI.Widget.VBox {
82
82
  #view: View;
83
83
  #revealPosition?: (position: SourceFrame.SourceFrame.RevealPosition) => Promise<void>;
84
84
 
85
- constructor(request: SDK.NetworkRequest.NetworkRequest, view = DEFAULT_VIEW) {
85
+ constructor(request: SDK.NetworkRequest.NetworkRequest, view: View = DEFAULT_VIEW) {
86
86
  super();
87
87
  this.request = request;
88
88
  this.#view = view;
@@ -614,7 +614,7 @@ export class RequestTimingView extends UI.Widget.VBox {
614
614
  #calculator?: NetworkTimeCalculator.NetworkTimeCalculator;
615
615
  #lastMinimumBoundary = -1;
616
616
  readonly #view: View;
617
- constructor(target?: HTMLElement, view = DEFAULT_VIEW) {
617
+ constructor(target?: HTMLElement, view: View = DEFAULT_VIEW) {
618
618
  super(target);
619
619
  this.#view = view;
620
620
  }
@@ -61,7 +61,7 @@ export class ShowMoreDetailsWidget extends UI.Widget.Widget {
61
61
  #text = '';
62
62
  #showMore = false;
63
63
  #copy: CopyMenuItem|null = null;
64
- constructor(target?: HTMLElement, view = DEFAULT_VIEW) {
64
+ constructor(target?: HTMLElement, view: View = DEFAULT_VIEW) {
65
65
  super(target);
66
66
  this.#view = view;
67
67
  }
@@ -117,6 +117,18 @@ div.raw-headers-row {
117
117
  color: var(--sys-color-token-subtle);
118
118
  }
119
119
 
120
+ .early-hints-warning {
121
+ display: flex;
122
+ align-items: center;
123
+ gap: var(--sys-size-4);
124
+ margin: var(--sys-size-3);
125
+ padding: var(--sys-size-5);
126
+ border-radius: var(--sys-shape-corner-medium-small);
127
+ color: var(--sys-color-on-yellow-container);
128
+ background-color: var(--sys-color-yellow-container);
129
+ font: var(--sys-typescale-body4-regular);
130
+ }
131
+
120
132
  .raw-headers {
121
133
  font-family: var(--source-code-font-family);
122
134
  font-size: var(--source-code-font-size);
@@ -87,7 +87,7 @@ export interface ResponseHeaderSectionData {
87
87
  }
88
88
 
89
89
  class ResponseHeaderSectionBase extends HTMLElement {
90
- protected readonly shadow = this.attachShadow({mode: 'open'});
90
+ protected readonly shadow: ShadowRoot = this.attachShadow({mode: 'open'});
91
91
  protected headerDetails: HeaderDetailsDescriptor[] = [];
92
92
 
93
93
  protected setHeaders(headers: SDK.NetworkRequest.NameValue[]): void {
@@ -127,7 +127,7 @@ export class PerformanceMonitorImpl extends UI.Widget.HBox<ShadowRoot> implement
127
127
  private suspended = false;
128
128
  private graphRenderingContext: CanvasRenderingContext2D|null = null;
129
129
 
130
- constructor(pollIntervalMs = 500, view = DEFAULT_VIEW) {
130
+ constructor(pollIntervalMs = 500, view: PerformanceMonitorView = DEFAULT_VIEW) {
131
131
  super({useShadowDom: 'pure'});
132
132
  this.view = view;
133
133
  this.registerRequiredCSS(performanceMonitorStyles);
@@ -650,7 +650,7 @@ export class ControlPane extends UI.Widget.VBox {
650
650
  readonly #metricValues = new Map<string, number>();
651
651
  readonly #view: ControlPaneView;
652
652
 
653
- constructor(element: HTMLElement, view = CONTROL_PANE_DEFAULT_VIEW) {
653
+ constructor(element: HTMLElement, view: ControlPaneView = CONTROL_PANE_DEFAULT_VIEW) {
654
654
  super(element, {useShadowDom: false});
655
655
  this.#view = view;
656
656
 
@@ -746,7 +746,7 @@ function renderMetricIndicator(
746
746
  // clang-format on
747
747
  }
748
748
 
749
- export const format = new Intl.NumberFormat('en-US', {maximumFractionDigits: 1});
749
+ export const format: Intl.NumberFormat = new Intl.NumberFormat('en-US', {maximumFractionDigits: 1});
750
750
  export interface MetricInfo {
751
751
  name: string;
752
752
  color: string;
@@ -1329,7 +1329,7 @@ export class NodeFormatter implements Formatter {
1329
1329
  }
1330
1330
  }
1331
1331
 
1332
- export const nodeFormatter = new NodeFormatter();
1332
+ export const nodeFormatter: NodeFormatter = new NodeFormatter();
1333
1333
 
1334
1334
  export class HeapFlameChartDataProvider extends ProfileFlameChartDataProvider {
1335
1335
  readonly profile: CPUProfile.ProfileTreeModel.ProfileTreeModel;
@@ -140,7 +140,7 @@ const HeapSnapshotGridNodeBase:
140
140
  export class HeapSnapshotGridNode extends HeapSnapshotGridNodeBase {
141
141
  dataGridInternal: HeapSnapshotSortableDataGrid;
142
142
  instanceCount = 0;
143
- readonly savedChildren = new Map<number, HeapSnapshotGridNode>();
143
+ readonly savedChildren: Map<number, HeapSnapshotGridNode> = new Map();
144
144
  /**
145
145
  * List of position ranges for all visible nodes: [startPos1, endPos1),...,[startPosN, endPosN)
146
146
  * Position is an item position in the provider.
@@ -196,7 +196,7 @@ export class JSONEditor extends JSONEditorBase {
196
196
  displayCommandInput = true;
197
197
  displayToolbar = true;
198
198
 
199
- constructor(element: HTMLElement, view = DEFAULT_VIEW) {
199
+ constructor(element: HTMLElement, view: View = DEFAULT_VIEW) {
200
200
  super(element, {useShadowDom: true});
201
201
  this.#view = view;
202
202
  this.registerRequiredCSS(editorWidgetStyles);
@@ -669,14 +669,14 @@ export class CommandAutocompleteSuggestionProvider {
669
669
  }
670
670
  }
671
671
 
672
- interface InfoWidgetViewInput {
672
+ export interface InfoWidgetViewInput {
673
673
  request: Record<string, unknown>|undefined;
674
674
  response: Record<string, unknown>|undefined;
675
675
  type: 'sent'|'received'|undefined;
676
676
  selectedTab: 'request'|'response'|undefined;
677
677
  }
678
678
 
679
- type InfoWidgetView = (input: InfoWidgetViewInput, output: undefined, target: HTMLElement) => void;
679
+ export type InfoWidgetView = (input: InfoWidgetViewInput, output: undefined, target: HTMLElement) => void;
680
680
 
681
681
  const INFO_WIDGET_VIEW: InfoWidgetView = (input, _output, target) => {
682
682
  // clang-format off
@@ -715,7 +715,7 @@ export class InfoWidget extends UI.Widget.VBox {
715
715
  request: Record<string, unknown>|undefined;
716
716
  response: Record<string, unknown>|undefined;
717
717
  type: 'sent'|'received'|undefined;
718
- constructor(element: HTMLElement, view = INFO_WIDGET_VIEW) {
718
+ constructor(element: HTMLElement, view: InfoWidgetView = INFO_WIDGET_VIEW) {
719
719
  super(element);
720
720
  this.#view = view;
721
721
  this.requestUpdate();
@@ -44,12 +44,6 @@ const str_ = i18n.i18n.registerUIStrings(
44
44
  );
45
45
  const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
46
46
 
47
- declare global {
48
- interface HTMLElementTagNameMap {
49
- 'devtools-recording-list-view': RecordingListView;
50
- }
51
- }
52
-
53
47
  interface Recording {
54
48
  storageName: string;
55
49
  name: string;
@@ -155,12 +155,6 @@ const str_ = i18n.i18n.registerUIStrings(
155
155
  );
156
156
  const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
157
157
 
158
- declare global {
159
- interface HTMLElementTagNameMap {
160
- 'devtools-recording-view': RecordingView;
161
- }
162
- }
163
-
164
158
  export interface ReplayState {
165
159
  isPlaying: boolean; // Replay is in progress
166
160
  isPausedOnBreakpoint: boolean; // Replay is in progress and is in stopped state
@@ -26,11 +26,11 @@
26
26
 
27
27
  .icon {
28
28
  display: flex;
29
- width: 40px;
30
- height: 40px;
31
- border-radius: 50%;
29
+ width: var(--sys-size-14);
30
+ height: var(--sys-size-14);
31
+ border-radius: var(--sys-shape-corner-full);
32
32
  background: var(--sys-color-error-bright);
33
- margin-bottom: 8px;
33
+ margin-bottom: var(--sys-size-5);
34
34
  position: relative;
35
35
  transition: background 200ms;
36
36
  place-content: center center;
@@ -43,9 +43,9 @@
43
43
  box-sizing: border-box;
44
44
  content: "";
45
45
  display: block;
46
- width: 14px;
47
- height: 14px;
48
- border: 1px solid var(--override-white);
46
+ width: var(--sys-size-7);
47
+ height: var(--sys-size-7);
48
+ border: var(--sys-size-1) solid var(--override-white);
49
49
  position: absolute;
50
50
  top: 50%;
51
51
  left: 50%;
@@ -58,7 +58,7 @@
58
58
  }
59
59
 
60
60
  .icon.circle::before {
61
- border-radius: 50%;
61
+ border-radius: var(--sys-shape-corner-full);
62
62
  }
63
63
 
64
64
  .icon:hover {
@@ -74,8 +74,8 @@
74
74
  }
75
75
 
76
76
  .label {
77
- font-size: 12px;
78
- line-height: 16px;
77
+ font-size: var(--sys-typescale-body4-size);
78
+ line-height: var(--sys-typescale-body4-line-height);
79
79
  text-align: center;
80
80
  letter-spacing: 0.02em;
81
81
  color: var(--sys-color-on-surface);
@@ -19,7 +19,7 @@
19
19
  }
20
20
 
21
21
  .wrapper {
22
- padding: 24px;
22
+ padding: var(--sys-size-11);
23
23
  background-color: var(--sys-color-cdt-base-container);
24
24
  height: 100%;
25
25
  display: flex;
@@ -945,8 +945,10 @@ export class ScreencastView extends UI.Widget.Widget implements SDK.OverlayModel
945
945
 
946
946
  export const BORDERS_SIZE = 44;
947
947
  export const NAVBAR_HEIGHT = 29;
948
- export const HTTP_REGEX = /^http:\/\/(.+)/;
949
- export const SCHEME_REGEX = /^(https?|about|chrome):/;
948
+
949
+ export const HTTP_REGEX: RegExp = /^http:\/\/(.+)/;
950
+
951
+ export const SCHEME_REGEX: RegExp = /^(https?|about|chrome):/;
950
952
 
951
953
  export class ProgressTracker {
952
954
  private readonly resourceTreeModel: SDK.ResourceTreeModel.ResourceTreeModel|null;
@@ -294,7 +294,7 @@ export class SearchView extends UI.Widget.VBox<ShadowRoot> {
294
294
 
295
295
  #searchResults: SearchResult[] = [];
296
296
 
297
- constructor(settingKey: string, view = DEFAULT_VIEW) {
297
+ constructor(settingKey: string, view: View = DEFAULT_VIEW) {
298
298
  super({useShadowDom: 'pure'});
299
299
  this.#view = view;
300
300
  this.setMinimumSize(0, 40);
@@ -459,8 +459,7 @@ const LOCK_ICON_NAME = 'lock';
459
459
  const WARNING_ICON_NAME = 'warning';
460
460
  const UNKNOWN_ICON_NAME = 'indeterminate-question-box';
461
461
 
462
- export function getSecurityStateIconForDetailedView(
463
- securityState: Protocol.Security.SecurityState, className: string): Icon {
462
+ function getSecurityStateIconNameForDetailedView(securityState: Protocol.Security.SecurityState): string {
464
463
  let iconName: string;
465
464
 
466
465
  switch (securityState) {
@@ -478,7 +477,12 @@ export function getSecurityStateIconForDetailedView(
478
477
  break;
479
478
  }
480
479
 
481
- return createIcon(iconName, className);
480
+ return iconName;
481
+ }
482
+
483
+ export function getSecurityStateIconForDetailedView(securityState: Protocol.Security.SecurityState,
484
+ className: string): Icon {
485
+ return createIcon(getSecurityStateIconNameForDetailedView(securityState), className);
482
486
  }
483
487
 
484
488
  export function getSecurityStateIconForOverview(
@@ -567,9 +571,11 @@ export class SecurityPanel extends UI.Panel.Panel implements SDK.TargetManager.S
567
571
  private eventListeners: Common.EventTarget.EventDescriptor[];
568
572
  private securityModel: SecurityModel|null;
569
573
  readonly splitWidget!: UI.SplitWidget.SplitWidget;
574
+ private view: View;
570
575
 
571
- constructor(private view: View = DEFAULT_VIEW) {
576
+ constructor(view: View|undefined = DEFAULT_VIEW) {
572
577
  super('security');
578
+ this.view = view;
573
579
 
574
580
  this.update();
575
581
 
@@ -1424,9 +1430,30 @@ function renderConnectionSection(securityDetails: Protocol.Network.SecurityDetai
1424
1430
  // clang-format on
1425
1431
  }
1426
1432
 
1433
+ function renderTitleSection(origin: Platform.DevToolsPath.UrlString, securityState: Protocol.Security.SecurityState,
1434
+ onRevealInNetwork: (event: Event) => void): TemplateResult {
1435
+ // clang-format off
1436
+ return html`
1437
+ <div class="title-section-header" role="heading" aria-level="1">${i18nString(UIStrings.origin)}</div>
1438
+ <div class="origin-display">
1439
+ <devtools-icon
1440
+ name=${getSecurityStateIconNameForDetailedView(securityState)}
1441
+ class=${`security-property security-property-${securityState}`}>
1442
+ </devtools-icon>
1443
+ ${renderHighlightedUrl(origin, securityState)}
1444
+ </div>
1445
+ <div class="view-network-button">
1446
+ <devtools-button
1447
+ .variant=${Buttons.Button.Variant.OUTLINED}
1448
+ .jslogContext=${'reveal-in-network'}
1449
+ @click=${onRevealInNetwork}>${i18nString(UIStrings.viewRequestsInNetworkPanel)}</devtools-button>
1450
+ </div>`;
1451
+ // clang-format on
1452
+ }
1453
+
1427
1454
  export class SecurityOriginView extends UI.Widget.VBox {
1428
1455
  readonly #origin: Platform.DevToolsPath.UrlString;
1429
- readonly #originDisplay: HTMLElement;
1456
+ readonly #titleSection: HTMLElement;
1430
1457
 
1431
1458
  constructor(origin: Platform.DevToolsPath.UrlString, originState: OriginState) {
1432
1459
  super({jslog: `${VisualLogging.pane('security.origin-view')}`});
@@ -1436,25 +1463,8 @@ export class SecurityOriginView extends UI.Widget.VBox {
1436
1463
 
1437
1464
  this.element.classList.add('security-origin-view');
1438
1465
 
1439
- const titleSection = this.element.createChild('div', 'title-section');
1440
- const titleDiv = titleSection.createChild('div', 'title-section-header');
1441
- titleDiv.textContent = i18nString(UIStrings.origin);
1442
- UI.ARIAUtils.markAsHeading(titleDiv, 1);
1443
-
1444
- this.#originDisplay = titleSection.createChild('div', 'origin-display');
1445
- this.#renderOriginDisplay(originState.securityState);
1446
-
1447
- const originNetworkDiv = titleSection.createChild('div', 'view-network-button');
1448
- const originNetworkButton = UI.UIUtils.createTextButton(i18nString(UIStrings.viewRequestsInNetworkPanel), event => {
1449
- event.consume();
1450
- const parsedURL = new Common.ParsedURL.ParsedURL(origin);
1451
- void Common.Revealer.reveal(NetworkForward.UIFilter.UIRequestFilter.filters([
1452
- {filterType: NetworkForward.UIFilter.FilterType.Domain, filterValue: parsedURL.host},
1453
- {filterType: NetworkForward.UIFilter.FilterType.Scheme, filterValue: parsedURL.scheme},
1454
- ]));
1455
- }, {jslogContext: 'reveal-in-network'});
1456
- originNetworkDiv.appendChild(originNetworkButton);
1457
- UI.ARIAUtils.markAsLink(originNetworkButton);
1466
+ this.#titleSection = this.element.createChild('div', 'title-section');
1467
+ this.#renderTitleSection(originState.securityState);
1458
1468
 
1459
1469
  if (originState.securityDetails) {
1460
1470
  const connectionSection = this.element.createChild('div', 'origin-view-section connection-section');
@@ -1610,21 +1620,22 @@ export class SecurityOriginView extends UI.Widget.VBox {
1610
1620
  }
1611
1621
 
1612
1622
  setSecurityState(newSecurityState: Protocol.Security.SecurityState): void {
1613
- this.#renderOriginDisplay(newSecurityState);
1623
+ this.#renderTitleSection(newSecurityState);
1614
1624
  }
1615
1625
 
1616
- #renderOriginDisplay(securityState: Protocol.Security.SecurityState): void {
1617
- const icon =
1618
- getSecurityStateIconForDetailedView(securityState, `security-property security-property-${securityState}`);
1619
-
1620
- // clang-format off
1626
+ #renderTitleSection(securityState: Protocol.Security.SecurityState): void {
1621
1627
  // eslint-disable-next-line @devtools/no-lit-render-outside-of-view
1622
- render(html`
1623
- ${icon}
1624
- ${renderHighlightedUrl(this.#origin, securityState)}
1625
- `, this.#originDisplay);
1626
- // clang-format on
1628
+ render(renderTitleSection(this.#origin, securityState, this.#revealInNetwork), this.#titleSection);
1627
1629
  }
1630
+
1631
+ #revealInNetwork = (event: Event): void => {
1632
+ event.consume();
1633
+ const parsedURL = new Common.ParsedURL.ParsedURL(this.#origin);
1634
+ void Common.Revealer.reveal(NetworkForward.UIFilter.UIRequestFilter.filters([
1635
+ {filterType: NetworkForward.UIFilter.FilterType.Domain, filterValue: parsedURL.host},
1636
+ {filterType: NetworkForward.UIFilter.FilterType.Scheme, filterValue: parsedURL.scheme},
1637
+ ]));
1638
+ };
1628
1639
  }
1629
1640
 
1630
1641
  export class SecurityDetailsTable {
@@ -164,7 +164,7 @@ export class BreakpointEditDialog extends UI.Widget.Widget {
164
164
  #editor?: TextEditor.TextEditor.TextEditor;
165
165
  #state?: CodeMirror.EditorState;
166
166
 
167
- constructor(target?: HTMLElement, view = DEFAULT_VIEW) {
167
+ constructor(target?: HTMLElement, view: View = DEFAULT_VIEW) {
168
168
  super({
169
169
  jslog: `${VisualLogging.dialog('edit-breakpoint')}`,
170
170
  useShadowDom: true,
@@ -498,7 +498,7 @@ export class CallStackSidebarPane extends UI.View.SimpleView implements UI.Conte
498
498
  }
499
499
  }
500
500
 
501
- export const elementSymbol = Symbol('element');
501
+ export const elementSymbol: unique symbol = Symbol('element');
502
502
  export const defaultMaxAsyncStackChainDepth = 32;
503
503
 
504
504
  export class ActionDelegate implements UI.ActionRegistration.ActionDelegate {
@@ -182,7 +182,8 @@ const DEFAULT_VIEW = (input: ViewInput|null, _output: undefined, target: Documen
182
182
  type View = typeof DEFAULT_VIEW;
183
183
 
184
184
  export class DebuggerPausedMessage extends UI.Widget.Widget<ShadowRoot> {
185
- static override readonly INJECT = [SDK.EventBreakpointsModel.EventBreakpointsManager] as const;
185
+ static override readonly INJECT: readonly[typeof SDK.EventBreakpointsModel.EventBreakpointsManager] =
186
+ [SDK.EventBreakpointsModel.EventBreakpointsManager] as const;
186
187
 
187
188
  #viewInput: ViewInput|null = null;
188
189
  readonly #eventBreakpointsManager: SDK.EventBreakpointsModel.EventBreakpointsManager;
@@ -342,11 +343,12 @@ export class DebuggerPausedMessage extends UI.Widget.Widget<ShadowRoot> {
342
343
  }
343
344
  }
344
345
 
345
- export const BreakpointTypeNouns = new Map([
346
- [Protocol.DOMDebugger.DOMBreakpointType.SubtreeModified, i18nLazyString(UIStrings.subtreeModifications)],
347
- [Protocol.DOMDebugger.DOMBreakpointType.AttributeModified, i18nLazyString(UIStrings.attributeModifications)],
348
- [Protocol.DOMDebugger.DOMBreakpointType.NodeRemoved, i18nLazyString(UIStrings.nodeRemoval)],
349
- ]);
346
+ export const BreakpointTypeNouns: Map<Protocol.DOMDebugger.DOMBreakpointType, () => Platform.UIString.LocalizedString> =
347
+ new Map([
348
+ [Protocol.DOMDebugger.DOMBreakpointType.SubtreeModified, i18nLazyString(UIStrings.subtreeModifications)],
349
+ [Protocol.DOMDebugger.DOMBreakpointType.AttributeModified, i18nLazyString(UIStrings.attributeModifications)],
350
+ [Protocol.DOMDebugger.DOMBreakpointType.NodeRemoved, i18nLazyString(UIStrings.nodeRemoval)],
351
+ ]);
350
352
 
351
353
  interface PausedDetailsAuxData {
352
354
  description?: string;
@@ -66,7 +66,8 @@ function markersFromProfileData(map: Workspace.UISourceCode.LineColumnProfileMap
66
66
  }
67
67
 
68
68
  export class PerformanceProfilePlugin extends Plugin {
69
- updateEffect = CodeMirror.StateEffect.define<Workspace.UISourceCode.LineColumnProfileMap>();
69
+ updateEffect: CodeMirror.StateEffectType<Workspace.UISourceCode.LineColumnProfileMap> =
70
+ CodeMirror.StateEffect.define<Workspace.UISourceCode.LineColumnProfileMap>();
70
71
  field: CodeMirror.StateField<CodeMirror.RangeSet<CodeMirror.GutterMarker>>;
71
72
  gutter: CodeMirror.Extension;
72
73
  compartment: CodeMirror.Compartment = new CodeMirror.Compartment();
@@ -189,7 +189,7 @@ export class ScopeChainSidebarPane extends UI.Widget.VBox implements UI.ContextF
189
189
  null;
190
190
  #view: View;
191
191
 
192
- constructor(target?: HTMLElement, view = DEFAULT_VIEW) {
192
+ constructor(target?: HTMLElement, view: View = DEFAULT_VIEW) {
193
193
  super(target, {
194
194
  jslog: `${VisualLogging.section('sources.scope-chain')}`,
195
195
  useShadowDom: true,
@@ -25,7 +25,7 @@ export class IsolateSelector extends UI.Toolbar.ToolbarItem implements SDK.Isola
25
25
  menu: Menus.SelectMenu.SelectMenu;
26
26
  options?: Array<{index: number, isolate: SDK.IsolateManager.Isolate}>;
27
27
  items?: Menus.Menu.MenuItem[];
28
- readonly itemByIsolate = new Map<SDK.IsolateManager.Isolate, Menus.Menu.MenuItem>();
28
+ readonly itemByIsolate: Map<SDK.IsolateManager.Isolate, Menus.Menu.MenuItem> = new Map();
29
29
  readonly #targetManager: SDK.TargetManager.TargetManager;
30
30
  readonly #isolateManager: SDK.IsolateManager.IsolateManager;
31
31
 
@@ -48,7 +48,7 @@ const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
48
48
  * allow us to do this properly and not hack around it.
49
49
  * TODO: Delete this once the new Layout Shift UI ships out of the TIMELINE_LAYOUT_SHIFT_DETAILS experiment
50
50
  **/
51
- export const LAYOUT_SHIFT_SYNTHETIC_DURATION = Trace.Types.Timing.Micro(5_000);
51
+ export const LAYOUT_SHIFT_SYNTHETIC_DURATION: Trace.Types.Timing.Micro = Trace.Types.Timing.Micro(5_000);
52
52
 
53
53
  export class LayoutShiftsTrackAppender implements TrackAppender {
54
54
  readonly appenderName: TrackAppenderName = 'LayoutShifts';
@@ -37,7 +37,7 @@ export class NetworkTrackAppender implements TrackAppender {
37
37
  readonly appenderName: TrackAppenderName = 'Network';
38
38
 
39
39
  #flameChartData: PerfUI.FlameChart.FlameChartTimelineData;
40
- webSocketIdToLevel = new Map<number, number>();
40
+ webSocketIdToLevel: Map<number, number> = new Map();
41
41
  #events: NetworkTrackEvent[] = [];
42
42
 
43
43
  #font: string;
@@ -1404,7 +1404,7 @@ export class TimelineFlameChartDataProvider extends Common.ObjectWrapper.ObjectW
1404
1404
  }
1405
1405
  }
1406
1406
 
1407
- export const InstantEventVisibleDurationMs = Trace.Types.Timing.Milli(0.001);
1407
+ export const InstantEventVisibleDurationMs: Trace.Types.Timing.Milli = Trace.Types.Timing.Milli(0.001);
1408
1408
 
1409
1409
  export const enum Events {
1410
1410
  DATA_CHANGED = 'DataChanged',