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.
- package/docs/cookbook/release_management.md +15 -13
- package/docs/get_the_code.md +114 -35
- package/front_end/Images/src/ai-explorer-badge.svg +114 -0
- package/front_end/Images/src/code-whisperer-badge.svg +166 -0
- package/front_end/Images/src/devtools-user-badge.svg +129 -0
- package/front_end/Images/src/dom-detective-badge.svg +136 -0
- package/front_end/Images/src/speedster-badge.svg +166 -0
- package/front_end/core/common/Color.ts +40 -44
- package/front_end/core/common/Console.ts +4 -4
- package/front_end/core/common/ParsedURL.ts +14 -14
- package/front_end/core/common/ResourceType.ts +20 -20
- package/front_end/core/common/SegmentedRange.ts +13 -14
- package/front_end/core/common/Settings.ts +4 -4
- package/front_end/core/common/StringOutputStream.ts +4 -4
- package/front_end/core/host/GdpClient.ts +76 -2
- package/front_end/core/host/InspectorFrontendHost.ts +4 -1
- package/front_end/core/host/InspectorFrontendHostAPI.ts +2 -0
- package/front_end/core/host/ResourceLoader.ts +2 -2
- package/front_end/core/host/UserMetrics.ts +0 -2
- package/front_end/core/i18n/NumberFormatter.ts +7 -0
- package/front_end/core/protocol_client/InspectorBackend.ts +9 -9
- package/front_end/core/root/Runtime.ts +5 -2
- package/front_end/core/sdk/AccessibilityModel.ts +48 -48
- package/front_end/core/sdk/AnimationModel.ts +78 -79
- package/front_end/core/sdk/CPUProfilerModel.ts +5 -5
- package/front_end/core/sdk/CPUThrottlingManager.ts +17 -17
- package/front_end/core/sdk/CSSMatchedStyles.ts +44 -44
- package/front_end/core/sdk/CSSMedia.ts +22 -22
- package/front_end/core/sdk/CSSModel.ts +4 -4
- package/front_end/core/sdk/CSSProperty.ts +9 -9
- package/front_end/core/sdk/CSSPropertyParser.ts +1 -2
- package/front_end/core/sdk/CSSRule.ts +3 -3
- package/front_end/core/sdk/CSSStyleDeclaration.ts +27 -28
- package/front_end/core/sdk/CSSStyleSheetHeader.ts +13 -13
- package/front_end/core/sdk/CategorizedBreakpoint.ts +4 -4
- package/front_end/core/sdk/ChildTargetManager.ts +6 -6
- package/front_end/core/sdk/CompilerSourceMappingContentProvider.ts +4 -4
- package/front_end/core/sdk/ConsoleModel.ts +24 -24
- package/front_end/core/sdk/Cookie.ts +16 -16
- package/front_end/core/sdk/CookieParser.ts +6 -6
- package/front_end/core/sdk/DOMDebuggerModel.ts +88 -89
- package/front_end/core/sdk/DOMModel.ts +113 -113
- package/front_end/core/sdk/DebuggerModel.ts +102 -103
- package/front_end/core/sdk/EmulationModel.ts +6 -6
- package/front_end/core/sdk/EventBreakpointsModel.ts +5 -5
- package/front_end/core/sdk/HeapProfilerModel.ts +5 -5
- package/front_end/core/sdk/IsolateManager.ts +26 -26
- package/front_end/core/sdk/LayerTreeBase.ts +29 -30
- package/front_end/core/sdk/OverlayModel.ts +6 -6
- package/front_end/core/sdk/Resource.ts +43 -43
- package/front_end/core/sdk/ResourceTreeModel.ts +58 -61
- package/front_end/core/sdk/RuntimeModel.ts +12 -13
- package/front_end/core/sdk/SDKModel.ts +3 -3
- package/front_end/core/sdk/Script.ts +17 -17
- package/front_end/core/sdk/SecurityOriginManager.ts +14 -14
- package/front_end/core/sdk/ServerTiming.ts +2 -2
- package/front_end/core/sdk/ServiceWorkerCacheModel.ts +15 -15
- package/front_end/core/sdk/ServiceWorkerManager.ts +19 -24
- package/front_end/core/sdk/SourceMap.ts +10 -10
- package/front_end/core/sdk/StorageKeyManager.ts +12 -12
- package/front_end/core/sdk/Target.ts +33 -34
- package/front_end/core/sdk/TargetManager.ts +20 -20
- package/front_end/entrypoints/formatter_worker/AcornTokenizer.ts +8 -8
- package/front_end/entrypoints/formatter_worker/HTMLFormatter.ts +7 -7
- package/front_end/entrypoints/heap_snapshot_worker/AllocationProfile.ts +7 -7
- package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshot.ts +24 -24
- package/front_end/entrypoints/main/GlobalAiButton.ts +3 -3
- package/front_end/entrypoints/main/MainImpl.ts +16 -14
- package/front_end/entrypoints/main/main-meta.ts +1 -2
- package/front_end/generated/InspectorBackendCommands.js +3 -2
- package/front_end/generated/SupportedCSSProperties.js +20 -0
- package/front_end/generated/protocol-mapping.d.ts +4 -0
- package/front_end/generated/protocol-proxy-api.d.ts +5 -0
- package/front_end/generated/protocol.ts +20 -0
- package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +18 -35
- package/front_end/models/ai_assistance/ai_assistance.ts +1 -1
- package/front_end/models/ai_assistance/data_formatters/NetworkRequestFormatter.ts +7 -6
- package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.snapshot.txt +246 -119
- package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.ts +187 -73
- package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.snapshot.txt +106 -100
- package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.ts +20 -27
- package/front_end/models/ai_assistance/data_formatters/UnitFormatters.ts +151 -0
- package/front_end/models/badges/AiExplorerBadge.ts +21 -0
- package/front_end/models/badges/Badge.ts +10 -9
- package/front_end/models/badges/CodeWhispererBadge.ts +21 -0
- package/front_end/models/badges/DOMDetectiveBadge.ts +21 -0
- package/front_end/models/badges/SpeedsterBadge.ts +7 -2
- package/front_end/models/badges/StarterBadge.ts +6 -1
- package/front_end/models/badges/UserBadges.ts +61 -9
- package/front_end/models/bindings/CSSWorkspaceBinding.ts +6 -6
- package/front_end/models/bindings/DebuggerLanguagePlugins.ts +18 -18
- package/front_end/models/bindings/FileUtils.ts +15 -15
- package/front_end/models/bindings/ResourceScriptMapping.ts +14 -14
- package/front_end/models/elements/ElementUpdateRecord.ts +11 -11
- package/front_end/models/emulation/DeviceModeModel.ts +123 -131
- package/front_end/models/emulation/EmulatedDevices.ts +22 -22
- package/front_end/models/extensions/ExtensionPanel.ts +24 -24
- package/front_end/models/extensions/ExtensionServer.ts +4 -4
- package/front_end/models/javascript_metadata/NativeFunctions.js +14 -2
- package/front_end/models/persistence/IsolatedFileSystem.ts +18 -19
- package/front_end/models/persistence/IsolatedFileSystemManager.ts +13 -13
- package/front_end/models/trace/EventsSerializer.ts +5 -5
- package/front_end/models/trace/LanternComputationData.ts +10 -10
- package/front_end/models/trace/ModelImpl.ts +32 -54
- package/front_end/models/trace/Processor.ts +28 -30
- package/front_end/models/trace/extras/FilmStrip.ts +6 -6
- package/front_end/models/trace/extras/StackTraceForEvent.ts +22 -25
- package/front_end/models/trace/extras/ThirdParties.ts +16 -17
- package/front_end/models/trace/extras/TraceFilter.ts +1 -1
- package/front_end/models/trace/handlers/Threads.ts +10 -10
- package/front_end/models/trace/handlers/helpers.ts +9 -9
- package/front_end/models/trace/handlers/types.ts +3 -3
- package/front_end/models/trace/insights/CLSCulprits.ts +12 -14
- package/front_end/models/trace/insights/Cache.ts +8 -4
- package/front_end/models/trace/insights/DOMSize.ts +8 -5
- package/front_end/models/trace/insights/DocumentLatency.ts +2 -2
- package/front_end/models/trace/insights/DuplicatedJavaScript.ts +3 -3
- package/front_end/models/trace/insights/FontDisplay.ts +3 -4
- package/front_end/models/trace/insights/ForcedReflow.ts +3 -3
- package/front_end/models/trace/insights/INPBreakdown.ts +2 -2
- package/front_end/models/trace/insights/ImageDelivery.ts +11 -11
- package/front_end/models/trace/insights/LCPBreakdown.ts +4 -4
- package/front_end/models/trace/insights/LCPDiscovery.ts +4 -4
- package/front_end/models/trace/insights/LegacyJavaScript.ts +2 -2
- package/front_end/models/trace/insights/ModernHTTP.ts +4 -5
- package/front_end/models/trace/insights/NetworkDependencyTree.ts +12 -12
- package/front_end/models/trace/insights/RenderBlocking.ts +9 -10
- package/front_end/models/trace/insights/SlowCSSSelector.ts +2 -2
- package/front_end/models/trace/insights/ThirdParties.ts +4 -5
- package/front_end/models/trace/insights/Viewport.ts +8 -5
- package/front_end/models/trace/insights/types.ts +1 -0
- package/front_end/models/trace/lantern/testing/MetricTestUtils.ts +10 -10
- package/front_end/panels/accessibility/AXBreadcrumbsPane.ts +52 -52
- package/front_end/panels/accessibility/AccessibilitySidebarView.ts +8 -8
- package/front_end/panels/animation/AnimationTimeline.ts +5 -5
- package/front_end/panels/animation/AnimationUI.ts +22 -23
- package/front_end/panels/application/ApplicationPanelSidebar.ts +12 -12
- package/front_end/panels/application/DOMStorageModel.ts +23 -23
- package/front_end/panels/application/ExtensionStorageModel.ts +31 -31
- package/front_end/panels/application/IndexedDBModel.ts +1 -0
- package/front_end/panels/application/PreloadingTreeElement.ts +8 -8
- package/front_end/panels/application/ServiceWorkersView.ts +0 -53
- package/front_end/panels/application/preloading/components/PreloadingDisabledInfobar.ts +2 -2
- package/front_end/panels/application/preloading/components/UsedPreloadingView.ts +2 -2
- package/front_end/panels/common/BadgeNotification.ts +140 -10
- package/front_end/panels/common/GdpSignUpDialog.ts +5 -0
- package/front_end/panels/common/badgeNotification.css +30 -9
- package/front_end/panels/console/ConsoleContextSelector.ts +9 -9
- package/front_end/panels/console/ConsolePrompt.ts +8 -5
- package/front_end/panels/console/ConsoleView.ts +13 -13
- package/front_end/panels/console/ConsoleViewport.ts +29 -29
- package/front_end/panels/coverage/CoverageModel.ts +22 -22
- package/front_end/panels/elements/ClassesPaneWidget.ts +1 -1
- package/front_end/panels/elements/ComputedStyleModel.ts +17 -18
- package/front_end/panels/elements/DOMPath.ts +2 -2
- package/front_end/panels/elements/ElementsPanel.ts +13 -13
- package/front_end/panels/elements/ElementsTreeElement.ts +30 -18
- package/front_end/panels/elements/ElementsTreeOutline.ts +44 -48
- package/front_end/panels/elements/ShortcutTreeElement.ts +4 -4
- package/front_end/panels/elements/StylePropertiesSection.ts +7 -4
- package/front_end/panels/elements/StylePropertyTreeElement.ts +54 -50
- package/front_end/panels/elements/StylesSidebarPane.ts +19 -19
- package/front_end/panels/emulation/DeviceModeToolbar.ts +7 -7
- package/front_end/panels/emulation/DeviceModeView.ts +6 -6
- package/front_end/panels/emulation/MediaQueryInspector.ts +18 -18
- package/front_end/panels/event_listeners/EventListenersView.ts +13 -14
- package/front_end/panels/layer_viewer/LayerTreeOutline.ts +3 -3
- package/front_end/panels/layer_viewer/LayerViewHost.ts +13 -13
- package/front_end/panels/layer_viewer/PaintProfilerView.ts +9 -10
- package/front_end/panels/layer_viewer/TransformController.ts +34 -36
- package/front_end/panels/layers/LayerTreeModel.ts +41 -40
- package/front_end/panels/lighthouse/LighthouseReportSelector.ts +13 -13
- package/front_end/panels/lighthouse/LighthouseStartView.ts +7 -7
- package/front_end/panels/media/PlayerMessagesView.ts +5 -5
- package/front_end/panels/media/TickingFlameChart.ts +24 -24
- package/front_end/panels/media/TickingFlameChartHelpers.ts +32 -32
- package/front_end/panels/network/NetworkItemView.ts +4 -4
- package/front_end/panels/network/NetworkLogViewColumns.ts +29 -29
- package/front_end/panels/network/NetworkPanel.ts +8 -5
- package/front_end/panels/network/ResourceWebSocketFrameView.ts +10 -10
- package/front_end/panels/profiler/HeapDetachedElementsView.ts +3 -3
- package/front_end/panels/profiler/HeapProfileView.ts +1 -1
- package/front_end/panels/profiler/ProfileFlameChartDataProvider.ts +3 -4
- package/front_end/panels/profiler/ProfileHeader.ts +25 -25
- package/front_end/panels/profiler/ProfileLauncherView.ts +5 -6
- package/front_end/panels/recorder/components/ReplaySection.ts +3 -1
- package/front_end/panels/security/OriginTreeElement.ts +8 -8
- package/front_end/panels/security/SecurityPanel.ts +5 -5
- package/front_end/panels/settings/SettingsScreen.ts +18 -18
- package/front_end/panels/settings/components/SyncSection.ts +26 -8
- package/front_end/panels/sources/AiCodeCompletionPlugin.ts +3 -0
- package/front_end/panels/sources/DebuggerPausedMessage.ts +8 -9
- package/front_end/panels/sources/NavigatorView.ts +43 -46
- package/front_end/panels/sources/SourcesPanel.ts +35 -35
- package/front_end/panels/sources/SourcesView.ts +13 -13
- package/front_end/panels/sources/TabbedEditorContainer.ts +19 -22
- package/front_end/panels/sources/UISourceCodeFrame.ts +4 -4
- package/front_end/panels/sources/WatchExpressionsSidebarPane.ts +34 -36
- package/front_end/panels/timeline/AnimationsTrackAppender.ts +3 -3
- package/front_end/panels/timeline/CompatibilityTracksAppender.ts +8 -8
- package/front_end/panels/timeline/CountersGraph.ts +16 -16
- package/front_end/panels/timeline/EntriesFilter.ts +4 -3
- package/front_end/panels/timeline/EventsTimelineTreeView.ts +3 -3
- package/front_end/panels/timeline/GPUTrackAppender.ts +3 -3
- package/front_end/panels/timeline/Initiators.ts +10 -10
- package/front_end/panels/timeline/InteractionsTrackAppender.ts +5 -5
- package/front_end/panels/timeline/LayoutShiftsTrackAppender.ts +7 -7
- package/front_end/panels/timeline/ModificationsManager.ts +8 -15
- package/front_end/panels/timeline/TargetForEvent.ts +2 -2
- package/front_end/panels/timeline/ThirdPartyTreeView.ts +1 -1
- package/front_end/panels/timeline/ThreadAppender.ts +13 -13
- package/front_end/panels/timeline/TimelineDetailsView.ts +6 -14
- package/front_end/panels/timeline/TimelineEventOverview.ts +27 -26
- package/front_end/panels/timeline/TimelineFilters.ts +5 -5
- package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +54 -53
- package/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.ts +34 -34
- package/front_end/panels/timeline/TimelineFlameChartView.ts +18 -31
- package/front_end/panels/timeline/TimelineHistoryManager.ts +17 -18
- package/front_end/panels/timeline/TimelineMiniMap.ts +6 -6
- package/front_end/panels/timeline/TimelinePaintProfilerView.ts +6 -6
- package/front_end/panels/timeline/TimelinePanel.ts +73 -68
- package/front_end/panels/timeline/TimelineSelectorStatsView.ts +7 -5
- package/front_end/panels/timeline/TimelineTreeView.ts +10 -10
- package/front_end/panels/timeline/TimelineUIUtils.ts +47 -46
- package/front_end/panels/timeline/TimingsTrackAppender.ts +12 -12
- package/front_end/panels/timeline/TracingLayerTree.ts +43 -43
- package/front_end/panels/timeline/TrackConfigBanner.ts +6 -6
- package/front_end/panels/timeline/TrackConfiguration.ts +1 -1
- package/front_end/panels/timeline/components/DetailsView.ts +4 -4
- package/front_end/panels/timeline/components/LayoutShiftDetails.ts +12 -21
- package/front_end/panels/timeline/components/LiveMetricsView.ts +2 -1
- package/front_end/panels/timeline/components/NetworkRequestDetails.ts +5 -5
- package/front_end/panels/timeline/components/Sidebar.ts +4 -14
- package/front_end/panels/timeline/components/SidebarInsightsTab.ts +13 -36
- package/front_end/panels/timeline/components/SidebarSingleInsightSet.ts +21 -19
- package/front_end/panels/timeline/components/insights/BaseInsightComponent.ts +1 -1
- package/front_end/panels/timeline/components/insights/Cache.ts +4 -0
- package/front_end/panels/timeline/components/insights/DOMSize.ts +5 -1
- package/front_end/panels/timeline/components/insights/Helpers.ts +19 -0
- package/front_end/panels/timeline/components/insights/NetworkDependencyTree.ts +1 -1
- package/front_end/panels/timeline/components/insights/Viewport.ts +4 -0
- package/front_end/panels/timeline/overlays/OverlaysImpl.ts +1 -1
- package/front_end/panels/timeline/utils/AICallTree.ts +11 -11
- package/front_end/panels/timeline/utils/AIContext.ts +17 -19
- package/front_end/panels/timeline/utils/EntityMapper.ts +6 -5
- package/front_end/panels/timeline/utils/EntryName.ts +2 -2
- package/front_end/panels/timeline/utils/EntryNodes.ts +5 -5
- package/front_end/panels/timeline/utils/EntryStyles.ts +4 -4
- package/front_end/panels/timeline/utils/FreshRecording.ts +3 -3
- package/front_end/panels/timeline/utils/Helpers.ts +0 -18
- package/front_end/panels/timeline/utils/InsightAIContext.ts +6 -6
- package/front_end/panels/timeline/utils/SourceMapsResolver.ts +7 -7
- package/front_end/panels/webauthn/WebauthnPane.ts +1 -0
- package/front_end/third_party/chromium/README.chromium +1 -1
- package/front_end/third_party/codemirror.next/chunk/angular.js +1 -1
- package/front_end/third_party/codemirror.next/chunk/angular.js.map +1 -1
- package/front_end/third_party/codemirror.next/chunk/codemirror.js +1 -1
- package/front_end/third_party/codemirror.next/chunk/codemirror.js.map +1 -1
- package/front_end/third_party/codemirror.next/chunk/cpp.js +1 -1
- package/front_end/third_party/codemirror.next/chunk/cpp.js.map +1 -1
- package/front_end/third_party/codemirror.next/chunk/java.js +1 -1
- package/front_end/third_party/codemirror.next/chunk/java.js.map +1 -1
- package/front_end/third_party/codemirror.next/chunk/legacy.js +1 -1
- package/front_end/third_party/codemirror.next/chunk/legacy.js.map +1 -1
- package/front_end/third_party/codemirror.next/chunk/less.js +1 -1
- package/front_end/third_party/codemirror.next/chunk/less.js.map +1 -1
- package/front_end/third_party/codemirror.next/chunk/markdown.js +1 -1
- package/front_end/third_party/codemirror.next/chunk/markdown.js.map +1 -1
- package/front_end/third_party/codemirror.next/chunk/php.js +1 -1
- package/front_end/third_party/codemirror.next/chunk/php.js.map +1 -1
- package/front_end/third_party/codemirror.next/chunk/python.js +1 -1
- package/front_end/third_party/codemirror.next/chunk/python.js.map +1 -1
- package/front_end/third_party/codemirror.next/chunk/sass.js +1 -1
- package/front_end/third_party/codemirror.next/chunk/sass.js.map +1 -1
- package/front_end/third_party/codemirror.next/chunk/svelte.js +1 -1
- package/front_end/third_party/codemirror.next/chunk/svelte.js.map +1 -1
- package/front_end/third_party/codemirror.next/chunk/vue.js +1 -1
- package/front_end/third_party/codemirror.next/chunk/vue.js.map +1 -1
- package/front_end/third_party/codemirror.next/chunk/wast.js +1 -1
- package/front_end/third_party/codemirror.next/chunk/wast.js.map +1 -1
- package/front_end/third_party/codemirror.next/chunk/xml.js +1 -1
- package/front_end/third_party/codemirror.next/chunk/xml.js.map +1 -1
- package/front_end/third_party/codemirror.next/codemirror.next.js +1 -1
- package/front_end/third_party/codemirror.next/package.json +1 -1
- package/front_end/third_party/codemirror.next/rebuild.sh +1 -1
- package/front_end/third_party/json5/rebuild.sh +1 -1
- package/front_end/third_party/legacy-javascript/{update.sh → rebuild.sh} +1 -1
- package/front_end/third_party/lit/lib/decorators.d.ts +26 -9
- package/front_end/third_party/lit/lib/decorators.js +5 -5
- package/front_end/third_party/lit/lib/decorators.js.map +1 -1
- package/front_end/third_party/lit/lib/directive.js.map +1 -1
- package/front_end/third_party/lit/lib/directives.js +8 -13
- package/front_end/third_party/lit/lib/directives.js.map +1 -1
- package/front_end/third_party/lit/lib/lit.d.ts +26 -9
- package/front_end/third_party/lit/lib/lit.js +5 -5
- package/front_end/third_party/lit/lib/lit.js.map +1 -1
- package/front_end/third_party/lit/lib/static-html.js +2 -2
- package/front_end/third_party/lit/lib/static-html.js.map +1 -1
- package/front_end/third_party/lit/rebuild.sh +1 -1
- package/front_end/third_party/third-party-web/rebuild.sh +1 -1
- package/front_end/ui/components/dialogs/Dialog.ts +6 -7
- package/front_end/ui/legacy/ActionRegistration.ts +9 -9
- package/front_end/ui/legacy/DockController.ts +18 -18
- package/front_end/ui/legacy/FilterBar.ts +7 -7
- package/front_end/ui/legacy/Fragment.ts +4 -4
- package/front_end/ui/legacy/GlassPane.ts +12 -12
- package/front_end/ui/legacy/InspectorView.ts +5 -15
- package/front_end/ui/legacy/ListControl.ts +27 -27
- package/front_end/ui/legacy/ListWidget.ts +4 -4
- package/front_end/ui/legacy/PopoverHelper.ts +4 -4
- package/front_end/ui/legacy/ShortcutRegistry.ts +17 -17
- package/front_end/ui/legacy/TabbedPane.ts +74 -75
- package/front_end/ui/legacy/TextPrompt.ts +31 -31
- package/front_end/ui/legacy/Toolbar.ts +13 -14
- package/front_end/ui/legacy/ViewManager.ts +30 -31
- package/front_end/ui/legacy/Widget.ts +6 -6
- package/front_end/ui/legacy/XLink.ts +9 -9
- package/front_end/ui/legacy/ZoomManager.ts +9 -9
- package/front_end/ui/legacy/components/color_picker/ContrastDetails.ts +27 -27
- package/front_end/ui/legacy/components/color_picker/ContrastInfo.ts +30 -32
- package/front_end/ui/legacy/components/color_picker/Spectrum.ts +15 -15
- package/front_end/ui/legacy/components/data_grid/DataGrid.ts +64 -64
- package/front_end/ui/legacy/components/data_grid/ShowMoreDataGridNode.ts +2 -2
- package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +10 -11
- package/front_end/ui/legacy/components/perf_ui/ChartViewport.ts +12 -12
- package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +3 -3
- package/front_end/ui/legacy/components/perf_ui/TimelineGrid.ts +14 -14
- package/front_end/ui/legacy/components/perf_ui/TimelineOverviewPane.ts +8 -8
- package/front_end/ui/legacy/components/quick_open/CommandMenu.ts +5 -5
- package/front_end/ui/legacy/components/source_frame/ResourceSourceFrame.ts +4 -4
- package/front_end/ui/legacy/filter.css +1 -1
- package/front_end/ui/legacy/inspectorCommon.css +1 -1
- package/front_end/ui/legacy/softDropDownButton.css +1 -1
- package/front_end/ui/legacy/theme_support/ThemeSupport.ts +4 -4
- package/front_end/ui/visual_logging/KnownContextValues.ts +2 -2
- package/package.json +1 -1
- package/front_end/models/ai_assistance/data_formatters/Types.ts +0 -9
@@ -45,7 +45,7 @@ export class ConsoleViewport {
|
|
45
45
|
element: HTMLElement;
|
46
46
|
private topGapElement: HTMLElement;
|
47
47
|
private topGapElementActive: boolean;
|
48
|
-
|
48
|
+
#contentElement: HTMLElement;
|
49
49
|
private bottomGapElement: HTMLElement;
|
50
50
|
private bottomGapElementActive: boolean;
|
51
51
|
private provider: ConsoleViewportProvider;
|
@@ -63,7 +63,7 @@ export class ConsoleViewport {
|
|
63
63
|
childList: boolean,
|
64
64
|
subtree: boolean,
|
65
65
|
};
|
66
|
-
|
66
|
+
#stickToBottom: boolean;
|
67
67
|
private selectionIsBackward: boolean;
|
68
68
|
private lastSelectedElement?: HTMLElement|null;
|
69
69
|
private cachedProviderElements?: Array<ConsoleViewportElement|null>;
|
@@ -75,7 +75,7 @@ export class ConsoleViewport {
|
|
75
75
|
this.topGapElement.style.height = '0px';
|
76
76
|
this.topGapElement.style.color = 'transparent';
|
77
77
|
this.topGapElementActive = false;
|
78
|
-
this
|
78
|
+
this.#contentElement = this.element.createChild('div');
|
79
79
|
this.bottomGapElement = this.element.createChild('div');
|
80
80
|
this.bottomGapElement.style.height = '0px';
|
81
81
|
this.bottomGapElement.style.color = 'transparent';
|
@@ -93,11 +93,11 @@ export class ConsoleViewport {
|
|
93
93
|
this.element.addEventListener('scroll', this.onScroll.bind(this), false);
|
94
94
|
this.element.addEventListener('copy', (this.onCopy.bind(this) as EventListener), false);
|
95
95
|
this.element.addEventListener('dragstart', (this.onDragStart.bind(this) as (arg0: Event) => unknown), false);
|
96
|
-
this.
|
97
|
-
this.
|
98
|
-
this.
|
96
|
+
this.#contentElement.addEventListener('focusin', (this.onFocusIn.bind(this) as EventListener), false);
|
97
|
+
this.#contentElement.addEventListener('focusout', (this.onFocusOut.bind(this) as EventListener), false);
|
98
|
+
this.#contentElement.addEventListener('keydown', (this.onKeyDown.bind(this) as EventListener), false);
|
99
99
|
this.virtualSelectedIndex = -1;
|
100
|
-
this.
|
100
|
+
this.#contentElement.tabIndex = -1;
|
101
101
|
|
102
102
|
this.firstActiveIndex = -1;
|
103
103
|
this.lastActiveIndex = -1;
|
@@ -113,18 +113,18 @@ export class ConsoleViewport {
|
|
113
113
|
// if they change the scroll height.
|
114
114
|
this.observer = new MutationObserver(this.refresh.bind(this));
|
115
115
|
this.observerConfig = {childList: true, subtree: true};
|
116
|
-
this
|
116
|
+
this.#stickToBottom = false;
|
117
117
|
this.selectionIsBackward = false;
|
118
118
|
}
|
119
119
|
|
120
120
|
stickToBottom(): boolean {
|
121
|
-
return this
|
121
|
+
return this.#stickToBottom;
|
122
122
|
}
|
123
123
|
|
124
124
|
setStickToBottom(value: boolean): void {
|
125
|
-
this
|
126
|
-
if (this
|
127
|
-
this.observer.observe(this
|
125
|
+
this.#stickToBottom = value;
|
126
|
+
if (this.#stickToBottom) {
|
127
|
+
this.observer.observe(this.#contentElement, this.observerConfig);
|
128
128
|
} else {
|
129
129
|
this.observer.disconnect();
|
130
130
|
}
|
@@ -168,7 +168,7 @@ export class ConsoleViewport {
|
|
168
168
|
let focusLastChild = false;
|
169
169
|
// Make default selection when moving from external (e.g. prompt) to the container.
|
170
170
|
if (this.virtualSelectedIndex === -1 && this.isOutsideViewport((event.relatedTarget as Element | null)) &&
|
171
|
-
event.target === this
|
171
|
+
event.target === this.#contentElement && this.itemCount) {
|
172
172
|
focusLastChild = true;
|
173
173
|
this.virtualSelectedIndex = this.itemCount - 1;
|
174
174
|
|
@@ -187,7 +187,7 @@ export class ConsoleViewport {
|
|
187
187
|
}
|
188
188
|
|
189
189
|
private isOutsideViewport(element: Element|null): boolean {
|
190
|
-
return element !== null && !element.isSelfOrDescendant(this
|
190
|
+
return element !== null && !element.isSelfOrDescendant(this.#contentElement);
|
191
191
|
}
|
192
192
|
|
193
193
|
private onDragStart(event: DragEvent): boolean {
|
@@ -242,7 +242,7 @@ export class ConsoleViewport {
|
|
242
242
|
const selectedElement = this.renderedElementAt(this.virtualSelectedIndex);
|
243
243
|
const changed = this.lastSelectedElement !== selectedElement;
|
244
244
|
const containerHasFocus =
|
245
|
-
this
|
245
|
+
this.#contentElement === Platform.DOMUtilities.deepActiveElement(this.element.ownerDocument);
|
246
246
|
if (this.lastSelectedElement && changed) {
|
247
247
|
this.lastSelectedElement.classList.remove('console-selected');
|
248
248
|
}
|
@@ -260,16 +260,16 @@ export class ConsoleViewport {
|
|
260
260
|
selectedElement.focus({preventScroll: true});
|
261
261
|
}
|
262
262
|
}
|
263
|
-
if (this.itemCount && !this.
|
264
|
-
this.
|
263
|
+
if (this.itemCount && !this.#contentElement.hasFocus()) {
|
264
|
+
this.#contentElement.tabIndex = 0;
|
265
265
|
} else {
|
266
|
-
this.
|
266
|
+
this.#contentElement.tabIndex = -1;
|
267
267
|
}
|
268
268
|
this.lastSelectedElement = selectedElement;
|
269
269
|
}
|
270
270
|
|
271
271
|
contentElement(): Element {
|
272
|
-
return this
|
272
|
+
return this.#contentElement;
|
273
273
|
}
|
274
274
|
|
275
275
|
invalidate(): void {
|
@@ -462,8 +462,8 @@ export class ConsoleViewport {
|
|
462
462
|
refresh(): void {
|
463
463
|
this.observer.disconnect();
|
464
464
|
this.innerRefresh();
|
465
|
-
if (this
|
466
|
-
this.observer.observe(this
|
465
|
+
if (this.#stickToBottom) {
|
466
|
+
this.observer.observe(this.#contentElement, this.observerConfig);
|
467
467
|
}
|
468
468
|
}
|
469
469
|
|
@@ -477,7 +477,7 @@ export class ConsoleViewport {
|
|
477
477
|
this.renderedItems[i].willHide();
|
478
478
|
}
|
479
479
|
this.renderedItems = [];
|
480
|
-
this.
|
480
|
+
this.#contentElement.removeChildren();
|
481
481
|
this.topGapElement.style.height = '0px';
|
482
482
|
this.bottomGapElement.style.height = '0px';
|
483
483
|
this.firstActiveIndex = -1;
|
@@ -497,7 +497,7 @@ export class ConsoleViewport {
|
|
497
497
|
// When the viewport is scrolled to the bottom, using the cumulative heights estimate is not
|
498
498
|
// precise enough to determine next visible indices. This stickToBottom check avoids extra
|
499
499
|
// calls to refresh in those cases.
|
500
|
-
if (this
|
500
|
+
if (this.#stickToBottom) {
|
501
501
|
this.firstActiveIndex = Math.max(this.itemCount - Math.ceil(activeHeight / this.provider.minimumRowHeight()), 0);
|
502
502
|
this.lastActiveIndex = this.itemCount - 1;
|
503
503
|
} else {
|
@@ -520,16 +520,16 @@ export class ConsoleViewport {
|
|
520
520
|
this.bottomGapElement.style.height = bottomGapHeight + 'px';
|
521
521
|
this.topGapElementActive = Boolean(topGapHeight);
|
522
522
|
this.bottomGapElementActive = Boolean(bottomGapHeight);
|
523
|
-
this.
|
523
|
+
this.#contentElement.style.setProperty('height', '10000000px');
|
524
524
|
}
|
525
525
|
|
526
526
|
this.partialViewportUpdate(prepare.bind(this));
|
527
|
-
this.
|
527
|
+
this.#contentElement.style.removeProperty('height');
|
528
528
|
// Should be the last call in the method as it might force layout.
|
529
529
|
if (shouldRestoreSelection) {
|
530
530
|
this.restoreSelection(selection);
|
531
531
|
}
|
532
|
-
if (this
|
532
|
+
if (this.#stickToBottom) {
|
533
533
|
this.element.scrollTop = 10000000;
|
534
534
|
}
|
535
535
|
}
|
@@ -555,7 +555,7 @@ export class ConsoleViewport {
|
|
555
555
|
}
|
556
556
|
|
557
557
|
const wasShown = [];
|
558
|
-
let anchor: (ChildNode|null) = this.
|
558
|
+
let anchor: (ChildNode|null) = this.#contentElement.firstChild;
|
559
559
|
for (const viewportElement of itemsToRender) {
|
560
560
|
const element = viewportElement.element();
|
561
561
|
if (element !== anchor) {
|
@@ -563,7 +563,7 @@ export class ConsoleViewport {
|
|
563
563
|
if (shouldCallWasShown) {
|
564
564
|
wasShown.push(viewportElement);
|
565
565
|
}
|
566
|
-
this.
|
566
|
+
this.#contentElement.insertBefore(element, anchor);
|
567
567
|
} else {
|
568
568
|
anchor = anchor.nextSibling;
|
569
569
|
}
|
@@ -574,7 +574,7 @@ export class ConsoleViewport {
|
|
574
574
|
this.renderedItems = Array.from(itemsToRender);
|
575
575
|
|
576
576
|
if (hadFocus) {
|
577
|
-
this.
|
577
|
+
this.#contentElement.focus();
|
578
578
|
}
|
579
579
|
this.updateFocusedItem();
|
580
580
|
}
|
@@ -674,48 +674,48 @@ function locationCompare(a: string, b: string): number {
|
|
674
674
|
}
|
675
675
|
|
676
676
|
export class URLCoverageInfo extends Common.ObjectWrapper.ObjectWrapper<URLCoverageInfo.EventTypes> {
|
677
|
-
|
677
|
+
readonly #url: Platform.DevToolsPath.UrlString;
|
678
678
|
private coverageInfoByLocation: Map<string, CoverageInfo>;
|
679
|
-
|
680
|
-
|
681
|
-
|
682
|
-
|
679
|
+
#size: number;
|
680
|
+
#usedSize: number;
|
681
|
+
#type!: CoverageType;
|
682
|
+
#isContentScript: boolean;
|
683
683
|
sourcesURLCoverageInfo = new Map<Platform.DevToolsPath.UrlString, SourceURLCoverageInfo>();
|
684
684
|
sourceSegments: SourceSegment[]|undefined;
|
685
685
|
|
686
686
|
constructor(url: Platform.DevToolsPath.UrlString) {
|
687
687
|
super();
|
688
688
|
|
689
|
-
this
|
689
|
+
this.#url = url;
|
690
690
|
this.coverageInfoByLocation = new Map();
|
691
|
-
this
|
692
|
-
this
|
693
|
-
this
|
691
|
+
this.#size = 0;
|
692
|
+
this.#usedSize = 0;
|
693
|
+
this.#isContentScript = false;
|
694
694
|
}
|
695
695
|
|
696
696
|
url(): Platform.DevToolsPath.UrlString {
|
697
|
-
return this
|
697
|
+
return this.#url;
|
698
698
|
}
|
699
699
|
|
700
700
|
type(): CoverageType {
|
701
|
-
return this
|
701
|
+
return this.#type;
|
702
702
|
}
|
703
703
|
|
704
704
|
size(): number {
|
705
|
-
return this
|
705
|
+
return this.#size;
|
706
706
|
}
|
707
707
|
|
708
708
|
usedSize(): number {
|
709
|
-
return this
|
709
|
+
return this.#usedSize;
|
710
710
|
}
|
711
711
|
|
712
712
|
unusedSize(): number {
|
713
|
-
return this
|
713
|
+
return this.#size - this.#usedSize;
|
714
714
|
}
|
715
715
|
|
716
716
|
usedPercentage(): number {
|
717
717
|
// Per convention, empty files are reported as 100 % uncovered
|
718
|
-
if (this
|
718
|
+
if (this.#size === 0) {
|
719
719
|
return 0;
|
720
720
|
}
|
721
721
|
if (!this.unusedSize() || !this.size()) {
|
@@ -726,14 +726,14 @@ export class URLCoverageInfo extends Common.ObjectWrapper.ObjectWrapper<URLCover
|
|
726
726
|
|
727
727
|
unusedPercentage(): number {
|
728
728
|
// Per convention, empty files are reported as 100 % uncovered
|
729
|
-
if (this
|
729
|
+
if (this.#size === 0) {
|
730
730
|
return 1;
|
731
731
|
}
|
732
732
|
return this.unusedSize() / this.size();
|
733
733
|
}
|
734
734
|
|
735
735
|
isContentScript(): boolean {
|
736
|
-
return this
|
736
|
+
return this.#isContentScript;
|
737
737
|
}
|
738
738
|
|
739
739
|
entries(): IterableIterator<CoverageInfo> {
|
@@ -752,8 +752,8 @@ export class URLCoverageInfo extends Common.ObjectWrapper.ObjectWrapper<URLCover
|
|
752
752
|
}
|
753
753
|
|
754
754
|
addToSizes(usedSize: number, size: number): void {
|
755
|
-
this
|
756
|
-
this
|
755
|
+
this.#usedSize += usedSize;
|
756
|
+
this.#size += size;
|
757
757
|
|
758
758
|
if (usedSize !== 0 || size !== 0) {
|
759
759
|
this.dispatchEventToListeners(URLCoverageInfo.Events.SizesChanged);
|
@@ -772,9 +772,9 @@ export class URLCoverageInfo extends Common.ObjectWrapper.ObjectWrapper<URLCover
|
|
772
772
|
|
773
773
|
if ((type & CoverageType.JAVA_SCRIPT) && !this.coverageInfoByLocation.size &&
|
774
774
|
contentProvider instanceof SDK.Script.Script) {
|
775
|
-
this
|
775
|
+
this.#isContentScript = (contentProvider).isContentScript();
|
776
776
|
}
|
777
|
-
this
|
777
|
+
this.#type |= type;
|
778
778
|
|
779
779
|
if (entry) {
|
780
780
|
entry.addCoverageType(type);
|
@@ -783,7 +783,7 @@ export class URLCoverageInfo extends Common.ObjectWrapper.ObjectWrapper<URLCover
|
|
783
783
|
|
784
784
|
if ((type & CoverageType.JAVA_SCRIPT) && !this.coverageInfoByLocation.size &&
|
785
785
|
contentProvider instanceof SDK.Script.Script) {
|
786
|
-
this
|
786
|
+
this.#isContentScript = (contentProvider).isContentScript();
|
787
787
|
}
|
788
788
|
|
789
789
|
entry = new CoverageInfo(contentProvider, contentLength, lineOffset, columnOffset, type, this);
|
@@ -93,7 +93,7 @@ export class ClassesPaneWidget extends UI.Widget.Widget {
|
|
93
93
|
}
|
94
94
|
|
95
95
|
const eventTarget = (event.target as HTMLElement);
|
96
|
-
let text
|
96
|
+
let text = eventTarget.textContent;
|
97
97
|
if (Platform.KeyboardUtilities.isEscKey(event)) {
|
98
98
|
if (!Platform.StringUtilities.isWhitespace(text)) {
|
99
99
|
event.consume(true);
|
@@ -11,8 +11,8 @@ import {ComputedStyleWidget} from './ComputedStyleWidget.js';
|
|
11
11
|
import {StylesSidebarPane} from './StylesSidebarPane.js';
|
12
12
|
|
13
13
|
export class ComputedStyleModel extends Common.ObjectWrapper.ObjectWrapper<EventTypes> {
|
14
|
-
|
15
|
-
|
14
|
+
#node: SDK.DOMModel.DOMNode|null;
|
15
|
+
#cssModel: SDK.CSSModel.CSSModel|null;
|
16
16
|
private eventListeners: Common.EventTarget.EventDescriptor[];
|
17
17
|
private frameResizedTimer?: number;
|
18
18
|
private computedStylePromise?: Promise<ComputedStyle|null>;
|
@@ -20,9 +20,9 @@ export class ComputedStyleModel extends Common.ObjectWrapper.ObjectWrapper<Event
|
|
20
20
|
|
21
21
|
constructor() {
|
22
22
|
super();
|
23
|
-
this
|
23
|
+
this.#cssModel = null;
|
24
24
|
this.eventListeners = [];
|
25
|
-
this
|
25
|
+
this.#node = UI.Context.Context.instance().flavor(SDK.DOMModel.DOMNode);
|
26
26
|
|
27
27
|
UI.Context.Context.instance().addFlavorChangeListener(SDK.DOMModel.DOMNode, this.onNodeChanged, this);
|
28
28
|
UI.Context.Context.instance().addFlavorChangeListener(
|
@@ -40,17 +40,17 @@ export class ComputedStyleModel extends Common.ObjectWrapper.ObjectWrapper<Event
|
|
40
40
|
}
|
41
41
|
|
42
42
|
node(): SDK.DOMModel.DOMNode|null {
|
43
|
-
return this
|
43
|
+
return this.#node;
|
44
44
|
}
|
45
45
|
|
46
46
|
cssModel(): SDK.CSSModel.CSSModel|null {
|
47
|
-
return this
|
47
|
+
return this.#cssModel?.isEnabled() ? this.#cssModel : null;
|
48
48
|
}
|
49
49
|
|
50
50
|
// This is a debounced method because the user might be navigated from Styles tab to Computed Style tab and vice versa.
|
51
51
|
// For that case, we want to only run this function once.
|
52
52
|
private evaluateTrackingComputedStyleUpdatesForNode = Common.Debouncer.debounce((): void => {
|
53
|
-
if (!this
|
53
|
+
if (!this.#node) {
|
54
54
|
// There isn't a node selected now, so let's stop tracking computed style updates for the previously tracked node.
|
55
55
|
if (this.currentTrackedNodeId) {
|
56
56
|
void this.cssModel()?.trackComputedStyleUpdatesForNode(undefined);
|
@@ -76,25 +76,25 @@ export class ComputedStyleModel extends Common.ObjectWrapper.ObjectWrapper<Event
|
|
76
76
|
// Either computed style widget or styles tab is visible
|
77
77
|
// if the currently tracked node id is not the same as the selected node
|
78
78
|
// let's start tracking the currently selected node.
|
79
|
-
if (this.currentTrackedNodeId !== this.
|
80
|
-
void this.cssModel()?.trackComputedStyleUpdatesForNode(this.
|
81
|
-
this.currentTrackedNodeId = this.
|
79
|
+
if (this.currentTrackedNodeId !== this.#node.id) {
|
80
|
+
void this.cssModel()?.trackComputedStyleUpdatesForNode(this.#node.id);
|
81
|
+
this.currentTrackedNodeId = this.#node.id;
|
82
82
|
}
|
83
83
|
}, 100);
|
84
84
|
|
85
85
|
private onNodeChanged(event: Common.EventTarget.EventTargetEvent<SDK.DOMModel.DOMNode|null>): void {
|
86
|
-
this
|
87
|
-
this.updateModel(this
|
86
|
+
this.#node = event.data;
|
87
|
+
this.updateModel(this.#node ? this.#node.domModel().cssModel() : null);
|
88
88
|
this.onCSSModelChanged(null);
|
89
89
|
this.evaluateTrackingComputedStyleUpdatesForNode();
|
90
90
|
}
|
91
91
|
|
92
92
|
private updateModel(cssModel: SDK.CSSModel.CSSModel|null): void {
|
93
|
-
if (this
|
93
|
+
if (this.#cssModel === cssModel) {
|
94
94
|
return;
|
95
95
|
}
|
96
96
|
Common.EventTarget.removeEventListeners(this.eventListeners);
|
97
|
-
this
|
97
|
+
this.#cssModel = cssModel;
|
98
98
|
const domModel = cssModel ? cssModel.domModel() : null;
|
99
99
|
const resourceTreeModel = cssModel ? cssModel.target().model(SDK.ResourceTreeModel.ResourceTreeModel) : null;
|
100
100
|
if (cssModel && domModel && resourceTreeModel) {
|
@@ -123,7 +123,7 @@ export class ComputedStyleModel extends Common.ObjectWrapper.ObjectWrapper<Event
|
|
123
123
|
delete this.computedStylePromise;
|
124
124
|
// If the event contains `nodeId` and that's not the same as this node's id
|
125
125
|
// we don't emit the COMPUTED_STYLE_CHANGED event.
|
126
|
-
if (event?.data && 'nodeId' in event.data && event.data.nodeId !== this
|
126
|
+
if (event?.data && 'nodeId' in event.data && event.data.nodeId !== this.#node?.id) {
|
127
127
|
return;
|
128
128
|
}
|
129
129
|
|
@@ -133,9 +133,8 @@ export class ComputedStyleModel extends Common.ObjectWrapper.ObjectWrapper<Event
|
|
133
133
|
private onDOMModelChanged(event: Common.EventTarget.EventTargetEvent<SDK.DOMModel.DOMNode>): void {
|
134
134
|
// Any attribute removal or modification can affect the styles of "related" nodes.
|
135
135
|
const node = event.data;
|
136
|
-
if (!this
|
137
|
-
this
|
138
|
-
!node.isAncestor(this.nodeInternal)) {
|
136
|
+
if (!this.#node ||
|
137
|
+
this.#node !== node && node.parentNode !== this.#node.parentNode && !node.isAncestor(this.#node)) {
|
139
138
|
return;
|
140
139
|
}
|
141
140
|
this.onCSSModelChanged(null);
|
@@ -17,7 +17,7 @@ export const cssPath = function(node: SDK.DOMModel.DOMNode, optimized?: boolean)
|
|
17
17
|
}
|
18
18
|
|
19
19
|
const steps = [];
|
20
|
-
let contextNode:
|
20
|
+
let contextNode: SDK.DOMModel.DOMNode|null = node;
|
21
21
|
while (contextNode) {
|
22
22
|
const step = cssPathStep(contextNode, Boolean(optimized), contextNode === node);
|
23
23
|
if (!step) {
|
@@ -176,7 +176,7 @@ export const xPath = function(node: SDK.DOMModel.DOMNode, optimized?: boolean):
|
|
176
176
|
}
|
177
177
|
|
178
178
|
const steps = [];
|
179
|
-
let contextNode:
|
179
|
+
let contextNode: SDK.DOMModel.DOMNode|null = node;
|
180
180
|
while (contextNode) {
|
181
181
|
const step = xPathValue(contextNode, optimized);
|
182
182
|
if (!step) {
|
@@ -201,7 +201,7 @@ export class ElementsPanel extends UI.Panel.Panel implements UI.SearchableView.S
|
|
201
201
|
SDK.TargetManager.SDKModelObserver<SDK.DOMModel.DOMModel>,
|
202
202
|
UI.View.ViewLocationResolver {
|
203
203
|
private splitWidget: UI.SplitWidget.SplitWidget;
|
204
|
-
|
204
|
+
readonly #searchableView: UI.SearchableView.SearchableView;
|
205
205
|
private mainContainer: HTMLDivElement;
|
206
206
|
private domTreeContainer: HTMLDivElement;
|
207
207
|
private splitMode: SplitMode|null;
|
@@ -252,11 +252,11 @@ export class ElementsPanel extends UI.Panel.Panel implements UI.SearchableView.S
|
|
252
252
|
UI.SplitWidget.Events.SIDEBAR_SIZE_CHANGED, this.updateTreeOutlineVisibleWidth.bind(this));
|
253
253
|
this.splitWidget.show(this.element);
|
254
254
|
|
255
|
-
this
|
256
|
-
this.
|
257
|
-
this.
|
258
|
-
this.
|
259
|
-
const stackElement = this.
|
255
|
+
this.#searchableView = new UI.SearchableView.SearchableView(this, null);
|
256
|
+
this.#searchableView.setMinimalSearchQuerySize(0);
|
257
|
+
this.#searchableView.setMinimumSize(25, 28);
|
258
|
+
this.#searchableView.setPlaceholder(i18nString(UIStrings.findByStringSelectorOrXpath));
|
259
|
+
const stackElement = this.#searchableView.element;
|
260
260
|
|
261
261
|
this.mainContainer = document.createElement('div');
|
262
262
|
this.domTreeContainer = document.createElement('div');
|
@@ -271,7 +271,7 @@ export class ElementsPanel extends UI.Panel.Panel implements UI.SearchableView.S
|
|
271
271
|
UI.ARIAUtils.markAsMain(this.domTreeContainer);
|
272
272
|
UI.ARIAUtils.setLabel(this.domTreeContainer, i18nString(UIStrings.domTreeExplorer));
|
273
273
|
|
274
|
-
this.splitWidget.setMainWidget(this
|
274
|
+
this.splitWidget.setMainWidget(this.#searchableView);
|
275
275
|
this.splitMode = null;
|
276
276
|
|
277
277
|
this.mainContainer.id = 'main-content';
|
@@ -351,7 +351,7 @@ export class ElementsPanel extends UI.Panel.Panel implements UI.SearchableView.S
|
|
351
351
|
}
|
352
352
|
|
353
353
|
private showDOMTree(): void {
|
354
|
-
this.splitWidget.setMainWidget(this
|
354
|
+
this.splitWidget.setMainWidget(this.#searchableView);
|
355
355
|
const selectedNode = this.selectedDOMNode();
|
356
356
|
if (!selectedNode) {
|
357
357
|
return;
|
@@ -477,7 +477,7 @@ export class ElementsPanel extends UI.Panel.Panel implements UI.SearchableView.S
|
|
477
477
|
}
|
478
478
|
|
479
479
|
override searchableView(): UI.SearchableView.SearchableView {
|
480
|
-
return this
|
480
|
+
return this.#searchableView;
|
481
481
|
}
|
482
482
|
|
483
483
|
override wasShown(): void {
|
@@ -560,7 +560,7 @@ export class ElementsPanel extends UI.Panel.Panel implements UI.SearchableView.S
|
|
560
560
|
}
|
561
561
|
|
562
562
|
private documentUpdated(domModel: SDK.DOMModel.DOMModel): void {
|
563
|
-
this.
|
563
|
+
this.#searchableView.cancelSearch();
|
564
564
|
|
565
565
|
if (!domModel.existingDocument()) {
|
566
566
|
if (this.isShowing()) {
|
@@ -625,7 +625,7 @@ export class ElementsPanel extends UI.Panel.Panel implements UI.SearchableView.S
|
|
625
625
|
this.searchConfig = undefined;
|
626
626
|
this.hideSearchHighlights();
|
627
627
|
|
628
|
-
this.
|
628
|
+
this.#searchableView.updateSearchMatchesCount(0);
|
629
629
|
|
630
630
|
this.currentSearchResultIndex = -1;
|
631
631
|
delete this.searchResults;
|
@@ -660,7 +660,7 @@ export class ElementsPanel extends UI.Panel.Panel implements UI.SearchableView.S
|
|
660
660
|
this.searchResults.push({domModel: domModels[i], index: j, node: undefined});
|
661
661
|
}
|
662
662
|
}
|
663
|
-
this.
|
663
|
+
this.#searchableView.updateSearchMatchesCount(this.searchResults.length);
|
664
664
|
if (!this.searchResults.length) {
|
665
665
|
return;
|
666
666
|
}
|
@@ -725,7 +725,7 @@ export class ElementsPanel extends UI.Panel.Panel implements UI.SearchableView.S
|
|
725
725
|
}
|
726
726
|
const searchResult = searchResults[index];
|
727
727
|
|
728
|
-
this.
|
728
|
+
this.#searchableView.updateCurrentMatchIndex(index);
|
729
729
|
if (searchResult.node === null) {
|
730
730
|
return;
|
731
731
|
}
|