chrome-devtools-frontend 1.0.1512147 → 1.0.1513662

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 (337) hide show
  1. package/docs/cookbook/release_management.md +15 -13
  2. package/docs/get_the_code.md +114 -35
  3. package/front_end/Images/src/ai-explorer-badge.svg +114 -0
  4. package/front_end/Images/src/code-whisperer-badge.svg +166 -0
  5. package/front_end/Images/src/devtools-user-badge.svg +129 -0
  6. package/front_end/Images/src/dom-detective-badge.svg +136 -0
  7. package/front_end/Images/src/speedster-badge.svg +166 -0
  8. package/front_end/core/common/Color.ts +40 -44
  9. package/front_end/core/common/Console.ts +4 -4
  10. package/front_end/core/common/ParsedURL.ts +14 -14
  11. package/front_end/core/common/ResourceType.ts +20 -20
  12. package/front_end/core/common/SegmentedRange.ts +13 -14
  13. package/front_end/core/common/Settings.ts +4 -4
  14. package/front_end/core/common/StringOutputStream.ts +4 -4
  15. package/front_end/core/host/GdpClient.ts +76 -2
  16. package/front_end/core/host/InspectorFrontendHost.ts +4 -1
  17. package/front_end/core/host/InspectorFrontendHostAPI.ts +2 -0
  18. package/front_end/core/host/ResourceLoader.ts +2 -2
  19. package/front_end/core/host/UserMetrics.ts +0 -2
  20. package/front_end/core/i18n/NumberFormatter.ts +7 -0
  21. package/front_end/core/protocol_client/InspectorBackend.ts +9 -9
  22. package/front_end/core/root/Runtime.ts +5 -2
  23. package/front_end/core/sdk/AccessibilityModel.ts +48 -48
  24. package/front_end/core/sdk/AnimationModel.ts +78 -79
  25. package/front_end/core/sdk/CPUProfilerModel.ts +5 -5
  26. package/front_end/core/sdk/CPUThrottlingManager.ts +17 -17
  27. package/front_end/core/sdk/CSSMatchedStyles.ts +44 -44
  28. package/front_end/core/sdk/CSSMedia.ts +22 -22
  29. package/front_end/core/sdk/CSSModel.ts +4 -4
  30. package/front_end/core/sdk/CSSProperty.ts +9 -9
  31. package/front_end/core/sdk/CSSPropertyParser.ts +1 -2
  32. package/front_end/core/sdk/CSSRule.ts +3 -3
  33. package/front_end/core/sdk/CSSStyleDeclaration.ts +27 -28
  34. package/front_end/core/sdk/CSSStyleSheetHeader.ts +13 -13
  35. package/front_end/core/sdk/CategorizedBreakpoint.ts +4 -4
  36. package/front_end/core/sdk/ChildTargetManager.ts +6 -6
  37. package/front_end/core/sdk/CompilerSourceMappingContentProvider.ts +4 -4
  38. package/front_end/core/sdk/ConsoleModel.ts +24 -24
  39. package/front_end/core/sdk/Cookie.ts +16 -16
  40. package/front_end/core/sdk/CookieParser.ts +6 -6
  41. package/front_end/core/sdk/DOMDebuggerModel.ts +88 -89
  42. package/front_end/core/sdk/DOMModel.ts +113 -113
  43. package/front_end/core/sdk/DebuggerModel.ts +102 -103
  44. package/front_end/core/sdk/EmulationModel.ts +6 -6
  45. package/front_end/core/sdk/EventBreakpointsModel.ts +5 -5
  46. package/front_end/core/sdk/HeapProfilerModel.ts +5 -5
  47. package/front_end/core/sdk/IsolateManager.ts +26 -26
  48. package/front_end/core/sdk/LayerTreeBase.ts +29 -30
  49. package/front_end/core/sdk/OverlayModel.ts +6 -6
  50. package/front_end/core/sdk/Resource.ts +43 -43
  51. package/front_end/core/sdk/ResourceTreeModel.ts +58 -61
  52. package/front_end/core/sdk/RuntimeModel.ts +12 -13
  53. package/front_end/core/sdk/SDKModel.ts +3 -3
  54. package/front_end/core/sdk/Script.ts +17 -17
  55. package/front_end/core/sdk/SecurityOriginManager.ts +14 -14
  56. package/front_end/core/sdk/ServerTiming.ts +2 -2
  57. package/front_end/core/sdk/ServiceWorkerCacheModel.ts +15 -15
  58. package/front_end/core/sdk/ServiceWorkerManager.ts +19 -24
  59. package/front_end/core/sdk/SourceMap.ts +10 -10
  60. package/front_end/core/sdk/StorageKeyManager.ts +12 -12
  61. package/front_end/core/sdk/Target.ts +33 -34
  62. package/front_end/core/sdk/TargetManager.ts +20 -20
  63. package/front_end/entrypoints/formatter_worker/AcornTokenizer.ts +8 -8
  64. package/front_end/entrypoints/formatter_worker/HTMLFormatter.ts +7 -7
  65. package/front_end/entrypoints/heap_snapshot_worker/AllocationProfile.ts +7 -7
  66. package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshot.ts +24 -24
  67. package/front_end/entrypoints/main/GlobalAiButton.ts +3 -3
  68. package/front_end/entrypoints/main/MainImpl.ts +16 -14
  69. package/front_end/entrypoints/main/main-meta.ts +1 -2
  70. package/front_end/generated/InspectorBackendCommands.js +3 -2
  71. package/front_end/generated/SupportedCSSProperties.js +20 -0
  72. package/front_end/generated/protocol-mapping.d.ts +4 -0
  73. package/front_end/generated/protocol-proxy-api.d.ts +5 -0
  74. package/front_end/generated/protocol.ts +20 -0
  75. package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +18 -35
  76. package/front_end/models/ai_assistance/ai_assistance.ts +1 -1
  77. package/front_end/models/ai_assistance/data_formatters/NetworkRequestFormatter.ts +7 -6
  78. package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.snapshot.txt +246 -119
  79. package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.ts +187 -73
  80. package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.snapshot.txt +106 -100
  81. package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.ts +20 -27
  82. package/front_end/models/ai_assistance/data_formatters/UnitFormatters.ts +151 -0
  83. package/front_end/models/badges/AiExplorerBadge.ts +21 -0
  84. package/front_end/models/badges/Badge.ts +10 -9
  85. package/front_end/models/badges/CodeWhispererBadge.ts +21 -0
  86. package/front_end/models/badges/DOMDetectiveBadge.ts +21 -0
  87. package/front_end/models/badges/SpeedsterBadge.ts +7 -2
  88. package/front_end/models/badges/StarterBadge.ts +6 -1
  89. package/front_end/models/badges/UserBadges.ts +61 -9
  90. package/front_end/models/bindings/CSSWorkspaceBinding.ts +6 -6
  91. package/front_end/models/bindings/DebuggerLanguagePlugins.ts +18 -18
  92. package/front_end/models/bindings/FileUtils.ts +15 -15
  93. package/front_end/models/bindings/ResourceScriptMapping.ts +14 -14
  94. package/front_end/models/elements/ElementUpdateRecord.ts +11 -11
  95. package/front_end/models/emulation/DeviceModeModel.ts +123 -131
  96. package/front_end/models/emulation/EmulatedDevices.ts +22 -22
  97. package/front_end/models/extensions/ExtensionPanel.ts +24 -24
  98. package/front_end/models/extensions/ExtensionServer.ts +4 -4
  99. package/front_end/models/javascript_metadata/NativeFunctions.js +14 -2
  100. package/front_end/models/persistence/IsolatedFileSystem.ts +18 -19
  101. package/front_end/models/persistence/IsolatedFileSystemManager.ts +13 -13
  102. package/front_end/models/trace/EventsSerializer.ts +5 -5
  103. package/front_end/models/trace/LanternComputationData.ts +10 -10
  104. package/front_end/models/trace/ModelImpl.ts +32 -54
  105. package/front_end/models/trace/Processor.ts +28 -30
  106. package/front_end/models/trace/extras/FilmStrip.ts +6 -6
  107. package/front_end/models/trace/extras/StackTraceForEvent.ts +22 -25
  108. package/front_end/models/trace/extras/ThirdParties.ts +16 -17
  109. package/front_end/models/trace/extras/TraceFilter.ts +1 -1
  110. package/front_end/models/trace/handlers/Threads.ts +10 -10
  111. package/front_end/models/trace/handlers/helpers.ts +9 -9
  112. package/front_end/models/trace/handlers/types.ts +3 -3
  113. package/front_end/models/trace/insights/CLSCulprits.ts +12 -14
  114. package/front_end/models/trace/insights/Cache.ts +8 -4
  115. package/front_end/models/trace/insights/DOMSize.ts +8 -5
  116. package/front_end/models/trace/insights/DocumentLatency.ts +2 -2
  117. package/front_end/models/trace/insights/DuplicatedJavaScript.ts +3 -3
  118. package/front_end/models/trace/insights/FontDisplay.ts +3 -4
  119. package/front_end/models/trace/insights/ForcedReflow.ts +3 -3
  120. package/front_end/models/trace/insights/INPBreakdown.ts +2 -2
  121. package/front_end/models/trace/insights/ImageDelivery.ts +11 -11
  122. package/front_end/models/trace/insights/LCPBreakdown.ts +4 -4
  123. package/front_end/models/trace/insights/LCPDiscovery.ts +4 -4
  124. package/front_end/models/trace/insights/LegacyJavaScript.ts +2 -2
  125. package/front_end/models/trace/insights/ModernHTTP.ts +4 -5
  126. package/front_end/models/trace/insights/NetworkDependencyTree.ts +12 -12
  127. package/front_end/models/trace/insights/RenderBlocking.ts +9 -10
  128. package/front_end/models/trace/insights/SlowCSSSelector.ts +2 -2
  129. package/front_end/models/trace/insights/ThirdParties.ts +4 -5
  130. package/front_end/models/trace/insights/Viewport.ts +8 -5
  131. package/front_end/models/trace/insights/types.ts +1 -0
  132. package/front_end/models/trace/lantern/testing/MetricTestUtils.ts +10 -10
  133. package/front_end/panels/accessibility/AXBreadcrumbsPane.ts +52 -52
  134. package/front_end/panels/accessibility/AccessibilitySidebarView.ts +8 -8
  135. package/front_end/panels/animation/AnimationTimeline.ts +5 -5
  136. package/front_end/panels/animation/AnimationUI.ts +22 -23
  137. package/front_end/panels/application/ApplicationPanelSidebar.ts +12 -12
  138. package/front_end/panels/application/DOMStorageModel.ts +23 -23
  139. package/front_end/panels/application/ExtensionStorageModel.ts +31 -31
  140. package/front_end/panels/application/IndexedDBModel.ts +1 -0
  141. package/front_end/panels/application/PreloadingTreeElement.ts +8 -8
  142. package/front_end/panels/application/ServiceWorkersView.ts +0 -53
  143. package/front_end/panels/application/preloading/components/PreloadingDisabledInfobar.ts +2 -2
  144. package/front_end/panels/application/preloading/components/UsedPreloadingView.ts +2 -2
  145. package/front_end/panels/common/BadgeNotification.ts +140 -10
  146. package/front_end/panels/common/GdpSignUpDialog.ts +5 -0
  147. package/front_end/panels/common/badgeNotification.css +30 -9
  148. package/front_end/panels/console/ConsoleContextSelector.ts +9 -9
  149. package/front_end/panels/console/ConsolePrompt.ts +8 -5
  150. package/front_end/panels/console/ConsoleView.ts +13 -13
  151. package/front_end/panels/console/ConsoleViewport.ts +29 -29
  152. package/front_end/panels/coverage/CoverageModel.ts +22 -22
  153. package/front_end/panels/elements/ClassesPaneWidget.ts +1 -1
  154. package/front_end/panels/elements/ComputedStyleModel.ts +17 -18
  155. package/front_end/panels/elements/DOMPath.ts +2 -2
  156. package/front_end/panels/elements/ElementsPanel.ts +13 -13
  157. package/front_end/panels/elements/ElementsTreeElement.ts +30 -18
  158. package/front_end/panels/elements/ElementsTreeOutline.ts +44 -48
  159. package/front_end/panels/elements/ShortcutTreeElement.ts +4 -4
  160. package/front_end/panels/elements/StylePropertiesSection.ts +7 -4
  161. package/front_end/panels/elements/StylePropertyTreeElement.ts +54 -50
  162. package/front_end/panels/elements/StylesSidebarPane.ts +19 -19
  163. package/front_end/panels/emulation/DeviceModeToolbar.ts +7 -7
  164. package/front_end/panels/emulation/DeviceModeView.ts +6 -6
  165. package/front_end/panels/emulation/MediaQueryInspector.ts +18 -18
  166. package/front_end/panels/event_listeners/EventListenersView.ts +13 -14
  167. package/front_end/panels/layer_viewer/LayerTreeOutline.ts +3 -3
  168. package/front_end/panels/layer_viewer/LayerViewHost.ts +13 -13
  169. package/front_end/panels/layer_viewer/PaintProfilerView.ts +9 -10
  170. package/front_end/panels/layer_viewer/TransformController.ts +34 -36
  171. package/front_end/panels/layers/LayerTreeModel.ts +41 -40
  172. package/front_end/panels/lighthouse/LighthouseReportSelector.ts +13 -13
  173. package/front_end/panels/lighthouse/LighthouseStartView.ts +7 -7
  174. package/front_end/panels/media/PlayerMessagesView.ts +5 -5
  175. package/front_end/panels/media/TickingFlameChart.ts +24 -24
  176. package/front_end/panels/media/TickingFlameChartHelpers.ts +32 -32
  177. package/front_end/panels/network/NetworkItemView.ts +4 -4
  178. package/front_end/panels/network/NetworkLogViewColumns.ts +29 -29
  179. package/front_end/panels/network/NetworkPanel.ts +8 -5
  180. package/front_end/panels/network/ResourceWebSocketFrameView.ts +10 -10
  181. package/front_end/panels/profiler/HeapDetachedElementsView.ts +3 -3
  182. package/front_end/panels/profiler/HeapProfileView.ts +1 -1
  183. package/front_end/panels/profiler/ProfileFlameChartDataProvider.ts +3 -4
  184. package/front_end/panels/profiler/ProfileHeader.ts +25 -25
  185. package/front_end/panels/profiler/ProfileLauncherView.ts +5 -6
  186. package/front_end/panels/recorder/components/ReplaySection.ts +3 -1
  187. package/front_end/panels/security/OriginTreeElement.ts +8 -8
  188. package/front_end/panels/security/SecurityPanel.ts +5 -5
  189. package/front_end/panels/settings/SettingsScreen.ts +18 -18
  190. package/front_end/panels/settings/components/SyncSection.ts +26 -8
  191. package/front_end/panels/sources/AiCodeCompletionPlugin.ts +3 -0
  192. package/front_end/panels/sources/DebuggerPausedMessage.ts +8 -9
  193. package/front_end/panels/sources/NavigatorView.ts +43 -46
  194. package/front_end/panels/sources/SourcesPanel.ts +35 -35
  195. package/front_end/panels/sources/SourcesView.ts +13 -13
  196. package/front_end/panels/sources/TabbedEditorContainer.ts +19 -22
  197. package/front_end/panels/sources/UISourceCodeFrame.ts +4 -4
  198. package/front_end/panels/sources/WatchExpressionsSidebarPane.ts +34 -36
  199. package/front_end/panels/timeline/AnimationsTrackAppender.ts +3 -3
  200. package/front_end/panels/timeline/CompatibilityTracksAppender.ts +8 -8
  201. package/front_end/panels/timeline/CountersGraph.ts +16 -16
  202. package/front_end/panels/timeline/EntriesFilter.ts +4 -3
  203. package/front_end/panels/timeline/EventsTimelineTreeView.ts +3 -3
  204. package/front_end/panels/timeline/GPUTrackAppender.ts +3 -3
  205. package/front_end/panels/timeline/Initiators.ts +10 -10
  206. package/front_end/panels/timeline/InteractionsTrackAppender.ts +5 -5
  207. package/front_end/panels/timeline/LayoutShiftsTrackAppender.ts +7 -7
  208. package/front_end/panels/timeline/ModificationsManager.ts +8 -15
  209. package/front_end/panels/timeline/TargetForEvent.ts +2 -2
  210. package/front_end/panels/timeline/ThirdPartyTreeView.ts +1 -1
  211. package/front_end/panels/timeline/ThreadAppender.ts +13 -13
  212. package/front_end/panels/timeline/TimelineDetailsView.ts +6 -14
  213. package/front_end/panels/timeline/TimelineEventOverview.ts +27 -26
  214. package/front_end/panels/timeline/TimelineFilters.ts +5 -5
  215. package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +54 -53
  216. package/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.ts +34 -34
  217. package/front_end/panels/timeline/TimelineFlameChartView.ts +18 -31
  218. package/front_end/panels/timeline/TimelineHistoryManager.ts +17 -18
  219. package/front_end/panels/timeline/TimelineMiniMap.ts +6 -6
  220. package/front_end/panels/timeline/TimelinePaintProfilerView.ts +6 -6
  221. package/front_end/panels/timeline/TimelinePanel.ts +73 -68
  222. package/front_end/panels/timeline/TimelineSelectorStatsView.ts +7 -5
  223. package/front_end/panels/timeline/TimelineTreeView.ts +10 -10
  224. package/front_end/panels/timeline/TimelineUIUtils.ts +47 -46
  225. package/front_end/panels/timeline/TimingsTrackAppender.ts +12 -12
  226. package/front_end/panels/timeline/TracingLayerTree.ts +43 -43
  227. package/front_end/panels/timeline/TrackConfigBanner.ts +6 -6
  228. package/front_end/panels/timeline/TrackConfiguration.ts +1 -1
  229. package/front_end/panels/timeline/components/DetailsView.ts +4 -4
  230. package/front_end/panels/timeline/components/LayoutShiftDetails.ts +12 -21
  231. package/front_end/panels/timeline/components/LiveMetricsView.ts +2 -1
  232. package/front_end/panels/timeline/components/NetworkRequestDetails.ts +5 -5
  233. package/front_end/panels/timeline/components/Sidebar.ts +4 -14
  234. package/front_end/panels/timeline/components/SidebarInsightsTab.ts +13 -36
  235. package/front_end/panels/timeline/components/SidebarSingleInsightSet.ts +21 -19
  236. package/front_end/panels/timeline/components/insights/BaseInsightComponent.ts +1 -1
  237. package/front_end/panels/timeline/components/insights/Cache.ts +4 -0
  238. package/front_end/panels/timeline/components/insights/DOMSize.ts +5 -1
  239. package/front_end/panels/timeline/components/insights/Helpers.ts +19 -0
  240. package/front_end/panels/timeline/components/insights/NetworkDependencyTree.ts +1 -1
  241. package/front_end/panels/timeline/components/insights/Viewport.ts +4 -0
  242. package/front_end/panels/timeline/overlays/OverlaysImpl.ts +1 -1
  243. package/front_end/panels/timeline/utils/AICallTree.ts +11 -11
  244. package/front_end/panels/timeline/utils/AIContext.ts +17 -19
  245. package/front_end/panels/timeline/utils/EntityMapper.ts +6 -5
  246. package/front_end/panels/timeline/utils/EntryName.ts +2 -2
  247. package/front_end/panels/timeline/utils/EntryNodes.ts +5 -5
  248. package/front_end/panels/timeline/utils/EntryStyles.ts +4 -4
  249. package/front_end/panels/timeline/utils/FreshRecording.ts +3 -3
  250. package/front_end/panels/timeline/utils/Helpers.ts +0 -18
  251. package/front_end/panels/timeline/utils/InsightAIContext.ts +6 -6
  252. package/front_end/panels/timeline/utils/SourceMapsResolver.ts +7 -7
  253. package/front_end/panels/webauthn/WebauthnPane.ts +1 -0
  254. package/front_end/third_party/chromium/README.chromium +1 -1
  255. package/front_end/third_party/codemirror.next/chunk/angular.js +1 -1
  256. package/front_end/third_party/codemirror.next/chunk/angular.js.map +1 -1
  257. package/front_end/third_party/codemirror.next/chunk/codemirror.js +1 -1
  258. package/front_end/third_party/codemirror.next/chunk/codemirror.js.map +1 -1
  259. package/front_end/third_party/codemirror.next/chunk/cpp.js +1 -1
  260. package/front_end/third_party/codemirror.next/chunk/cpp.js.map +1 -1
  261. package/front_end/third_party/codemirror.next/chunk/java.js +1 -1
  262. package/front_end/third_party/codemirror.next/chunk/java.js.map +1 -1
  263. package/front_end/third_party/codemirror.next/chunk/legacy.js +1 -1
  264. package/front_end/third_party/codemirror.next/chunk/legacy.js.map +1 -1
  265. package/front_end/third_party/codemirror.next/chunk/less.js +1 -1
  266. package/front_end/third_party/codemirror.next/chunk/less.js.map +1 -1
  267. package/front_end/third_party/codemirror.next/chunk/markdown.js +1 -1
  268. package/front_end/third_party/codemirror.next/chunk/markdown.js.map +1 -1
  269. package/front_end/third_party/codemirror.next/chunk/php.js +1 -1
  270. package/front_end/third_party/codemirror.next/chunk/php.js.map +1 -1
  271. package/front_end/third_party/codemirror.next/chunk/python.js +1 -1
  272. package/front_end/third_party/codemirror.next/chunk/python.js.map +1 -1
  273. package/front_end/third_party/codemirror.next/chunk/sass.js +1 -1
  274. package/front_end/third_party/codemirror.next/chunk/sass.js.map +1 -1
  275. package/front_end/third_party/codemirror.next/chunk/svelte.js +1 -1
  276. package/front_end/third_party/codemirror.next/chunk/svelte.js.map +1 -1
  277. package/front_end/third_party/codemirror.next/chunk/vue.js +1 -1
  278. package/front_end/third_party/codemirror.next/chunk/vue.js.map +1 -1
  279. package/front_end/third_party/codemirror.next/chunk/wast.js +1 -1
  280. package/front_end/third_party/codemirror.next/chunk/wast.js.map +1 -1
  281. package/front_end/third_party/codemirror.next/chunk/xml.js +1 -1
  282. package/front_end/third_party/codemirror.next/chunk/xml.js.map +1 -1
  283. package/front_end/third_party/codemirror.next/codemirror.next.js +1 -1
  284. package/front_end/third_party/codemirror.next/package.json +1 -1
  285. package/front_end/third_party/codemirror.next/rebuild.sh +1 -1
  286. package/front_end/third_party/json5/rebuild.sh +1 -1
  287. package/front_end/third_party/legacy-javascript/{update.sh → rebuild.sh} +1 -1
  288. package/front_end/third_party/lit/lib/decorators.d.ts +26 -9
  289. package/front_end/third_party/lit/lib/decorators.js +5 -5
  290. package/front_end/third_party/lit/lib/decorators.js.map +1 -1
  291. package/front_end/third_party/lit/lib/directive.js.map +1 -1
  292. package/front_end/third_party/lit/lib/directives.js +8 -13
  293. package/front_end/third_party/lit/lib/directives.js.map +1 -1
  294. package/front_end/third_party/lit/lib/lit.d.ts +26 -9
  295. package/front_end/third_party/lit/lib/lit.js +5 -5
  296. package/front_end/third_party/lit/lib/lit.js.map +1 -1
  297. package/front_end/third_party/lit/lib/static-html.js +2 -2
  298. package/front_end/third_party/lit/lib/static-html.js.map +1 -1
  299. package/front_end/third_party/lit/rebuild.sh +1 -1
  300. package/front_end/third_party/third-party-web/rebuild.sh +1 -1
  301. package/front_end/ui/components/dialogs/Dialog.ts +6 -7
  302. package/front_end/ui/legacy/ActionRegistration.ts +9 -9
  303. package/front_end/ui/legacy/DockController.ts +18 -18
  304. package/front_end/ui/legacy/FilterBar.ts +7 -7
  305. package/front_end/ui/legacy/Fragment.ts +4 -4
  306. package/front_end/ui/legacy/GlassPane.ts +12 -12
  307. package/front_end/ui/legacy/InspectorView.ts +5 -15
  308. package/front_end/ui/legacy/ListControl.ts +27 -27
  309. package/front_end/ui/legacy/ListWidget.ts +4 -4
  310. package/front_end/ui/legacy/PopoverHelper.ts +4 -4
  311. package/front_end/ui/legacy/ShortcutRegistry.ts +17 -17
  312. package/front_end/ui/legacy/TabbedPane.ts +74 -75
  313. package/front_end/ui/legacy/TextPrompt.ts +31 -31
  314. package/front_end/ui/legacy/Toolbar.ts +13 -14
  315. package/front_end/ui/legacy/ViewManager.ts +30 -31
  316. package/front_end/ui/legacy/Widget.ts +6 -6
  317. package/front_end/ui/legacy/XLink.ts +9 -9
  318. package/front_end/ui/legacy/ZoomManager.ts +9 -9
  319. package/front_end/ui/legacy/components/color_picker/ContrastDetails.ts +27 -27
  320. package/front_end/ui/legacy/components/color_picker/ContrastInfo.ts +30 -32
  321. package/front_end/ui/legacy/components/color_picker/Spectrum.ts +15 -15
  322. package/front_end/ui/legacy/components/data_grid/DataGrid.ts +64 -64
  323. package/front_end/ui/legacy/components/data_grid/ShowMoreDataGridNode.ts +2 -2
  324. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +10 -11
  325. package/front_end/ui/legacy/components/perf_ui/ChartViewport.ts +12 -12
  326. package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +3 -3
  327. package/front_end/ui/legacy/components/perf_ui/TimelineGrid.ts +14 -14
  328. package/front_end/ui/legacy/components/perf_ui/TimelineOverviewPane.ts +8 -8
  329. package/front_end/ui/legacy/components/quick_open/CommandMenu.ts +5 -5
  330. package/front_end/ui/legacy/components/source_frame/ResourceSourceFrame.ts +4 -4
  331. package/front_end/ui/legacy/filter.css +1 -1
  332. package/front_end/ui/legacy/inspectorCommon.css +1 -1
  333. package/front_end/ui/legacy/softDropDownButton.css +1 -1
  334. package/front_end/ui/legacy/theme_support/ThemeSupport.ts +4 -4
  335. package/front_end/ui/visual_logging/KnownContextValues.ts +2 -2
  336. package/package.json +1 -1
  337. package/front_end/models/ai_assistance/data_formatters/Types.ts +0 -9
