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
@@ -15,17 +15,17 @@ import {type LazyUint8Array, LinearMemoryInspectorController} from './LinearMemo
15
15
 
16
16
  const UIStrings = {
17
17
  /**
18
- * @description Label in the Linear Memory inspector tool that serves as a placeholder if no inspections are open (i.e. nothing to see here).
19
- * Inspection hereby refers to viewing, navigating and understanding the memory through this tool.
18
+ * @description Label in the Memory inspector panel that serves as a placeholder if no inspections are open (i.e., nothing to see here).
19
+ * Inspection here refers to viewing, navigating, and understanding the memory through this panel.
20
20
  */
21
21
  noOpenInspections: 'No open inspections',
22
22
  /**
23
- * @description Label in the Linear Memory inspector tool that serves as a placeholder if no inspections are open (i.e. nothing to see here).
24
- * Inspection hereby refers to viewing, navigating and understanding the memory through this tool.
23
+ * @description Label in the Memory inspector panel that serves as a placeholder if no inspections are open (i.e., nothing to see here).
24
+ * Inspection here refers to viewing, navigating, and understanding the memory through this panel.
25
25
  */
26
26
  memoryInspectorExplanation: 'On this page you can inspect binary data.',
27
27
  /**
28
- * @description Label in the Linear Memory inspector tool for a link.
28
+ * @description Label in the Memory inspector panel for a link.
29
29
  */
30
30
  learnMore: 'Learn more',
31
31
  } as const;
@@ -14,13 +14,13 @@ import type {HighlightInfo} from './LinearMemoryViewerUtils.js';
14
14
 
