chrome-devtools-frontend 1.0.1657855 → 1.0.1661063

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 (370) hide show
  1. package/.agents/skills/evaluate-ai-css-completion/SKILL.md +133 -0
  2. package/.agents/skills/evaluate-ai-css-completion/scripts/evaluate.js +76 -0
  3. package/.agents/skills/migrate-chromium-test/SKILL.md +15 -70
  4. package/.agents/skills/ui-eng-vision-orchestrator/SKILL.md +37 -18
  5. package/.agents/skills/version-control/SKILL.md +8 -1
  6. package/AUTHORS +1 -0
  7. package/SECURITY.md +3 -0
  8. package/docs/get_the_code.md +6 -0
  9. package/eslint.config.mjs +7 -0
  10. package/extension-api/ExtensionAPI.d.ts +88 -0
  11. package/front_end/Tests.js +6 -6
  12. package/front_end/core/common/Gzip.ts +12 -5
  13. package/front_end/core/host/AidaClient.ts +35 -9
  14. package/front_end/core/host/GdpClient.ts +10 -7
  15. package/front_end/core/host/InspectorFrontendHost.ts +1 -0
  16. package/front_end/core/host/InspectorFrontendHostStub.ts +2 -0
  17. package/front_end/core/platform/StringUtilities.ts +55 -4
  18. package/front_end/core/sdk/AccessibilityModel.snapshot.txt +17 -0
  19. package/front_end/core/sdk/AccessibilityModel.ts +132 -2
  20. package/front_end/core/sdk/CPUThrottlingManager.ts +10 -5
  21. package/front_end/core/sdk/CompilerSourceMappingContentProvider.ts +2 -5
  22. package/front_end/core/sdk/ConsoleModel.ts +5 -5
  23. package/front_end/core/sdk/DOMDebuggerModel.ts +7 -1
  24. package/front_end/core/sdk/DOMModel.ts +33 -18
  25. package/front_end/core/sdk/DebuggerModel.ts +4 -4
  26. package/front_end/core/sdk/EventBreakpointsModel.ts +2 -0
  27. package/front_end/core/sdk/FrameManager.ts +1 -0
  28. package/front_end/core/sdk/IsolateManager.ts +1 -0
  29. package/front_end/core/sdk/NetworkManager.ts +59 -11
  30. package/front_end/core/sdk/NetworkRequest.ts +38 -1
  31. package/front_end/core/sdk/OverlayModel.ts +45 -6
  32. package/front_end/core/sdk/PageResourceLoader.ts +2 -0
  33. package/front_end/core/sdk/ResourceTreeModel.ts +6 -7
  34. package/front_end/core/sdk/ScreenCaptureModel.ts +2 -2
  35. package/front_end/core/sdk/ServerTiming.ts +17 -13
  36. package/front_end/core/sdk/ServiceWorkerCacheModel.ts +4 -2
  37. package/front_end/core/sdk/ServiceWorkerManager.ts +19 -5
  38. package/front_end/core/sdk/SourceMap.ts +5 -5
  39. package/front_end/core/sdk/SourceMapManager.ts +3 -2
  40. package/front_end/core/sdk/TargetManager.ts +14 -1
  41. package/front_end/core/sdk/TraceObject.ts +4 -2
  42. package/front_end/core/sdk/sdk-meta.ts +170 -0
  43. package/front_end/design_system_tokens.css +0 -5
  44. package/front_end/entrypoints/formatter_worker/FormattedContentBuilder.ts +5 -2
  45. package/front_end/entrypoints/formatter_worker/HTMLFormatter.ts +26 -4
  46. package/front_end/entrypoints/formatter_worker/JavaScriptFormatter.ts +8 -3
  47. package/front_end/entrypoints/inspector_main/InspectorMain.ts +4 -4
  48. package/front_end/entrypoints/inspector_main/OutermostTargetSelector.ts +2 -2
  49. package/front_end/entrypoints/inspector_main/RenderingOptions.ts +36 -37
  50. package/front_end/entrypoints/inspector_main/inspector_main-meta.ts +15 -33
  51. package/front_end/entrypoints/js_app/js_app.ts +6 -5
  52. package/front_end/entrypoints/main/GlobalAiButton.ts +4 -4
  53. package/front_end/entrypoints/main/MainImpl.ts +20 -22
  54. package/front_end/entrypoints/main/main-meta.ts +42 -42
  55. package/front_end/entrypoints/node_app/node_app.ts +3 -2
  56. package/front_end/entrypoints/worker_app/WorkerMain.ts +1 -1
  57. package/front_end/foundation/Universe.ts +44 -1
  58. package/front_end/generated/InspectorBackendCommands.ts +2 -2
  59. package/front_end/generated/SupportedCSSProperties.js +19 -12
  60. package/front_end/generated/protocol.ts +3 -1
  61. package/front_end/models/ai_assistance/AiConversation.ts +19 -17
  62. package/front_end/models/ai_assistance/AiHistoryStorage.ts +37 -14
  63. package/front_end/models/ai_assistance/AiUtils.ts +38 -42
  64. package/front_end/models/ai_assistance/agents/AiAgent.ts +5 -1
  65. package/front_end/models/ai_assistance/agents/ContextSelectionAgent.ts +3 -2
  66. package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +2 -1
  67. package/front_end/models/ai_assistance/agents/StorageAgent.ts +7 -5
  68. package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.snapshot.txt +270 -286
  69. package/front_end/models/ai_assistance/data_formatters/UnitFormatters.ts +20 -0
  70. package/front_end/models/ai_assistance/performance/AICallTree.ts +3 -1
  71. package/front_end/models/ai_assistance/tools/ListNetworkRequests.ts +3 -2
  72. package/front_end/models/autofill_manager/AutofillManager.ts +3 -1
  73. package/front_end/models/bindings/CompilerScriptMapping.ts +7 -7
  74. package/front_end/models/bindings/ContentProviderBasedProject.ts +4 -4
  75. package/front_end/models/bindings/DebuggerLanguagePlugins.ts +5 -5
  76. package/front_end/models/bindings/DefaultScriptMapping.ts +3 -3
  77. package/front_end/models/bindings/NetworkProject.ts +5 -10
  78. package/front_end/models/bindings/PresentationConsoleMessageHelper.ts +2 -1
  79. package/front_end/models/bindings/ResourceMapping.ts +3 -4
  80. package/front_end/models/bindings/ResourceScriptMapping.ts +2 -3
  81. package/front_end/models/bindings/ResourceUtils.ts +1 -1
  82. package/front_end/models/bindings/SASSSourceMapping.ts +11 -9
  83. package/front_end/models/bindings/StylesSourceMapping.ts +3 -3
  84. package/front_end/models/bindings/TempFile.ts +8 -3
  85. package/front_end/models/emulation/EmulatedDevices.ts +389 -8
  86. package/front_end/models/extensions/ExtensionAPI.ts +116 -52
  87. package/front_end/models/extensions/LanguageExtensionEndpoint.ts +13 -12
  88. package/front_end/models/formatter/ScriptFormatter.ts +8 -11
  89. package/front_end/models/issues_manager/BounceTrackingIssue.ts +1 -1
  90. package/front_end/models/issues_manager/ClientHintIssue.ts +1 -1
  91. package/front_end/models/issues_manager/ConnectionAllowlistIssue.ts +1 -1
  92. package/front_end/models/issues_manager/ContentSecurityPolicyIssue.ts +7 -7
  93. package/front_end/models/issues_manager/CookieDeprecationMetadataIssue.ts +2 -2
  94. package/front_end/models/issues_manager/CookieIssue.ts +27 -16
  95. package/front_end/models/issues_manager/CorsIssue.ts +3 -3
  96. package/front_end/models/issues_manager/CrossOriginEmbedderPolicyIssue.ts +2 -2
  97. package/front_end/models/issues_manager/DeprecationIssue.ts +3 -3
  98. package/front_end/models/issues_manager/EmailVerificationRequestIssue.ts +1 -1
  99. package/front_end/models/issues_manager/FederatedAuthRequestIssue.ts +1 -1
  100. package/front_end/models/issues_manager/FederatedAuthUserInfoRequestIssue.ts +1 -1
  101. package/front_end/models/issues_manager/GenericIssue.ts +7 -7
  102. package/front_end/models/issues_manager/HeavyAdIssue.ts +3 -3
  103. package/front_end/models/issues_manager/Issue.ts +11 -12
  104. package/front_end/models/issues_manager/IssueAggregator.ts +0 -9
  105. package/front_end/models/issues_manager/IssueResolver.ts +2 -2
  106. package/front_end/models/issues_manager/IssuesManager.ts +136 -137
  107. package/front_end/models/issues_manager/MixedContentIssue.ts +1 -1
  108. package/front_end/models/issues_manager/PartitioningBlobURLIssue.ts +3 -3
  109. package/front_end/models/issues_manager/QuirksModeIssue.ts +1 -1
  110. package/front_end/models/issues_manager/SRIMessageSignatureIssue.ts +2 -2
  111. package/front_end/models/issues_manager/SelectivePermissionsInterventionIssue.ts +2 -2
  112. package/front_end/models/issues_manager/SharedArrayBufferIssue.ts +2 -2
  113. package/front_end/models/issues_manager/SharedDictionaryIssue.ts +1 -1
  114. package/front_end/models/issues_manager/UnencodedDigestIssue.ts +3 -3
  115. package/front_end/models/issues_manager/issues_manager.ts +0 -2
  116. package/front_end/models/javascript_metadata/NativeFunctions.js +5 -1
  117. package/front_end/models/persistence/AutomaticFileSystemWorkspaceBinding.ts +5 -0
  118. package/front_end/models/source_map_scopes/FunctionCodeResolver.ts +13 -10
  119. package/front_end/models/stack_trace/StackTraceModel.ts +3 -3
  120. package/front_end/models/text_utils/ContentData.ts +27 -0
  121. package/front_end/models/trace/helpers/SamplesIntegrator.ts +21 -5
  122. package/front_end/models/trace_source_maps_resolver/SourceMapsResolver.ts +29 -14
  123. package/front_end/models/web_mcp/WebMCPModel.ts +24 -6
  124. package/front_end/models/workspace/IgnoreListManager.ts +6 -6
  125. package/front_end/models/workspace/UISourceCode.ts +3 -3
  126. package/front_end/models/workspace/WorkspaceImpl.ts +10 -1
  127. package/front_end/models/workspace_diff/WorkspaceDiff.ts +10 -4
  128. package/front_end/panels/ai_assistance/AiAssistancePanel.ts +25 -22
  129. package/front_end/panels/ai_assistance/ExportConversation.ts +3 -4
  130. package/front_end/panels/ai_assistance/ai_assistance-meta.ts +3 -3
  131. package/front_end/panels/ai_assistance/components/ChatInput.ts +2 -2
  132. package/front_end/panels/ai_assistance/components/ChatMessage.ts +9 -1
  133. package/front_end/panels/ai_assistance/components/DisabledWidget.ts +2 -2
  134. package/front_end/panels/animation/AnimationTimeline.ts +17 -19
  135. package/front_end/panels/animation/AnimationUI.ts +5 -5
  136. package/front_end/panels/animation/animation-meta.ts +2 -2
  137. package/front_end/panels/application/ApplicationPanelSidebar.ts +4 -3
  138. package/front_end/panels/application/DeviceBoundSessionsView.ts +2 -6
  139. package/front_end/panels/application/FrameDetailsView.ts +1 -1
  140. package/front_end/panels/application/IndexedDBViews.ts +220 -266
  141. package/front_end/panels/application/OpenedWindowDetailsView.ts +1 -1
  142. package/front_end/panels/application/ResourcesPanel.ts +9 -2
  143. package/front_end/panels/application/ServiceWorkersView.ts +252 -211
  144. package/front_end/panels/application/StorageView.ts +97 -33
  145. package/front_end/panels/application/WebMCPView.ts +53 -44
  146. package/front_end/panels/application/components/AdsView.ts +201 -30
  147. package/front_end/panels/application/components/adsView.css +25 -0
  148. package/front_end/panels/application/indexedDBViews.css +38 -9
  149. package/front_end/panels/application/preloading/components/RuleSetDetailsView.ts +2 -2
  150. package/front_end/panels/application/preloading/helper/PreloadingForward.ts +2 -1
  151. package/front_end/panels/application/storageView.css +26 -9
  152. package/front_end/panels/browser_debugger/XHRBreakpointsSidebarPane.ts +5 -1
  153. package/front_end/panels/browser_debugger/browser_debugger-meta.ts +8 -6
  154. package/front_end/panels/common/DOMLinkifier.ts +1 -1
  155. package/front_end/panels/common/ExtensionServer.ts +119 -14
  156. package/front_end/panels/console/ConsoleContextSelector.ts +1 -1
  157. package/front_end/panels/console/ConsolePinPane.ts +2 -2
  158. package/front_end/panels/console/ConsolePrompt.ts +2 -2
  159. package/front_end/panels/console/ConsoleView.ts +3 -2
  160. package/front_end/panels/console/PromptBuilder.ts +2 -1
  161. package/front_end/panels/console/SymbolizedErrorWidget.ts +2 -1
  162. package/front_end/panels/console_counters/WarningErrorCounter.ts +2 -2
  163. package/front_end/panels/coverage/CoverageListView.ts +28 -28
  164. package/front_end/panels/coverage/CoverageModel.ts +2 -1
  165. package/front_end/panels/coverage/CoverageView.ts +22 -22
  166. package/front_end/panels/coverage/coverage-meta.ts +5 -5
  167. package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +36 -36
  168. package/front_end/panels/css_overview/CSSOverviewProcessingView.ts +1 -1
  169. package/front_end/panels/css_overview/CSSOverviewSidebarPanel.ts +2 -2
  170. package/front_end/panels/css_overview/CSSOverviewStartView.ts +6 -6
  171. package/front_end/panels/css_overview/CSSOverviewUnusedDeclarations.ts +6 -6
  172. package/front_end/panels/css_overview/css_overview-meta.ts +2 -2
  173. package/front_end/panels/developer_resources/DeveloperResourcesListView.ts +1 -1
  174. package/front_end/panels/elements/AccessibilityTreeUtils.ts +8 -102
  175. package/front_end/panels/elements/AccessibilityTreeView.ts +163 -70
  176. package/front_end/panels/elements/ElementsPanel.ts +17 -11
  177. package/front_end/panels/elements/ElementsTreeElement.ts +4 -1
  178. package/front_end/panels/elements/ElementsTreeOutline.ts +4 -4
  179. package/front_end/panels/elements/LayoutPane.ts +1 -1
  180. package/front_end/panels/elements/MetricsSidebarPane.ts +100 -34
  181. package/front_end/panels/elements/StylePropertiesSection.ts +2 -2
  182. package/front_end/panels/elements/StylePropertyTreeElement.ts +8 -2
  183. package/front_end/panels/elements/StylesSidebarPane.ts +1 -1
  184. package/front_end/panels/elements/components/AccessibilityTreeNode.ts +7 -18
  185. package/front_end/panels/elements/components/ElementsBreadcrumbs.ts +2 -2
  186. package/front_end/panels/elements/components/QueryContainer.ts +1 -1
  187. package/front_end/panels/emulation/DeviceModeView.ts +52 -70
  188. package/front_end/panels/issues/AffectedDirectivesView.ts +1 -1
  189. package/front_end/panels/issues/AffectedResourcesView.ts +2 -1
  190. package/front_end/panels/issues/IssueView.ts +0 -2
  191. package/front_end/panels/issues/IssuesPane.ts +1 -8
  192. package/front_end/panels/js_timeline/js_timeline-meta.ts +3 -2
  193. package/front_end/panels/layer_viewer/LayerViewHost.ts +1 -1
  194. package/front_end/panels/linear_memory_inspector/LinearMemoryInspectorController.ts +3 -3
  195. package/front_end/panels/linear_memory_inspector/LinearMemoryInspectorPane.ts +5 -5
  196. package/front_end/panels/linear_memory_inspector/components/LinearMemoryHighlightChipList.ts +4 -4
  197. package/front_end/panels/linear_memory_inspector/components/LinearMemoryInspector.ts +2 -2
  198. package/front_end/panels/linear_memory_inspector/components/LinearMemoryNavigator.ts +6 -6
  199. package/front_end/panels/linear_memory_inspector/components/LinearMemoryValueInterpreter.ts +3 -3
  200. package/front_end/panels/linear_memory_inspector/components/ValueInterpreterDisplay.ts +8 -9
  201. package/front_end/panels/linear_memory_inspector/components/ValueInterpreterDisplayUtils.ts +2 -2
  202. package/front_end/panels/linear_memory_inspector/components/ValueInterpreterSettings.ts +1 -1
  203. package/front_end/panels/linear_memory_inspector/linear_memory_inspector-meta.ts +2 -2
  204. package/front_end/panels/network/NetworkDataGridNode.ts +124 -36
  205. package/front_end/panels/network/NetworkLogView.ts +9 -1
  206. package/front_end/panels/network/NetworkLogViewColumns.ts +18 -0
  207. package/front_end/panels/network/NetworkPanel.ts +2 -1
  208. package/front_end/panels/network/RequestPayloadView.ts +68 -20
  209. package/front_end/panels/network/RequestPreviewView.ts +7 -1
  210. package/front_end/panels/network/RequestTimingView.ts +95 -127
  211. package/front_end/panels/network/components/ResponseHeaderSection.ts +1 -1
  212. package/front_end/panels/network/forward/UIFilter.ts +1 -0
  213. package/front_end/panels/network/requestPayloadView.css +10 -0
  214. package/front_end/panels/performance_monitor/PerformanceMonitor.ts +12 -12
  215. package/front_end/panels/performance_monitor/performance_monitor-meta.ts +7 -7
  216. package/front_end/panels/profiler/HeapDetachedElementsView.ts +2 -2
  217. package/front_end/panels/profiler/HeapProfileView.ts +563 -51
  218. package/front_end/panels/profiler/HeapSnapshotView.ts +14 -9
  219. package/front_end/panels/profiler/ProfilesPanel.ts +13 -7
  220. package/front_end/panels/profiler/WritableProfileHeader.ts +152 -0
  221. package/front_end/panels/profiler/profiler.ts +2 -2
  222. package/front_end/panels/recorder/{components/ControlButton.ts → ControlButton.ts} +9 -10
  223. package/front_end/panels/recorder/{components/CreateRecordingView.ts → CreateRecordingView.ts} +59 -58
  224. package/front_end/panels/recorder/ExtensionView.ts +123 -0
  225. package/front_end/panels/recorder/RecorderController.ts +102 -92
  226. package/front_end/panels/recorder/{components/RecordingListView.ts → RecordingListView.ts} +22 -23
  227. package/front_end/panels/recorder/{components/RecordingView.ts → RecordingView.ts} +99 -96
  228. package/front_end/panels/recorder/{components/ReplaySection.ts → ReplaySection.ts} +20 -20
  229. package/front_end/panels/recorder/{components/SelectorPicker.ts → SelectorPicker.ts} +13 -13
  230. package/front_end/panels/recorder/{components/StepEditor.ts → StepEditor.ts} +367 -336
  231. package/front_end/panels/recorder/{components/StepView.ts → StepView.ts} +48 -49
  232. package/front_end/panels/recorder/{components/TimelineSection.ts → TimelineSection.ts} +2 -2
  233. package/front_end/panels/recorder/models/RecorderSettings.ts +2 -2
  234. package/front_end/panels/recorder/recorder-meta.ts +7 -7
  235. package/front_end/panels/recorder/recorder.ts +23 -1
  236. package/front_end/panels/recorder/{components/recordingView.css → recordingView.css} +1 -1
  237. package/front_end/panels/recorder/util/util.ts +113 -0
  238. package/front_end/panels/screencast/ScreencastApp.ts +1 -1
  239. package/front_end/panels/screencast/ScreencastView.ts +12 -12
  240. package/front_end/panels/search/SearchResultsPane.ts +4 -4
  241. package/front_end/panels/search/SearchView.ts +20 -20
  242. package/front_end/panels/security/SecurityModel.ts +7 -7
  243. package/front_end/panels/security/SecurityPanel.ts +99 -107
  244. package/front_end/panels/security/SecurityPanelSidebar.ts +7 -7
  245. package/front_end/panels/security/security-meta.ts +2 -2
  246. package/front_end/panels/sensors/LocationsSettingsTab.ts +19 -19
  247. package/front_end/panels/sensors/SensorsView.ts +27 -27
  248. package/front_end/panels/sensors/sensors-meta.ts +13 -167
  249. package/front_end/panels/settings/AISettingsTab.ts +98 -56
  250. package/front_end/panels/settings/EditFileSystemView.ts +2 -2
  251. package/front_end/panels/settings/FrameworkIgnoreListSettingsTab.ts +20 -20
  252. package/front_end/panels/settings/KeybindsSettingsTab.ts +20 -21
  253. package/front_end/panels/settings/SettingsScreen.ts +11 -11
  254. package/front_end/panels/settings/WorkspaceSettingsTab.ts +5 -5
  255. package/front_end/panels/settings/components/SyncSection.ts +12 -12
  256. package/front_end/panels/settings/emulation/DevicesSettingsTab.ts +13 -13
  257. package/front_end/panels/settings/emulation/components/UserAgentClientHintsForm.ts +31 -31
  258. package/front_end/panels/settings/emulation/emulation-meta.ts +1 -1
  259. package/front_end/panels/settings/settings-meta.ts +14 -14
  260. package/front_end/panels/sources/InplaceFormatterEditorAction.ts +2 -2
  261. package/front_end/panels/sources/NavigatorView.ts +7 -6
  262. package/front_end/panels/sources/ScopeChainSidebarPane.ts +83 -37
  263. package/front_end/panels/sources/SourcesNavigator.ts +22 -21
  264. package/front_end/panels/sources/SourcesView.ts +10 -1
  265. package/front_end/panels/sources/TabbedEditorContainer.ts +1 -1
  266. package/front_end/panels/sources/scopeChainSidebarPane.css +12 -4
  267. package/front_end/panels/sources/sources-meta.ts +4 -4
  268. package/front_end/panels/timeline/CompatibilityTracksAppender.ts +5 -2
  269. package/front_end/panels/timeline/IsolateSelector.ts +10 -8
  270. package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +2 -1
  271. package/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.ts +2 -1
  272. package/front_end/panels/timeline/TimelineFlameChartView.ts +1 -1
  273. package/front_end/panels/timeline/TimelinePanel.ts +20 -8
  274. package/front_end/panels/timeline/TimelineUIUtils.ts +149 -131
  275. package/front_end/panels/timeline/components/NetworkRequestDetails.ts +4 -2
  276. package/front_end/panels/timeline/components/NetworkRequestTooltip.ts +4 -2
  277. package/front_end/panels/timeline/components/insights/ImageRef.ts +2 -1
  278. package/front_end/panels/timeline/timeline-meta.ts +3 -2
  279. package/front_end/panels/utils/utils.ts +7 -3
  280. package/front_end/panels/web_audio/WebAudioView.ts +17 -18
  281. package/front_end/panels/web_audio/web_audio-meta.ts +3 -3
  282. package/front_end/panels/whats_new/ReleaseNoteView.ts +1 -1
  283. package/front_end/panels/whats_new/whats_new-meta.ts +11 -11
  284. package/front_end/third_party/chromium/README.chromium +1 -1
  285. package/front_end/third_party/lit/lib/async-directive.d.ts +2 -1
  286. package/front_end/third_party/lit/lib/async-directive.js +1 -1
  287. package/front_end/third_party/lit/lib/async-directive.js.map +1 -1
  288. package/front_end/third_party/lit/lib/decorators.d.ts +2 -1
  289. package/front_end/third_party/lit/lib/decorators.js.map +1 -1
  290. package/front_end/third_party/lit/lib/directive.d.ts +2 -1
  291. package/front_end/third_party/lit/lib/directive.js.map +1 -1
  292. package/front_end/third_party/lit/lib/directives.d.ts +2 -1
  293. package/front_end/third_party/lit/lib/directives.js +8 -8
  294. package/front_end/third_party/lit/lib/directives.js.map +1 -1
  295. package/front_end/third_party/lit/lib/lit.d.ts +2 -1
  296. package/front_end/third_party/lit/lib/lit.js +1 -1
  297. package/front_end/third_party/lit/lib/lit.js.map +1 -1
  298. package/front_end/third_party/lit/lib/static-html.d.ts +2 -1
  299. package/front_end/third_party/lit/lib/static-html.js +1 -1
  300. package/front_end/third_party/lit/lib/static-html.js.map +1 -1
  301. package/front_end/third_party/lit/package.json +2 -2
  302. package/front_end/third_party/lit/rebuild.sh +1 -1
  303. package/front_end/third_party/lit/src/async-directive.ts +5 -0
  304. package/front_end/ui/components/dialogs/Dialog.ts +1 -1
  305. package/front_end/ui/components/dialogs/ShortcutDialog.ts +1 -1
  306. package/front_end/ui/components/diff_view/DiffView.ts +2 -2
  307. package/front_end/ui/components/issue_counter/IssueCounter.ts +3 -3
  308. package/front_end/ui/components/issue_counter/IssueLinkIcon.ts +5 -5
  309. package/front_end/ui/components/lists/List.ts +2 -2
  310. package/front_end/ui/components/panel_feedback/PreviewToggle.ts +1 -1
  311. package/front_end/ui/components/request_link_icon/RequestLinkIcon.ts +5 -5
  312. package/front_end/ui/components/settings/SettingCheckbox.ts +1 -1
  313. package/front_end/ui/components/snackbars/Snackbar.ts +1 -1
  314. package/front_end/ui/components/survey_link/SurveyLink.ts +3 -3
  315. package/front_end/ui/components/text_editor/config.ts +2 -2
  316. package/front_end/ui/components/tree_outline/TreeOutline.ts +34 -1
  317. package/front_end/ui/legacy/ReportView.ts +5 -0
  318. package/front_end/ui/legacy/Treeoutline.ts +6 -0
  319. package/front_end/ui/legacy/View.ts +1 -1
  320. package/front_end/ui/legacy/Widget.ts +14 -15
  321. package/front_end/ui/legacy/components/data_grid/DataGrid.ts +2 -0
  322. package/front_end/ui/legacy/components/data_grid/DataGridElement.ts +8 -3
  323. package/front_end/ui/legacy/components/data_grid/data_grid.ts +1 -0
  324. package/front_end/ui/legacy/components/object_ui/ObjectPopoverHelper.ts +1 -1
  325. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +106 -38
  326. package/front_end/ui/legacy/components/source_frame/ResourceSourceFrame.ts +7 -1
  327. package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +2 -1
  328. package/front_end/ui/legacy/components/utils/ImagePreview.ts +4 -2
  329. package/front_end/ui/legacy/components/utils/JSPresentationUtils.ts +10 -1
  330. package/front_end/ui/legacy/inspectorCommon.css +5 -0
  331. package/front_end/ui/visual_logging/KnownContextValues.ts +3 -0
  332. package/mcp/mcp.ts +2 -0
  333. package/package.json +4 -4
  334. package/front_end/models/issues_manager/AttributionReportingIssue.ts +0 -247
  335. package/front_end/models/issues_manager/descriptions/arInsecureContext.md +0 -7
  336. package/front_end/models/issues_manager/descriptions/arInvalidInfoHeader.md +0 -5
  337. package/front_end/models/issues_manager/descriptions/arInvalidRegisterOsSourceHeader.md +0 -5
  338. package/front_end/models/issues_manager/descriptions/arInvalidRegisterOsTriggerHeader.md +0 -5
  339. package/front_end/models/issues_manager/descriptions/arInvalidRegisterSourceHeader.md +0 -5
  340. package/front_end/models/issues_manager/descriptions/arInvalidRegisterTriggerHeader.md +0 -5
  341. package/front_end/models/issues_manager/descriptions/arNavigationRegistrationUniqueScopeAlreadySet.md +0 -5
  342. package/front_end/models/issues_manager/descriptions/arNavigationRegistrationWithoutTransientUserActivation.md +0 -6
  343. package/front_end/models/issues_manager/descriptions/arNoRegisterOsSourceHeader.md +0 -5
  344. package/front_end/models/issues_manager/descriptions/arNoRegisterOsTriggerHeader.md +0 -5
  345. package/front_end/models/issues_manager/descriptions/arNoRegisterSourceHeader.md +0 -5
  346. package/front_end/models/issues_manager/descriptions/arNoRegisterTriggerHeader.md +0 -5
  347. package/front_end/models/issues_manager/descriptions/arNoWebOrOsSupport.md +0 -4
  348. package/front_end/models/issues_manager/descriptions/arOsSourceIgnored.md +0 -18
  349. package/front_end/models/issues_manager/descriptions/arOsTriggerIgnored.md +0 -19
  350. package/front_end/models/issues_manager/descriptions/arPermissionPolicyDisabled.md +0 -8
  351. package/front_end/models/issues_manager/descriptions/arSourceAndTriggerHeaders.md +0 -9
  352. package/front_end/models/issues_manager/descriptions/arSourceIgnored.md +0 -13
  353. package/front_end/models/issues_manager/descriptions/arTriggerIgnored.md +0 -12
  354. package/front_end/models/issues_manager/descriptions/arUntrustworthyReportingOrigin.md +0 -10
  355. package/front_end/models/issues_manager/descriptions/arWebAndOsHeaders.md +0 -11
  356. package/front_end/panels/issues/AttributionReportingIssueDetailsView.ts +0 -182
  357. package/front_end/panels/profiler/ProfileView.ts +0 -611
  358. package/front_end/panels/recorder/components/ExtensionView.ts +0 -132
  359. package/front_end/panels/recorder/components/components.ts +0 -25
  360. package/front_end/panels/recorder/components/util.ts +0 -116
  361. /package/front_end/panels/recorder/{components/controlButton.css → controlButton.css} +0 -0
  362. /package/front_end/panels/recorder/{components/createRecordingView.css → createRecordingView.css} +0 -0
  363. /package/front_end/panels/recorder/{components/extensionView.css → extensionView.css} +0 -0
  364. /package/front_end/panels/recorder/{components/recordingListView.css → recordingListView.css} +0 -0
  365. /package/front_end/panels/recorder/{components/replaySection.css → replaySection.css} +0 -0
  366. /package/front_end/panels/recorder/{components/selectorPicker.css → selectorPicker.css} +0 -0
  367. /package/front_end/panels/recorder/{components/startView.css → startView.css} +0 -0
  368. /package/front_end/panels/recorder/{components/stepEditor.css → stepEditor.css} +0 -0
  369. /package/front_end/panels/recorder/{components/stepView.css → stepView.css} +0 -0
  370. /package/front_end/panels/recorder/{components/timelineSection.css → timelineSection.css} +0 -0