@@ -250,6 +250,7 @@ export class GenericSettingsTab extends UI.Widget.VBox implements SettingsTab {
250
250
  private readonly settingToControl = new Map<Common.Settings.Setting<unknown>, HTMLElement>();
251
251
  private readonly containerElement: HTMLElement;
252
252
  #updateSyncSectionTimerId = -1;
253
+ #syncSectionUpdatePromise: Promise<void>|null = null;
253
254
 
254
255
  constructor() {
255
256
  super({jslog: `${VisualLogging.pane('preferences')}`});
@@ -336,24 +337,19 @@ export class GenericSettingsTab extends UI.Widget.VBox implements SettingsTab {
336
337
  this.#updateSyncSectionTimerId = -1;
337
338
  }
338
339
 
339
- void Promise
340
- .all([
341
- new Promise<Host.InspectorFrontendHostAPI.SyncInformation>(
342
- resolve => Host.InspectorFrontendHost.InspectorFrontendHostInstance.getSyncInformation(resolve)),
343
- Root.Runtime.hostConfig.devToolsGdpProfiles?.enabled ? Host.GdpClient.GdpClient.instance().getProfile() :
344
- Promise.resolve(undefined),
345
- ])
346
- .then(([syncInfo, gdpProfile]) => {
347
- this.syncSection.data = {
348
- syncInfo,
349
- syncSetting: Common.Settings.moduleSetting('sync-preferences') as Common.Settings.Setting<boolean>,
350
- receiveBadgesSetting: Common.Settings.Settings.instance().moduleSetting('receive-gdp-badges'),
351
- gdpProfile: gdpProfile ?? undefined,
352
- };
353
- if (!syncInfo.isSyncActive || !syncInfo.arePreferencesSynced) {
354
- this.#updateSyncSectionTimerId = window.setTimeout(this.updateSyncSection.bind(this), 500);
355
- }
356
- });
340
+ this.#syncSectionUpdatePromise =
341
+ new Promise<Host.InspectorFrontendHostAPI.SyncInformation>(
342
+ resolve => Host.InspectorFrontendHost.InspectorFrontendHostInstance.getSyncInformation(resolve))
343
+ .then(syncInfo => {
344
+ this.syncSection.data = {
345
+ syncInfo,
346
+ syncSetting: Common.Settings.moduleSetting('sync-preferences') as Common.Settings.Setting<boolean>,
347
+ receiveBadgesSetting: Common.Settings.Settings.instance().moduleSetting('receive-gdp-badges'),
348
+ };
349
+ if (!syncInfo.isSyncActive || !syncInfo.arePreferencesSynced) {
350
+ this.#updateSyncSectionTimerId = window.setTimeout(this.updateSyncSection.bind(this), 500);
351
+ }
352
+ });
357
353
  }
358
354
 
359
355
  private createExtensionSection(settings: Common.Settings.SettingRegistration[]): void {
@@ -405,6 +401,10 @@ export class GenericSettingsTab extends UI.Widget.VBox implements SettingsTab {
405
401
  const element = this.settingToControl.get(setting);
406
402
  if (element) {
407
403
  PanelUtils.highlightElement(element);
404
+ } else if (setting.name === 'receive-gdp-badges') {
405
+ void this.#syncSectionUpdatePromise?.then(() => {
406
+ void this.syncSection.highlightReceiveBadgesSetting();
407
+ });
408
408
  }
409
409
  }