15
15
  const UIStrings = {
16
16
  /**
17
- * @description Tooltip text that appears when hovering over an inspected variable's button in the Linear Memory Highlight Chip List.
18
- * Clicking the button changes the displayed slice of computer memory in the Linear Memory inspector to contain the inspected variable's bytes.
17
+ * @description Tooltip text that appears when hovering over an inspected variable's button in the highlight chip list in the Memory inspector panel.
18
+ * Clicking the button changes the displayed slice of computer memory in the Memory inspector panel to contain the inspected variable's bytes.
19
19
  */
20
20
  jumpToAddress: 'Jump to this memory',
21
21
  /**
22
- * @description Tooltip text that appears when hovering over an inspected variable's delete button in the Linear Memory Highlight Chip List.
23
- * Clicking the delete button stops highlighting the variable's memory in the Linear Memory inspector.
22
+ * @description Tooltip text that appears when hovering over an inspected variable's delete button in the highlight chip list in the Memory inspector panel.
23
+ * Clicking the delete button stops highlighting the variable's memory in the Memory inspector panel.
24
24
  * 'Memory' is a slice of bytes in the computer memory.
25
25
  */
26
26
  deleteHighlight: 'Stop highlighting this memory',
@@ -32,11 +32,11 @@ import {
32
32
 
33
33
  const UIStrings = {
34
34
  /**
35
- * @description Tooltip text that appears when hovering over an invalid address in the address line in the Linear memory inspector
35
+ * @description Tooltip text that appears when hovering over an invalid address in the address line in the Memory inspector panel.
36
36
  * @example {0x00000000} PH1
37
37
  * @example {0x00400000} PH2
38
38
  */
39
- addressHasToBeANumberBetweenSAnd: 'Address has to be a number between {PH1} and {PH2}',
39
+ addressHasToBeANumberBetweenSAnd: 'Address must be a number between {PH1} and {PH2}',
40
40
  } as const;
41
41
  const str_ =
42
42
  i18n.i18n.registerUIStrings('panels/linear_memory_inspector/components/LinearMemoryInspector.ts', UIStrings);
@@ -14,27 +14,27 @@ import linearMemoryNavigatorStyles from './linearMemoryNavigator.css.js';
14
14
 
15
15
  const UIStrings = {
16
16
  /**
17
- * @description Tooltip text that appears when hovering over a valid memory address (e.g. 0x0) in the address line in the Linear memory inspector.
17
+ * @description Tooltip text that appears when hovering over a valid memory address (for example, 0x0) in the address line in the Memory inspector panel.
18
18
  */
19
19
  enterAddress: 'Enter address',
20
20
  /**
21
- * @description Tooltip text that appears when hovering over the button to go back in history in the Linear Memory Navigator
21
+ * @description Tooltip text that appears when hovering over the button to go back in history in the Memory inspector panel.
22
22
  */
23
23
  goBackInAddressHistory: 'Go back in address history',
24
24
  /**
25
- * @description Tooltip text that appears when hovering over the button to go forward in history in the Linear Memory Navigator
25
+ * @description Tooltip text that appears when hovering over the button to go forward in history in the Memory inspector panel.
26
26
  */
27
27
  goForwardInAddressHistory: 'Go forward in address history',
28
28
  /**
29
- * @description Tooltip text that appears when hovering over the page back icon in the Linear Memory Navigator
29
+ * @description Tooltip text that appears when hovering over the page back icon in the Memory inspector panel.
30
30
  */
31
31
  previousPage: 'Previous page',
32
32
  /**
33
- * @description Tooltip text that appears when hovering over the next page icon in the Linear Memory Navigator
33
+ * @description Tooltip text that appears when hovering over the next page icon in the Memory inspector panel.
34
34
  */
35
35
  nextPage: 'Next page',
36
36
  /**
37
- * @description Text to refresh the page
37
+ * @description Tooltip text that appears when hovering over the refresh button in the Memory inspector panel.
38
38
  */
39
39
  refresh: 'Refresh',
40
40
  } as const;
@@ -18,14 +18,14 @@ import {ValueInterpreterSettings} from './ValueInterpreterSettings.js';
18
18
 
19
19
  const UIStrings = {
20
20
  /**
21
- * @description Tooltip text that appears when hovering over the gear button to open and close settings in the Linear memory inspector. These settings
21
+ * @description Tooltip text that appears when hovering over the gear button to open and close settings in the Memory inspector panel. These settings
22
22
  * allow the user to change the value type to view, such as 32-bit Integer, or 32-bit Float.
23
23
  */
24
24
  toggleValueTypeSettings: 'Toggle value type settings',
25
25
  /**
26
- * @description Tooltip text that appears when hovering over the 'Little Endian' or 'Big Endian' setting in the Linear memory inspector.
26
+ * @description Tooltip text that appears when hovering over the Little Endian or Big Endian setting in the Memory inspector panel.
27
27
  */
28
- changeEndianness: 'Change `Endianness`',
28
+ changeEndianness: 'Change endianness',
29
29
  } as const;
30
30
  const str_ =
31
31
  i18n.i18n.registerUIStrings('panels/linear_memory_inspector/components/LinearMemoryValueInterpreter.ts', UIStrings);
@@ -26,27 +26,26 @@ import {
26
26
 
27
27
  const UIStrings = {
28
28
  /**
29
- * @description Tooltip text that appears when hovering over an unsigned interpretation of the memory under the Value Interpreter
29
+ * @description Tooltip text that appears when hovering over an unsigned interpretation of the memory in the value interpreter in the Memory inspector panel.
30
30
  */
31
- unsignedValue: '`Unsigned` value',
31
+ unsignedValue: 'Unsigned value',
32
32
  /**
33
- * @description Tooltip text that appears when hovering over the element to change value type modes of under the Value Interpreter. Value type modes
34
- * are different ways of viewing a certain value, e.g.: 10 (decimal) can be 0xa in hexadecimal mode, or 12 in octal mode.
33
+ * @description Tooltip text that appears when hovering over the element to change value type modes in the value interpreter in the Memory inspector panel. Value type modes
34
+ * are different ways of viewing a certain value, for example: 10 (decimal) can be 0xa in hexadecimal mode, or 12 in octal mode.
35
35
  */
36
36
  changeValueTypeMode: 'Change mode',
37
37
  /**
38
- * @description Tooltip text that appears when hovering over a signed interpretation of the memory under the Value Interpreter
38
+ * @description Tooltip text that appears when hovering over a signed interpretation of the memory in the value interpreter in the Memory inspector panel.
39
39
  */
40
- signedValue: '`Signed` value',
40
+ signedValue: 'Signed value',
41
41
  /**
42
- * @description Tooltip text that appears when hovering over a 'jump-to-address' button that is next to a pointer (32-bit or 64-bit) under the Value Interpreter
42
+ * @description Tooltip text that appears when hovering over a jump-to-address button that is next to a pointer (32-bit or 64-bit) in the value interpreter in the Memory inspector panel.
43
43
  */
44
44
  jumpToPointer: 'Jump to address',
45
45
  /**
46
- * @description Tooltip text that appears when hovering over a 'jump-to-address' button that is next to a pointer (32-bit or 64-bit) with an invalid address under the Value Interpreter.
46
+ * @description Tooltip text that appears when hovering over a jump-to-address button that is next to a pointer (32-bit or 64-bit) with an invalid address in the value interpreter in the Memory inspector panel.
47
47
  */
48
48
  addressOutOfRange: 'Address out of memory range',
49
-
50
49
  } as const;
51
50
  const str_ =
52
51
  i18n.i18n.registerUIStrings('panels/linear_memory_inspector/components/ValueInterpreterDisplay.ts', UIStrings);
@@ -7,8 +7,8 @@ import * as Platform from '../../../core/platform/platform.js';
7
7
 
8
8
  const UIStrings = {
9
9
  /**
10
- * @description Text that is shown in the LinearMemoryInspector if a value could not be correctly formatted
11
- * for the requested mode (e.g. we do not floats to be represented as hexadecimal numbers).
10
+ * @description Text that is shown in the Memory inspector panel if a value cannot be correctly formatted
11
+ * for the requested mode (for example, when a float cannot be represented as a hexadecimal number).
12
12
  * Abbreviation stands for 'not applicable'.
13
13
  */
14
14
  notApplicable: 'N/A',
@@ -15,7 +15,7 @@ const {render, html} = Lit;
15
15
 
16
16
  const UIStrings = {
17
17
  /**
18
- * @description Name of a group of selectable value types that do not fall under integer and floating point value types, e.g. Pointer32. The group appears name appears under the Value Interpreter Settings.
18
+ * @description Name of a group of selectable value types that do not fall under integer and floating point value types (for example, Pointer32). The group name appears in the value interpreter settings in the Memory inspector panel.
19
19
  */
20
20
  otherGroup: 'Other',
21
21
  } as const;
@@ -12,11 +12,11 @@ import type * as LinearMemoryInspector from './linear_memory_inspector.js';
12
12
 
13
13
  const UIStrings = {
14
14
  /**
15
- * @description Title of the Linear Memory inspector tool
15
+ * @description Title of the Memory inspector panel.
16
16
  */
17
17
  memoryInspector: 'Memory inspector',
18
18
  /**
19
- * @description Command for showing the 'Memory inspector' tool
19
+ * @description Command for showing the Memory inspector panel.
20
20
  */
21
21
  showMemoryInspector: 'Show Memory inspector',
22
22
  } as const;
@@ -184,7 +184,7 @@ const UIStrings = {
184
184
  /**
185
185
  * @description Cell title in Network Data Grid Node of the Network panel
186
186
  */
187
- earlyHints: 'early-hints',
187
+ earlyHints: 'Early-hints',
188
188
  /**
189
189
  * @description Text in Network Data Grid Node of the Network panel
190
190
  */
@@ -654,7 +654,7 @@ export class NetworkRequestNode extends NetworkNode {
654
654
  const aRequest = a.requestOrFirstKnownChildRequest();
655
655
  const bRequest = b.requestOrFirstKnownChildRequest();
656
656
  if (!aRequest || !bRequest) {
657
- return !aRequest ? -1 : 1;
657
+ return !aRequest ? !bRequest ? 0 : -1 : 1;
658
658
  }
659
659
  const aRemoteAddress = aRequest.remoteAddress();
660
660
  const bRemoteAddress = bRequest.remoteAddress();
@@ -672,7 +672,7 @@ export class NetworkRequestNode extends NetworkNode {
672
672
  const aRequest = a.requestOrFirstKnownChildRequest();
673
673
  const bRequest = b.requestOrFirstKnownChildRequest();
674
674
  if (!aRequest || !bRequest) {
675
- return !aRequest ? -1 : 1;
675
+ return !aRequest ? !bRequest ? 0 : -1 : 1;
676
676
  }
677
677
  if (bRequest.cached() && !aRequest.cached()) {
678
678
  return 1;
@@ -688,7 +688,7 @@ export class NetworkRequestNode extends NetworkNode {
688
688
  const aRequest = a.requestOrFirstKnownChildRequest();
689
689
  const bRequest = b.requestOrFirstKnownChildRequest();
690
690
  if (!aRequest || !bRequest) {
691
- return !aRequest ? -1 : 1;
691
+ return !aRequest ? !bRequest ? 0 : -1 : 1;
692
692
  }
693
693
 
694
694
  const aRequestNumber = NetworkRequestNode.requestNumber(aRequest);
@@ -701,7 +701,7 @@ export class NetworkRequestNode extends NetworkNode {
701
701
  const aRequest = a.requestOrFirstKnownChildRequest();
702
702
  const bRequest = b.requestOrFirstKnownChildRequest();
703
703
  if (!aRequest || !bRequest) {
704
- return !aRequest ? -1 : 1;
704
+ return !aRequest ? !bRequest ? 0 : -1 : 1;
705
705
  }
706
706
  const aSimpleType = a.displayType();
707
707
  const bSimpleType = b.displayType();
@@ -720,7 +720,7 @@ export class NetworkRequestNode extends NetworkNode {
720
720
  const aRequest = a.requestOrFirstKnownChildRequest();
721
721
  const bRequest = b.requestOrFirstKnownChildRequest();
722
722
  if (!aRequest || !bRequest) {
723
- return !aRequest ? -1 : 1;
723
+ return !aRequest ? !bRequest ? 0 : -1 : 1;
724
724
  }
725
725
  const aHasInitiatorCell = a instanceof NetworkRequestNode && a.initiatorCell;
726
726
  const bHasInitiatorCell = b instanceof NetworkRequestNode && b.initiatorCell;
@@ -744,7 +744,7 @@ export class NetworkRequestNode extends NetworkNode {
744
744
  const aRequest = a.requestOrFirstKnownChildRequest();
745
745
  const bRequest = b.requestOrFirstKnownChildRequest();
746
746
  if (!aRequest || !bRequest) {
747
- return !aRequest ? -1 : 1;
747
+ return !aRequest ? !bRequest ? 0 : -1 : 1;
748
748
  }
749
749
  const aClientSecurityState = aRequest.clientSecurityState();
750
750
  const bClientSecurityState = bRequest.clientSecurityState();
@@ -758,7 +758,7 @@ export class NetworkRequestNode extends NetworkNode {
758
758
  const aRequest = a.requestOrFirstKnownChildRequest();
759
759
  const bRequest = b.requestOrFirstKnownChildRequest();
760
760
  if (!aRequest || !bRequest) {
761
- return !aRequest ? -1 : 1;
761
+ return !aRequest ? !bRequest ? 0 : -1 : 1;
762
762
  }
763
763
  return aRequest.remoteAddressSpace().localeCompare(bRequest.remoteAddressSpace());
764
764
  }
@@ -768,7 +768,7 @@ export class NetworkRequestNode extends NetworkNode {
768
768
  const aRequest = a.requestOrFirstKnownChildRequest();
769
769
  const bRequest = b.requestOrFirstKnownChildRequest();
770
770
  if (!aRequest || !bRequest) {
771
- return !aRequest ? -1 : 1;
771
+ return !aRequest ? !bRequest ? 0 : -1 : 1;
772
772
  }
773
773
  const aScore = aRequest.includedRequestCookies().length;
774
774
  const bScore = bRequest.includedRequestCookies().length;
@@ -781,7 +781,7 @@ export class NetworkRequestNode extends NetworkNode {
781
781
  const aRequest = a.requestOrFirstKnownChildRequest();
782
782
  const bRequest = b.requestOrFirstKnownChildRequest();
783
783
  if (!aRequest || !bRequest) {
784
- return !aRequest ? -1 : 1;
784
+ return !aRequest ? !bRequest ? 0 : -1 : 1;
785
785
  }
786
786
  const aScore = aRequest.responseCookies ? aRequest.responseCookies.length : 0;
787
787
  const bScore = bRequest.responseCookies ? bRequest.responseCookies.length : 0;
@@ -793,7 +793,7 @@ export class NetworkRequestNode extends NetworkNode {
793
793
  const aRequest = a.requestOrFirstKnownChildRequest();
794
794
  const bRequest = b.requestOrFirstKnownChildRequest();
795
795
  if (!aRequest || !bRequest) {
796
- return !aRequest ? -1 : 1;
796
+ return !aRequest ? !bRequest ? 0 : -1 : 1;
797
797
  }
798
798
  const aPriority = aRequest.priority();
799
799
  let aScore: number = aPriority ? PerfUI.NetworkPriorities.networkPriorityWeight(aPriority) : 0;
@@ -810,7 +810,7 @@ export class NetworkRequestNode extends NetworkNode {
810
810
  const aRequest = a.requestOrFirstKnownChildRequest();
811
811
  const bRequest = b.requestOrFirstKnownChildRequest();
812
812
  if (!aRequest || !bRequest) {
813
- return !aRequest ? -1 : 1;
813
+ return !aRequest ? !bRequest ? 0 : -1 : 1;
814
814
  }
815
815
  const aIsAdRelated = aRequest.isAdRelated();
816
816
  const bIsAdRelated = bRequest.isAdRelated();
@@ -823,12 +823,29 @@ export class NetworkRequestNode extends NetworkNode {
823
823
  return aRequest.identityCompare(bRequest);
824
824
  }
825
825
 
826
- static RenderBlockingComparator(a: NetworkNode, b: NetworkNode): number {
826
+ static IsPreloadedComparator(a: NetworkNode, b: NetworkNode): number {
827
827
  const aRequest = a.requestOrFirstKnownChildRequest();
828
828
  const bRequest = b.requestOrFirstKnownChildRequest();
829
+ if (!aRequest && !bRequest) {
830
+ return 0;
831
+ }
829
832
  if (!aRequest || !bRequest) {
830
833
  return !aRequest ? -1 : 1;
831
834
  }
835
+ const aIsPreloaded = aRequest.isLinkPreload();
836
+ const bIsPreloaded = bRequest.isLinkPreload();
837
+ if (aIsPreloaded === bIsPreloaded) {
838
+ return aRequest.identityCompare(bRequest);
839
+ }
840
+ return aIsPreloaded ? 1 : -1;
841
+ }
842
+
843
+ static RenderBlockingComparator(a: NetworkNode, b: NetworkNode): number {
844
+ const aRequest = a.requestOrFirstKnownChildRequest();
845
+ const bRequest = b.requestOrFirstKnownChildRequest();
846
+ if (!aRequest || !bRequest) {
847
+ return !aRequest ? !bRequest ? 0 : -1 : 1;
848
+ }
832
849
  const order = [
833
850
  Protocol.Network.RenderBlockingBehavior.InBodyParserBlocking,
834
851
  Protocol.Network.RenderBlockingBehavior.Blocking,
@@ -842,6 +859,55 @@ export class NetworkRequestNode extends NetworkNode {
842
859
  return aOrder - bOrder;
843
860
  }
844
861
 
862
+ static ExecutionContextComparator(a: NetworkNode, b: NetworkNode): number {
863
+ const aRequest = a.requestOrFirstKnownChildRequest();
864
+ const bRequest = b.requestOrFirstKnownChildRequest();
865
+ if (!aRequest || !bRequest) {
866
+ return !aRequest ? !bRequest ? 0 : -1 : 1;
867
+ }
868
+ const aContext = NetworkRequestNode.getExecutionContextDescription(aRequest);
869
+ const bContext = NetworkRequestNode.getExecutionContextDescription(bRequest);
870
+ return aContext.localeCompare(bContext);
871
+ }
872
+
873
+ static getExecutionContextDescription(request: SDK.NetworkRequest.NetworkRequest): string {
874
+ const requestTarget = SDK.NetworkManager.NetworkManager.forRequest(request)?.target();
875
+
876
+ if (requestTarget) {
877
+ const targetType = requestTarget.type();
878
+ if (targetType === SDK.Target.Type.ServiceWorker || targetType === SDK.Target.Type.Worker ||
879
+ targetType === SDK.Target.Type.SHARED_WORKER) {
880
+ const runtimeModel = requestTarget.model(SDK.RuntimeModel.RuntimeModel);
881
+ if (runtimeModel) {
882
+ const defaultContextLabel = runtimeModel.executionContexts().find(c => c.isDefault)?.label();
883
+ if (defaultContextLabel) {
884
+ return defaultContextLabel;
885
+ }
886
+ }
887
+ return requestTarget.name() || '';
888
+ }
889
+ }
890
+
891
+ const frame = SDK.ResourceTreeModel.ResourceTreeModel.frameForRequest(request);
892
+ if (!frame) {
893
+ return '';
894
+ }
895
+
896
+ if (requestTarget) {
897
+ const runtimeModel = requestTarget.model(SDK.RuntimeModel.RuntimeModel);
898
+ if (runtimeModel) {
899
+ const frameContextLabel = runtimeModel.executionContexts()
900
+ .find(context => context.frameId === request.frameId && context.isDefault)
901
+ ?.label();
902
+ if (frameContextLabel) {
903
+ return frameContextLabel;
904
+ }
905
+ }
906
+ }
907
+
908
+ return frame.displayName();
909
+ }
910
+
845
911
  static RequestPropertyComparator(propertyName: string, a: NetworkNode, b: NetworkNode): number {
846
912
  // TODO(crbug.com/1172300) Ignored during the jsdoc to ts migration)
847
913
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -850,7 +916,7 @@ export class NetworkRequestNode extends NetworkNode {
850
916
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
851
917
  const bRequest = (b.requestOrFirstKnownChildRequest() as any);
852
918
  if (!aRequest || !bRequest) {
853
- return !aRequest ? -1 : 1;
919
+ return !aRequest ? !bRequest ? 0 : -1 : 1;
854
920
  }
855
921
  const aValue = aRequest[propertyName];
856
922
  const bValue = bRequest[propertyName];
@@ -864,7 +930,7 @@ export class NetworkRequestNode extends NetworkNode {
864
930
  const aRequest = a.requestOrFirstKnownChildRequest();
865
931
  const bRequest = b.requestOrFirstKnownChildRequest();
866
932
  if (!aRequest || !bRequest) {
867
- return !aRequest ? -1 : 1;
933
+ return !aRequest ? !bRequest ? 0 : -1 : 1;
868
934
  }
869
935
  const aURL = aRequest.url();
870
936
  const bURL = bRequest.url();
@@ -880,7 +946,7 @@ export class NetworkRequestNode extends NetworkNode {
880
946
  const aRequest = a.requestOrFirstKnownChildRequest();
881
947
  const bRequest = b.requestOrFirstKnownChildRequest();
882
948
  if (!aRequest || !bRequest) {
883
- return !aRequest ? -1 : 1;
949
+ return !aRequest ? !bRequest ? 0 : -1 : 1;
884
950
  }
885
951
  // Use the provided callback to get the header value
886
952
  const aValue = String(getHeaderValue(aRequest, propertyName) || '');
@@ -903,7 +969,7 @@ export class NetworkRequestNode extends NetworkNode {
903
969
  const aRequest = a.requestOrFirstKnownChildRequest();
904
970
  const bRequest = b.requestOrFirstKnownChildRequest();
905
971
  if (!aRequest || !bRequest) {
906
- return !aRequest ? -1 : 1;
972
+ return !aRequest ? !bRequest ? 0 : -1 : 1;
907
973
  }
908
974
  const aRawValue = aRequest.responseHeaderValue(propertyName);
909
975
  const aValue = (aRawValue !== undefined) ? parseFloat(aRawValue) : -Infinity;
@@ -920,7 +986,7 @@ export class NetworkRequestNode extends NetworkNode {
920
986
  const aRequest = a.requestOrFirstKnownChildRequest();
921
987
  const bRequest = b.requestOrFirstKnownChildRequest();
922
988
  if (!aRequest || !bRequest) {
923
- return !aRequest ? -1 : 1;
989
+ return !aRequest ? !bRequest ? 0 : -1 : 1;
924
990
  }
925
991
  const aHeader = aRequest.responseHeaderValue(propertyName);
926
992
  const bHeader = bRequest.responseHeaderValue(propertyName);
@@ -936,10 +1002,7 @@ export class NetworkRequestNode extends NetworkNode {
936
1002
  const aRequest = a.requestOrFirstKnownChildRequest();
937
1003
  const bRequest = b.requestOrFirstKnownChildRequest();
938
1004
  if (!aRequest || !bRequest) {
939
- if (!aRequest && !bRequest) {
940
- return 0;
941
- }
942
- return !aRequest ? -1 : 1;
1005
+ return !aRequest ? !bRequest ? 0 : -1 : 1;
943
1006
  }
944
1007
  const aValue = aRequest.overrideTypes.join(', ');
945
1008
  const bValue = bRequest.overrideTypes.join(', ');
@@ -1001,10 +1064,6 @@ export class NetworkRequestNode extends NetworkNode {
1001
1064
  const resourceType = this.requestInternal.resourceType();
1002
1065
  let simpleType = resourceType.name();
1003
1066
 
1004
- if (this.requestInternal.fromEarlyHints()) {
1005
- return i18nString(UIStrings.earlyHints);
1006
- }
1007
-
1008
1067
  if (resourceType === Common.ResourceType.resourceTypes.Other ||
1009
1068
  resourceType === Common.ResourceType.resourceTypes.Image) {
1010
1069
  simpleType = mimeType.replace(/^(application|image)\//, '');
@@ -1038,16 +1097,20 @@ export class NetworkRequestNode extends NetworkNode {
1038
1097
  return this.requestInternal.resourceType() === Common.ResourceType.resourceTypes.Prefetch;
1039
1098
  }
1040
1099
 
1100
+ private isPreload(): boolean {
1101
+ return this.requestInternal.isPreloadRequest();
1102
+ }
1103
+
1041
1104
  throttlingConditions(): SDK.NetworkManager.AppliedNetworkConditions|undefined {
1042
1105
  return SDK.NetworkManager.MultitargetNetworkManager.instance().appliedRequestConditions(this.requestInternal);
1043
1106
  }
1044
1107
 
1045
1108
  override isWarning(): boolean {
1046
- return this.isFailed() && this.isPrefetch();
1109
+ return this.isFailed() && (this.isPrefetch() || this.isPreload());
1047
1110
  }
1048
1111
 
1049
1112
  override isError(): boolean {
1050
- return this.isFailed() && !this.isPrefetch();
1113
+ return this.isFailed() && !this.isPrefetch() && !this.isPreload();
1051
1114
  }
1052
1115
 
1053
1116
  override createCells(trElement: HTMLElement): void {
@@ -1137,6 +1200,10 @@ export class NetworkRequestNode extends NetworkNode {
1137
1200
  this.setTextAndTitle(cell, this.requestInternal.isAdRelated().toLocaleString());
1138
1201
  break;
1139
1202
  }
1203
+ case 'is-preloaded': {
1204
+ this.setTextAndTitle(cell, this.requestInternal.isLinkPreload().toLocaleString());
1205
+ break;
1206
+ }
1140
1207
  case 'render-blocking': {
1141
1208
  this.renderRenderBlockingCell(cell);
1142
1209
  break;
@@ -1207,6 +1274,10 @@ export class NetworkRequestNode extends NetworkNode {
1207
1274
  this.setTextAndTitle(cell, this.requestInternal.overrideTypes.join(', '));
1208
1275
  break;
1209
1276
  }
1277
+ case 'execution-context': {
1278
+ this.renderExecutionContextCell(cell);
1279
+ break;
1280
+ }
1210
1281
  default: {
1211
1282
  const columnConfig = this.dataGrid?.columns[columnId];
1212
1283
  if (columnConfig) {
@@ -1551,9 +1622,17 @@ export class NetworkRequestNode extends NetworkNode {
1551
1622
  }
1552
1623
 
1553
1624
  default: {
1554
- UI.Tooltip.Tooltip.install(cell, i18nString(UIStrings.otherC));
1625
+ // Early hints are not technically an InitiatorType in Chromium but
1626
+ // probably should be (it is in Resource Timing). See:
1627
+ // https://chromium-review.googlesource.com/c/chromium/src/+/5348938/comments/7cf39a37_dae12d06
1628
+ // But to developers it IS the initiator and more useful to know than
1629
+ // the default "other" that otherwise shows for early-hint requests.
1630
+ const initiatorText =
1631
+ request.fromEarlyHints() ? i18nString(UIStrings.earlyHints) : i18nString(UIStrings.otherC);
1632
+
1633
+ UI.Tooltip.Tooltip.install(cell, initiatorText);
1555
1634
  cell.classList.add('network-dim-cell');
1556
- cell.appendChild(document.createTextNode(i18nString(UIStrings.otherC)));
1635
+ cell.appendChild(document.createTextNode(initiatorText));
1557
1636
  }
1558
1637
  }
1559
1638
  }
@@ -1587,18 +1666,22 @@ export class NetworkRequestNode extends NetworkNode {
1587
1666
  }
1588
1667
  UI.Tooltip.Tooltip.install(cell, tooltipText);
1589
1668
  cell.classList.add('network-dim-cell');
1669
+ } else if (this.requestInternal.fetchedViaServiceWorker) {
1670
+ // Checked before the no-matching-route fallback below: a request that
1671
+ // matches no router rule falls back to the fetch handler, so it can
1672
+ // still be fulfilled by the ServiceWorker.
1673
+ UI.UIUtils.createTextChild(cell, i18nString(UIStrings.serviceWorker));
1674
+ UI.Tooltip.Tooltip.install(cell, i18nString(UIStrings.servedFromServiceWorkerResource, {PH1: resourceSize}));
1675
+ cell.classList.add('network-dim-cell');
1590
1676
  } else if (this.requestInternal.serviceWorkerRouterInfo) {
1591
- // ServiceWorker routers are registered, but the request fallbacks to network
1592
- // because no matching router rules found.
1677
+ // ServiceWorker routers are registered, but the request fell back to the
1678
+ // network because no matching router rule was found and the fetch
1679
+ // handler did not provide the response.
1593
1680
  const transferSize = i18n.ByteUtilities.formatBytesToKb(this.requestInternal.transferSize);
1594
1681
  UI.UIUtils.createTextChild(cell, transferSize);
1595
1682
  UI.Tooltip.Tooltip.install(
1596
1683
  cell,
1597
1684
  i18nString(UIStrings.servedFromNetworkMissingServiceWorkerRoute, {PH1: transferSize, PH2: resourceSize}));
1598
- } else if (this.requestInternal.fetchedViaServiceWorker) {
1599
- UI.UIUtils.createTextChild(cell, i18nString(UIStrings.serviceWorker));
1600
- UI.Tooltip.Tooltip.install(cell, i18nString(UIStrings.servedFromServiceWorkerResource, {PH1: resourceSize}));
1601
- cell.classList.add('network-dim-cell');
1602
1685
  } else if (this.requestInternal.redirectSourceSignedExchangeInfoHasNoErrors()) {
1603
1686
  UI.UIUtils.createTextChild(cell, i18n.i18n.lockedString('(signed-exchange)'));
1604
1687
  UI.Tooltip.Tooltip.install(cell, i18nString(UIStrings.servedFromSignedHttpExchange, {PH1: resourceSize}));
@@ -1643,6 +1726,11 @@ export class NetworkRequestNode extends NetworkNode {
1643
1726
  }
1644
1727
  }
1645
1728
 
1729
+ private renderExecutionContextCell(cell: HTMLElement): void {
1730
+ const contextDescription = NetworkRequestNode.getExecutionContextDescription(this.requestInternal);
1731
+ this.setTextAndTitle(cell, contextDescription);
1732
+ }
1733
+
1646
1734
  private appendSubtitle(cellElement: Element, subtitleText: string, alwaysVisible = false, tooltipText = ''): void {
1647
1735
  const subtitleElement = document.createElement('div');
1648
1736
  subtitleElement.classList.add('network-cell-subtitle');
@@ -777,6 +777,10 @@ export class NetworkLogView extends Common.ObjectWrapper.eventMixin<EventTypes,
777
777
  return request.initiatedByServiceWorker();
778
778
  }
779
779
 
780
+ private static linkPreloadRequestFilter(request: SDK.NetworkRequest.NetworkRequest): boolean {
781
+ return request.isLinkPreload();
782
+ }
783
+
780
784
  private static requestResponseHeaderFilter(value: string, request: SDK.NetworkRequest.NetworkRequest): boolean {
781
785
  return request.responseHeaderValue(value) !== undefined;
782
786
  }
@@ -1062,6 +1066,7 @@ export class NetworkLogView extends Common.ObjectWrapper.eventMixin<EventTypes,
1062
1066
  NetworkForward.UIFilter.FilterType.Is, NetworkForward.UIFilter.IsFilterType.SERVICE_WORKER_INTERCEPTED);
1063
1067
  this.suggestionBuilder.addItem(
1064
1068
  NetworkForward.UIFilter.FilterType.Is, NetworkForward.UIFilter.IsFilterType.SERVICE_WORKER_INITIATED);
1069
+ this.suggestionBuilder.addItem(NetworkForward.UIFilter.FilterType.Is, NetworkForward.UIFilter.IsFilterType.PRELOAD);
1065
1070
  this.suggestionBuilder.addItem(NetworkForward.UIFilter.FilterType.LargerThan, '100');
1066
1071
  this.suggestionBuilder.addItem(NetworkForward.UIFilter.FilterType.LargerThan, '10k');
1067
1072
  this.suggestionBuilder.addItem(NetworkForward.UIFilter.FilterType.LargerThan, '1M');
@@ -2083,7 +2088,7 @@ export class NetworkLogView extends Common.ObjectWrapper.eventMixin<EventTypes,
2083
2088
  await Common.Revealer.reveal(requestLocation);
2084
2089
  } else { // If folder for local overrides has not been provided yet
2085
2090
  UI.InspectorView.InspectorView.instance().displaySelectOverrideFolderInfobar(async () => {
2086
- await Sources.SourcesNavigator.OverridesNavigatorView.instance().setupNewWorkspace();
2091
+ await Sources.SourcesNavigator.OverridesNavigatorView.setupNewWorkspace();
2087
2092
  await networkPersistenceManager.getOrCreateHeadersUISourceCodeFromUrl(request.url());
2088
2093
  await Common.Revealer.reveal(requestLocation);
2089
2094
  });
@@ -2207,6 +2212,9 @@ export class NetworkLogView extends Common.ObjectWrapper.eventMixin<EventTypes,
2207
2212
  if (value.toLowerCase() === NetworkForward.UIFilter.IsFilterType.SERVICE_WORKER_INITIATED) {
2208
2213
  return NetworkLogView.initiatedByServiceWorkerFilter;
2209
2214
  }
2215
+ if (value.toLowerCase() === NetworkForward.UIFilter.IsFilterType.PRELOAD) {
2216
+ return NetworkLogView.linkPreloadRequestFilter;
2217
+ }
2210
2218
  break;
2211
2219
 
2212
2220
  case NetworkForward.UIFilter.FilterType.LargerThan:
@@ -161,6 +161,14 @@ const UIStrings = {
161
161
  * @description Text in Network Log View Columns of the Network panel
162
162
  */
163
163
  renderBlocking: 'Render-blocking',
164
+ /**
165
+ * @description Text to show whether a request is preloaded
166
+ */
167
+ isPreloaded: 'Preloaded',
168
+ /**
169
+ * @description Column header in the Network log view of the Network panel
170
+ */
171
+ executionContext: 'Execution context',
164
172
  } as const;
165
173
  const str_ = i18n.i18n.registerUIStrings('panels/network/NetworkLogViewColumns.ts', UIStrings);
166
174
  const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
@@ -1221,6 +1229,16 @@ const DEFAULT_COLUMNS = [
1221
1229
  title: i18nLazyString(UIStrings.renderBlocking),
1222
1230
  sortingFunction: NetworkRequestNode.RenderBlockingComparator,
1223
1231
  },
1232
+ {
1233
+ id: 'is-preloaded',
1234
+ title: i18nLazyString(UIStrings.isPreloaded),
1235
+ sortingFunction: NetworkRequestNode.IsPreloadedComparator,
1236
+ },
1237
+ {
1238
+ id: 'execution-context',
1239
+ title: i18nLazyString(UIStrings.executionContext),
1240
+ sortingFunction: NetworkRequestNode.ExecutionContextComparator,
1241
+ },
1224
1242
  // This header is a placeholder to let datagrid know that it can be sorted by this column, but never shown.
1225
1243
  {
1226
1244
  id: 'waterfall',
@@ -805,7 +805,8 @@ export class NetworkPanel extends UI.Panel.Panel implements
805
805
  return;
806
806
  }
807
807
  if (target instanceof Workspace.UISourceCode.UISourceCode) {
808
- const resource = SDK.ResourceTreeModel.ResourceTreeModel.resourceForURL(target.url());
808
+ const resource = SDK.ResourceTreeModel.ResourceTreeModel.resourceForURL(
809
+ SDK.TargetManager.TargetManager.instance(), target.url());
809
810
  if (resource?.request) {
810
811
  appendRevealItem(resource.request);
811
812
  } else {