@@ -47,6 +47,7 @@ import * as Bindings from '../../models/bindings/bindings.js';
47
47
  import * as TextUtils from '../../models/text_utils/text_utils.js';
48
48
  import * as Trace from '../../models/trace/trace.js';
49
49
  import * as SourceMapsResolver from '../../models/trace_source_maps_resolver/trace_source_maps_resolver.js';
50
+ import * as Workspace from '../../models/workspace/workspace.js';
50
51
  import * as TraceBounds from '../../services/trace_bounds/trace_bounds.js';
51
52
  import * as Tracing from '../../services/tracing/tracing.js';
52
53
  import * as CodeHighlighter from '../../ui/components/code_highlighter/code_highlighter.js';
@@ -516,8 +517,8 @@ export class TimelineUIUtils {
516
517
  return functionName;
517
518
  }
518
519
 
519
- static testContentMatching(
520
- traceEvent: Trace.Types.Events.Event, regExp: RegExp, handlerData?: Trace.Handlers.Types.HandlerData): boolean {
520
+ static testContentMatching(traceEvent: Trace.Types.Events.Event, regExp: RegExp,
521
+ handlerData?: Trace.Handlers.Types.HandlerData): boolean {
521
522
  const title = TimelineUIUtils.eventStyle(traceEvent).title;
522
523
  const tokens = [title];
523
524
 
@@ -640,9 +641,9 @@ export class TimelineUIUtils {
640
641
  return frame.scriptId !== '0' && !(frame.url?.startsWith('native '));
641
642
  }
642
643
 
643
- static async buildDetailsNodeForTraceEvent(
644
- event: Trace.Types.Events.Event, target: SDK.Target.Target|null, linkifier: LegacyComponents.Linkifier.Linkifier,
645
- isFreshOrEnhanced = false, parsedTrace: Trace.TraceModel.ParsedTrace): Promise<Node|null> {
644
+ static async buildDetailsNodeForTraceEvent(event: Trace.Types.Events.Event, target: SDK.Target.Target|null,
645
+ linkifier: LegacyComponents.Linkifier.Linkifier, isFreshOrEnhanced = false,
646
+ parsedTrace: Trace.TraceModel.ParsedTrace): Promise<Node|null> {
646
647
  let details: HTMLElement|HTMLSpanElement|(Element | null)|Text|null = null;
647
648
  let detailsText;
648
649
  // TODO(40287735): update this code with type-safe data checks.
@@ -767,15 +768,15 @@ export class TimelineUIUtils {
767
768
  omitOrigin,
768
769
  };
769
770
  if (isFreshOrEnhanced) {
770
- return linkifier.linkifyScriptLocation(
771
- target, scriptId, url as Platform.DevToolsPath.UrlString, lineNumber, options);
771
+ return linkifier.linkifyScriptLocation(target, scriptId, url as Platform.DevToolsPath.UrlString, lineNumber,
772
+ options);
772
773
  }
773
774
  return LegacyComponents.Linkifier.Linkifier.linkifyURL(url as Platform.DevToolsPath.UrlString, options);
774
775
  }
775
776
 
776
- static linkifyTopCallFrame(
777
- event: Trace.Types.Events.Event, target: SDK.Target.Target|null, linkifier: LegacyComponents.Linkifier.Linkifier,
778
- isFreshOrEnhanced = false, maxLength?: number): Element|null {
777
+ static linkifyTopCallFrame(event: Trace.Types.Events.Event, target: SDK.Target.Target|null,
778
+ linkifier: LegacyComponents.Linkifier.Linkifier, isFreshOrEnhanced = false,
779
+ maxLength?: number): Element|null {
779
780
  let frame = Trace.Helpers.Trace.getZeroIndexedStackTraceInEventPayload(event)?.[0];
780
781
  if (Trace.Types.Events.isProfileCall(event)) {
781
782
  frame = event.callFrame;
@@ -831,29 +832,28 @@ export class TimelineUIUtils {
831
832
  return div;
832
833
  }
833
834
 
834
- static buildConsumeCacheDetails(
835
- eventData: {
836
- consumedCacheSize?: number,
837
- cacheRejected?: boolean,
838
- cacheKind?: string,
839
- },
840
- contentHelper: TimelineDetailsContentHelper): void {
835
+ static buildConsumeCacheDetails(eventData: {
836
+ consumedCacheSize?: number,
837
+ cacheRejected?: boolean,
838
+ cacheKind?: string,
839
+ },
840
+ contentHelper: TimelineDetailsContentHelper): void {
841
841
  if (typeof eventData.consumedCacheSize === 'number') {
842
- contentHelper.appendTextRow(
843
- i18nString(UIStrings.compilationCacheStatus), i18nString(UIStrings.scriptLoadedFromCache));
844
- contentHelper.appendTextRow(
845
- i18nString(UIStrings.compilationCacheSize), i18n.ByteUtilities.bytesToString(eventData.consumedCacheSize));
842
+ contentHelper.appendTextRow(i18nString(UIStrings.compilationCacheStatus),
843
+ i18nString(UIStrings.scriptLoadedFromCache));
844
+ contentHelper.appendTextRow(i18nString(UIStrings.compilationCacheSize),
845
+ i18n.ByteUtilities.bytesToString(eventData.consumedCacheSize));
846
846
  const cacheKind = eventData.cacheKind;
847
847
  if (cacheKind) {
848
848
  contentHelper.appendTextRow(i18nString(UIStrings.compilationCacheKind), cacheKind);
849
849
  }
850
850
  } else if ('cacheRejected' in eventData && eventData['cacheRejected']) {
851
851
  // Version mismatch or similar.
852
- contentHelper.appendTextRow(
853
- i18nString(UIStrings.compilationCacheStatus), i18nString(UIStrings.failedToLoadScriptFromCache));
852
+ contentHelper.appendTextRow(i18nString(UIStrings.compilationCacheStatus),
853
+ i18nString(UIStrings.failedToLoadScriptFromCache));
854
854
  } else {
855
- contentHelper.appendTextRow(
856
- i18nString(UIStrings.compilationCacheStatus), i18nString(UIStrings.scriptNotEligibleToBeLoadedFromCache));
855
+ contentHelper.appendTextRow(i18nString(UIStrings.compilationCacheStatus),
856
+ i18nString(UIStrings.scriptNotEligibleToBeLoadedFromCache));
857
857
  }
858
858
  }
859
859
 
@@ -969,8 +969,8 @@ export class TimelineUIUtils {
969
969
  event,
970
970
  parsedTrace,
971
971
  );
972
- contentHelper.appendTextRow(
973
- i18nString(UIStrings.timestamp), i18n.TimeUtilities.preciseMillisToString(adjustedEventTimeStamp, 1));
972
+ contentHelper.appendTextRow(i18nString(UIStrings.timestamp),
973
+ i18n.TimeUtilities.preciseMillisToString(adjustedEventTimeStamp, 1));
974
974
  }
975
975
 
976
976
  // Only show total time and self time for events with non-zero durations.
@@ -1005,16 +1005,16 @@ export class TimelineUIUtils {
1005
1005
  if (url) {
1006
1006
  contentHelper.appendElementRow(i18nString(UIStrings.url), LegacyComponents.Linkifier.Linkifier.linkifyURL(url));
1007
1007
  }
1008
- contentHelper.appendElementRow(
1009
- i18nString(UIStrings.details), TimelineUIUtils.buildDetailsNodeForMarkerEvents(event));
1008
+ contentHelper.appendElementRow(i18nString(UIStrings.details),
1009
+ TimelineUIUtils.buildDetailsNodeForMarkerEvents(event));
1010
1010
  }
1011
1011
 
1012
1012
  if (Trace.Types.Events.isV8Compile(event)) {
1013
1013
  url = event.args.data?.url as Platform.DevToolsPath.UrlString;
1014
1014
  if (url) {
1015
1015
  const {lineNumber, columnNumber} = Trace.Helpers.Trace.getZeroIndexedLineAndColumnForEvent(event);
1016
- contentHelper.appendLocationRow(
1017
- i18nString(UIStrings.script), url, lineNumber || 0, columnNumber, undefined, true);
1016
+ contentHelper.appendLocationRow(i18nString(UIStrings.script), url, lineNumber || 0, columnNumber, undefined,
1017
+ true);
1018
1018
  const originWithEntity = this.getOriginWithEntity(entityMapper, parsedTrace, event);
1019
1019
  if (originWithEntity) {
1020
1020
  contentHelper.appendElementRow(i18nString(UIStrings.origin), originWithEntity);
@@ -1027,9 +1027,8 @@ export class TimelineUIUtils {
1027
1027
  }
1028
1028
 
1029
1029
  const isStreamed = Boolean(event.args.data?.streamed);
1030
- contentHelper.appendTextRow(
1031
- i18nString(UIStrings.streamed),
1032
- isStreamed + (isStreamed ? '' : `: ${event.args.data?.notStreamedReason || ''}`));
1030
+ contentHelper.appendTextRow(i18nString(UIStrings.streamed),
1031
+ isStreamed + (isStreamed ? '' : `: ${event.args.data?.notStreamedReason || ''}`));
1033
1032
  if (event.args.data) {
1034
1033
  TimelineUIUtils.buildConsumeCacheDetails(event.args.data, contentHelper);
1035
1034
  }
@@ -1069,8 +1068,7 @@ export class TimelineUIUtils {
1069
1068
  }
1070
1069
  }
1071
1070
 
1072
- const isFreshOrEnhanced =
1073
- Boolean(parsedTrace && Tracing.FreshRecording.Tracker.instance().recordingIsFreshOrEnhanced(parsedTrace));
1071
+ const isFreshOrEnhanced = Tracing.FreshRecording.Tracker.instance().recordingIsFreshOrEnhanced(parsedTrace);
1074
1072
 
1075
1073
  switch (event.name) {
1076
1074
  case Trace.Types.Events.Name.GC:
@@ -1083,15 +1081,15 @@ export class TimelineUIUtils {
1083
1081
 
1084
1082
  case Trace.Types.Events.Name.PROFILE_CALL: {
1085
1083
  const profileCall = event as Trace.Types.Events.SyntheticProfileCall;
1086
- const resolvedURL = SourceMapsResolver.SourceMapsResolver.resolvedURLForEntry(parsedTrace, profileCall);
1084
+ const resolvedURL = SourceMapsResolver.SourceMapsResolver.resolvedURLForEntry(
1085
+ parsedTrace, profileCall, Workspace.Workspace.WorkspaceImpl.instance());
1087
1086
  if (!resolvedURL) {
1088
1087
  break;
1089
1088
  }
1090
1089
  const callFrame = profileCall.callFrame;
1091
1090
  // Render the URL with its location content.
1092
- contentHelper.appendLocationRow(
1093
- i18nString(UIStrings.source), resolvedURL, callFrame.lineNumber || 0, callFrame.columnNumber, undefined,
1094
- true);
1091
+ contentHelper.appendLocationRow(i18nString(UIStrings.source), resolvedURL, callFrame.lineNumber || 0,
1092
+ callFrame.columnNumber, undefined, true);
1095
1093
  const originWithEntity = this.getOriginWithEntity(entityMapper, parsedTrace, profileCall);
1096
1094
  if (originWithEntity) {
1097
1095
  contentHelper.appendElementRow(i18nString(UIStrings.origin), originWithEntity);
@@ -1119,8 +1117,8 @@ export class TimelineUIUtils {
1119
1117
  contentHelper.appendTextRow(i18nString(UIStrings.timerId), unsafeEventData.timerId);
1120
1118
 
1121
1119
  if (event.name === Trace.Types.Events.Name.TIMER_INSTALL) {
1122
- contentHelper.appendTextRow(
1123
- i18nString(UIStrings.timeout), i18n.TimeUtilities.millisToString(unsafeEventData['timeout']));
1120
+ contentHelper.appendTextRow(i18nString(UIStrings.timeout),
1121
+ i18n.TimeUtilities.millisToString(unsafeEventData['timeout']));
1124
1122
  contentHelper.appendTextRow(i18nString(UIStrings.repeats), !unsafeEventData['singleShot']);
1125
1123
  }
1126
1124
  break;
@@ -1128,8 +1126,8 @@ export class TimelineUIUtils {
1128
1126
 
1129
1127
  case Trace.Types.Events.Name.SCHEDULE_POST_TASK_CALLBACK:
1130
1128
  case Trace.Types.Events.Name.RUN_POST_TASK_CALLBACK: {
1131
- contentHelper.appendTextRow(
1132
- i18nString(UIStrings.delay), i18n.TimeUtilities.millisToString(unsafeEventData['delay']));
1129
+ contentHelper.appendTextRow(i18nString(UIStrings.delay),
1130
+ i18n.TimeUtilities.millisToString(unsafeEventData['delay']));
1133
1131
  contentHelper.appendTextRow(i18nString(UIStrings.priority), unsafeEventData['priority']);
1134
1132
  break;
1135
1133
  }
@@ -1150,9 +1148,8 @@ export class TimelineUIUtils {
1150
1148
 
1151
1149
  case Trace.Types.Events.Name.CACHE_MODULE: {
1152
1150
  url = unsafeEventData && unsafeEventData['url'] as Platform.DevToolsPath.UrlString;
1153
- contentHelper.appendTextRow(
1154
- i18nString(UIStrings.compilationCacheSize),
1155
- i18n.ByteUtilities.bytesToString(unsafeEventData['producedCacheSize']));
1151
+ contentHelper.appendTextRow(i18nString(UIStrings.compilationCacheSize),
1152
+ i18n.ByteUtilities.bytesToString(unsafeEventData['producedCacheSize']));
1156
1153
  break;
1157
1154
  }
1158
1155
 
@@ -1160,17 +1157,16 @@ export class TimelineUIUtils {
1160
1157
  url = unsafeEventData && unsafeEventData['url'] as Platform.DevToolsPath.UrlString;
1161
1158
  if (url) {
1162
1159
  const {lineNumber, columnNumber} = Trace.Helpers.Trace.getZeroIndexedLineAndColumnForEvent(event);
1163
- contentHelper.appendLocationRow(
1164
- i18nString(UIStrings.script), url, lineNumber || 0, columnNumber, undefined, true);
1160
+ contentHelper.appendLocationRow(i18nString(UIStrings.script), url, lineNumber || 0, columnNumber, undefined,
1161
+ true);
1165
1162
  const originWithEntity = this.getOriginWithEntity(entityMapper, parsedTrace, event);
1166
1163
  if (originWithEntity) {
1167
1164
  contentHelper.appendElementRow(i18nString(UIStrings.origin), originWithEntity);
1168
1165
  }
1169
1166
  entityAppended = true;
1170
1167
  }
1171
- contentHelper.appendTextRow(
1172
- i18nString(UIStrings.compilationCacheSize),
1173
- i18n.ByteUtilities.bytesToString(unsafeEventData['producedCacheSize']));
1168
+ contentHelper.appendTextRow(i18nString(UIStrings.compilationCacheSize),
1169
+ i18n.ByteUtilities.bytesToString(unsafeEventData['producedCacheSize']));
1174
1170
  break;
1175
1171
  }
1176
1172
 
@@ -1178,8 +1174,8 @@ export class TimelineUIUtils {
1178
1174
  url = unsafeEventData && unsafeEventData['url'] as Platform.DevToolsPath.UrlString;
1179
1175
  if (url) {
1180
1176
  const {lineNumber, columnNumber} = Trace.Helpers.Trace.getZeroIndexedLineAndColumnForEvent(event);
1181
- contentHelper.appendLocationRow(
1182
- i18nString(UIStrings.script), url, lineNumber || 0, columnNumber, undefined, true);
1177
+ contentHelper.appendLocationRow(i18nString(UIStrings.script), url, lineNumber || 0, columnNumber, undefined,
1178
+ true);
1183
1179
  const originWithEntity = this.getOriginWithEntity(entityMapper, parsedTrace, event);
1184
1180
  if (originWithEntity) {
1185
1181
  contentHelper.appendElementRow(i18nString(UIStrings.origin), originWithEntity);
@@ -1230,8 +1226,8 @@ export class TimelineUIUtils {
1230
1226
  tabStop: true,
1231
1227
  showColumnNumber: false,
1232
1228
  };
1233
- contentHelper.appendElementRow(
1234
- i18nString(UIStrings.imageUrl), LegacyComponents.Linkifier.Linkifier.linkifyURL(url, options));
1229
+ contentHelper.appendElementRow(i18nString(UIStrings.imageUrl),
1230
+ LegacyComponents.Linkifier.Linkifier.linkifyURL(url, options));
1235
1231
  }
1236
1232
  break;
1237
1233
  }
@@ -1243,8 +1239,8 @@ export class TimelineUIUtils {
1243
1239
  tabStop: true,
1244
1240
  showColumnNumber: false,
1245
1241
  };
1246
- contentHelper.appendElementRow(
1247
- i18nString(UIStrings.stylesheetUrl), LegacyComponents.Linkifier.Linkifier.linkifyURL(url, options));
1242
+ contentHelper.appendElementRow(i18nString(UIStrings.stylesheetUrl),
1243
+ LegacyComponents.Linkifier.Linkifier.linkifyURL(url, options));
1248
1244
  }
1249
1245
  break;
1250
1246
  }
@@ -1321,8 +1317,8 @@ export class TimelineUIUtils {
1321
1317
  // The failureReasons can be empty when Blink added a new failure reason that is
1322
1318
  // not supported by DevTools yet
1323
1319
  if (failureReasons.size === 0) {
1324
- contentHelper.appendElementRow(
1325
- i18nString(UIStrings.compositingFailed), i18nString(UIStrings.compositingFailedUnknownReason), true);
1320
+ contentHelper.appendElementRow(i18nString(UIStrings.compositingFailed),
1321
+ i18nString(UIStrings.compositingFailedUnknownReason), true);
1326
1322
  } else {
1327
1323
  for (const reason of failureReasons) {
1328
1324
  let str;
@@ -1411,9 +1407,8 @@ export class TimelineUIUtils {
1411
1407
 
1412
1408
  // @ts-expect-error Fall-through intended.
1413
1409
  case Trace.Types.Events.Name.FIRE_IDLE_CALLBACK: {
1414
- contentHelper.appendTextRow(
1415
- i18nString(UIStrings.allottedTime),
1416
- i18n.TimeUtilities.millisToString(unsafeEventData['allottedMilliseconds']));
1410
+ contentHelper.appendTextRow(i18nString(UIStrings.allottedTime),
1411
+ i18n.TimeUtilities.millisToString(unsafeEventData['allottedMilliseconds']));
1417
1412
  contentHelper.appendTextRow(i18nString(UIStrings.invokedByTimeout), unsafeEventData['timedOut']);
1418
1413
  }
1419
1414
 
@@ -1422,9 +1417,8 @@ export class TimelineUIUtils {
1422
1417
  contentHelper.appendTextRow(i18nString(UIStrings.callbackId), unsafeEventData['id']);
1423
1418
 
1424
1419
  if (Trace.Types.Events.isRequestIdleCallback(event)) {
1425
- contentHelper.appendTextRow(
1426
- i18nString(UIStrings.requestIdleCallbackTimeout),
1427
- i18n.TimeUtilities.preciseMillisToString(event.args.data.timeout));
1420
+ contentHelper.appendTextRow(i18nString(UIStrings.requestIdleCallbackTimeout),
1421
+ i18n.TimeUtilities.preciseMillisToString(event.args.data.timeout));
1428
1422
  }
1429
1423
  break;
1430
1424
  }
@@ -1451,12 +1445,12 @@ export class TimelineUIUtils {
1451
1445
  parsedTrace,
1452
1446
  );
1453
1447
 
1454
- contentHelper.appendTextRow(
1455
- i18nString(UIStrings.timestamp), i18n.TimeUtilities.preciseMillisToString(adjustedEventTimeStamp, 1));
1448
+ contentHelper.appendTextRow(i18nString(UIStrings.timestamp),
1449
+ i18n.TimeUtilities.preciseMillisToString(adjustedEventTimeStamp, 1));
1456
1450
 
1457
1451
  if (Trace.Types.Events.isMarkerEvent(event)) {
1458
- contentHelper.appendElementRow(
1459
- i18nString(UIStrings.details), TimelineUIUtils.buildDetailsNodeForMarkerEvents(event));
1452
+ contentHelper.appendElementRow(i18nString(UIStrings.details),
1453
+ TimelineUIUtils.buildDetailsNodeForMarkerEvents(event));
1460
1454
  }
1461
1455
 
1462
1456
  break;
@@ -1580,15 +1574,14 @@ export class TimelineUIUtils {
1580
1574
  return highlightContainer;
1581
1575
  }
1582
1576
 
1583
- static stackTraceFromCallFrames(callFrames: Protocol.Runtime.CallFrame[]|Trace.Types.Events.CallFrame[]):
1584
- Protocol.Runtime.StackTrace {
1577
+ static stackTraceFromCallFrames(callFrames: Protocol.Runtime.CallFrame[]|
1578
+ Trace.Types.Events.CallFrame[]): Protocol.Runtime.StackTrace {
1585
1579
  return {callFrames} as Protocol.Runtime.StackTrace;
1586
1580
  }
1587
1581
 
1588
1582
  /** This renders a stack trace... and other cool stuff. */
1589
- static async generateCauses(
1590
- event: Trace.Types.Events.Event, contentHelper: TimelineDetailsContentHelper,
1591
- parsedTrace: Trace.TraceModel.ParsedTrace): Promise<void> {
1583
+ static async generateCauses(event: Trace.Types.Events.Event, contentHelper: TimelineDetailsContentHelper,
1584
+ parsedTrace: Trace.TraceModel.ParsedTrace): Promise<void> {
1592
1585
  const {startTime} = Trace.Helpers.Timing.eventTimingsMilliSeconds(event);
1593
1586
  let initiatorStackLabel = i18nString(UIStrings.initiatorStackTrace);
1594
1587
  await contentHelper.appendFunctionStackTraceSection(event, parsedTrace);
@@ -1620,8 +1613,9 @@ export class TimelineUIUtils {
1620
1613
  // and the time since the initiator (Pending For).
1621
1614
  const stackTrace = Trace.Helpers.Trace.getZeroIndexedStackTraceInEventPayload(initiator);
1622
1615
  if (stackTrace) {
1623
- const traceElement =
1624
- await contentHelper.createChildStackTraceElement(TimelineUIUtils.stackTraceFromCallFrames(stackTrace));
1616
+ const isFreshOrEnhanced = Tracing.FreshRecording.Tracker.instance().recordingIsFreshOrEnhanced(parsedTrace);
1617
+ const traceElement = await contentHelper.createChildStackTraceElement(
1618
+ TimelineUIUtils.stackTraceFromCallFrames(stackTrace), isFreshOrEnhanced);
1625
1619
  contentHelper.appendSectionWithBodyIfExists(initiatorStackLabel, {body: traceElement});
1626
1620
  }
1627
1621
 
@@ -1699,9 +1693,8 @@ export class TimelineUIUtils {
1699
1693
  return link;
1700
1694
  }
1701
1695
 
1702
- private static async generateInvalidationsList(
1703
- invalidations: Trace.Types.Events.InvalidationTrackingEvent[],
1704
- contentHelper: TimelineDetailsContentHelper): Promise<void> {
1696
+ private static async generateInvalidationsList(invalidations: Trace.Types.Events.InvalidationTrackingEvent[],
1697
+ contentHelper: TimelineDetailsContentHelper): Promise<void> {
1705
1698
  const {groupedByReason, backendNodeIds} = TimelineComponents.DetailsView.generateInvalidationsList(invalidations);
1706
1699
 
1707
1700
  let relatedNodesMap: Map<number, SDK.DOMModel.DOMNode|null>|null = null;
@@ -1716,9 +1709,10 @@ export class TimelineUIUtils {
1716
1709
  });
1717
1710
  }
1718
1711
 
1719
- private static generateInvalidationsForReason(
1720
- reason: string, invalidations: Trace.Types.Events.InvalidationTrackingEvent[],
1721
- relatedNodesMap: Map<number, SDK.DOMModel.DOMNode|null>|null, contentHelper: TimelineDetailsContentHelper): void {
1712
+ private static generateInvalidationsForReason(reason: string,
1713
+ invalidations: Trace.Types.Events.InvalidationTrackingEvent[],
1714
+ relatedNodesMap: Map<number, SDK.DOMModel.DOMNode|null>|null,
1715
+ contentHelper: TimelineDetailsContentHelper): void {
1722
1716
  function createLinkForInvalidationNode(invalidation: Trace.Types.Events.InvalidationTrackingEvent):
1723
1717
  HTMLSpanElement {
1724
1718
  const node = (invalidation.args.data.nodeId && relatedNodesMap) ?
@@ -1757,10 +1751,9 @@ export class TimelineUIUtils {
1757
1751
 
1758
1752
  const niceNodeLink = createLinkForInvalidationNode(invalidation);
1759
1753
 
1760
- const text = scriptLink ?
1761
- uiI18n.getFormatLocalizedString(
1762
- str_, UIStrings.invalidationWithCallFrame, {PH1: niceNodeLink, PH2: scriptLink}) as HTMLElement :
1763
- niceNodeLink;
1754
+ const text = scriptLink ? uiI18n.getFormatLocalizedString(str_, UIStrings.invalidationWithCallFrame,
1755
+ {PH1: niceNodeLink, PH2: scriptLink}) as HTMLElement :
1756
+ niceNodeLink;
1764
1757
 
1765
1758
  // Sometimes we can get different Invalidation events which cause
1766
1759
  // the same text for the same element for the same reason to be
@@ -1778,9 +1771,8 @@ export class TimelineUIUtils {
1778
1771
  }
1779
1772
 
1780
1773
  /** Populates the passed object then returns true/false if it makes sense to show the pie chart */
1781
- private static aggregatedStatsForTraceEvent(
1782
- total: TimeRangeCategoryStats, parsedTrace: Trace.TraceModel.ParsedTrace,
1783
- event: Trace.Types.Events.Event): boolean {
1774
+ private static aggregatedStatsForTraceEvent(total: TimeRangeCategoryStats, parsedTrace: Trace.TraceModel.ParsedTrace,
1775
+ event: Trace.Types.Events.Event): boolean {
1784
1776
  const node = parsedTrace.data.Renderer.entryToNode.get(event);
1785
1777
  if (!node) {
1786
1778
  return false;
@@ -1829,9 +1821,8 @@ export class TimelineUIUtils {
1829
1821
  return true;
1830
1822
  }
1831
1823
 
1832
- static async buildPicturePreviewContent(
1833
- parsedTrace: Trace.TraceModel.ParsedTrace, event: Trace.Types.Events.Paint,
1834
- target: SDK.Target.Target): Promise<Element|null> {
1824
+ static async buildPicturePreviewContent(parsedTrace: Trace.TraceModel.ParsedTrace, event: Trace.Types.Events.Paint,
1825
+ target: SDK.Target.Target): Promise<Element|null> {
1835
1826
  const snapshotEvent = parsedTrace.data.LayerTree.paintsToSnapshots.get(event);
1836
1827
  if (!snapshotEvent) {
1837
1828
  return null;
@@ -1888,8 +1879,8 @@ export class TimelineUIUtils {
1888
1879
  const {startTime: eventStartTime} = Trace.Helpers.Timing.eventTimingsMilliSeconds(event);
1889
1880
 
1890
1881
  const startTime = i18n.TimeUtilities.millisToString(eventStartTime - zeroTime);
1891
- UI.Tooltip.Tooltip.install(
1892
- eventDivider, i18nString(UIStrings.sAtS, {PH1: TimelineUIUtils.eventTitle(event), PH2: startTime}));
1882
+ UI.Tooltip.Tooltip.install(eventDivider,
1883
+ i18nString(UIStrings.sAtS, {PH1: TimelineUIUtils.eventTitle(event), PH2: startTime}));
1893
1884
  const style = TimelineUIUtils.markerStyleForEvent(event);
1894
1885
  if (style.tall) {
1895
1886
  eventDivider.style.backgroundColor = style.color;
@@ -1907,9 +1898,8 @@ export class TimelineUIUtils {
1907
1898
  return Trace.Styles.getCategoryStyles();
1908
1899
  }
1909
1900
 
1910
- static generatePieChart(
1911
- aggregatedStats: TimeRangeCategoryStats, selfCategory?: Trace.Styles.TimelineCategory,
1912
- selfTime?: Trace.Types.Timing.Micro): Element {
1901
+ static generatePieChart(aggregatedStats: TimeRangeCategoryStats, selfCategory?: Trace.Styles.TimelineCategory,
1902
+ selfTime?: Trace.Types.Timing.Micro): Element {
1913
1903
  let total = 0;
1914
1904
  for (const categoryName in aggregatedStats) {
1915
1905
  total += aggregatedStats[categoryName];
@@ -1981,9 +1971,9 @@ export class TimelineUIUtils {
1981
1971
  return element;
1982
1972
  }
1983
1973
 
1984
- static generateDetailsContentForFrame(
1985
- frame: Trace.Types.Events.LegacyTimelineFrame, filmStrip: Trace.Extras.FilmStrip.Data|null,
1986
- filmStripFrame: Trace.Extras.FilmStrip.Frame|null): DocumentFragment {
1974
+ static generateDetailsContentForFrame(frame: Trace.Types.Events.LegacyTimelineFrame,
1975
+ filmStrip: Trace.Extras.FilmStrip.Data|null,
1976
+ filmStripFrame: Trace.Extras.FilmStrip.Frame|null): DocumentFragment {
1987
1977
  const contentHelper = new TimelineDetailsContentHelper(null, null);
1988
1978
  contentHelper.addSection(i18nString(UIStrings.frame));
1989
1979
 
@@ -2034,10 +2024,10 @@ export class TimelineUIUtils {
2034
2024
  const green = 'hsl(90,100%,40%)';
2035
2025
  const purple = 'hsl(256,100%,75%)';
2036
2026
  eventDispatchDesciptors = [
2037
- new EventDispatchTypeDescriptor(
2038
- 1, lightOrange, ['mousemove', 'mouseenter', 'mouseleave', 'mouseout', 'mouseover']),
2039
- new EventDispatchTypeDescriptor(
2040
- 1, lightOrange, ['pointerover', 'pointerout', 'pointerenter', 'pointerleave', 'pointermove']),
2027
+ new EventDispatchTypeDescriptor(1, lightOrange,
2028
+ ['mousemove', 'mouseenter', 'mouseleave', 'mouseout', 'mouseover']),
2029
+ new EventDispatchTypeDescriptor(1, lightOrange,
2030
+ ['pointerover', 'pointerout', 'pointerenter', 'pointerleave', 'pointermove']),
2041
2031
  new EventDispatchTypeDescriptor(2, green, ['wheel']),
2042
2032
  new EventDispatchTypeDescriptor(3, orange, ['click', 'mousedown', 'mouseup']),
2043
2033
  new EventDispatchTypeDescriptor(3, orange, ['touchstart', 'touchend', 'touchmove', 'touchcancel']),
@@ -2119,17 +2109,16 @@ export class TimelineUIUtils {
2119
2109
 
2120
2110
  static colorForId(id: string): string {
2121
2111
  if (!colorGenerator) {
2122
- colorGenerator = new Common.Color.Generator(
2123
- {
2124
- min: 30,
2125
- max: 330,
2126
- },
2127
- {
2128
- min: 50,
2129
- max: 80,
2130
- count: 3,
2131
- },
2132
- 85);
2112
+ colorGenerator = new Common.Color.Generator({
2113
+ min: 30,
2114
+ max: 330,
2115
+ },
2116
+ {
2117
+ min: 50,
2118
+ max: 80,
2119
+ count: 3,
2120
+ },
2121
+ 85);
2133
2122
  colorGenerator.setColorForID('', '#f2ecdc');
2134
2123
  }
2135
2124
  return colorGenerator.colorForID(id);
@@ -2141,10 +2130,10 @@ export class TimelineUIUtils {
2141
2130
  frame.url.slice(0, trimAt);
2142
2131
  }
2143
2132
 
2144
- static getOriginWithEntity(
2145
- entityMapper: Trace.EntityMapper.EntityMapper|null, parsedTrace: Trace.TraceModel.ParsedTrace,
2146
- event: Trace.Types.Events.Event): string|null {
2147
- const resolvedURL = SourceMapsResolver.SourceMapsResolver.resolvedURLForEntry(parsedTrace, event);
2133
+ static getOriginWithEntity(entityMapper: Trace.EntityMapper.EntityMapper|null,
2134
+ parsedTrace: Trace.TraceModel.ParsedTrace, event: Trace.Types.Events.Event): string|null {
2135
+ const resolvedURL = SourceMapsResolver.SourceMapsResolver.resolvedURLForEntry(
2136
+ parsedTrace, event, Workspace.Workspace.WorkspaceImpl.instance());
2148
2137
  if (!resolvedURL) {
2149
2138
  return null;
2150
2139
  }
@@ -2179,6 +2168,26 @@ export class EventDispatchTypeDescriptor {
2179
2168
  }
2180
2169
  }
2181
2170
 
2171
+ /**
2172
+ * When loading a trace file (non-fresh recording), the scriptIds in the trace
2173
+ * are from the recorded page and are guaranteed to collide with scriptIds of
2174
+ * the currently active inspected page. We strip them from the stack trace
2175
+ * to force the stack trace rendering machinery to fall back to URL-based resolution
2176
+ * instead of incorrectly matching the active page's script IDs.
2177
+ */
2178
+ export function stripScriptIds(stackTrace: Protocol.Runtime.StackTrace): Protocol.Runtime.StackTrace {
2179
+ const callFrames = stackTrace.callFrames.map(frame => ({
2180
+ ...frame,
2181
+ scriptId: '' as Protocol.Runtime.ScriptId,
2182
+ }));
2183
+ const parent = stackTrace.parent ? stripScriptIds(stackTrace.parent) : undefined;
2184
+ return {
2185
+ ...stackTrace,
2186
+ callFrames,
2187
+ parent,
2188
+ };
2189
+ }
2190
+
2182
2191
  export class TimelineDetailsContentHelper {
2183
2192
  fragment: DocumentFragment;
2184
2193
  #linkifier: LegacyComponents.Linkifier.Linkifier|null;
@@ -2257,7 +2266,8 @@ export class TimelineDetailsContentHelper {
2257
2266
  if (!stackTraceForEvent) {
2258
2267
  return;
2259
2268
  }
2260
- const traceElement = await this.createChildStackTraceElement(stackTraceForEvent);
2269
+ const isFreshOrEnhanced = Tracing.FreshRecording.Tracker.instance().recordingIsFreshOrEnhanced(parsedTrace);
2270
+ const traceElement = await this.createChildStackTraceElement(stackTraceForEvent, isFreshOrEnhanced);
2261
2271
  this.appendSectionWithBodyIfExists(i18nString(UIStrings.functionStack), {body: traceElement});
2262
2272
  }
2263
2273
 
@@ -2290,8 +2300,8 @@ export class TimelineDetailsContentHelper {
2290
2300
  }
2291
2301
  }
2292
2302
 
2293
- appendLocationRow(
2294
- title: string, url: string, startLine: number, startColumn?: number, text?: string, omitOrigin?: boolean): void {
2303
+ appendLocationRow(title: string, url: string, startLine: number, startColumn?: number, text?: string,
2304
+ omitOrigin?: boolean): void {
2295
2305
  if (!this.#linkifier) {
2296
2306
  return;
2297
2307
  }
@@ -2303,8 +2313,8 @@ export class TimelineDetailsContentHelper {
2303
2313
  text,
2304
2314
  omitOrigin,
2305
2315
  };
2306
- const link = this.#linkifier.maybeLinkifyScriptLocation(
2307
- this.target, null, url as Platform.DevToolsPath.UrlString, startLine, options);
2316
+ const link = this.#linkifier.maybeLinkifyScriptLocation(this.target, null, url as Platform.DevToolsPath.UrlString,
2317
+ startLine, options);
2308
2318
  if (!link) {
2309
2319
  return;
2310
2320
  }
@@ -2321,8 +2331,8 @@ export class TimelineDetailsContentHelper {
2321
2331
  return;
2322
2332
  }
2323
2333
  locationContent.appendChild(link);
2324
- UI.UIUtils.createTextChild(
2325
- locationContent, Platform.StringUtilities.sprintf(' [%s…%s]', startLine + 1, (endLine || 0) + 1 || ''));
2334
+ UI.UIUtils.createTextChild(locationContent,
2335
+ Platform.StringUtilities.sprintf(' [%s…%s]', startLine + 1, (endLine || 0) + 1 || ''));
2326
2336
  this.appendElementRow(title, locationContent);
2327
2337
  }
2328
2338
 
@@ -2330,7 +2340,10 @@ export class TimelineDetailsContentHelper {
2330
2340
  * Creates a stack trace element for the given trace, but checks if it
2331
2341
  * contains any entries, and discards it if it's empty.
2332
2342
  */
2333
- async createChildStackTraceElement(runtimeStackTrace: Protocol.Runtime.StackTrace): Promise<HTMLElement|null> {
2343
+ async createChildStackTraceElement(
2344
+ runtimeStackTrace: Protocol.Runtime.StackTrace,
2345
+ isFreshOrEnhanced?: boolean,
2346
+ ): Promise<HTMLElement|null> {
2334
2347
  // Fallback to the main page/root target. Maybe the main page has a source map we need.
2335
2348
  // Worst case the stack is identity mapped.
2336
2349
  const targetManager = SDK.TargetManager.TargetManager.instance();
@@ -2339,9 +2352,14 @@ export class TimelineDetailsContentHelper {
2339
2352
  return null;
2340
2353
  }
2341
2354
 
2355
+ // If the trace is non-fresh and not enhanced, this means that any active
2356
+ // sourcemaps are not related to the trace, and therefore we do not want to
2357
+ // use them.
2358
+ const stackTraceToUse = isFreshOrEnhanced ? runtimeStackTrace : stripScriptIds(runtimeStackTrace);
2359
+
2342
2360
  const stackTrace =
2343
2361
  await Bindings.DebuggerWorkspaceBinding.DebuggerWorkspaceBinding.instance().createStackTraceFromProtocolRuntime(
2344
- runtimeStackTrace, target);
2362
+ stackTraceToUse, target);
2345
2363
  const callFrameContents = new LegacyComponents.JSPresentationUtils.StackTracePreviewContent();
2346
2364
  callFrameContents.options = {tabStops: true, showColumnNumber: true};
2347
2365
  callFrameContents.stackTrace = stackTrace;
@@ -2430,8 +2448,8 @@ export function isMarkerEvent(parsedTrace: Trace.TraceModel.ParsedTrace, event:
2430
2448
  return false;
2431
2449
  }
2432
2450
 
2433
- function getEventSelfTime(
2434
- event: Trace.Types.Events.Event, parsedTrace: Trace.TraceModel.ParsedTrace): Trace.Types.Timing.Micro {
2451
+ function getEventSelfTime(event: Trace.Types.Events.Event,
2452
+ parsedTrace: Trace.TraceModel.ParsedTrace): Trace.Types.Timing.Micro {
2435
2453
  const mapToUse = Trace.Types.Extensions.isSyntheticExtensionEntry(event) ?
2436
2454
  parsedTrace.data.ExtensionTraceData.entryToNode :
2437
2455
  parsedTrace.data.Renderer.entryToNode;
@@ -4,6 +4,7 @@
4
4
 
5
5
  import '../../../ui/components/request_link_icon/request_link_icon.js';
6
6
 
7
+ import * as Common from '../../../core/common/common.js';
7
8
  import * as i18n from '../../../core/i18n/i18n.js';
8
9
  import type * as Platform from '../../../core/platform/platform.js';
9
10
  import * as SDK from '../../../core/sdk/sdk.js';
@@ -157,7 +158,7 @@ export class NetworkRequestDetails extends UI.Widget.Widget {
157
158
  // while this feature is experimental, to enable easier trials.
158
159
  if (headerName === 'server-timing' || headerName === 'server-timing-test') {
159
160
  header.name = 'server-timing';
160
- this.#serverTimings = SDK.ServerTiming.ServerTiming.parseHeaders([header]);
161
+ this.#serverTimings = SDK.ServerTiming.ServerTiming.parseHeaders([header], Common.Console.Console.instance());
161
162
  break;
162
163
  }
163
164
  }
@@ -273,7 +274,8 @@ function renderURL(request: Trace.Types.Events.SyntheticNetworkRequest): Lit.Tem
273
274
  request.args.data.url as Platform.DevToolsPath.UrlString, options);
274
275
 
275
276
  // Potentially link to request within Network Panel
276
- const networkRequest = SDK.TraceObject.RevealableNetworkRequest.create(request);
277
+ const networkRequest =
278
+ SDK.TraceObject.RevealableNetworkRequest.create(SDK.TargetManager.TargetManager.instance(), request);
277
279
  if (networkRequest) {
278
280
  linkifiedURL.addEventListener('contextmenu', (event: MouseEvent) => {
279
281
  const contextMenu = new UI.ContextMenu.ContextMenu(event);
@@ -172,7 +172,8 @@ export class NetworkRequestTooltip extends UI.Widget.Widget {
172
172
  backgroundColor: color,
173
173
  };
174
174
 
175
- const sdkNetworkRequest = SDK.TraceObject.RevealableNetworkRequest.create(networkRequest);
175
+ const sdkNetworkRequest =
176
+ SDK.TraceObject.RevealableNetworkRequest.create(SDK.TargetManager.TargetManager.instance(), networkRequest);
176
177
  const wasThrottled = sdkNetworkRequest &&
177
178
  SDK.NetworkManager.MultitargetNetworkManager.instance().appliedRequestConditions(
178
179
  sdkNetworkRequest.networkRequest);
@@ -253,7 +254,8 @@ export class NetworkRequestTooltip extends UI.Widget.Widget {
253
254
  }
254
255
 
255
256
  // TODO(crbug.com/466124088): Seems broken.
256
- const sdkNetworkRequest = SDK.TraceObject.RevealableNetworkRequest.create(this.#networkRequest);
257
+ const sdkNetworkRequest = SDK.TraceObject.RevealableNetworkRequest.create(
258
+ SDK.TargetManager.TargetManager.instance(), this.#networkRequest);
257
259
  const networkConditions = sdkNetworkRequest &&
258
260
  SDK.NetworkManager.MultitargetNetworkManager.instance().appliedRequestConditions(
259
261
  sdkNetworkRequest.networkRequest);