410
410
  }
@@ -16,6 +16,7 @@ import * as Buttons from '../../../ui/components/buttons/buttons.js';
16
16
  import * as ComponentHelpers from '../../../ui/components/helpers/helpers.js';
17
17
  import * as Lit from '../../../ui/lit/lit.js';
18
18
  import * as PanelCommon from '../../common/common.js';
19
+ import * as PanelUtils from '../../utils/utils.js';
19
20
 
20
21
  import syncSectionStyles from './syncSection.css.js';
21
22
 
@@ -87,7 +88,7 @@ const str_ = i18n.i18n.registerUIStrings('panels/settings/components/SyncSection
87
88
  const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
88
89
  const lockedString = i18n.i18n.lockedString;
89
90
 
90
- const {html} = Lit;
91
+ const {html, Directives: {ref, createRef}} = Lit;
91
92
 
92
93
  function getGdpSubscriptionText(profile: Host.GdpClient.Profile): Platform.UIString.LocalizedString {
93
94
  if (!profile.activeSubscription ||
@@ -110,14 +111,11 @@ function getGdpSubscriptionText(profile: Host.GdpClient.Profile): Platform.UIStr
110
111
  }
111
112
 
112
113
  const GDP_LOGO_IMAGE_URL = new URL('../../../Images/gdp-logo-standalone.svg', import.meta.url).toString();
113
- // TODO(crbug.com/441679275): Update once the API is enabled for prod.
114
- const GOOGLE_DEVELOPER_PROGRAM_PROFILE_LINK = 'https://developers.devsite.corp.google.com/profile/u/';
115
114
 
116
115
  export interface SyncSectionData {
117
116
  syncInfo: Host.InspectorFrontendHostAPI.SyncInformation;
118
117
  syncSetting: Common.Settings.Setting<boolean>;
119
118
  receiveBadgesSetting: Common.Settings.Setting<boolean>;
120
- gdpProfile?: Host.GdpClient.Profile;
121
119
  }
122
120
 
123
121
  export class SyncSection extends HTMLElement {
@@ -126,16 +124,25 @@ export class SyncSection extends HTMLElement {
126
124
  #syncInfo: Host.InspectorFrontendHostAPI.SyncInformation = {isSyncActive: false};
127
125
  #syncSetting?: Common.Settings.Setting<boolean>;
128
126
  #receiveBadgesSetting?: Common.Settings.Setting<boolean>;
127
+ #receiveBadgesSettingContainerRef = createRef<HTMLElement>();
129
128
  #gdpProfile?: Host.GdpClient.Profile;
130
129
 
131
130
  set data(data: SyncSectionData) {
132
131
  this.#syncInfo = data.syncInfo;
133
132
  this.#syncSetting = data.syncSetting;
134
133
  this.#receiveBadgesSetting = data.receiveBadgesSetting;
135
- this.#gdpProfile = data.gdpProfile;
134
+ void this.#updateGdpProfile();
136
135
  void ComponentHelpers.ScheduledRender.scheduleRender(this, this.#render);
137
136
  }
138
137
 
138
+ async highlightReceiveBadgesSetting(): Promise<void> {
139
+ await ComponentHelpers.ScheduledRender.scheduleRender(this, this.#render);
140
+ const element = this.#receiveBadgesSettingContainerRef.value;
141
+ if (element) {
142
+ PanelUtils.PanelUtils.highlightElement(element);
143
+ }
144
+ }
145
+
139
146
  #render(): void {
140
147
  if (!this.#syncSetting) {
141
148
  throw new Error('SyncSection is not properly initialized');
@@ -152,11 +159,20 @@ export class SyncSection extends HTMLElement {
152
159
  <fieldset>
153
160
  ${renderAccountInfo(this.#syncInfo)}
154
161
  ${renderSettingCheckboxIfNeeded(this.#syncInfo, this.#syncSetting)}
155
- ${renderGdpSectionIfNeeded({ receiveBadgesSetting: this.#receiveBadgesSetting, gdpProfile: this.#gdpProfile })}
162
+ ${renderGdpSectionIfNeeded({
163
+ receiveBadgesSetting: this.#receiveBadgesSetting,
164
+ receiveBadgesSettingContainerRef: this.#receiveBadgesSettingContainerRef,
165
+ gdpProfile: this.#gdpProfile
166
+ })}
156
167
  </fieldset>
157
168
  `, this.#shadow, {host: this});
158
169
  // clang-format on
159
170
  }
171
+
172
+ async #updateGdpProfile(): Promise<void> {
173
+ this.#gdpProfile = await Host.GdpClient.GdpClient.instance().getProfile() ?? undefined;
174
+ void ComponentHelpers.ScheduledRender.scheduleRender(this, this.#render);
175
+ }
160
176
  }
161
177
 
162
178
  function renderSettingCheckboxIfNeeded(
@@ -230,8 +246,10 @@ function renderAccountInfo(syncInfo: Host.InspectorFrontendHostAPI.SyncInformati
230
246
 
231
247
  function renderGdpSectionIfNeeded({
232
248
  receiveBadgesSetting,
249
+ receiveBadgesSettingContainerRef,
233
250
  gdpProfile,
234
251
  }: {
252
+ receiveBadgesSettingContainerRef: Lit.Directives.Ref<HTMLElement>,
235
253
  receiveBadgesSetting?: Common.Settings.Setting<boolean>,
236
254
  gdpProfile?: Host.GdpClient.Profile,
237
255
  }): Lit.LitTemplate {
@@ -258,11 +276,11 @@ function renderGdpSectionIfNeeded({
258
276
  <div class="plan-details">
259
277
  ${getGdpSubscriptionText(gdpProfile)}
260
278
  &nbsp;·&nbsp;
261
- <x-link class="link" href=${GOOGLE_DEVELOPER_PROGRAM_PROFILE_LINK}>
279
+ <x-link class="link" href=${Host.GdpClient.GOOGLE_DEVELOPER_PROGRAM_PROFILE_LINK}>
262
280
  ${i18nString(UIStrings.viewProfile)}
263
281
  </x-link></div>
264
282
  ${receiveBadgesSetting ? html`
265
- <div class="setting-container">
283
+ <div class="setting-container" ${ref(receiveBadgesSettingContainerRef)}>
266
284
  <setting-checkbox class="setting-checkbox" .data=${{setting: receiveBadgesSetting}}></setting-checkbox>
267
285
  <span>${i18nString(UIStrings.relevantDataDisclaimer)}</span>
268
286
  </div>` : Lit.nothing}
@@ -121,6 +121,9 @@ export class AiCodeCompletionPlugin extends Plugin {
121
121
  const query = doc.toString();
122
122
  const cursor = selection.main.head;
123
123
  let prefix = query.substring(0, cursor);
124
+ if (prefix.trim().length === 0) {
125
+ return;
126
+ }
124
127
  let suffix = query.substring(cursor);
125
128
  if (prefix.length > AI_CODE_COMPLETION_CHARACTER_LIMIT) {
126
129
  prefix = prefix.substring(prefix.length - AI_CODE_COMPLETION_CHARACTER_LIMIT);
@@ -117,21 +117,20 @@ const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
117
117
  const i18nLazyString = i18n.i18n.getLazilyComputedLocalizedString.bind(undefined, str_);
118
118
 
119
119
  export class DebuggerPausedMessage {
120
- private readonly elementInternal: HTMLDivElement;
120
+ readonly #element: HTMLDivElement;
121
121
  private contentElement: HTMLElement;
122
122
  constructor() {
123
- this.elementInternal = document.createElement('div');
124
- this.elementInternal.classList.add('paused-message');
125
- this.elementInternal.classList.add('flex-none');
126
- this.elementInternal.setAttribute('jslog', `${VisualLogging.dialog('debugger-paused')}`);
127
- const root =
128
- UI.UIUtils.createShadowRootWithCoreStyles(this.elementInternal, {cssFile: debuggerPausedMessageStyles});
123
+ this.#element = document.createElement('div');
124
+ this.#element.classList.add('paused-message');
125
+ this.#element.classList.add('flex-none');
126
+ this.#element.setAttribute('jslog', `${VisualLogging.dialog('debugger-paused')}`);
127
+ const root = UI.UIUtils.createShadowRootWithCoreStyles(this.#element, {cssFile: debuggerPausedMessageStyles});
129
128
  this.contentElement = root.createChild('div');
130
- UI.ARIAUtils.markAsPoliteLiveRegion(this.elementInternal, false);
129
+ UI.ARIAUtils.markAsPoliteLiveRegion(this.#element, false);
131
130
  }
132
131
 
133
132
  element(): Element {
134
- return this.elementInternal;
133
+ return this.#element;
135
134
  }
136
135
 
137
136
  private static descriptionWithoutStack(description: string): string {
@@ -206,7 +206,7 @@ export class NavigatorView extends UI.Widget.VBox implements SDK.TargetManager.O
206
206
  private deployedNode?: NavigatorGroupTreeNode;
207
207
  private navigatorGroupByFolderSetting: Common.Settings.Setting<boolean>;
208
208
  private navigatorGroupByAuthoredExperiment?: string;
209
- private workspaceInternal!: Workspace.Workspace.WorkspaceImpl;
209
+ #workspace!: Workspace.Workspace.WorkspaceImpl;
210
210
  private groupByFrame?: boolean;
211
211
  private groupByAuthored?: boolean;
212
212
  private groupByDomain?: boolean;
@@ -262,7 +262,7 @@ export class NavigatorView extends UI.Widget.VBox implements SDK.TargetManager.O
262
262
 
263
263
  SDK.TargetManager.TargetManager.instance().observeTargets(this);
264
264
  this.resetWorkspace(Workspace.Workspace.WorkspaceImpl.instance());
265
- this.workspaceInternal.uiSourceCodes().forEach(this.addUISourceCode.bind(this));
265
+ this.#workspace.uiSourceCodes().forEach(this.addUISourceCode.bind(this));
266
266
  Bindings.NetworkProject.NetworkProjectManager.instance().addEventListener(
267
267
  Bindings.NetworkProject.Events.FRAME_ATTRIBUTION_ADDED, this.frameAttributionAdded, this);
268
268
  Bindings.NetworkProject.NetworkProjectManager.instance().addEventListener(
@@ -408,26 +408,23 @@ export class NavigatorView extends UI.Widget.VBox implements SDK.TargetManager.O
408
408
 
409
409
  private resetWorkspace(workspace: Workspace.Workspace.WorkspaceImpl): void {
410
410
  // Clear old event listeners first.
411
- if (this.workspaceInternal) {
412
- this.workspaceInternal.removeEventListener(
411
+ if (this.#workspace) {
412
+ this.#workspace.removeEventListener(
413
413
  Workspace.Workspace.Events.UISourceCodeAdded, this.uiSourceCodeAddedCallback, this);
414
- this.workspaceInternal.removeEventListener(
414
+ this.#workspace.removeEventListener(
415
415
  Workspace.Workspace.Events.UISourceCodeRemoved, this.uiSourceCodeRemovedCallback, this);
416
- this.workspaceInternal.removeEventListener(
417
- Workspace.Workspace.Events.ProjectAdded, this.projectAddedCallback, this);
418
- this.workspaceInternal.removeEventListener(
419
- Workspace.Workspace.Events.ProjectRemoved, this.projectRemovedCallback, this);
416
+ this.#workspace.removeEventListener(Workspace.Workspace.Events.ProjectAdded, this.projectAddedCallback, this);
417
+ this.#workspace.removeEventListener(Workspace.Workspace.Events.ProjectRemoved, this.projectRemovedCallback, this);
420
418
  }
421
419
 
422
- this.workspaceInternal = workspace;
423
- this.workspaceInternal.addEventListener(
420
+ this.#workspace = workspace;
421
+ this.#workspace.addEventListener(
424
422
  Workspace.Workspace.Events.UISourceCodeAdded, this.uiSourceCodeAddedCallback, this);
425
- this.workspaceInternal.addEventListener(
423
+ this.#workspace.addEventListener(
426
424
  Workspace.Workspace.Events.UISourceCodeRemoved, this.uiSourceCodeRemovedCallback, this);
427
- this.workspaceInternal.addEventListener(Workspace.Workspace.Events.ProjectAdded, this.projectAddedCallback, this);
428
- this.workspaceInternal.addEventListener(
429
- Workspace.Workspace.Events.ProjectRemoved, this.projectRemovedCallback, this);
430
- this.workspaceInternal.projects().forEach(this.projectAdded.bind(this));
425
+ this.#workspace.addEventListener(Workspace.Workspace.Events.ProjectAdded, this.projectAddedCallback, this);
426
+ this.#workspace.addEventListener(Workspace.Workspace.Events.ProjectRemoved, this.projectRemovedCallback, this);
427
+ this.#workspace.projects().forEach(this.projectAdded.bind(this));
431
428
  this.computeUniqueFileSystemProjectNames();
432
429
  }
433
430
 
@@ -448,7 +445,7 @@ export class NavigatorView extends UI.Widget.VBox implements SDK.TargetManager.O
448
445
  }
449
446
 
450
447
  workspace(): Workspace.Workspace.WorkspaceImpl {
451
- return this.workspaceInternal;
448
+ return this.#workspace;
452
449
  }
453
450
 
454
451
  acceptProject(project: Workspace.Workspace.Project): boolean {
@@ -587,7 +584,7 @@ export class NavigatorView extends UI.Widget.VBox implements SDK.TargetManager.O
587
584
  }
588
585
 
589
586
  private computeUniqueFileSystemProjectNames(): void {
590
- const fileSystemProjects = this.workspaceInternal.projectsForType(Workspace.Workspace.projectTypes.FileSystem);
587
+ const fileSystemProjects = this.#workspace.projectsForType(Workspace.Workspace.projectTypes.FileSystem);
591
588
  if (!fileSystemProjects.length) {
592
589
  return;
593
590
  }
@@ -1213,7 +1210,7 @@ export class NavigatorView extends UI.Widget.VBox implements SDK.TargetManager.O
1213
1210
  this.initGrouping();
1214
1211
  // Reset the workspace to repopulate filesystem folders.
1215
1212
  this.resetWorkspace(Workspace.Workspace.WorkspaceImpl.instance());
1216
- this.workspaceInternal.uiSourceCodes().forEach(this.addUISourceCode.bind(this));
1213
+ this.#workspace.uiSourceCodes().forEach(this.addUISourceCode.bind(this));
1217
1214
  }
1218
1215
 
1219
1216
  private ignoreListChanged(): void {
@@ -1237,7 +1234,7 @@ export class NavigatorView extends UI.Widget.VBox implements SDK.TargetManager.O
1237
1234
 
1238
1235
  protected resetForTest(): void {
1239
1236
  this.reset();
1240
- this.workspaceInternal.uiSourceCodes().forEach(this.addUISourceCode.bind(this));
1237
+ this.#workspace.uiSourceCodes().forEach(this.addUISourceCode.bind(this));
1241
1238
  }
1242
1239
 
1243
1240
  private discardFrame(frame: SDK.ResourceTreeModel.ResourceTreeFrame, isAuthored: boolean): void {
@@ -1414,7 +1411,7 @@ export class NavigatorSourceTreeElement extends UI.TreeOutline.TreeElement {
1414
1411
  readonly nodeType: string;
1415
1412
  readonly node: NavigatorUISourceCodeTreeNode;
1416
1413
  private readonly navigatorView: NavigatorView;
1417
- uiSourceCodeInternal: Workspace.UISourceCode.UISourceCode;
1414
+ #uiSourceCode: Workspace.UISourceCode.UISourceCode;
1418
1415
  private aiButtonContainer?: HTMLElement;
1419
1416
 
1420
1417
  constructor(
@@ -1430,18 +1427,18 @@ export class NavigatorSourceTreeElement extends UI.TreeOutline.TreeElement {
1430
1427
  UI.ARIAUtils.setLabel(this.listItemElement, `${uiSourceCode.name()}, ${this.nodeType}`);
1431
1428
  Common.EventTarget.fireEvent('source-tree-file-added', uiSourceCode.fullDisplayName());
1432
1429
  this.navigatorView = navigatorView;
1433
- this.uiSourceCodeInternal = uiSourceCode;
1430
+ this.#uiSourceCode = uiSourceCode;
1434
1431
  this.updateIcon();
1435
1432
  (this.titleElement as HTMLElement).setAttribute('jslog', `${VisualLogging.value('title').track({change: true})}`);
1436
1433
  }
1437
1434
 
1438
1435
  updateIcon(): void {
1439
- const icon = PanelUtils.getIconForSourceFile(this.uiSourceCodeInternal);
1436
+ const icon = PanelUtils.getIconForSourceFile(this.#uiSourceCode);
1440
1437
  this.setLeadingIcons([icon]);
1441
1438
  }
1442
1439
 
1443
1440
  updateAccessibleName(): void {
1444
- UI.ARIAUtils.setLabel(this.listItemElement, `${this.uiSourceCodeInternal.name()}, ${this.nodeType}`);
1441
+ UI.ARIAUtils.setLabel(this.listItemElement, `${this.#uiSourceCode.name()}, ${this.nodeType}`);
1445
1442
  }
1446
1443
 
1447
1444
  private createAiButton(): void {
@@ -1469,7 +1466,7 @@ export class NavigatorSourceTreeElement extends UI.TreeOutline.TreeElement {
1469
1466
  }
1470
1467
 
1471
1468
  get uiSourceCode(): Workspace.UISourceCode.UISourceCode {
1472
- return this.uiSourceCodeInternal;
1469
+ return this.#uiSourceCode;
1473
1470
  }
1474
1471
 
1475
1472
  override onattach(): void {
@@ -1481,7 +1478,7 @@ export class NavigatorSourceTreeElement extends UI.TreeOutline.TreeElement {
1481
1478
  }
1482
1479
 
1483
1480
  private shouldRenameOnMouseDown(): boolean {
1484
- if (!this.uiSourceCodeInternal.canRename()) {
1481
+ if (!this.#uiSourceCode.canRename()) {
1485
1482
  return false;
1486
1483
  }
1487
1484
  if (!this.treeOutline) {
@@ -1509,7 +1506,7 @@ export class NavigatorSourceTreeElement extends UI.TreeOutline.TreeElement {
1509
1506
  if (!event.dataTransfer) {
1510
1507
  return;
1511
1508
  }
1512
- event.dataTransfer.setData('text/plain', this.uiSourceCodeInternal.url());
1509
+ event.dataTransfer.setData('text/plain', this.#uiSourceCode.url());
1513
1510
  event.dataTransfer.effectAllowed = 'copy';
1514
1511
  }
1515
1512
 
@@ -1712,18 +1709,18 @@ export class NavigatorRootTreeNode extends NavigatorTreeNode {
1712
1709
  }
1713
1710
 
1714
1711
  export class NavigatorUISourceCodeTreeNode extends NavigatorTreeNode {
1715
- uiSourceCodeInternal: Workspace.UISourceCode.UISourceCode;
1712
+ #uiSourceCode: Workspace.UISourceCode.UISourceCode;
1716
1713
  treeElement: NavigatorSourceTreeElement|null;
1717
1714
  private eventListeners: Common.EventTarget.EventDescriptor[];
1718
- private readonly frameInternal: SDK.ResourceTreeModel.ResourceTreeFrame|null;
1715
+ readonly #frame: SDK.ResourceTreeModel.ResourceTreeFrame|null;
1719
1716
  constructor(
1720
1717
  navigatorView: NavigatorView, uiSourceCode: Workspace.UISourceCode.UISourceCode,
1721
1718
  frame: SDK.ResourceTreeModel.ResourceTreeFrame|null) {
1722
1719
  super(navigatorView, 'UISourceCode:' + uiSourceCode.canonicalScriptId(), Types.File);
1723
- this.uiSourceCodeInternal = uiSourceCode;
1720
+ this.#uiSourceCode = uiSourceCode;
1724
1721
  this.treeElement = null;
1725
1722
  this.eventListeners = [];
1726
- this.frameInternal = frame;
1723
+ this.#frame = frame;
1727
1724
  this.recursiveProperties.exclusivelySourceMapped = uiSourceCode.contentType().isFromSourceMap();
1728
1725
  if (uiSourceCode.contentType().isScript()) {
1729
1726
  // These properties affect ignore-listing menus and only matter when the UISourceCode is a script
@@ -1734,11 +1731,11 @@ export class NavigatorUISourceCodeTreeNode extends NavigatorTreeNode {
1734
1731
  }
1735
1732
 
1736
1733
  frame(): SDK.ResourceTreeModel.ResourceTreeFrame|null {
1737
- return this.frameInternal;
1734
+ return this.#frame;
1738
1735
  }
1739
1736
 
1740
1737
  uiSourceCode(): Workspace.UISourceCode.UISourceCode {
1741
- return this.uiSourceCodeInternal;
1738
+ return this.#uiSourceCode;
1742
1739
  }
1743
1740
 
1744
1741
  override treeNode(): UI.TreeOutline.TreeElement {
@@ -1746,14 +1743,14 @@ export class NavigatorUISourceCodeTreeNode extends NavigatorTreeNode {
1746
1743
  return this.treeElement;
1747
1744
  }
1748
1745
 
1749
- this.treeElement = new NavigatorSourceTreeElement(this.navigatorView, this.uiSourceCodeInternal, '', this);
1746
+ this.treeElement = new NavigatorSourceTreeElement(this.navigatorView, this.#uiSourceCode, '', this);
1750
1747
  this.updateTitle();
1751
1748
 
1752
1749
  const updateTitleBound = this.updateTitle.bind(this, undefined);
1753
1750
  this.eventListeners = [
1754
- this.uiSourceCodeInternal.addEventListener(Workspace.UISourceCode.Events.TitleChanged, updateTitleBound),
1755
- this.uiSourceCodeInternal.addEventListener(Workspace.UISourceCode.Events.WorkingCopyChanged, updateTitleBound),
1756
- this.uiSourceCodeInternal.addEventListener(Workspace.UISourceCode.Events.WorkingCopyCommitted, updateTitleBound),
1751
+ this.#uiSourceCode.addEventListener(Workspace.UISourceCode.Events.TitleChanged, updateTitleBound),
1752
+ this.#uiSourceCode.addEventListener(Workspace.UISourceCode.Events.WorkingCopyChanged, updateTitleBound),
1753
+ this.#uiSourceCode.addEventListener(Workspace.UISourceCode.Events.WorkingCopyCommitted, updateTitleBound),
1757
1754
  ];
1758
1755
  return this.treeElement;
1759
1756
  }
@@ -1761,8 +1758,8 @@ export class NavigatorUISourceCodeTreeNode extends NavigatorTreeNode {
1761
1758
  override updateTitle(ignoreIsDirty?: boolean): void {
1762
1759
  const isIgnoreListed =
1763
1760
  Workspace.IgnoreListManager.IgnoreListManager.instance().isUserOrSourceMapIgnoreListedUISourceCode(
1764
- this.uiSourceCodeInternal);
1765
- if (this.uiSourceCodeInternal.contentType().isScript() || isIgnoreListed) {
1761
+ this.#uiSourceCode);
1762
+ if (this.#uiSourceCode.contentType().isScript() || isIgnoreListed) {
1766
1763
  this.recursiveProperties.exclusivelyIgnored = isIgnoreListed;
1767
1764
  }
1768
1765
 
@@ -1770,8 +1767,8 @@ export class NavigatorUISourceCodeTreeNode extends NavigatorTreeNode {
1770
1767
  return;
1771
1768
  }
1772
1769
 
1773
- let titleText = this.uiSourceCodeInternal.displayName();
1774
- if (!ignoreIsDirty && this.uiSourceCodeInternal.isDirty()) {
1770
+ let titleText = this.#uiSourceCode.displayName();
1771
+ if (!ignoreIsDirty && this.#uiSourceCode.isDirty()) {
1775
1772
  titleText = '*' + titleText;
1776
1773
  }
1777
1774
 
@@ -1780,9 +1777,9 @@ export class NavigatorUISourceCodeTreeNode extends NavigatorTreeNode {
1780
1777
 
1781
1778
  this.treeElement.listItemElement.classList.toggle('is-ignore-listed', isIgnoreListed);
1782
1779
 
1783
- let tooltip: string = this.uiSourceCodeInternal.url();
1784
- if (this.uiSourceCodeInternal.contentType().isFromSourceMap()) {
1785
- tooltip = i18nString(UIStrings.sFromSourceMap, {PH1: this.uiSourceCodeInternal.displayName()});
1780
+ let tooltip: string = this.#uiSourceCode.url();
1781
+ if (this.#uiSourceCode.contentType().isFromSourceMap()) {
1782
+ tooltip = i18nString(UIStrings.sFromSourceMap, {PH1: this.#uiSourceCode.displayName()});
1786
1783
  }
1787
1784
  if (isIgnoreListed) {
1788
1785
  tooltip = i18nString(UIStrings.sIgnoreListed, {PH1: tooltip});
@@ -1791,7 +1788,7 @@ export class NavigatorUISourceCodeTreeNode extends NavigatorTreeNode {
1791
1788
  this.treeElement.tooltip = tooltip;
1792
1789
  this.treeElement.updateAccessibleName();
1793
1790
 
1794
- this.updateId('UISourceCode:' + this.uiSourceCodeInternal.canonicalScriptId());
1791
+ this.updateId('UISourceCode:' + this.#uiSourceCode.canonicalScriptId());
1795
1792
  }
1796
1793
 
1797
1794
  override hasChildren(): boolean {
@@ -1836,7 +1833,7 @@ export class NavigatorUISourceCodeTreeNode extends NavigatorTreeNode {
1836
1833
  this.treeElement.title = newTitle;
1837
1834
  }
1838
1835
  // necessary cast to RawPathString as alternative would be altering type of Config<T>
1839
- void this.uiSourceCodeInternal.rename(newTitle as Platform.DevToolsPath.RawPathString).then(renameCallback);
1836
+ void this.#uiSourceCode.rename(newTitle as Platform.DevToolsPath.RawPathString).then(renameCallback);
1840
1837
  return;
1841
1838
  }
1842
1839
  afterEditing(true);