chrome-devtools-frontend 1.0.1512349 → 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/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 +38 -0
- 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/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 +15 -16
- package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.snapshot.txt +127 -0
- package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.ts +149 -26
- package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.snapshot.txt +6 -0
- package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.ts +9 -10
- package/front_end/models/badges/AiExplorerBadge.ts +21 -0
- package/front_end/models/badges/Badge.ts +3 -5
- package/front_end/models/badges/CodeWhispererBadge.ts +21 -0
- package/front_end/models/badges/DOMDetectiveBadge.ts +4 -3
- package/front_end/models/badges/SpeedsterBadge.ts +6 -4
- package/front_end/models/badges/StarterBadge.ts +4 -3
- package/front_end/models/badges/UserBadges.ts +29 -3
- 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 -41
- 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 +24 -4
- package/front_end/panels/common/GdpSignUpDialog.ts +5 -0
- package/front_end/panels/common/badgeNotification.css +26 -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 +18 -18
- package/front_end/panels/elements/ElementsTreeOutline.ts +41 -48
- package/front_end/panels/elements/ShortcutTreeElement.ts +4 -4
- package/front_end/panels/elements/StylePropertiesSection.ts +4 -4
- package/front_end/panels/elements/StylePropertyTreeElement.ts +49 -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 -12
- package/front_end/panels/settings/components/SyncSection.ts +20 -6
- 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 +52 -59
- 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 +43 -43
- 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/theme_support/ThemeSupport.ts +4 -4
- package/front_end/ui/visual_logging/KnownContextValues.ts +2 -2
- package/package.json +1 -1
@@ -278,7 +278,7 @@ export class EventListenersTreeElement extends UI.TreeOutline.TreeElement {
|
|
278
278
|
}
|
279
279
|
|
280
280
|
export class ObjectEventListenerBar extends UI.TreeOutline.TreeElement {
|
281
|
-
|
281
|
+
#eventListener: SDK.DOMDebuggerModel.EventListener;
|
282
282
|
editable: boolean;
|
283
283
|
private readonly changeCallback: () => void;
|
284
284
|
private valueTitle?: Element;
|
@@ -286,7 +286,7 @@ export class ObjectEventListenerBar extends UI.TreeOutline.TreeElement {
|
|
286
286
|
eventListener: SDK.DOMDebuggerModel.EventListener, object: SDK.RemoteObject.RemoteObject,
|
287
287
|
linkifier: Components.Linkifier.Linkifier, changeCallback: () => void) {
|
288
288
|
super('', true);
|
289
|
-
this
|
289
|
+
this.#eventListener = eventListener;
|
290
290
|
this.editable = false;
|
291
291
|
this.setTitle(object, linkifier);
|
292
292
|
this.changeCallback = changeCallback;
|
@@ -294,7 +294,7 @@ export class ObjectEventListenerBar extends UI.TreeOutline.TreeElement {
|
|
294
294
|
|
295
295
|
override async onpopulate(): Promise<void> {
|
296
296
|
const properties = [];
|
297
|
-
const eventListener = this
|
297
|
+
const eventListener = this.#eventListener;
|
298
298
|
const runtimeModel = eventListener.domDebuggerModel().runtimeModel();
|
299
299
|
properties.push(runtimeModel.createRemotePropertyFromPrimitiveValue('useCapture', eventListener.useCapture()));
|
300
300
|
properties.push(runtimeModel.createRemotePropertyFromPrimitiveValue('passive', eventListener.passive()));
|
@@ -314,7 +314,7 @@ export class ObjectEventListenerBar extends UI.TreeOutline.TreeElement {
|
|
314
314
|
this.valueTitle = propertyValue.element;
|
315
315
|
title.appendChild(this.valueTitle);
|
316
316
|
|
317
|
-
if (this.
|
317
|
+
if (this.#eventListener.canRemove()) {
|
318
318
|
const deleteButton = new Buttons.Button.Button();
|
319
319
|
deleteButton.data = {
|
320
320
|
variant: Buttons.Button.Variant.ICON,
|
@@ -330,7 +330,7 @@ export class ObjectEventListenerBar extends UI.TreeOutline.TreeElement {
|
|
330
330
|
title.appendChild(deleteButton);
|
331
331
|
}
|
332
332
|
|
333
|
-
if (this.
|
333
|
+
if (this.#eventListener.isScrollBlockingType() && this.#eventListener.canTogglePassive()) {
|
334
334
|
const passiveButton = title.createChild('button', 'event-listener-button');
|
335
335
|
passiveButton.textContent = i18nString(UIStrings.togglePassive);
|
336
336
|
passiveButton.setAttribute('jslog', `${VisualLogging.action('passive').track({click: true})}`);
|
@@ -343,8 +343,7 @@ export class ObjectEventListenerBar extends UI.TreeOutline.TreeElement {
|
|
343
343
|
}
|
344
344
|
|
345
345
|
const subtitle = title.createChild('span', 'event-listener-tree-subtitle');
|
346
|
-
const linkElement =
|
347
|
-
linkifier.linkifyRawLocation(this.eventListenerInternal.location(), this.eventListenerInternal.sourceURL());
|
346
|
+
const linkElement = linkifier.linkifyRawLocation(this.#eventListener.location(), this.#eventListener.sourceURL());
|
348
347
|
subtitle.appendChild(linkElement);
|
349
348
|
|
350
349
|
this.listItemElement.addEventListener('contextmenu', event => {
|
@@ -359,10 +358,10 @@ export class ObjectEventListenerBar extends UI.TreeOutline.TreeElement {
|
|
359
358
|
}
|
360
359
|
menu.defaultSection().appendItem(
|
361
360
|
i18nString(UIStrings.deleteEventListener), this.removeListener.bind(this),
|
362
|
-
{disabled: !this.
|
361
|
+
{disabled: !this.#eventListener.canRemove(), jslogContext: 'delete-event-listener'});
|
363
362
|
menu.defaultSection().appendCheckboxItem(i18nString(UIStrings.passive), this.togglePassiveListener.bind(this), {
|
364
|
-
checked: this.
|
365
|
-
disabled: !this.
|
363
|
+
checked: this.#eventListener.passive(),
|
364
|
+
disabled: !this.#eventListener.canTogglePassive(),
|
366
365
|
jslogContext: 'passive',
|
367
366
|
});
|
368
367
|
void menu.show();
|
@@ -371,11 +370,11 @@ export class ObjectEventListenerBar extends UI.TreeOutline.TreeElement {
|
|
371
370
|
|
372
371
|
private removeListener(): void {
|
373
372
|
this.removeListenerBar();
|
374
|
-
void this.
|
373
|
+
void this.#eventListener.remove();
|
375
374
|
}
|
376
375
|
|
377
376
|
private togglePassiveListener(): void {
|
378
|
-
void this.
|
377
|
+
void this.#eventListener.togglePassive().then(() => this.changeCallback());
|
379
378
|
}
|
380
379
|
|
381
380
|
private removeListenerBar(): void {
|
@@ -397,7 +396,7 @@ export class ObjectEventListenerBar extends UI.TreeOutline.TreeElement {
|
|
397
396
|
}
|
398
397
|
|
399
398
|
eventListener(): SDK.DOMDebuggerModel.EventListener {
|
400
|
-
return this
|
399
|
+
return this.#eventListener;
|
401
400
|
}
|
402
401
|
|
403
402
|
override onenter(): boolean {
|
@@ -410,7 +409,7 @@ export class ObjectEventListenerBar extends UI.TreeOutline.TreeElement {
|
|
410
409
|
}
|
411
410
|
|
412
411
|
override ondelete(): boolean {
|
413
|
-
if (this.
|
412
|
+
if (this.#eventListener.canRemove()) {
|
414
413
|
this.removeListener();
|
415
414
|
return true;
|
416
415
|
}
|
@@ -284,12 +284,12 @@ export interface EventTypes {
|
|
284
284
|
export class LayerTreeElement extends UI.TreeOutline.TreeElement {
|
285
285
|
// Watch out: This is different from treeOutline that
|
286
286
|
// LayerTreeElement inherits from UI.TreeOutline.TreeElement.
|
287
|
-
|
287
|
+
#treeOutline: LayerTreeOutline;
|
288
288
|
layer: SDK.LayerTreeBase.Layer;
|
289
289
|
|
290
290
|
constructor(tree: LayerTreeOutline, layer: SDK.LayerTreeBase.Layer) {
|
291
291
|
super();
|
292
|
-
this
|
292
|
+
this.#treeOutline = tree;
|
293
293
|
this.layer = layer;
|
294
294
|
layerToTreeElement.set(layer, this);
|
295
295
|
this.update();
|
@@ -306,7 +306,7 @@ export class LayerTreeElement extends UI.TreeOutline.TreeElement {
|
|
306
306
|
}
|
307
307
|
|
308
308
|
override onselect(): boolean {
|
309
|
-
this.
|
309
|
+
this.#treeOutline.selectedNodeChanged(this);
|
310
310
|
return false;
|
311
311
|
}
|
312
312
|
|
@@ -24,11 +24,11 @@ export abstract class LayerView {
|
|
24
24
|
|
25
25
|
export class Selection {
|
26
26
|
readonly typeInternal: Type;
|
27
|
-
|
27
|
+
readonly #layer: SDK.LayerTreeBase.Layer;
|
28
28
|
|
29
29
|
constructor(type: Type, layer: SDK.LayerTreeBase.Layer) {
|
30
30
|
this.typeInternal = type;
|
31
|
-
this
|
31
|
+
this.#layer = layer;
|
32
32
|
}
|
33
33
|
|
34
34
|
static isEqual(a: Selection|null, b: Selection|null): boolean {
|
@@ -40,7 +40,7 @@ export class Selection {
|
|
40
40
|
}
|
41
41
|
|
42
42
|
layer(): SDK.LayerTreeBase.Layer {
|
43
|
-
return this
|
43
|
+
return this.#layer;
|
44
44
|
}
|
45
45
|
|
46
46
|
isEqual(_other: Selection): boolean {
|
@@ -79,19 +79,19 @@ export class ScrollRectSelection extends Selection {
|
|
79
79
|
}
|
80
80
|
|
81
81
|
export class SnapshotSelection extends Selection {
|
82
|
-
|
82
|
+
readonly #snapshot: SDK.PaintProfiler.SnapshotWithRect;
|
83
83
|
constructor(layer: SDK.LayerTreeBase.Layer, snapshot: SDK.PaintProfiler.SnapshotWithRect) {
|
84
84
|
super(Type.SNAPSHOT, layer);
|
85
|
-
this
|
85
|
+
this.#snapshot = snapshot;
|
86
86
|
}
|
87
87
|
|
88
88
|
override isEqual(other: Selection): boolean {
|
89
89
|
return other.typeInternal === Type.SNAPSHOT && this.layer().id() === other.layer().id() &&
|
90
|
-
this
|
90
|
+
this.#snapshot === (other as SnapshotSelection).#snapshot;
|
91
91
|
}
|
92
92
|
|
93
93
|
snapshot(): SDK.PaintProfiler.SnapshotWithRect {
|
94
|
-
return this
|
94
|
+
return this.#snapshot;
|
95
95
|
}
|
96
96
|
}
|
97
97
|
|
@@ -99,13 +99,13 @@ export class LayerViewHost {
|
|
99
99
|
private readonly views: LayerView[];
|
100
100
|
private selectedObject: Selection|null;
|
101
101
|
private hoveredObject: Selection|null;
|
102
|
-
|
102
|
+
#showInternalLayersSetting: Common.Settings.Setting<boolean>;
|
103
103
|
private snapshotLayers: Map<SDK.LayerTreeBase.Layer, SnapshotSelection>;
|
104
104
|
constructor() {
|
105
105
|
this.views = [];
|
106
106
|
this.selectedObject = null;
|
107
107
|
this.hoveredObject = null;
|
108
|
-
this
|
108
|
+
this.#showInternalLayersSetting =
|
109
109
|
Common.Settings.Settings.instance().createSetting('layers-show-internal-layers', false);
|
110
110
|
this.snapshotLayers = new Map();
|
111
111
|
}
|
@@ -168,8 +168,8 @@ export class LayerViewHost {
|
|
168
168
|
showContextMenu(contextMenu: UI.ContextMenu.ContextMenu, selection: Selection|null): void {
|
169
169
|
contextMenu.defaultSection().appendCheckboxItem(
|
170
170
|
i18nString(UIStrings.showInternalLayers), this.toggleShowInternalLayers.bind(this), {
|
171
|
-
checked: this.
|
172
|
-
jslogContext: this.
|
171
|
+
checked: this.#showInternalLayersSetting.get(),
|
172
|
+
jslogContext: this.#showInternalLayersSetting.name,
|
173
173
|
});
|
174
174
|
const node = selection?.layer()?.nodeForSelfOrAncestor();
|
175
175
|
if (node) {
|
@@ -179,11 +179,11 @@ export class LayerViewHost {
|
|
179
179
|
}
|
180
180
|
|
181
181
|
showInternalLayersSetting(): Common.Settings.Setting<boolean> {
|
182
|
-
return this
|
182
|
+
return this.#showInternalLayersSetting;
|
183
183
|
}
|
184
184
|
|
185
185
|
private toggleShowInternalLayers(): void {
|
186
|
-
this.
|
186
|
+
this.#showInternalLayersSetting.set(!this.#showInternalLayersSetting.get());
|
187
187
|
}
|
188
188
|
|
189
189
|
private toggleNodeHighlight(node: SDK.DOMModel.DOMNode|null): void {
|
@@ -84,7 +84,7 @@ export class PaintProfilerView extends Common.ObjectWrapper.eventMixin<EventType
|
|
84
84
|
private readonly showImageCallback: (arg0?: string|undefined) => void;
|
85
85
|
private canvas: HTMLCanvasElement;
|
86
86
|
private context: CanvasRenderingContext2D;
|
87
|
-
|
87
|
+
readonly #selectionWindow: PerfUI.OverviewGrid.Window;
|
88
88
|
private readonly innerBarWidth: number;
|
89
89
|
private minBarHeight: number;
|
90
90
|
private readonly barPaddingWidth: number;
|
@@ -114,9 +114,8 @@ export class PaintProfilerView extends Common.ObjectWrapper.eventMixin<EventType
|
|
114
114
|
this.showImageCallback = showImageCallback;
|
115
115
|
this.canvas = this.canvasContainer.createChild('canvas', 'fill');
|
116
116
|
this.context = this.canvas.getContext('2d') as CanvasRenderingContext2D;
|
117
|
-
this
|
118
|
-
this.
|
119
|
-
PerfUI.OverviewGrid.Events.WINDOW_CHANGED, this.onWindowChanged, this);
|
117
|
+
this.#selectionWindow = new PerfUI.OverviewGrid.Window(this.canvasContainer);
|
118
|
+
this.#selectionWindow.addEventListener(PerfUI.OverviewGrid.Events.WINDOW_CHANGED, this.onWindowChanged, this);
|
120
119
|
|
121
120
|
this.innerBarWidth = 4 * window.devicePixelRatio;
|
122
121
|
this.minBarHeight = window.devicePixelRatio;
|
@@ -220,11 +219,11 @@ export class PaintProfilerView extends Common.ObjectWrapper.eventMixin<EventType
|
|
220
219
|
if (!snapshot) {
|
221
220
|
this.update();
|
222
221
|
this.populatePieChart(0, []);
|
223
|
-
this.
|
222
|
+
this.#selectionWindow.setResizeEnabled(false);
|
224
223
|
return;
|
225
224
|
}
|
226
225
|
|
227
|
-
this.
|
226
|
+
this.#selectionWindow.setResizeEnabled(true);
|
228
227
|
this.progressBanner.classList.remove('hidden');
|
229
228
|
this.updateImage();
|
230
229
|
|
@@ -373,8 +372,8 @@ export class PaintProfilerView extends Common.ObjectWrapper.eventMixin<EventType
|
|
373
372
|
return null;
|
374
373
|
}
|
375
374
|
|
376
|
-
const screenLeft = (this.
|
377
|
-
const screenRight = (this.
|
375
|
+
const screenLeft = (this.#selectionWindow.windowLeftRatio || 0) * this.canvas.width;
|
376
|
+
const screenRight = (this.#selectionWindow.windowRightRatio || 0) * this.canvas.width;
|
378
377
|
const barLeft = Math.floor(screenLeft / this.outerBarWidth);
|
379
378
|
const barRight = Math.floor((screenRight + this.innerBarWidth - this.barPaddingWidth / 2) / this.outerBarWidth);
|
380
379
|
const stepLeft = Platform.NumberUtilities.clamp(barLeft * this.samplesPerBar, 0, this.log.length - 1);
|
@@ -411,8 +410,8 @@ export class PaintProfilerView extends Common.ObjectWrapper.eventMixin<EventType
|
|
411
410
|
}
|
412
411
|
this.snapshot = null;
|
413
412
|
this.profiles = null;
|
414
|
-
this.
|
415
|
-
this.
|
413
|
+
this.#selectionWindow.reset();
|
414
|
+
this.#selectionWindow.setResizeEnabled(false);
|
416
415
|
}
|
417
416
|
}
|
418
417
|
|
@@ -29,11 +29,11 @@ const str_ = i18n.i18n.registerUIStrings('panels/layer_viewer/TransformControlle
|
|
29
29
|
const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
30
30
|
export class TransformController extends Common.ObjectWrapper.ObjectWrapper<EventTypes> {
|
31
31
|
private mode!: Modes;
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
32
|
+
#scale: number;
|
33
|
+
#offsetX: number;
|
34
|
+
#offsetY: number;
|
35
|
+
#rotateX: number;
|
36
|
+
#rotateY: number;
|
37
37
|
private oldRotateX: number;
|
38
38
|
private oldRotateY: number;
|
39
39
|
private originX: number;
|
@@ -50,11 +50,11 @@ export class TransformController extends Common.ObjectWrapper.ObjectWrapper<Even
|
|
50
50
|
*/
|
51
51
|
constructor(element: HTMLElement, disableRotate?: boolean, preventDefaultOnMouseDown = true) {
|
52
52
|
super();
|
53
|
-
this
|
54
|
-
this
|
55
|
-
this
|
56
|
-
this
|
57
|
-
this
|
53
|
+
this.#scale = 1;
|
54
|
+
this.#offsetX = 0;
|
55
|
+
this.#offsetY = 0;
|
56
|
+
this.#rotateX = 0;
|
57
|
+
this.#rotateY = 0;
|
58
58
|
this.oldRotateX = 0;
|
59
59
|
this.oldRotateY = 0;
|
60
60
|
this.originX = 0;
|
@@ -128,11 +128,11 @@ export class TransformController extends Common.ObjectWrapper.ObjectWrapper<Even
|
|
128
128
|
}
|
129
129
|
|
130
130
|
private reset(): void {
|
131
|
-
this
|
132
|
-
this
|
133
|
-
this
|
134
|
-
this
|
135
|
-
this
|
131
|
+
this.#scale = 1;
|
132
|
+
this.#offsetX = 0;
|
133
|
+
this.#offsetY = 0;
|
134
|
+
this.#rotateX = 0;
|
135
|
+
this.#rotateY = 0;
|
136
136
|
}
|
137
137
|
|
138
138
|
private setMode(mode: Modes): void {
|
@@ -161,52 +161,51 @@ export class TransformController extends Common.ObjectWrapper.ObjectWrapper<Even
|
|
161
161
|
setScaleConstraints(minScale: number, maxScale: number): void {
|
162
162
|
this.minScale = minScale;
|
163
163
|
this.maxScale = maxScale;
|
164
|
-
this
|
164
|
+
this.#scale = Platform.NumberUtilities.clamp(this.#scale, minScale, maxScale);
|
165
165
|
}
|
166
166
|
|
167
167
|
clampOffsets(minX: number, maxX: number, minY: number, maxY: number): void {
|
168
|
-
this
|
169
|
-
this
|
168
|
+
this.#offsetX = Platform.NumberUtilities.clamp(this.#offsetX, minX, maxX);
|
169
|
+
this.#offsetY = Platform.NumberUtilities.clamp(this.#offsetY, minY, maxY);
|
170
170
|
}
|
171
171
|
|
172
172
|
scale(): number {
|
173
|
-
return this
|
173
|
+
return this.#scale;
|
174
174
|
}
|
175
175
|
|
176
176
|
offsetX(): number {
|
177
|
-
return this
|
177
|
+
return this.#offsetX;
|
178
178
|
}
|
179
179
|
|
180
180
|
offsetY(): number {
|
181
|
-
return this
|
181
|
+
return this.#offsetY;
|
182
182
|
}
|
183
183
|
|
184
184
|
rotateX(): number {
|
185
|
-
return this
|
185
|
+
return this.#rotateX;
|
186
186
|
}
|
187
187
|
|
188
188
|
rotateY(): number {
|
189
|
-
return this
|
189
|
+
return this.#rotateY;
|
190
190
|
}
|
191
191
|
|
192
192
|
private onScale(scaleFactor: number, x: number, y: number): void {
|
193
|
-
scaleFactor = Platform.NumberUtilities.clamp(this
|
194
|
-
|
195
|
-
this
|
196
|
-
this
|
197
|
-
this.offsetYInternal -= (y - this.offsetYInternal) * (scaleFactor - 1);
|
193
|
+
scaleFactor = Platform.NumberUtilities.clamp(this.#scale * scaleFactor, this.minScale, this.maxScale) / this.#scale;
|
194
|
+
this.#scale *= scaleFactor;
|
195
|
+
this.#offsetX -= (x - this.#offsetX) * (scaleFactor - 1);
|
196
|
+
this.#offsetY -= (y - this.#offsetY) * (scaleFactor - 1);
|
198
197
|
this.postChangeEvent();
|
199
198
|
}
|
200
199
|
|
201
200
|
private onPan(offsetX: number, offsetY: number): void {
|
202
|
-
this
|
203
|
-
this
|
201
|
+
this.#offsetX += offsetX;
|
202
|
+
this.#offsetY += offsetY;
|
204
203
|
this.postChangeEvent();
|
205
204
|
}
|
206
205
|
|
207
206
|
private onRotate(rotateX: number, rotateY: number): void {
|
208
|
-
this
|
209
|
-
this
|
207
|
+
this.#rotateX = rotateX;
|
208
|
+
this.#rotateY = rotateY;
|
210
209
|
this.postChangeEvent();
|
211
210
|
}
|
212
211
|
|
@@ -222,8 +221,7 @@ export class TransformController extends Common.ObjectWrapper.ObjectWrapper<Even
|
|
222
221
|
if (this.mode === Modes.ROTATE) {
|
223
222
|
// Sic! onRotate treats X and Y as "rotate around X" and "rotate around Y", so swap X/Y multipliers.
|
224
223
|
this.onRotate(
|
225
|
-
this
|
226
|
-
this.rotateYInternal + xMultiplier * rotateStepInDegrees);
|
224
|
+
this.#rotateX + yMultiplier * rotateStepInDegrees, this.#rotateY + xMultiplier * rotateStepInDegrees);
|
227
225
|
} else {
|
228
226
|
this.onPan(xMultiplier * panStepInPixels, yMultiplier * panStepInPixels);
|
229
227
|
}
|
@@ -259,8 +257,8 @@ export class TransformController extends Common.ObjectWrapper.ObjectWrapper<Even
|
|
259
257
|
this.element.focus();
|
260
258
|
this.originX = event.clientX;
|
261
259
|
this.originY = event.clientY;
|
262
|
-
this.oldRotateX = this
|
263
|
-
this.oldRotateY = this
|
260
|
+
this.oldRotateX = this.#rotateX;
|
261
|
+
this.oldRotateY = this.#rotateY;
|
264
262
|
return true;
|
265
263
|
}
|
266
264
|
|
@@ -37,7 +37,7 @@ import * as Geometry from '../../models/geometry/geometry.js';
|
|
37
37
|
export class LayerTreeModel extends SDK.SDKModel.SDKModel<EventTypes> {
|
38
38
|
readonly layerTreeAgent: ProtocolProxyApi.LayerTreeApi;
|
39
39
|
readonly paintProfilerModel: SDK.PaintProfiler.PaintProfilerModel;
|
40
|
-
|
40
|
+
#layerTree: SDK.LayerTreeBase.LayerTreeBase|null;
|
41
41
|
private readonly throttler: Common.Throttler.Throttler;
|
42
42
|
private enabled?: boolean;
|
43
43
|
private lastPaintRectByLayerId?: Map<string, Protocol.DOM.Rect>;
|
@@ -53,7 +53,7 @@ export class LayerTreeModel extends SDK.SDKModel.SDKModel<EventTypes> {
|
|
53
53
|
resourceTreeModel.addEventListener(
|
54
54
|
SDK.ResourceTreeModel.Events.PrimaryPageChanged, this.onPrimaryPageChanged, this);
|
55
55
|
}
|
56
|
-
this
|
56
|
+
this.#layerTree = null;
|
57
57
|
this.throttler = new Common.Throttler.Throttler(20);
|
58
58
|
}
|
59
59
|
|
@@ -75,14 +75,14 @@ export class LayerTreeModel extends SDK.SDKModel.SDKModel<EventTypes> {
|
|
75
75
|
|
76
76
|
private async forceEnable(): Promise<void> {
|
77
77
|
this.lastPaintRectByLayerId = new Map();
|
78
|
-
if (!this
|
79
|
-
this
|
78
|
+
if (!this.#layerTree) {
|
79
|
+
this.#layerTree = new AgentLayerTree(this);
|
80
80
|
}
|
81
81
|
await this.layerTreeAgent.invoke_enable();
|
82
82
|
}
|
83
83
|
|
84
84
|
layerTree(): SDK.LayerTreeBase.LayerTreeBase|null {
|
85
|
-
return this
|
85
|
+
return this.#layerTree;
|
86
86
|
}
|
87
87
|
|
88
88
|
async layerTreeChanged(layers: Protocol.LayerTree.Layer[]|null): Promise<void> {
|
@@ -93,7 +93,7 @@ export class LayerTreeModel extends SDK.SDKModel.SDKModel<EventTypes> {
|
|
93
93
|
}
|
94
94
|
|
95
95
|
private async innerSetLayers(layers: Protocol.LayerTree.Layer[]|null): Promise<void> {
|
96
|
-
const layerTree = this
|
96
|
+
const layerTree = this.#layerTree as AgentLayerTree;
|
97
97
|
|
98
98
|
await layerTree.setLayers(layers);
|
99
99
|
|
@@ -118,7 +118,7 @@ export class LayerTreeModel extends SDK.SDKModel.SDKModel<EventTypes> {
|
|
118
118
|
if (!this.enabled) {
|
119
119
|
return;
|
120
120
|
}
|
121
|
-
const layerTree = this
|
121
|
+
const layerTree = this.#layerTree as AgentLayerTree;
|
122
122
|
const layer = layerTree.layerById(layerId) as AgentLayer;
|
123
123
|
if (!layer) {
|
124
124
|
if (!this.lastPaintRectByLayerId) {
|
@@ -133,7 +133,7 @@ export class LayerTreeModel extends SDK.SDKModel.SDKModel<EventTypes> {
|
|
133
133
|
}
|
134
134
|
|
135
135
|
private onPrimaryPageChanged(): void {
|
136
|
-
this
|
136
|
+
this.#layerTree = null;
|
137
137
|
if (this.enabled) {
|
138
138
|
void this.forceEnable();
|
139
139
|
}
|
@@ -227,16 +227,17 @@ export class AgentLayerTree extends SDK.LayerTreeBase.LayerTreeBase {
|
|
227
227
|
}
|
228
228
|
|
229
229
|
export class AgentLayer implements SDK.LayerTreeBase.Layer {
|
230
|
+
// Used in Web tests
|
230
231
|
private scrollRectsInternal!: Protocol.LayerTree.ScrollRect[];
|
231
|
-
|
232
|
-
|
233
|
-
|
232
|
+
#quad!: number[];
|
233
|
+
#children!: AgentLayer[];
|
234
|
+
#parent!: AgentLayer|null;
|
234
235
|
private layerPayload!: Protocol.LayerTree.Layer;
|
235
236
|
private layerTreeModel: LayerTreeModel;
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
237
|
+
#node?: SDK.DOMModel.DOMNode|null;
|
238
|
+
#lastPaintRect?: Protocol.DOM.Rect;
|
239
|
+
#paintCount?: number;
|
240
|
+
#stickyPositionConstraint?: SDK.LayerTreeBase.StickyPositionConstraint|null;
|
240
241
|
constructor(layerTreeModel: LayerTreeModel, layerPayload: Protocol.LayerTree.Layer) {
|
241
242
|
this.layerTreeModel = layerTreeModel;
|
242
243
|
this.reset(layerPayload);
|
@@ -251,7 +252,7 @@ export class AgentLayer implements SDK.LayerTreeBase.Layer {
|
|
251
252
|
}
|
252
253
|
|
253
254
|
parent(): SDK.LayerTreeBase.Layer|null {
|
254
|
-
return this
|
255
|
+
return this.#parent;
|
255
256
|
}
|
256
257
|
|
257
258
|
isRoot(): boolean {
|
@@ -259,31 +260,31 @@ export class AgentLayer implements SDK.LayerTreeBase.Layer {
|
|
259
260
|
}
|
260
261
|
|
261
262
|
children(): SDK.LayerTreeBase.Layer[] {
|
262
|
-
return this
|
263
|
+
return this.#children;
|
263
264
|
}
|
264
265
|
|
265
266
|
addChild(childParam: SDK.LayerTreeBase.Layer): void {
|
266
267
|
const child = childParam as AgentLayer;
|
267
|
-
if (child
|
268
|
+
if (child.#parent) {
|
268
269
|
console.assert(false, 'Child already has a parent');
|
269
270
|
}
|
270
|
-
this.
|
271
|
-
child
|
271
|
+
this.#children.push(child);
|
272
|
+
child.#parent = this;
|
272
273
|
}
|
273
274
|
|
274
275
|
setNode(node: SDK.DOMModel.DOMNode|null): void {
|
275
|
-
this
|
276
|
+
this.#node = node;
|
276
277
|
}
|
277
278
|
|
278
279
|
node(): SDK.DOMModel.DOMNode|null {
|
279
|
-
return this
|
280
|
+
return this.#node || null;
|
280
281
|
}
|
281
282
|
|
282
283
|
nodeForSelfOrAncestor(): SDK.DOMModel.DOMNode|null {
|
283
284
|
let layer: (AgentLayer|null)|this = this;
|
284
|
-
for (; layer; layer = layer
|
285
|
-
if (layer
|
286
|
-
return layer
|
285
|
+
for (; layer; layer = layer.#parent) {
|
286
|
+
if (layer.#node) {
|
287
|
+
return layer.#node;
|
287
288
|
}
|
288
289
|
}
|
289
290
|
return null;
|
@@ -310,7 +311,7 @@ export class AgentLayer implements SDK.LayerTreeBase.Layer {
|
|
310
311
|
}
|
311
312
|
|
312
313
|
quad(): number[] {
|
313
|
-
return this
|
314
|
+
return this.#quad;
|
314
315
|
}
|
315
316
|
|
316
317
|
anchorPoint(): number[] {
|
@@ -326,15 +327,15 @@ export class AgentLayer implements SDK.LayerTreeBase.Layer {
|
|
326
327
|
}
|
327
328
|
|
328
329
|
paintCount(): number {
|
329
|
-
return this
|
330
|
+
return this.#paintCount || this.layerPayload.paintCount;
|
330
331
|
}
|
331
332
|
|
332
333
|
lastPaintRect(): Protocol.DOM.Rect|null {
|
333
|
-
return this
|
334
|
+
return this.#lastPaintRect || null;
|
334
335
|
}
|
335
336
|
|
336
337
|
setLastPaintRect(lastPaintRect?: Protocol.DOM.Rect): void {
|
337
|
-
this
|
338
|
+
this.#lastPaintRect = lastPaintRect;
|
338
339
|
}
|
339
340
|
|
340
341
|
scrollRects(): Protocol.LayerTree.ScrollRect[] {
|
@@ -342,7 +343,7 @@ export class AgentLayer implements SDK.LayerTreeBase.Layer {
|
|
342
343
|
}
|
343
344
|
|
344
345
|
stickyPositionConstraint(): SDK.LayerTreeBase.StickyPositionConstraint|null {
|
345
|
-
return this
|
346
|
+
return this.#stickyPositionConstraint || null;
|
346
347
|
}
|
347
348
|
|
348
349
|
async requestCompositingReasons(): Promise<string[]> {
|
@@ -375,18 +376,18 @@ export class AgentLayer implements SDK.LayerTreeBase.Layer {
|
|
375
376
|
}
|
376
377
|
|
377
378
|
didPaint(rect: Protocol.DOM.Rect): void {
|
378
|
-
this
|
379
|
-
this
|
379
|
+
this.#lastPaintRect = rect;
|
380
|
+
this.#paintCount = this.paintCount() + 1;
|
380
381
|
}
|
381
382
|
|
382
383
|
reset(layerPayload: Protocol.LayerTree.Layer): void {
|
383
|
-
this
|
384
|
-
this
|
385
|
-
this
|
386
|
-
this
|
384
|
+
this.#node = null;
|
385
|
+
this.#children = [];
|
386
|
+
this.#parent = null;
|
387
|
+
this.#paintCount = 0;
|
387
388
|
this.layerPayload = layerPayload;
|
388
389
|
this.scrollRectsInternal = this.layerPayload.scrollRects || [];
|
389
|
-
this
|
390
|
+
this.#stickyPositionConstraint = this.layerPayload.stickyPositionConstraint ?
|
390
391
|
new SDK.LayerTreeBase.StickyPositionConstraint(
|
391
392
|
this.layerTreeModel.layerTree(), this.layerPayload.stickyPositionConstraint) :
|
392
393
|
null;
|
@@ -423,19 +424,19 @@ export class AgentLayer implements SDK.LayerTreeBase.Layer {
|
|
423
424
|
|
424
425
|
calculateQuad(parentTransform: DOMMatrix): void {
|
425
426
|
const matrix = this.calculateTransformToViewport(parentTransform);
|
426
|
-
this
|
427
|
+
this.#quad = [];
|
427
428
|
const vertices = this.createVertexArrayForRect(this.layerPayload.width, this.layerPayload.height);
|
428
429
|
for (let i = 0; i < 4; ++i) {
|
429
430
|
const point = Geometry.multiplyVectorByMatrixAndNormalize(
|
430
431
|
new Geometry.Vector(vertices[i * 3], vertices[i * 3 + 1], vertices[i * 3 + 2]), matrix);
|
431
|
-
this.
|
432
|
+
this.#quad.push(point.x, point.y);
|
432
433
|
}
|
433
434
|
|
434
435
|
function calculateQuadForLayer(layer: AgentLayer): void {
|
435
436
|
layer.calculateQuad(matrix);
|
436
437
|
}
|
437
438
|
|
438
|
-
this.
|
439
|
+
this.#children.forEach(calculateQuadForLayer);
|
439
440
|
}
|
440
441
|
}
|
441
442
|
|