chrome-devtools-frontend 1.0.1362775 → 1.0.1367881
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/.eslintrc.js +1 -0
- package/.stylelintrc.json +2 -1
- package/config/gni/devtools_grd_files.gni +14 -2
- package/config/gni/devtools_image_files.gni +2 -1
- package/docs/contributing/issues.md +15 -0
- package/extensions/cxx_debugging/src/ExtensionOptions.ts +0 -1
- package/extensions/cxx_debugging/third_party/llvm/README.chromium +1 -1
- package/front_end/.eslintrc.js +0 -5
- package/front_end/Images/src/button-magic.svg +3 -0
- package/front_end/Images/src/performance-panel-delete-annotation.svg +32 -0
- package/front_end/Images/src/performance-panel-diagram.svg +19 -14
- package/front_end/Images/src/performance-panel-entry-label.svg +9 -16
- package/front_end/Images/src/performance-panel-time-range.svg +2 -8
- package/front_end/core/common/AppProvider.ts +1 -1
- package/front_end/core/common/Object.ts +2 -7
- package/front_end/core/common/SettingRegistration.ts +1 -1
- package/front_end/core/common/Settings.ts +1 -1
- package/front_end/core/host/AidaClient.ts +7 -1
- package/front_end/core/host/InspectorFrontendHost.ts +1 -1
- package/front_end/core/host/ResourceLoader.ts +1 -1
- package/front_end/core/host/UserMetrics.ts +14 -2
- package/front_end/core/i18n/time-utilities.ts +7 -1
- package/front_end/core/platform/ArrayUtilities.ts +1 -0
- package/front_end/core/platform/DevToolsPath.ts +1 -1
- package/front_end/core/platform/Timing.ts +1 -1
- package/front_end/core/platform/UIString.ts +1 -1
- package/front_end/core/platform/UserVisibleError.ts +1 -1
- package/front_end/core/root/Runtime.ts +11 -2
- package/front_end/core/sdk/AccessibilityModel.ts +3 -4
- package/front_end/core/sdk/CPUProfilerModel.ts +3 -4
- package/front_end/core/sdk/CSSContainerQuery.ts +3 -3
- package/front_end/core/sdk/CSSLayer.ts +2 -2
- package/front_end/core/sdk/CSSMatchedStyles.test.ts +1 -0
- package/front_end/core/sdk/CSSMatchedStyles.ts +10 -2
- package/front_end/core/sdk/CSSMedia.ts +2 -2
- package/front_end/core/sdk/CSSMetadata.ts +21 -0
- package/front_end/core/sdk/CSSModel.ts +1 -0
- package/front_end/core/sdk/CSSProperty.ts +2 -2
- package/front_end/core/sdk/CSSQuery.ts +2 -2
- package/front_end/core/sdk/CSSRule.ts +2 -2
- package/front_end/core/sdk/CSSScope.ts +2 -2
- package/front_end/core/sdk/CSSStyleDeclaration.ts +3 -3
- package/front_end/core/sdk/CSSStyleSheetHeader.ts +4 -4
- package/front_end/core/sdk/CSSSupports.ts +2 -2
- package/front_end/core/sdk/CookieModel.ts +1 -1
- package/front_end/core/sdk/DOMDebuggerModel.ts +1 -1
- package/front_end/core/sdk/DebuggerModel.ts +9 -3
- package/front_end/core/sdk/EnhancedTracesParser.test.ts +1 -5
- package/front_end/core/sdk/EnhancedTracesParser.ts +2 -6
- package/front_end/core/sdk/EventBreakpointsModel.ts +1 -2
- package/front_end/core/sdk/FrameAssociated.ts +1 -1
- package/front_end/core/sdk/FrameManager.ts +9 -7
- package/front_end/core/sdk/HeapProfilerModel.ts +3 -4
- package/front_end/core/sdk/IsolateManager.ts +2 -3
- package/front_end/core/sdk/LayerTreeBase.ts +2 -2
- package/front_end/core/sdk/NetworkManager.ts +1 -1
- package/front_end/core/sdk/OverlayModel.ts +2 -2
- package/front_end/core/sdk/OverlayPersistentHighlighter.ts +1 -1
- package/front_end/core/sdk/PageLoad.ts +1 -1
- package/front_end/core/sdk/PageResourceLoader.ts +1 -1
- package/front_end/core/sdk/RemoteObject.ts +3 -3
- package/front_end/core/sdk/Resource.ts +2 -2
- package/front_end/core/sdk/ResourceTreeModel.ts +1 -1
- package/front_end/core/sdk/SDKModel.ts +1 -1
- package/front_end/core/sdk/Script.ts +5 -5
- package/front_end/core/sdk/ServiceWorkerCacheModel.ts +5 -7
- package/front_end/core/sdk/SourceMap.ts +1 -1
- package/front_end/core/sdk/SourceMapManager.ts +1 -1
- package/front_end/core/sdk/SourceMapScopeChainEntry.ts +2 -2
- package/front_end/core/sdk/SourceMapScopesInfo.ts +2 -2
- package/front_end/core/sdk/Target.ts +3 -2
- package/front_end/core/sdk/TargetManager.ts +4 -1
- package/front_end/core/sdk/WebAuthnModel.ts +20 -0
- package/front_end/core/sdk/sdk-meta.ts +7 -0
- package/front_end/devtools_compatibility.js +3 -3
- package/front_end/entrypoints/formatter_worker/CSSFormatter.ts +1 -1
- package/front_end/entrypoints/formatter_worker/HTMLFormatter.ts +1 -1
- package/front_end/entrypoints/formatter_worker/IdentityFormatter.ts +1 -1
- package/front_end/entrypoints/formatter_worker/JSONFormatter.ts +1 -1
- package/front_end/entrypoints/formatter_worker/JavaScriptFormatter.ts +1 -1
- package/front_end/entrypoints/heap_snapshot_worker/AllocationProfile.ts +1 -1
- package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshot.ts +12 -12
- package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshotLoader.ts +1 -1
- package/front_end/entrypoints/main/MainImpl.ts +11 -1
- package/front_end/generated/InspectorBackendCommands.js +5 -3
- package/front_end/generated/SupportedCSSProperties.js +20 -14
- package/front_end/generated/protocol-mapping.d.ts +10 -0
- package/front_end/generated/protocol-proxy-api.d.ts +12 -0
- package/front_end/generated/protocol.ts +32 -1
- package/front_end/legacy_test_runner/sdk_test_runner/sdk_test_runner.js +4 -2
- package/front_end/models/bindings/CSSWorkspaceBinding.ts +2 -2
- package/front_end/models/bindings/CompilerScriptMapping.ts +1 -2
- package/front_end/models/bindings/DebuggerLanguagePlugins.test.ts +1 -1
- package/front_end/models/bindings/DebuggerLanguagePlugins.ts +2 -2
- package/front_end/models/bindings/DebuggerWorkspaceBinding.ts +1 -1
- package/front_end/models/bindings/DefaultScriptMapping.ts +1 -1
- package/front_end/models/bindings/IgnoreListManager.test.ts +49 -12
- package/front_end/models/bindings/IgnoreListManager.ts +79 -5
- package/front_end/models/bindings/ResourceMapping.ts +1 -1
- package/front_end/models/bindings/StylesSourceMapping.ts +11 -6
- package/front_end/models/breakpoints/BreakpointManager.test.ts +1 -1
- package/front_end/models/extensions/ExtensionPanel.ts +1 -1
- package/front_end/models/extensions/ExtensionServer.test.ts +1 -1
- package/front_end/models/extensions/ExtensionServer.ts +1 -1
- package/front_end/models/extensions/ExtensionView.ts +1 -1
- package/front_end/models/extensions/LanguageExtensionEndpoint.ts +1 -1
- package/front_end/models/extensions/RecorderPluginManager.ts +1 -1
- package/front_end/models/har/Importer.ts +1 -1
- package/front_end/models/issues_manager/AttributionReportingIssue.ts +1 -1
- package/front_end/models/issues_manager/BounceTrackingIssue.ts +1 -2
- package/front_end/models/issues_manager/CookieDeprecationMetadataIssue.ts +1 -1
- package/front_end/models/issues_manager/CorsIssue.ts +1 -1
- package/front_end/models/issues_manager/HeavyAdIssue.ts +1 -1
- package/front_end/models/issues_manager/Issue.ts +1 -1
- package/front_end/models/issues_manager/IssueResolver.ts +2 -2
- package/front_end/models/issues_manager/IssuesManager.ts +1 -1
- package/front_end/models/issues_manager/LowTextContrastIssue.ts +1 -1
- package/front_end/models/issues_manager/MixedContentIssue.ts +1 -1
- package/front_end/models/issues_manager/PropertyRuleIssue.ts +1 -1
- package/front_end/models/issues_manager/QuirksModeIssue.ts +1 -1
- package/front_end/models/issues_manager/RelatedIssue.ts +1 -1
- package/front_end/models/issues_manager/SharedArrayBufferIssue.ts +3 -3
- package/front_end/models/issues_manager/SourceFrameIssuesManager.ts +1 -1
- package/front_end/models/issues_manager/StylesheetLoadingIssue.ts +1 -1
- package/front_end/models/javascript_metadata/NativeFunctions.js +69 -61
- package/front_end/models/live-metrics/LiveMetrics.ts +41 -34
- package/front_end/models/live-metrics/web-vitals-injected/spec/spec.ts +1 -1
- package/front_end/models/persistence/EditFileSystemView.ts +1 -1
- package/front_end/models/persistence/FileSystemWorkspaceBinding.ts +2 -3
- package/front_end/models/persistence/IsolatedFileSystemManager.ts +2 -3
- package/front_end/models/persistence/WorkspaceSettingsTab.ts +2 -2
- package/front_end/models/text_utils/ContentProvider.ts +3 -3
- package/front_end/models/text_utils/StaticContentProvider.ts +1 -5
- package/front_end/models/text_utils/TextUtils.ts +1 -1
- package/front_end/models/text_utils/WasmDisassembly.ts +1 -1
- package/front_end/models/timeline_model/TimelineProfileTree.test.ts +21 -21
- package/front_end/models/timeline_model/TimelineProfileTree.ts +1 -1
- package/front_end/models/trace/ModelImpl.test.ts +1 -1
- package/front_end/models/trace/ModelImpl.ts +10 -27
- package/front_end/models/trace/Processor.test.ts +16 -15
- package/front_end/models/trace/Processor.ts +33 -9
- package/front_end/models/trace/extras/FilmStrip.ts +2 -2
- package/front_end/models/trace/handlers/LayoutShiftsHandler.test.ts +2 -2
- package/front_end/models/trace/handlers/LayoutShiftsHandler.ts +10 -1
- package/front_end/models/trace/handlers/MetaHandler.ts +4 -0
- package/front_end/models/trace/handlers/PageLoadMetricsHandler.ts +1 -1
- package/front_end/models/trace/handlers/RendererHandler.test.ts +1 -1
- package/front_end/models/trace/handlers/SamplesHandler.test.ts +2 -2
- package/front_end/models/trace/handlers/ScreenshotsHandler.test.ts +5 -4
- package/front_end/models/trace/handlers/ScreenshotsHandler.ts +7 -5
- package/front_end/models/trace/handlers/Threads.ts +2 -2
- package/front_end/models/trace/handlers/WarningsHandler.ts +1 -1
- package/front_end/models/trace/helpers/Network.ts +20 -2
- package/front_end/models/trace/helpers/SyntheticEvents.test.ts +1 -1
- package/front_end/models/trace/helpers/Trace.test.ts +34 -3
- package/front_end/models/trace/helpers/Trace.ts +12 -0
- package/front_end/models/trace/helpers/TreeHelpers.test.ts +52 -0
- package/front_end/models/trace/helpers/TreeHelpers.ts +80 -1
- package/front_end/models/trace/insights/Common.ts +1 -1
- package/front_end/models/trace/insights/CumulativeLayoutShift.test.ts +24 -2
- package/front_end/models/trace/insights/CumulativeLayoutShift.ts +102 -27
- package/front_end/models/trace/insights/DocumentLatency.test.ts +22 -11
- package/front_end/models/trace/insights/DocumentLatency.ts +9 -6
- package/front_end/models/trace/insights/FontDisplay.ts +5 -1
- package/front_end/models/trace/insights/InteractionToNextPaint.ts +4 -3
- package/front_end/models/trace/insights/LargestContentfulPaint.test.ts +9 -1
- package/front_end/models/trace/insights/LargestContentfulPaint.ts +26 -6
- package/front_end/models/trace/insights/RenderBlocking.test.ts +10 -16
- package/front_end/models/trace/insights/RenderBlocking.ts +6 -4
- package/front_end/models/trace/insights/SlowCSSSelector.ts +3 -1
- package/front_end/models/trace/insights/ThirdPartyWeb.ts +15 -2
- package/front_end/models/trace/insights/Viewport.ts +1 -0
- package/front_end/models/trace/insights/types.ts +14 -11
- package/front_end/models/trace/lantern/graph/BaseNode.ts +2 -2
- package/front_end/models/trace/lantern/graph/PageDependencyGraph.ts +4 -3
- package/front_end/models/trace/lantern/simulation/TCPConnection.ts +1 -1
- package/front_end/models/trace/lantern/testing/MetricTestUtils.ts +1 -1
- package/front_end/models/trace/root-causes/LayoutShift.ts +3 -20
- package/front_end/models/trace/types/Extensions.ts +3 -7
- package/front_end/models/trace/types/File.ts +2 -8
- package/front_end/models/trace/types/TraceEvents.ts +10 -4
- package/front_end/models/workspace/UISourceCode.test.ts +3 -3
- package/front_end/models/workspace/WorkspaceImpl.ts +1 -1
- package/front_end/panels/accessibility/AXBreadcrumbsPane.ts +1 -1
- package/front_end/panels/animation/AnimationGroupPreviewUI.ts +1 -1
- package/front_end/panels/animation/AnimationModel.ts +1 -1
- package/front_end/panels/animation/AnimationTimeline.ts +1 -1
- package/front_end/panels/animation/AnimationUI.ts +1 -1
- package/front_end/panels/application/ApplicationPanelSidebar.test.ts +90 -0
- package/front_end/panels/application/ApplicationPanelSidebar.ts +123 -20
- package/front_end/panels/application/ApplicationPanelTreeElement.ts +1 -1
- package/front_end/panels/application/BackForwardCacheTreeElement.ts +1 -1
- package/front_end/panels/application/BounceTrackingMitigationsTreeElement.ts +1 -1
- package/front_end/panels/application/DOMStorageItemsView.ts +4 -2
- package/front_end/panels/application/ExtensionStorageItemsView.test.ts +89 -0
- package/front_end/panels/application/ExtensionStorageItemsView.ts +219 -0
- package/front_end/panels/application/ExtensionStorageModel.test.ts +12 -0
- package/front_end/panels/application/ExtensionStorageModel.ts +56 -13
- package/front_end/panels/application/IndexedDBViews.ts +14 -19
- package/front_end/panels/application/InterestGroupTreeElement.ts +1 -1
- package/front_end/panels/application/PreloadingTreeElement.ts +1 -1
- package/front_end/panels/application/ReportingApiTreeElement.ts +1 -1
- package/front_end/panels/application/ResourcesPanel.ts +18 -1
- package/front_end/panels/application/ServiceWorkerCacheTreeElement.ts +1 -1
- package/front_end/panels/application/SharedStorageListTreeElement.ts +1 -1
- package/front_end/panels/application/SharedStorageTreeElement.ts +2 -2
- package/front_end/panels/application/StorageBucketsTreeElement.ts +1 -1
- package/front_end/panels/application/TrustTokensTreeElement.ts +1 -1
- package/front_end/panels/application/application.ts +2 -0
- package/front_end/panels/application/components/BackForwardCacheView.ts +76 -72
- package/front_end/panels/application/components/BounceTrackingMitigationsView.ts +32 -29
- package/front_end/panels/application/components/EndpointsGrid.ts +5 -4
- package/front_end/panels/application/components/FrameDetailsView.ts +110 -127
- package/front_end/panels/application/components/InterestGroupAccessGrid.ts +11 -11
- package/front_end/panels/application/components/OriginTrialTreeView.ts +36 -34
- package/front_end/panels/application/components/PermissionsPolicySection.ts +31 -33
- package/front_end/panels/application/components/ProtocolHandlersView.ts +15 -14
- package/front_end/panels/application/components/ReportsGrid.ts +11 -9
- package/front_end/panels/application/components/ServiceWorkerRouterView.ts +0 -1
- package/front_end/panels/application/components/SharedStorageAccessGrid.ts +11 -11
- package/front_end/panels/application/components/SharedStorageMetadataView.ts +16 -14
- package/front_end/panels/application/components/StackTrace.ts +18 -17
- package/front_end/panels/application/components/StorageMetadataView.ts +19 -18
- package/front_end/panels/application/components/TrustTokensView.ts +17 -16
- package/front_end/panels/application/preloading/PreloadingView.ts +14 -11
- package/front_end/panels/application/preloading/components/MismatchedPreloadingGrid.ts +7 -6
- package/front_end/panels/application/preloading/components/PreloadingDetailsReportView.ts +42 -45
- package/front_end/panels/application/preloading/components/PreloadingDisabledInfobar.ts +13 -11
- package/front_end/panels/application/preloading/components/PreloadingGrid.ts +11 -9
- package/front_end/panels/application/preloading/components/PreloadingMismatchedHeadersGrid.ts +5 -4
- package/front_end/panels/application/preloading/components/PreloadingString.ts +2 -0
- package/front_end/panels/application/preloading/components/RuleSetDetailsView.ts +10 -8
- package/front_end/panels/application/preloading/components/RuleSetGrid.ts +20 -16
- package/front_end/panels/application/preloading/components/UsedPreloadingView.ts +50 -57
- package/front_end/panels/application/resourcesSidebar.css +0 -3
- package/front_end/panels/autofill/AutofillView.ts +19 -14
- package/front_end/panels/console/ConsoleFilter.ts +1 -1
- package/front_end/panels/console/ConsoleSidebar.ts +1 -1
- package/front_end/panels/console/ConsoleViewMessage.ts +2 -2
- package/front_end/panels/console/consoleView.css +4 -3
- package/front_end/panels/coverage/CoverageDecorationManager.ts +1 -1
- package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +1 -1
- package/front_end/panels/css_overview/CSSOverviewController.ts +2 -2
- package/front_end/panels/css_overview/CSSOverviewModel.ts +2 -3
- package/front_end/panels/css_overview/CSSOverviewPanel.ts +5 -7
- package/front_end/panels/css_overview/components/CSSOverviewStartView.ts +12 -10
- package/front_end/panels/elements/AccessibilityTreeUtils.ts +9 -4
- package/front_end/panels/elements/ColorSwatchPopoverIcon.ts +3 -3
- package/front_end/panels/elements/ComputedStyleWidget.ts +6 -4
- package/front_end/panels/elements/ElementsPanel.ts +7 -6
- package/front_end/panels/elements/ElementsTreeElement.ts +35 -0
- package/front_end/panels/elements/ElementsTreeOutline.ts +1 -1
- package/front_end/panels/elements/PropertyMatchers.test.ts +57 -0
- package/front_end/panels/elements/PropertyMatchers.ts +78 -1
- package/front_end/panels/elements/StyleEditorWidget.ts +2 -2
- package/front_end/panels/elements/StylePropertiesSection.test.ts +1 -0
- package/front_end/panels/elements/StylePropertyHighlighter.test.ts +1 -0
- package/front_end/panels/elements/StylePropertyHighlighter.ts +2 -2
- package/front_end/panels/elements/StylePropertyTreeElement.test.ts +36 -3
- package/front_end/panels/elements/StylePropertyTreeElement.ts +72 -26
- package/front_end/panels/elements/StylesSidebarPane.test.ts +2 -0
- package/front_end/panels/elements/TopLayerContainer.ts +1 -2
- package/front_end/panels/elements/components/AccessibilityTreeNode.ts +8 -7
- package/front_end/panels/elements/components/AdornerSettingsPane.ts +3 -4
- package/front_end/panels/elements/components/AnchorFunctionLinkSwatch.ts +8 -7
- package/front_end/panels/elements/components/CSSHintDetailsView.ts +3 -2
- package/front_end/panels/elements/components/CSSPropertyDocsView.ts +3 -2
- package/front_end/panels/elements/components/CSSQuery.ts +0 -1
- package/front_end/panels/elements/components/CSSVariableValueView.ts +1 -3
- package/front_end/panels/elements/components/ComputedStyleProperty.ts +0 -1
- package/front_end/panels/elements/components/ComputedStyleTrace.ts +0 -1
- package/front_end/panels/elements/components/ElementsBreadcrumbs.ts +15 -11
- package/front_end/panels/elements/components/ElementsBreadcrumbsUtils.ts +1 -1
- package/front_end/panels/elements/components/ElementsTreeExpandButton.ts +6 -4
- package/front_end/panels/elements/components/LayoutPane.ts +8 -7
- package/front_end/panels/elements/components/QueryContainer.test.ts +2 -3
- package/front_end/panels/elements/components/QueryContainer.ts +10 -9
- package/front_end/panels/elements/components/StylePropertyEditor.ts +4 -4
- package/front_end/panels/elements/components/computedStyleProperty.css +2 -1
- package/front_end/panels/elements/components/cssPropertyDocsView.css +3 -2
- package/front_end/panels/elements/elementsTreeOutline.css +17 -0
- package/front_end/panels/elements/stylesSidebarPane.css +2 -2
- package/front_end/panels/emulation/DeviceModeWrapper.ts +1 -1
- package/front_end/panels/emulation/components/DeviceSizeInputElement.ts +3 -1
- package/front_end/panels/explain/components/ConsoleInsight.ts +47 -46
- package/front_end/panels/explain/components/consoleInsight.css +0 -9
- package/front_end/panels/freestyler/AiAgent.ts +8 -2
- package/front_end/panels/freestyler/DrJonesFileAgent.test.ts +201 -0
- package/front_end/panels/freestyler/DrJonesFileAgent.ts +196 -0
- package/front_end/panels/freestyler/DrJonesNetworkAgent.test.ts +1 -1
- package/front_end/panels/freestyler/DrJonesNetworkAgent.ts +34 -31
- package/front_end/panels/freestyler/DrJonesPerformanceAgent.test.ts +195 -0
- package/front_end/panels/freestyler/DrJonesPerformanceAgent.ts +193 -0
- package/front_end/panels/freestyler/FreestylerAgent.test.ts +177 -12
- package/front_end/panels/freestyler/FreestylerAgent.ts +83 -8
- package/front_end/panels/freestyler/FreestylerEvaluateAction.test.ts +21 -1
- package/front_end/panels/freestyler/FreestylerEvaluateAction.ts +3 -0
- package/front_end/panels/freestyler/FreestylerPanel.test.ts +16 -2
- package/front_end/panels/freestyler/FreestylerPanel.ts +126 -15
- package/front_end/panels/freestyler/components/FreestylerChatUi.test.ts +21 -2
- package/front_end/panels/freestyler/components/FreestylerChatUi.ts +294 -145
- package/front_end/panels/freestyler/components/ProvideFeedback.ts +16 -13
- package/front_end/panels/freestyler/components/freestylerChatUi.css +78 -26
- package/front_end/panels/freestyler/freestyler-meta.ts +64 -9
- package/front_end/panels/freestyler/freestyler.ts +2 -0
- package/front_end/panels/issues/AffectedResourcesView.ts +2 -2
- package/front_end/panels/issues/AttributionReportingIssueDetailsView.ts +5 -4
- package/front_end/panels/issues/CorsIssueDetailsView.ts +6 -6
- package/front_end/panels/issues/GenericIssueDetailsView.ts +3 -3
- package/front_end/panels/issues/IssueView.ts +2 -2
- package/front_end/panels/issues/components/ElementsPanelLink.ts +3 -1
- package/front_end/panels/issues/components/HideIssuesMenu.ts +6 -5
- package/front_end/panels/lighthouse/LighthouseController.ts +2 -2
- package/front_end/panels/lighthouse/LighthousePanel.ts +1 -1
- package/front_end/panels/lighthouse/LighthouseReportRenderer.ts +2 -6
- package/front_end/panels/lighthouse/LighthouseStartView.ts +1 -1
- package/front_end/panels/lighthouse/LighthouseStatusView.ts +1 -1
- package/front_end/panels/lighthouse/LighthouseTimespanView.ts +1 -1
- package/front_end/panels/linear_memory_inspector/LinearMemoryInspectorPane.ts +8 -2
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryHighlightChipList.ts +6 -6
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryInspector.test.ts +11 -0
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryInspector.ts +26 -31
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryNavigator.ts +5 -5
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryValueInterpreter.ts +11 -14
- package/front_end/panels/linear_memory_inspector/components/LinearMemoryViewer.ts +1 -3
- package/front_end/panels/linear_memory_inspector/components/ValueInterpreterDisplay.ts +5 -4
- package/front_end/panels/linear_memory_inspector/components/ValueInterpreterSettings.ts +0 -1
- package/front_end/panels/media/EventDisplayTable.ts +1 -1
- package/front_end/panels/media/EventTimelineView.ts +1 -1
- package/front_end/panels/media/PlayerDetailView.ts +3 -3
- package/front_end/panels/media/PlayerListView.ts +2 -2
- package/front_end/panels/mobile_throttling/ThrottlingManager.ts +23 -29
- package/front_end/panels/network/NetworkConfigView.ts +1 -2
- package/front_end/panels/network/NetworkDataGridNode.ts +4 -153
- package/front_end/panels/network/NetworkFrameGrouper.ts +1 -1
- package/front_end/panels/network/NetworkItemView.ts +1 -1
- package/front_end/panels/network/NetworkLogView.ts +1 -1
- package/front_end/panels/network/NetworkLogViewColumns.ts +4 -6
- package/front_end/panels/network/NetworkWaterfallColumn.ts +5 -8
- package/front_end/panels/network/RequestBinaryResponseView.test.ts +69 -0
- package/front_end/panels/network/RequestBinaryResponseView.ts +67 -0
- package/front_end/panels/network/RequestResponseView.test.ts +28 -1
- package/front_end/panels/network/RequestResponseView.ts +14 -7
- package/front_end/panels/network/components/EditableSpan.ts +0 -1
- package/front_end/panels/network/components/HeaderSectionRow.test.ts +1 -1
- package/front_end/panels/network/components/HeaderSectionRow.ts +22 -21
- package/front_end/panels/network/components/RequestHeaderSection.ts +7 -7
- package/front_end/panels/network/components/RequestHeadersView.ts +25 -26
- package/front_end/panels/network/components/RequestTrustTokensView.ts +32 -35
- package/front_end/panels/network/components/ResponseHeaderSection.ts +8 -10
- package/front_end/panels/network/components/WebBundleInfoView.ts +13 -11
- package/front_end/panels/network/network.ts +2 -0
- package/front_end/panels/network/networkConfigView.css +12 -5
- package/front_end/panels/network/networkLogView.css +4 -15
- package/front_end/panels/network/requestHTMLView.css +1 -0
- package/front_end/panels/profiler/BottomUpProfileDataGrid.ts +3 -3
- package/front_end/panels/profiler/HeapProfileView.ts +1 -1
- package/front_end/panels/profiler/HeapProfilerPanel.ts +2 -2
- package/front_end/panels/profiler/HeapSnapshotDataGrids.ts +3 -3
- package/front_end/panels/profiler/HeapSnapshotGridNodes.ts +3 -3
- package/front_end/panels/profiler/HeapSnapshotProxy.ts +1 -1
- package/front_end/panels/profiler/ProfileLauncherView.ts +3 -3
- package/front_end/panels/protocol_monitor/ProtocolMonitor.ts +4 -2
- package/front_end/panels/protocol_monitor/components/JSONEditor.ts +22 -15
- package/front_end/panels/protocol_monitor/components/Toolbar.ts +4 -4
- package/front_end/panels/recorder/RecorderController.ts +39 -43
- package/front_end/panels/recorder/components/ControlButton.ts +1 -1
- package/front_end/panels/recorder/components/CreateRecordingView.ts +15 -15
- package/front_end/panels/recorder/components/ExtensionView.ts +9 -8
- package/front_end/panels/recorder/components/RecordingListView.ts +15 -13
- package/front_end/panels/recorder/components/RecordingView.ts +92 -84
- package/front_end/panels/recorder/components/ReplaySection.ts +6 -6
- package/front_end/panels/recorder/components/SelectButton.ts +21 -20
- package/front_end/panels/recorder/components/StartView.ts +14 -18
- package/front_end/panels/recorder/components/StepEditor.ts +3 -3
- package/front_end/panels/recorder/components/StepView.ts +20 -20
- package/front_end/panels/recorder/components/TimelineSection.ts +3 -2
- package/front_end/panels/recorder/converters/ExtensionConverter.ts +2 -2
- package/front_end/panels/recorder/converters/JSONConverter.ts +1 -1
- package/front_end/panels/recorder/converters/LighthouseConverter.ts +1 -1
- package/front_end/panels/recorder/converters/PuppeteerConverter.ts +1 -1
- package/front_end/panels/recorder/converters/PuppeteerReplayConverter.ts +1 -1
- package/front_end/panels/recorder/injected/RecordingClient.ts +7 -10
- package/front_end/panels/recorder/injected/SelectorComputer.ts +5 -5
- package/front_end/panels/recorder/injected/SelectorPicker.ts +2 -2
- package/front_end/panels/recorder/injected/Step.ts +1 -1
- package/front_end/panels/recorder/injected/injected.ts +1 -1
- package/front_end/panels/recorder/injected/selectors/ARIASelector.ts +1 -1
- package/front_end/panels/recorder/injected/selectors/PierceSelector.ts +6 -7
- package/front_end/panels/recorder/injected/selectors/TextSelector.ts +3 -5
- package/front_end/panels/recorder/injected/util.ts +1 -1
- package/front_end/panels/recorder/models/RecordingPlayer.ts +1 -1
- package/front_end/panels/recorder/models/RecordingSettings.ts +1 -4
- package/front_end/panels/recorder/models/RecordingStorage.ts +1 -1
- package/front_end/panels/recorder/models/SDKUtils.ts +3 -2
- package/front_end/panels/recorder/models/ScreenshotUtils.ts +1 -1
- package/front_end/panels/recorder/models/Section.ts +2 -2
- package/front_end/panels/search/SearchResultsPane.ts +1 -2
- package/front_end/panels/search/SearchView.ts +1 -1
- package/front_end/panels/security/OriginTreeElement.ts +1 -1
- package/front_end/panels/security/SecurityAndPrivacyPanelSidebar.ts +1 -1
- package/front_end/panels/security/SecurityPanelSidebarTreeElement.ts +1 -1
- package/front_end/panels/sensors/SensorsView.ts +16 -0
- package/front_end/panels/sensors/sensors.css +16 -0
- package/front_end/panels/settings/AISettingsTab.test.ts +41 -11
- package/front_end/panels/settings/AISettingsTab.ts +103 -58
- package/front_end/panels/settings/FrameworkIgnoreListSettingsTab.ts +9 -0
- package/front_end/panels/settings/SettingsScreen.ts +1 -1
- package/front_end/panels/settings/components/SyncSection.ts +18 -13
- package/front_end/panels/settings/emulation/components/UserAgentClientHintsForm.ts +33 -30
- package/front_end/panels/settings/settings-meta.ts +2 -2
- package/front_end/panels/sources/DebuggerPlugin.ts +1 -1
- package/front_end/panels/sources/EditingLocationHistoryManager.ts +2 -2
- package/front_end/panels/sources/GoToLineQuickOpen.ts +1 -1
- package/front_end/panels/sources/InplaceFormatterEditorAction.ts +1 -1
- package/front_end/panels/sources/OutlineQuickOpen.ts +1 -1
- package/front_end/panels/sources/SourcesNavigator.test.ts +1 -0
- package/front_end/panels/sources/SourcesPanel.ts +7 -0
- package/front_end/panels/sources/TabbedEditorContainer.ts +1 -1
- package/front_end/panels/sources/UISourceCodeFrame.ts +1 -1
- package/front_end/panels/sources/components/BreakpointsView.ts +25 -26
- package/front_end/panels/sources/components/HeadersView.ts +17 -15
- package/front_end/panels/timeline/AnimationsTrackAppender.ts +18 -3
- package/front_end/panels/timeline/AnnotationHelpers.ts +1 -1
- package/front_end/panels/timeline/AppenderUtils.ts +1 -1
- package/front_end/panels/timeline/CompatibilityTracksAppender.ts +27 -10
- package/front_end/panels/timeline/CountersGraph.ts +1 -1
- package/front_end/panels/timeline/EntriesFilter.test.ts +68 -0
- package/front_end/panels/timeline/EntriesFilter.ts +13 -0
- package/front_end/panels/timeline/EventsTimelineTreeView.ts +1 -1
- package/front_end/panels/timeline/InteractionsTrackAppender.ts +10 -0
- package/front_end/panels/timeline/LayoutShiftsTrackAppender.ts +135 -1
- package/front_end/panels/timeline/ModificationsManager.test.ts +160 -0
- package/front_end/panels/timeline/ModificationsManager.ts +31 -0
- package/front_end/panels/timeline/TimelineDetailsView.test.ts +4 -2
- package/front_end/panels/timeline/TimelineDetailsView.ts +34 -12
- package/front_end/panels/timeline/TimelineEventOverview.ts +1 -0
- package/front_end/panels/timeline/TimelineFlameChartDataProvider.test.ts +53 -0
- package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +50 -20
- package/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.test.ts +57 -0
- package/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.ts +18 -0
- package/front_end/panels/timeline/TimelineFlameChartView.ts +90 -29
- package/front_end/panels/timeline/TimelineHistoryManager.ts +3 -1
- package/front_end/panels/timeline/TimelineLoader.ts +1 -1
- package/front_end/panels/timeline/TimelinePanel.ts +49 -37
- package/front_end/panels/timeline/TimelineSelectorStatsView.ts +16 -12
- package/front_end/panels/timeline/TimelineTreeView.test.ts +9 -9
- package/front_end/panels/timeline/TimelineTreeView.ts +1 -1
- package/front_end/panels/timeline/TimelineUIUtils.ts +116 -41
- package/front_end/panels/timeline/TimingsTrackAppender.ts +1 -1
- package/front_end/panels/timeline/components/BreadcrumbsUI.ts +2 -3
- package/front_end/panels/timeline/components/CPUThrottlingSelector.ts +8 -7
- package/front_end/panels/timeline/components/FieldSettingsDialog.ts +28 -27
- package/front_end/panels/timeline/components/InteractionBreakdown.ts +3 -2
- package/front_end/panels/timeline/components/LayoutShiftDetails.test.ts +13 -11
- package/front_end/panels/timeline/components/LayoutShiftDetails.ts +217 -87
- package/front_end/panels/timeline/components/LiveMetricsView.test.ts +194 -69
- package/front_end/panels/timeline/components/LiveMetricsView.ts +327 -141
- package/front_end/panels/timeline/components/MetricCard.test.ts +8 -8
- package/front_end/panels/timeline/components/MetricCard.ts +6 -4
- package/front_end/panels/timeline/components/MetricCompareStrings.ts +1 -1
- package/front_end/panels/timeline/components/NetworkRequestDetails.ts +16 -13
- package/front_end/panels/timeline/components/NetworkRequestTooltip.ts +12 -10
- package/front_end/panels/timeline/components/NetworkThrottlingSelector.test.ts +35 -2
- package/front_end/panels/timeline/components/NetworkThrottlingSelector.ts +30 -13
- package/front_end/panels/timeline/components/RelatedInsightChips.test.ts +74 -0
- package/front_end/panels/timeline/components/RelatedInsightChips.ts +92 -0
- package/front_end/panels/timeline/components/Sidebar.test.ts +74 -0
- package/front_end/panels/timeline/components/Sidebar.ts +32 -13
- package/front_end/panels/timeline/components/SidebarAnnotationsTab.test.ts +66 -0
- package/front_end/panels/timeline/components/SidebarAnnotationsTab.ts +108 -39
- package/front_end/panels/timeline/components/SidebarInsightsTab.test.ts +11 -1
- package/front_end/panels/timeline/components/SidebarInsightsTab.ts +70 -37
- package/front_end/panels/timeline/components/SidebarSingleInsightSet.test.ts +59 -1
- package/front_end/panels/timeline/components/SidebarSingleInsightSet.ts +90 -34
- package/front_end/panels/timeline/components/Utils.test.ts +65 -0
- package/front_end/panels/timeline/components/Utils.ts +117 -0
- package/front_end/panels/timeline/components/components.ts +2 -0
- package/front_end/panels/timeline/components/insights/CLSCulprits.ts +67 -53
- package/front_end/panels/timeline/components/insights/DocumentLatency.ts +98 -14
- package/front_end/panels/timeline/components/insights/EventRef.ts +92 -0
- package/front_end/panels/timeline/components/insights/FontDisplay.ts +24 -13
- package/front_end/panels/timeline/components/insights/Helpers.ts +48 -43
- package/front_end/panels/timeline/components/insights/InteractionToNextPaint.ts +20 -18
- package/front_end/panels/timeline/components/insights/LCPDiscovery.ts +93 -48
- package/front_end/panels/timeline/components/insights/LCPPhases.ts +28 -9
- package/front_end/panels/timeline/components/insights/NodeLink.ts +3 -1
- package/front_end/panels/timeline/components/insights/RenderBlocking.ts +33 -25
- package/front_end/panels/timeline/components/insights/SidebarInsight.ts +92 -15
- package/front_end/panels/timeline/components/insights/SlowCSSSelector.ts +26 -39
- package/front_end/panels/timeline/components/insights/Table.ts +12 -9
- package/front_end/panels/timeline/components/insights/ThirdParties.ts +20 -12
- package/front_end/panels/timeline/components/insights/Viewport.ts +23 -20
- package/front_end/panels/timeline/components/insights/insights.ts +2 -0
- package/front_end/panels/timeline/components/insights/sidebarInsight.css +54 -9
- package/front_end/panels/timeline/components/insights/table.css +9 -1
- package/front_end/panels/timeline/components/layoutShiftDetails.css +22 -20
- package/front_end/panels/timeline/components/liveMetricsView.css +46 -16
- package/front_end/panels/timeline/components/networkRequestDetails.css +2 -1
- package/front_end/panels/timeline/components/relatedInsightChips.css +45 -0
- package/front_end/panels/timeline/components/sidebarInsightsTab.css +24 -6
- package/front_end/panels/timeline/components/sidebarSingleInsightSet.css +18 -4
- package/front_end/panels/timeline/extensions/ExtensionUI.ts +4 -1
- package/front_end/panels/timeline/fixtures/traces/basic.json.gz +0 -0
- package/front_end/panels/timeline/fixtures/traces/many-redirects.json.gz +0 -0
- package/front_end/panels/timeline/fixtures/traces/missing-url.json.gz +0 -0
- package/front_end/panels/timeline/overlays/OverlaysImpl.test.ts +40 -51
- package/front_end/panels/timeline/overlays/OverlaysImpl.ts +87 -39
- package/front_end/panels/timeline/overlays/components/EntriesLinkOverlay.ts +13 -11
- package/front_end/panels/timeline/overlays/components/EntryLabelOverlay.ts +24 -32
- package/front_end/panels/timeline/overlays/components/TimeRangeOverlay.ts +23 -24
- package/front_end/panels/timeline/overlays/components/TimespanBreakdownOverlay.test.ts +42 -0
- package/front_end/panels/timeline/overlays/components/TimespanBreakdownOverlay.ts +25 -19
- package/front_end/panels/timeline/overlays/components/entryLabelOverlay.css +0 -14
- package/front_end/panels/timeline/overlays/components/timeRangeOverlay.css +16 -13
- package/front_end/panels/timeline/overlays/components/timespanBreakdownOverlay.css +59 -20
- package/front_end/panels/timeline/timelineFlameChartView.css +3 -2
- package/front_end/panels/timeline/timelineFlamechartPopover.css +19 -0
- package/front_end/panels/timeline/timelineHistoryManager.css +4 -0
- package/front_end/panels/timeline/timelinePanel.css +2 -10
- package/front_end/panels/timeline/track_appenders/LayoutShiftsTrackAppender.test.ts +7 -7
- package/front_end/panels/timeline/track_appenders/TimingsTrackAppender.test.ts +1 -1
- package/front_end/panels/timeline/utils/Helpers.test.ts +38 -0
- package/front_end/panels/timeline/utils/Helpers.ts +94 -0
- package/front_end/panels/timeline/utils/ImageCache.test.ts +106 -0
- package/front_end/panels/timeline/utils/ImageCache.ts +55 -0
- package/front_end/panels/timeline/utils/SourceMapsResolver.test.ts +13 -1
- package/front_end/panels/timeline/utils/SourceMapsResolver.ts +11 -2
- package/front_end/panels/timeline/utils/utils.ts +4 -0
- package/front_end/panels/utils/utils.ts +1 -1
- package/front_end/panels/web_audio/graph_visualizer/EdgeView.ts +1 -1
- package/front_end/panels/web_audio/graph_visualizer/GraphView.ts +3 -9
- package/front_end/panels/webauthn/WebauthnPane.test.ts +75 -4
- package/front_end/panels/webauthn/WebauthnPane.ts +24 -3
- package/front_end/testing/EnvironmentHelpers.ts +19 -4
- package/front_end/testing/ExtensionHelpers.ts +1 -1
- package/front_end/testing/LanguagePluginHelpers.ts +1 -1
- package/front_end/testing/MockConnection.ts +1 -1
- package/front_end/testing/MockIssuesManager.ts +1 -1
- package/front_end/testing/MockScopeChain.ts +1 -1
- package/front_end/testing/MutationHelpers.test.ts +6 -8
- package/front_end/testing/TraceHelpers.ts +3 -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/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/sass.js +1 -1
- package/front_end/third_party/codemirror.next/chunk/sass.js.map +1 -1
- package/front_end/third_party/codemirror.next/codemirror.next.d.ts +11 -3
- package/front_end/third_party/codemirror.next/package.json +5 -5
- package/front_end/third_party/i18n/localized-string-set.ts +1 -1
- package/front_end/third_party/puppeteer/README.chromium +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/BrowserContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/BrowserContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/ElementHandle.d.ts +9 -9
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/ElementHandle.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/ElementHandle.js +84 -84
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/ElementHandle.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/ElementHandle.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/ElementHandle.js +1 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/ElementHandle.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/BrowsingContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/BrowsingContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Navigation.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Navigation.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Realm.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Realm.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Request.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Request.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Session.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Session.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/UserContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/UserContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/UserPrompt.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/UserPrompt.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Accessibility.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Accessibility.js +7 -4
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Accessibility.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ElementHandle.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ElementHandle.js +2 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ElementHandle.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ExecutionContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ExecutionContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Frame.d.ts +2 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Frame.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Frame.js +17 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Frame.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/IsolatedWorld.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/IsolatedWorld.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/QueryHandler.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/QueryHandler.js +1 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/QueryHandler.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/util.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/util.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/util.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/injected.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/injected.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/injected.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/injected.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/PQuerySelector.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/PQuerySelector.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/injected.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ScreenRecorder.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ScreenRecorder.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Mutex.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.d.ts +2 -1
- package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +114 -97
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/BrowserContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/BrowserContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/ElementHandle.d.ts +9 -9
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/ElementHandle.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/ElementHandle.js +82 -83
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/ElementHandle.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/ElementHandle.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/ElementHandle.js +2 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/ElementHandle.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/BrowsingContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/BrowsingContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Navigation.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Navigation.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Realm.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Realm.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Request.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Request.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Session.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Session.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/UserContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/UserContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/UserPrompt.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/UserPrompt.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Accessibility.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Accessibility.js +7 -4
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Accessibility.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ElementHandle.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ElementHandle.js +3 -4
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ElementHandle.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ExecutionContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ExecutionContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Frame.d.ts +2 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Frame.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Frame.js +17 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Frame.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/IsolatedWorld.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/IsolatedWorld.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/QueryHandler.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/QueryHandler.js +1 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/QueryHandler.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/util.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/util.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/util.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/injected.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/injected.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/injected.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/injected.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/injected/PQuerySelector.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/injected/PQuerySelector.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ScreenRecorder.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ScreenRecorder.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/types.d.ts +2 -1
- package/front_end/third_party/puppeteer/package/package.json +2 -2
- package/front_end/third_party/puppeteer/package/src/api/Browser.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/api/BrowserContext.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/api/ElementHandle.ts +89 -89
- package/front_end/third_party/puppeteer/package/src/api/Page.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/bidi/ElementHandle.ts +6 -2
- package/front_end/third_party/puppeteer/package/src/bidi/core/Browser.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/bidi/core/BrowsingContext.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/bidi/core/Navigation.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/bidi/core/Realm.ts +2 -2
- package/front_end/third_party/puppeteer/package/src/bidi/core/Request.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/bidi/core/Session.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/bidi/core/UserContext.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/bidi/core/UserPrompt.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/cdp/Accessibility.ts +9 -5
- package/front_end/third_party/puppeteer/package/src/cdp/ElementHandle.ts +7 -3
- package/front_end/third_party/puppeteer/package/src/cdp/ExecutionContext.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/cdp/Frame.ts +22 -1
- package/front_end/third_party/puppeteer/package/src/cdp/IsolatedWorld.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/common/QueryHandler.ts +1 -3
- package/front_end/third_party/puppeteer/package/src/common/util.ts +2 -1
- package/front_end/third_party/puppeteer/package/src/generated/injected.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/generated/version.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/injected/PQuerySelector.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/node/ScreenRecorder.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/revisions.ts +2 -2
- package/front_end/third_party/puppeteer/puppeteer.ts +1 -1
- package/front_end/ui/components/buttons/Button.ts +18 -17
- package/front_end/ui/components/buttons/button.css +0 -4
- package/front_end/ui/components/cards/Card.test.ts +66 -0
- package/front_end/ui/components/cards/Card.ts +57 -0
- package/front_end/ui/components/cards/card.css +32 -0
- package/front_end/ui/components/cards/cards.ts +9 -0
- package/front_end/ui/components/chrome_link/ChromeLink.test.ts +5 -3
- package/front_end/ui/components/chrome_link/ChromeLink.ts +3 -1
- package/front_end/ui/components/data_grid/DataGrid.test.ts +3 -1
- package/front_end/ui/components/data_grid/DataGrid.ts +25 -23
- package/front_end/ui/components/data_grid/DataGridContextMenuUtils.ts +2 -2
- package/front_end/ui/components/data_grid/DataGridController.ts +9 -5
- package/front_end/ui/components/data_grid/DataGridEvents.ts +1 -1
- package/front_end/ui/components/data_grid/DataGridRenderers.ts +7 -4
- package/front_end/ui/components/dialogs/Dialog.ts +4 -2
- package/front_end/ui/components/dialogs/IconDialog.ts +9 -7
- package/front_end/ui/components/dialogs/ShortcutDialog.ts +10 -8
- package/front_end/ui/components/diff_view/DiffView.ts +9 -8
- package/front_end/ui/components/docs/create_breadcrumbs.ts +3 -1
- package/front_end/ui/components/docs/expandable_list/basic.ts +4 -2
- package/front_end/ui/components/docs/floating_button/basic.html +26 -0
- package/front_end/ui/components/docs/floating_button/basic.ts +20 -0
- package/front_end/ui/components/docs/freestyler/basic.ts +5 -0
- package/front_end/ui/components/docs/freestyler/empty_state.ts +5 -0
- package/front_end/ui/components/docs/icon_dialog/basic.ts +5 -3
- package/front_end/ui/components/docs/panel_introduction_steps/basic.ts +7 -4
- package/front_end/ui/components/docs/performance_panel/flamechart.html +4 -0
- package/front_end/ui/components/docs/performance_panel/flamechart.ts +45 -0
- package/front_end/ui/components/docs/recorder_select_button/basic.ts +21 -18
- package/front_end/ui/components/docs/report/basic.ts +19 -23
- package/front_end/ui/components/docs/theme_colors/basic.ts +4 -2
- package/front_end/ui/components/docs/tree_outline/custom-renderers.ts +4 -2
- package/front_end/ui/components/expandable_list/ExpandableList.test.ts +5 -3
- package/front_end/ui/components/expandable_list/ExpandableList.ts +6 -4
- package/front_end/ui/components/floating_button/FloatingButton.ts +51 -0
- package/front_end/ui/components/floating_button/floatingButton.css +63 -0
- package/front_end/ui/components/floating_button/floating_button.ts +7 -0
- package/front_end/ui/components/helpers/helpers.test.ts +18 -14
- package/front_end/ui/components/icon_button/Icon.ts +2 -2
- package/front_end/ui/components/icon_button/IconButton.ts +15 -10
- package/front_end/ui/components/issue_counter/IssueCounter.ts +5 -1
- package/front_end/ui/components/issue_counter/IssueLinkIcon.ts +7 -4
- package/front_end/ui/components/legacy_wrapper/LegacyWrapper.ts +0 -1
- package/front_end/ui/components/linkifier/LinkifierImpl.ts +3 -1
- package/front_end/ui/components/markdown_view/CodeBlock.test.ts +7 -7
- package/front_end/ui/components/markdown_view/CodeBlock.ts +33 -41
- package/front_end/ui/components/markdown_view/MarkdownImage.ts +12 -9
- package/front_end/ui/components/markdown_view/MarkdownLink.ts +3 -1
- package/front_end/ui/components/markdown_view/MarkdownView.test.ts +51 -3
- package/front_end/ui/components/markdown_view/MarkdownView.ts +39 -22
- package/front_end/ui/components/markdown_view/codeBlock.css +6 -28
- package/front_end/ui/components/markdown_view/markdownLink.css +1 -1
- package/front_end/ui/components/markdown_view/markdownView.css +4 -0
- package/front_end/ui/components/menus/Menu.ts +7 -5
- package/front_end/ui/components/menus/SelectMenu.test.ts +3 -1
- package/front_end/ui/components/menus/SelectMenu.ts +17 -15
- package/front_end/ui/components/panel_feedback/FeedbackButton.ts +5 -3
- package/front_end/ui/components/panel_feedback/PanelFeedback.ts +8 -4
- package/front_end/ui/components/panel_feedback/PreviewToggle.ts +6 -4
- package/front_end/ui/components/panel_introduction_steps/PanelIntroductionSteps.ts +3 -1
- package/front_end/ui/components/report_view/ReportView.test.ts +5 -3
- package/front_end/ui/components/report_view/ReportView.ts +9 -7
- package/front_end/ui/components/request_link_icon/RequestLinkIcon.ts +8 -5
- package/front_end/ui/components/settings/SettingCheckbox.ts +14 -12
- package/front_end/ui/components/settings/SettingDeprecationWarning.ts +7 -4
- package/front_end/ui/components/spinners/Spinner.ts +3 -1
- package/front_end/ui/components/split_view/SplitView.ts +3 -1
- package/front_end/ui/components/srgb_overlay/SrgbOverlay.ts +3 -1
- package/front_end/ui/components/suggestion_input/SuggestionInput.ts +3 -2
- package/front_end/ui/components/survey_link/SurveyLink.ts +7 -3
- package/front_end/ui/components/switch/SwitchImpl.ts +3 -1
- package/front_end/ui/components/text_editor/TextEditorHistory.ts +2 -2
- package/front_end/ui/components/text_prompt/TextPrompt.ts +3 -1
- package/front_end/ui/components/tree_outline/TreeOutline.test.ts +8 -6
- package/front_end/ui/components/tree_outline/TreeOutline.ts +9 -8
- package/front_end/ui/components/two_states_counter/TwoStatesCounter.ts +5 -3
- package/front_end/ui/legacy/Context.ts +1 -1
- package/front_end/ui/legacy/Dialog.ts +2 -2
- package/front_end/ui/legacy/DockController.ts +2 -2
- package/front_end/ui/legacy/FilterBar.ts +1 -1
- package/front_end/ui/legacy/FilterSuggestionBuilder.ts +1 -1
- package/front_end/ui/legacy/GlassPane.ts +1 -1
- package/front_end/ui/legacy/Infobar.ts +1 -1
- package/front_end/ui/legacy/InspectorView.ts +5 -5
- package/front_end/ui/legacy/Panel.ts +1 -1
- package/front_end/ui/legacy/ShortcutRegistry.ts +1 -1
- package/front_end/ui/legacy/SplitWidget.test.ts +33 -1
- package/front_end/ui/legacy/SplitWidget.ts +62 -7
- package/front_end/ui/legacy/TabbedPane.ts +24 -0
- package/front_end/ui/legacy/Toolbar.test.ts +39 -0
- package/front_end/ui/legacy/Toolbar.ts +16 -17
- package/front_end/ui/legacy/UIUtils.ts +1 -1
- package/front_end/ui/legacy/View.ts +2 -2
- package/front_end/ui/legacy/ViewManager.ts +3 -2
- package/front_end/ui/legacy/ViewRegistration.ts +2 -2
- package/front_end/ui/legacy/Widget.ts +62 -14
- package/front_end/ui/legacy/XElement.ts +0 -1
- package/front_end/ui/legacy/XLink.test.ts +3 -1
- package/front_end/ui/legacy/XLink.ts +6 -4
- package/front_end/ui/legacy/checkboxTextLabel.css +4 -0
- package/front_end/ui/legacy/components/color_picker/Spectrum.ts +1 -1
- package/front_end/ui/legacy/components/data_grid/DataGridWithPreview.ts +21 -10
- package/front_end/ui/legacy/components/inline_editor/AnimationTimingUI.ts +1 -1
- package/front_end/ui/legacy/components/inline_editor/CSSAngle.ts +10 -7
- package/front_end/ui/legacy/components/inline_editor/ColorMixSwatch.ts +3 -1
- package/front_end/ui/legacy/components/inline_editor/ColorSwatch.ts +3 -1
- package/front_end/ui/legacy/components/inline_editor/LinkSwatch.ts +9 -9
- package/front_end/ui/legacy/components/inline_editor/Swatches.ts +5 -4
- package/front_end/ui/legacy/components/perf_ui/BrickBreaker.ts +2 -2
- package/front_end/ui/legacy/components/perf_ui/FilmStripView.test.ts +9 -9
- package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +49 -13
- package/front_end/ui/legacy/components/perf_ui/PieChart.ts +1 -0
- package/front_end/ui/legacy/components/perf_ui/TimelineOverviewCalculator.ts +1 -1
- package/front_end/ui/legacy/inspectorCommon.css +0 -1
- package/front_end/ui/legacy/themeColors.css +10 -0
- package/front_end/ui/legacy/toolbar.css +4 -0
- package/front_end/ui/legacy/treeoutline.css +0 -3
- package/front_end/ui/lit-html/static.test.ts +8 -8
- package/front_end/ui/visual_logging/Debugging.ts +1 -1
- package/front_end/ui/visual_logging/KnownContextValues.ts +32 -3
- package/front_end/ui/visual_logging/LoggingDriver.ts +1 -1
- package/front_end/ui/visual_logging/LoggingEvents.ts +28 -28
- package/front_end/ui/visual_logging/LoggingState.ts +1 -1
- package/front_end/ui/visual_logging/NonDomState.ts +2 -2
- package/front_end/ui/visual_logging/visual_logging.ts +3 -1
- package/inspector_overlay/css_grid_label_helpers.test.ts +103 -0
- package/inspector_overlay/css_grid_label_helpers.ts +63 -12
- package/inspector_overlay/highlight_common.ts +2 -2
- package/inspector_overlay/highlight_container_query.ts +1 -2
- package/inspector_overlay/highlight_flex_common.test.ts +1 -1
- package/inspector_overlay/highlight_flex_common.ts +2 -3
- package/inspector_overlay/highlight_grid_common.ts +10 -4
- package/inspector_overlay/highlight_isolated_element.ts +1 -1
- package/inspector_overlay/highlight_scroll_snap.ts +1 -2
- package/inspector_overlay/testing/InspectorOverlayHelpers.ts +1 -1
- package/inspector_overlay/tool_highlight.ts +4 -8
- package/package.json +4 -3
- package/scripts/devtools_paths.js +9 -2
- package/scripts/eslint_rules/lib/avoid_assert_equal.js +34 -7
- package/scripts/eslint_rules/lib/html_tagged_template.js +55 -0
- package/scripts/eslint_rules/lib/inline_type_imports.js +22 -23
- package/scripts/eslint_rules/tests/avoid_assert_equal_test.js +61 -2
- package/scripts/eslint_rules/tests/html_tagged_template_test.js +96 -0
- package/scripts/eslint_rules/tests/inline_type_imports_test.js +5 -25
- package/scripts/freestyler/eval/index.js +83 -47
- package/scripts/protocol_typescript/protocol_dts_generator.ts +1 -1
- package/scripts/stylelint_rules/lib/use_theme_colors.js +2 -1
- package/scripts/stylelint_rules/tests/use_theme_colors_test.js +16 -0
- package/front_end/Images/src/spark.svg +0 -3
- package/front_end/panels/timeline/components/insights/lcpDiscovery.css +0 -13
- package/scripts/eslint_rules/lib/ban_literal_devtools_component_tag_names.js +0 -40
- package/scripts/eslint_rules/lib/check_component_naming.js +0 -214
- package/scripts/eslint_rules/tests/ban_literal_devtools_component_tag_names_test.js +0 -38
- package/scripts/eslint_rules/tests/check_component_naming_test.js +0 -246
|
@@ -281,21 +281,21 @@ describeWithEnvironment('Overlays', () => {
|
|
|
281
281
|
});
|
|
282
282
|
const currManager = Timeline.ModificationsManager.ModificationsManager.activeManager();
|
|
283
283
|
// The Annotations Overlays are added through the ModificationsManager listener
|
|
284
|
-
currManager?.addEventListener(Timeline.ModificationsManager.AnnotationModifiedEvent.eventName, event => {
|
|
284
|
+
currManager?.addEventListener(Timeline.ModificationsManager.AnnotationModifiedEvent.eventName, async event => {
|
|
285
285
|
const {overlay, action} = (event as Timeline.ModificationsManager.AnnotationModifiedEvent);
|
|
286
286
|
if (action === 'Add') {
|
|
287
287
|
overlays.add(overlay);
|
|
288
288
|
}
|
|
289
|
-
overlays.update();
|
|
289
|
+
await overlays.update();
|
|
290
290
|
});
|
|
291
291
|
|
|
292
292
|
// When an annotation overlay is remomved, this event is dispatched to the Modifications Manager.
|
|
293
|
-
overlays.addEventListener(Overlays.Overlays.AnnotationOverlayActionEvent.eventName, event => {
|
|
293
|
+
overlays.addEventListener(Overlays.Overlays.AnnotationOverlayActionEvent.eventName, async event => {
|
|
294
294
|
const {overlay, action} = (event as Overlays.Overlays.AnnotationOverlayActionEvent);
|
|
295
295
|
if (action === 'Remove') {
|
|
296
296
|
overlays.remove(overlay);
|
|
297
297
|
}
|
|
298
|
-
overlays.update();
|
|
298
|
+
await overlays.update();
|
|
299
299
|
});
|
|
300
300
|
|
|
301
301
|
overlays.updateChartDimensions('main', {
|
|
@@ -327,7 +327,7 @@ describeWithEnvironment('Overlays', () => {
|
|
|
327
327
|
type: 'ENTRY_SELECTED',
|
|
328
328
|
entry: event,
|
|
329
329
|
});
|
|
330
|
-
overlays.update();
|
|
330
|
+
await overlays.update();
|
|
331
331
|
|
|
332
332
|
// Ensure that the overlay was created.
|
|
333
333
|
const overlayDOM = container.querySelector<HTMLElement>('.overlay-type-ENTRY_SELECTED');
|
|
@@ -344,7 +344,7 @@ describeWithEnvironment('Overlays', () => {
|
|
|
344
344
|
entry: event,
|
|
345
345
|
outlineReason: 'ERROR',
|
|
346
346
|
});
|
|
347
|
-
overlays.update();
|
|
347
|
+
await overlays.update();
|
|
348
348
|
|
|
349
349
|
const outlineVisible =
|
|
350
350
|
container.querySelector<HTMLElement>('.overlay-type-ENTRY_OUTLINE')?.style.display === 'block';
|
|
@@ -355,7 +355,7 @@ describeWithEnvironment('Overlays', () => {
|
|
|
355
355
|
type: 'ENTRY_SELECTED',
|
|
356
356
|
entry: event,
|
|
357
357
|
});
|
|
358
|
-
overlays.update();
|
|
358
|
+
await overlays.update();
|
|
359
359
|
const outlineNowHidden =
|
|
360
360
|
container.querySelector<HTMLElement>('.overlay-type-ENTRY_OUTLINE')?.style.display === 'none';
|
|
361
361
|
assert.isTrue(outlineNowHidden, 'The ENTRY_OUTLINE should be hidden');
|
|
@@ -373,12 +373,12 @@ describeWithEnvironment('Overlays', () => {
|
|
|
373
373
|
type: 'ENTRY_SELECTED',
|
|
374
374
|
entry: event1,
|
|
375
375
|
});
|
|
376
|
-
overlays.update();
|
|
376
|
+
await overlays.update();
|
|
377
377
|
overlays.add({
|
|
378
378
|
type: 'ENTRY_SELECTED',
|
|
379
379
|
entry: event2,
|
|
380
380
|
});
|
|
381
|
-
overlays.update();
|
|
381
|
+
await overlays.update();
|
|
382
382
|
|
|
383
383
|
// There should only be one of these
|
|
384
384
|
const entrySelectedOverlays = container.querySelectorAll<HTMLElement>('.overlay-type-ENTRY_SELECTED');
|
|
@@ -397,7 +397,7 @@ describeWithEnvironment('Overlays', () => {
|
|
|
397
397
|
entry: event,
|
|
398
398
|
label: 'entry label',
|
|
399
399
|
});
|
|
400
|
-
overlays.update();
|
|
400
|
+
await overlays.update();
|
|
401
401
|
|
|
402
402
|
// Ensure that the overlay was created.
|
|
403
403
|
const overlayDOM = container.querySelector<HTMLElement>('.overlay-type-ENTRY_LABEL');
|
|
@@ -415,7 +415,7 @@ describeWithEnvironment('Overlays', () => {
|
|
|
415
415
|
type: 'CURSOR_TIMESTAMP_MARKER',
|
|
416
416
|
timestamp: parsedTrace.Meta.traceBounds.max,
|
|
417
417
|
});
|
|
418
|
-
overlays.update();
|
|
418
|
+
await overlays.update();
|
|
419
419
|
assert.lengthOf(container.children, 1);
|
|
420
420
|
});
|
|
421
421
|
|
|
@@ -431,7 +431,7 @@ describeWithEnvironment('Overlays', () => {
|
|
|
431
431
|
entry: event,
|
|
432
432
|
label: 'entry label',
|
|
433
433
|
});
|
|
434
|
-
overlays.update();
|
|
434
|
+
await overlays.update();
|
|
435
435
|
|
|
436
436
|
const overlayDOM = container.querySelector<HTMLElement>('.overlay-type-ENTRY_LABEL');
|
|
437
437
|
assert.isOk(overlayDOM);
|
|
@@ -441,10 +441,7 @@ describeWithEnvironment('Overlays', () => {
|
|
|
441
441
|
const elementsWrapper = component.shadowRoot.querySelector<HTMLElement>('.label-parts-wrapper');
|
|
442
442
|
assert.isOk(elementsWrapper);
|
|
443
443
|
|
|
444
|
-
const
|
|
445
|
-
assert.isOk(labelBox);
|
|
446
|
-
|
|
447
|
-
const inputField = labelBox.querySelector<HTMLElement>('.input-field');
|
|
444
|
+
const inputField = elementsWrapper.querySelector<HTMLElement>('.input-field');
|
|
448
445
|
assert.isOk(inputField);
|
|
449
446
|
|
|
450
447
|
assert.strictEqual(inputField?.innerText, 'entry label');
|
|
@@ -463,7 +460,7 @@ describeWithEnvironment('Overlays', () => {
|
|
|
463
460
|
entry: event,
|
|
464
461
|
label: 'label',
|
|
465
462
|
});
|
|
466
|
-
overlays.update();
|
|
463
|
+
await overlays.update();
|
|
467
464
|
|
|
468
465
|
// Ensure that the overlay was created.
|
|
469
466
|
const overlayDOM = container.querySelector<HTMLElement>('.overlay-type-ENTRY_LABEL');
|
|
@@ -475,9 +472,7 @@ describeWithEnvironment('Overlays', () => {
|
|
|
475
472
|
const elementsWrapper = component.shadowRoot.querySelector<HTMLElement>('.label-parts-wrapper');
|
|
476
473
|
assert.isOk(elementsWrapper);
|
|
477
474
|
|
|
478
|
-
const
|
|
479
|
-
assert.isOk(label);
|
|
480
|
-
const inputField = label.querySelector<HTMLElement>('.input-field');
|
|
475
|
+
const inputField = elementsWrapper.querySelector<HTMLElement>('.input-field');
|
|
481
476
|
assert.isOk(inputField);
|
|
482
477
|
|
|
483
478
|
// Double click on the label box to make it editable and focus on it
|
|
@@ -508,7 +503,7 @@ describeWithEnvironment('Overlays', () => {
|
|
|
508
503
|
// Make this overlay the entire span of the trace
|
|
509
504
|
bounds: parsedTrace.Meta.traceBounds,
|
|
510
505
|
});
|
|
511
|
-
overlays.update();
|
|
506
|
+
await overlays.update();
|
|
512
507
|
|
|
513
508
|
// Ensure that the overlay was created.
|
|
514
509
|
const overlayDOM = container.querySelector<HTMLElement>('.overlay-type-TIME_RANGE');
|
|
@@ -549,7 +544,7 @@ describeWithEnvironment('Overlays', () => {
|
|
|
549
544
|
// Make this overlay the entire span of the trace
|
|
550
545
|
bounds: parsedTrace.Meta.traceBounds,
|
|
551
546
|
});
|
|
552
|
-
overlays.update();
|
|
547
|
+
await overlays.update();
|
|
553
548
|
|
|
554
549
|
// Ensure that the overlay was created.
|
|
555
550
|
const overlayDOM = container.querySelector<HTMLElement>('.overlay-type-TIME_RANGE');
|
|
@@ -592,7 +587,7 @@ describeWithEnvironment('Overlays', () => {
|
|
|
592
587
|
label: 'label2',
|
|
593
588
|
bounds: parsedTrace.Meta.traceBounds,
|
|
594
589
|
});
|
|
595
|
-
overlays.update();
|
|
590
|
+
await overlays.update();
|
|
596
591
|
|
|
597
592
|
assert.strictEqual(overlays.overlaysOfType('TIME_RANGE').length, 2);
|
|
598
593
|
});
|
|
@@ -609,7 +604,7 @@ describeWithEnvironment('Overlays', () => {
|
|
|
609
604
|
entry: event as Trace.Types.Events.Event,
|
|
610
605
|
label: '',
|
|
611
606
|
});
|
|
612
|
-
overlays.update();
|
|
607
|
+
await overlays.update();
|
|
613
608
|
|
|
614
609
|
// Ensure that the overlay was created.
|
|
615
610
|
const overlayDOM = container.querySelector<HTMLElement>('.overlay-type-ENTRY_LABEL');
|
|
@@ -621,9 +616,6 @@ describeWithEnvironment('Overlays', () => {
|
|
|
621
616
|
const elementsWrapper = component.shadowRoot.querySelector<HTMLElement>('.label-parts-wrapper');
|
|
622
617
|
assert.isOk(elementsWrapper);
|
|
623
618
|
|
|
624
|
-
const label = elementsWrapper.querySelector<HTMLElement>('.label-box');
|
|
625
|
-
assert.isOk(label);
|
|
626
|
-
|
|
627
619
|
const inputField = elementsWrapper.querySelector<HTMLElement>('.input-field');
|
|
628
620
|
assert.isOk(inputField);
|
|
629
621
|
|
|
@@ -653,7 +645,7 @@ describeWithEnvironment('Overlays', () => {
|
|
|
653
645
|
entry: event as Trace.Types.Events.Event,
|
|
654
646
|
label: '',
|
|
655
647
|
});
|
|
656
|
-
overlays.update();
|
|
648
|
+
await overlays.update();
|
|
657
649
|
|
|
658
650
|
// Ensure that the overlay was created.
|
|
659
651
|
const overlayDOM = container.querySelector<HTMLElement>('.overlay-type-ENTRY_LABEL');
|
|
@@ -681,7 +673,7 @@ describeWithEnvironment('Overlays', () => {
|
|
|
681
673
|
// Make this overlay the entire span of the trace
|
|
682
674
|
bounds: parsedTrace.Meta.traceBounds,
|
|
683
675
|
});
|
|
684
|
-
overlays.update();
|
|
676
|
+
await overlays.update();
|
|
685
677
|
const overlayDOM = container.querySelector<HTMLElement>('.overlay-type-TIME_RANGE');
|
|
686
678
|
assert.isOk(overlayDOM);
|
|
687
679
|
});
|
|
@@ -696,7 +688,7 @@ describeWithEnvironment('Overlays', () => {
|
|
|
696
688
|
// Make this overlay the entire span of the trace
|
|
697
689
|
bounds: parsedTrace.Meta.traceBounds,
|
|
698
690
|
});
|
|
699
|
-
overlays.update();
|
|
691
|
+
await overlays.update();
|
|
700
692
|
const overlayDOM = container.querySelector<HTMLElement>('.overlay-type-TIME_RANGE');
|
|
701
693
|
assert.isOk(overlayDOM);
|
|
702
694
|
});
|
|
@@ -711,7 +703,7 @@ describeWithEnvironment('Overlays', () => {
|
|
|
711
703
|
// Make this overlay the entire span of the trace
|
|
712
704
|
bounds: parsedTrace.Meta.traceBounds,
|
|
713
705
|
});
|
|
714
|
-
overlays.update();
|
|
706
|
+
await overlays.update();
|
|
715
707
|
const overlayDOM = container.querySelector<HTMLElement>('.overlay-type-TIME_RANGE');
|
|
716
708
|
assert.isOk(overlayDOM);
|
|
717
709
|
const firstWidth = window.parseInt(overlayDOM.style.width);
|
|
@@ -722,7 +714,7 @@ describeWithEnvironment('Overlays', () => {
|
|
|
722
714
|
rangeOverlay.bounds.max,
|
|
723
715
|
);
|
|
724
716
|
overlays.updateExisting(rangeOverlay, {bounds: newBounds});
|
|
725
|
-
overlays.update();
|
|
717
|
+
await overlays.update();
|
|
726
718
|
const secondWidth = window.parseInt(overlayDOM.style.width);
|
|
727
719
|
// The new time range is smaller so the DOM element should have less width
|
|
728
720
|
assert.isTrue(secondWidth < firstWidth);
|
|
@@ -742,7 +734,7 @@ describeWithEnvironment('Overlays', () => {
|
|
|
742
734
|
const boundsRange = Trace.Types.Timing.MicroSeconds(20_000);
|
|
743
735
|
const boundsMax = Trace.Types.Timing.MicroSeconds(layoutShiftEvent.ts + boundsRange);
|
|
744
736
|
overlays.updateVisibleWindow({min: layoutShiftEvent.ts, max: boundsMax, range: boundsRange});
|
|
745
|
-
overlays.update();
|
|
737
|
+
await overlays.update();
|
|
746
738
|
const overlayDOM = container.querySelector<HTMLElement>('.overlay-type-ENTRY_SELECTED');
|
|
747
739
|
assert.isOk(overlayDOM);
|
|
748
740
|
assert.strictEqual(window.parseInt(overlayDOM.style.width), 2);
|
|
@@ -758,7 +750,7 @@ describeWithEnvironment('Overlays', () => {
|
|
|
758
750
|
// Make this overlay the entire span of the trace
|
|
759
751
|
bounds: parsedTrace.Meta.traceBounds,
|
|
760
752
|
});
|
|
761
|
-
overlays.update();
|
|
753
|
+
await overlays.update();
|
|
762
754
|
await coordinator.done();
|
|
763
755
|
const overlayDOM = container.querySelector<HTMLElement>('.overlay-type-TIME_RANGE');
|
|
764
756
|
const component = overlayDOM?.querySelector('devtools-time-range-overlay');
|
|
@@ -781,11 +773,11 @@ describeWithEnvironment('Overlays', () => {
|
|
|
781
773
|
type: 'ENTRY_SELECTED',
|
|
782
774
|
entry: event,
|
|
783
775
|
});
|
|
784
|
-
overlays.update();
|
|
776
|
+
await overlays.update();
|
|
785
777
|
assert.lengthOf(container.children, 1);
|
|
786
778
|
|
|
787
779
|
overlays.remove(selectedOverlay);
|
|
788
|
-
overlays.update();
|
|
780
|
+
await overlays.update();
|
|
789
781
|
assert.lengthOf(container.children, 0);
|
|
790
782
|
});
|
|
791
783
|
|
|
@@ -800,7 +792,7 @@ describeWithEnvironment('Overlays', () => {
|
|
|
800
792
|
type: 'ENTRY_SELECTED',
|
|
801
793
|
entry: timelineFrame,
|
|
802
794
|
});
|
|
803
|
-
overlays.update();
|
|
795
|
+
await overlays.update();
|
|
804
796
|
|
|
805
797
|
// Ensure that the overlay was created.
|
|
806
798
|
const overlayDOM = container.querySelector<HTMLElement>('.overlay-type-ENTRY_SELECTED');
|
|
@@ -838,7 +830,7 @@ describeWithEnvironment('Overlays', () => {
|
|
|
838
830
|
type: 'ENTRY_SELECTED',
|
|
839
831
|
entry: event,
|
|
840
832
|
});
|
|
841
|
-
overlays.update();
|
|
833
|
+
await overlays.update();
|
|
842
834
|
|
|
843
835
|
assert.lengthOf(container.children, 1);
|
|
844
836
|
const removedCount = overlays.removeOverlaysOfType('ENTRY_SELECTED');
|
|
@@ -860,16 +852,14 @@ describeWithEnvironment('Overlays', () => {
|
|
|
860
852
|
entry: event as Trace.Types.Events.Event,
|
|
861
853
|
});
|
|
862
854
|
|
|
863
|
-
overlays.update();
|
|
855
|
+
await overlays.update();
|
|
864
856
|
const overlayDOM = container.querySelector<HTMLElement>('.overlay-type-ENTRY_LABEL');
|
|
865
857
|
assert.isOk(overlayDOM);
|
|
866
858
|
const component = overlayDOM?.querySelector('devtools-entry-label-overlay');
|
|
867
859
|
assert.isOk(component?.shadowRoot);
|
|
868
860
|
|
|
869
861
|
const elementsWrapper = component.shadowRoot.querySelector<HTMLElement>('.label-parts-wrapper');
|
|
870
|
-
const
|
|
871
|
-
|
|
872
|
-
const inputField = labelBox.querySelector<HTMLElement>('.input-field');
|
|
862
|
+
const inputField = elementsWrapper?.querySelector<HTMLElement>('.input-field') as HTMLSpanElement;
|
|
873
863
|
assert.isOk(inputField);
|
|
874
864
|
// The label input box should be editable after it is created and before anything else happened
|
|
875
865
|
assert.isTrue(inputField.isContentEditable);
|
|
@@ -889,7 +879,7 @@ describeWithEnvironment('Overlays', () => {
|
|
|
889
879
|
entry: event as Trace.Types.Events.Event,
|
|
890
880
|
});
|
|
891
881
|
|
|
892
|
-
overlays.update();
|
|
882
|
+
await overlays.update();
|
|
893
883
|
const overlayDOM = container.querySelector<HTMLElement>('.overlay-type-ENTRY_LABEL');
|
|
894
884
|
assert.isOk(overlayDOM);
|
|
895
885
|
const component = overlayDOM?.querySelector('devtools-entry-label-overlay');
|
|
@@ -897,22 +887,21 @@ describeWithEnvironment('Overlays', () => {
|
|
|
897
887
|
|
|
898
888
|
const elementsWrapper = component.shadowRoot.querySelector<HTMLElement>('.label-parts-wrapper');
|
|
899
889
|
assert.isOk(elementsWrapper);
|
|
900
|
-
const labelBox = elementsWrapper.querySelector<HTMLElement>('.
|
|
890
|
+
const labelBox = elementsWrapper.querySelector<HTMLElement>('.input-field') as HTMLSpanElement;
|
|
901
891
|
|
|
902
|
-
|
|
903
|
-
assert.isOk(inputField);
|
|
892
|
+
assert.isOk(labelBox);
|
|
904
893
|
|
|
905
894
|
// The label input box should be editable after it is created and before anything else happened
|
|
906
|
-
assert.isTrue(
|
|
895
|
+
assert.isTrue(labelBox.isContentEditable);
|
|
907
896
|
|
|
908
897
|
// Make the content to editable by changing the element blur like when clicking outside of it.
|
|
909
898
|
// When that happens, the content should be set to not editable.
|
|
910
|
-
|
|
911
|
-
assert.isFalse(
|
|
899
|
+
labelBox.dispatchEvent(new FocusEvent('blur', {bubbles: true}));
|
|
900
|
+
assert.isFalse(labelBox.isContentEditable);
|
|
912
901
|
|
|
913
902
|
// Double click on the label to make it editable again
|
|
914
|
-
|
|
915
|
-
assert.isTrue(
|
|
903
|
+
labelBox.dispatchEvent(new FocusEvent('dblclick', {bubbles: true}));
|
|
904
|
+
assert.isTrue(labelBox.isContentEditable);
|
|
916
905
|
});
|
|
917
906
|
});
|
|
918
907
|
|
|
@@ -252,6 +252,7 @@ export interface TimespanBreakdown {
|
|
|
252
252
|
type: 'TIMESPAN_BREAKDOWN';
|
|
253
253
|
sections: Array<Components.TimespanBreakdownOverlay.EntryBreakdown>;
|
|
254
254
|
entry?: Trace.Types.Events.Event;
|
|
255
|
+
renderLocation?: 'BOTTOM_OF_TIMELINE'|'BELOW_EVENT'|'ABOVE_EVENT';
|
|
255
256
|
}
|
|
256
257
|
|
|
257
258
|
export interface CursorTimestampMarker {
|
|
@@ -623,7 +624,7 @@ export class Overlays extends EventTarget {
|
|
|
623
624
|
* existing overlays will have their positions changed to ensure they are
|
|
624
625
|
* rendered in the right place.
|
|
625
626
|
*/
|
|
626
|
-
update(): void {
|
|
627
|
+
async update(): Promise<void> {
|
|
627
628
|
const timeRangeOverlays: TimeRangeLabel[] = [];
|
|
628
629
|
for (const [overlay, existingElement] of this.#overlaysToElements) {
|
|
629
630
|
const element = existingElement || this.#createElementForNewOverlay(overlay);
|
|
@@ -633,11 +634,17 @@ export class Overlays extends EventTarget {
|
|
|
633
634
|
this.#overlaysContainer.appendChild(element);
|
|
634
635
|
}
|
|
635
636
|
|
|
637
|
+
// A chance to update the overlay before we re-position it. If an
|
|
638
|
+
// overlay's data changed, this is where we can pass that data into the
|
|
639
|
+
// overlay's component so it has the latest data.
|
|
640
|
+
this.#updateOverlayBeforePositioning(overlay, element);
|
|
641
|
+
|
|
636
642
|
// Now we position the overlay on the timeline.
|
|
637
643
|
this.#positionOverlay(overlay, element);
|
|
638
644
|
|
|
639
|
-
// And now we give every overlay a chance to react to its new position,
|
|
640
|
-
|
|
645
|
+
// And now we give every overlay a chance to react to its new position,
|
|
646
|
+
// if it needs to
|
|
647
|
+
this.#updateOverlayAfterPositioning(overlay, element);
|
|
641
648
|
|
|
642
649
|
if (overlay.type === 'TIME_RANGE') {
|
|
643
650
|
timeRangeOverlays.push(overlay);
|
|
@@ -758,13 +765,12 @@ export class Overlays extends EventTarget {
|
|
|
758
765
|
// chart, so we figure out the best visible entry pairs to draw
|
|
759
766
|
// between.
|
|
760
767
|
const entriesToConnect = this.#calculateFromAndToForEntriesLink(overlay);
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
this.#setOverlayElementVisibility(element, false);
|
|
764
|
-
break;
|
|
765
|
-
}
|
|
766
|
-
this.#positionEntriesLinkOverlay(overlay, element, entriesToConnect);
|
|
768
|
+
const isVisible = entriesToConnect !== null && !annotationsAreHidden;
|
|
769
|
+
this.#setOverlayElementVisibility(element, isVisible);
|
|
767
770
|
|
|
771
|
+
if (isVisible) {
|
|
772
|
+
this.#positionEntriesLinkOverlay(overlay, element, entriesToConnect);
|
|
773
|
+
}
|
|
768
774
|
break;
|
|
769
775
|
}
|
|
770
776
|
case 'TIMESPAN_BREAKDOWN': {
|
|
@@ -828,13 +834,13 @@ export class Overlays extends EventTarget {
|
|
|
828
834
|
}
|
|
829
835
|
|
|
830
836
|
#positionTimespanBreakdownOverlay(overlay: TimespanBreakdown, element: HTMLElement): void {
|
|
831
|
-
const component = element.querySelector<HTMLElement>('devtools-timespan-breakdown-overlay');
|
|
832
|
-
const shadow = component?.shadowRoot;
|
|
833
|
-
const elementSections = shadow?.querySelectorAll<HTMLElement>('.timespan-breakdown-overlay-section');
|
|
834
|
-
|
|
835
837
|
if (overlay.sections.length === 0) {
|
|
836
838
|
return;
|
|
837
839
|
}
|
|
840
|
+
|
|
841
|
+
const component = element.querySelector('devtools-timespan-breakdown-overlay');
|
|
842
|
+
const elementSections = component?.renderedSections() ?? [];
|
|
843
|
+
|
|
838
844
|
// Handle horizontal positioning.
|
|
839
845
|
const leftEdgePixel = this.#xPixelForMicroSeconds('main', overlay.sections[0].bounds.min);
|
|
840
846
|
const rightEdgePixel =
|
|
@@ -847,7 +853,7 @@ export class Overlays extends EventTarget {
|
|
|
847
853
|
element.style.left = `${leftEdgePixel}px`;
|
|
848
854
|
element.style.width = `${rangeWidth}px`;
|
|
849
855
|
|
|
850
|
-
if (
|
|
856
|
+
if (elementSections.length === 0) {
|
|
851
857
|
return;
|
|
852
858
|
}
|
|
853
859
|
|
|
@@ -867,30 +873,38 @@ export class Overlays extends EventTarget {
|
|
|
867
873
|
}
|
|
868
874
|
|
|
869
875
|
// Handle vertical positioning based on the entry's vertical position.
|
|
870
|
-
if (overlay.entry) {
|
|
876
|
+
if (overlay.entry && (overlay.renderLocation === 'BELOW_EVENT' || overlay.renderLocation === 'ABOVE_EVENT')) {
|
|
877
|
+
// Max height for the overlay box when attached to an entry.
|
|
878
|
+
const MAX_BOX_HEIGHT = 50;
|
|
879
|
+
element.style.maxHeight = `${MAX_BOX_HEIGHT}px`;
|
|
880
|
+
|
|
871
881
|
const y = this.yPixelForEventOnChart(overlay.entry);
|
|
872
882
|
if (y === null) {
|
|
873
883
|
return;
|
|
874
884
|
}
|
|
885
|
+
const eventHeight = this.pixelHeightForEventOnChart(overlay.entry);
|
|
886
|
+
if (eventHeight === null) {
|
|
887
|
+
return;
|
|
888
|
+
}
|
|
875
889
|
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
const bottom = y - PADDING;
|
|
890
|
+
if (overlay.renderLocation === 'BELOW_EVENT') {
|
|
891
|
+
const top = y + eventHeight;
|
|
892
|
+
element.style.top = `${top}px`;
|
|
893
|
+
} else {
|
|
894
|
+
// Some padding so the box hovers just on top.
|
|
895
|
+
const PADDING = 7;
|
|
883
896
|
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
// Contrain height to available space.
|
|
887
|
-
const height = Math.min(MAX_BOX_HEIGHT, minSpace);
|
|
897
|
+
// Where the timespan breakdown should sit. Slightly on top of the entry.
|
|
898
|
+
const bottom = y - PADDING;
|
|
888
899
|
|
|
889
|
-
|
|
890
|
-
|
|
900
|
+
// Available space between the bottom of the overlay and top of the chart.
|
|
901
|
+
const minSpace = Math.max(bottom, 0);
|
|
902
|
+
// Contrain height to available space.
|
|
903
|
+
const height = Math.min(MAX_BOX_HEIGHT, minSpace);
|
|
891
904
|
|
|
892
|
-
|
|
893
|
-
|
|
905
|
+
const top = bottom - height;
|
|
906
|
+
element.style.top = `${top}px`;
|
|
907
|
+
}
|
|
894
908
|
}
|
|
895
909
|
}
|
|
896
910
|
|
|
@@ -1037,7 +1051,7 @@ export class Overlays extends EventTarget {
|
|
|
1037
1051
|
}
|
|
1038
1052
|
|
|
1039
1053
|
// The event is off the bottom of the network chart. In this case return the bottom of the network chart.
|
|
1040
|
-
if (y > this.#dimensions.charts.network.heightPixels
|
|
1054
|
+
if (y > this.#dimensions.charts.network.heightPixels) {
|
|
1041
1055
|
return this.#dimensions.charts.network.heightPixels;
|
|
1042
1056
|
}
|
|
1043
1057
|
}
|
|
@@ -1384,6 +1398,7 @@ export class Overlays extends EventTarget {
|
|
|
1384
1398
|
const component = new Components.TimespanBreakdownOverlay.TimespanBreakdownOverlay();
|
|
1385
1399
|
component.sections = overlay.sections;
|
|
1386
1400
|
component.canvasRect = this.#charts.mainChart.canvasBoundingClientRect();
|
|
1401
|
+
component.isBelowEntry = overlay.renderLocation === 'BELOW_EVENT';
|
|
1387
1402
|
div.appendChild(component);
|
|
1388
1403
|
return div;
|
|
1389
1404
|
}
|
|
@@ -1394,20 +1409,21 @@ export class Overlays extends EventTarget {
|
|
|
1394
1409
|
}
|
|
1395
1410
|
|
|
1396
1411
|
/**
|
|
1397
|
-
* Some
|
|
1398
|
-
*
|
|
1412
|
+
* Some overlays store data in their components that needs to be updated
|
|
1413
|
+
* before we position an overlay. Else, we might position an overlay based on
|
|
1414
|
+
* stale data. This method is used to update an overlay BEFORE it is then
|
|
1415
|
+
* positioned onto the canvas. It is the right place to ensure an overlay has
|
|
1416
|
+
* the latest data it needs.
|
|
1399
1417
|
*/
|
|
1400
|
-
#
|
|
1418
|
+
#updateOverlayBeforePositioning(overlay: TimelineOverlay, element: HTMLElement): void {
|
|
1401
1419
|
switch (overlay.type) {
|
|
1402
1420
|
case 'ENTRY_SELECTED':
|
|
1403
|
-
// Nothing to do here.
|
|
1404
1421
|
break;
|
|
1405
1422
|
case 'TIME_RANGE': {
|
|
1406
1423
|
const component = element.querySelector('devtools-time-range-overlay');
|
|
1407
1424
|
if (component) {
|
|
1408
1425
|
component.duration = overlay.showDuration ? overlay.bounds.range : null;
|
|
1409
1426
|
component.canvasRect = this.#charts.mainChart.canvasBoundingClientRect();
|
|
1410
|
-
component.updateLabelPositioning();
|
|
1411
1427
|
}
|
|
1412
1428
|
break;
|
|
1413
1429
|
}
|
|
@@ -1425,12 +1441,44 @@ export class Overlays extends EventTarget {
|
|
|
1425
1441
|
if (component) {
|
|
1426
1442
|
component.sections = overlay.sections;
|
|
1427
1443
|
component.canvasRect = this.#charts.mainChart.canvasBoundingClientRect();
|
|
1428
|
-
component.checkSectionLabelPositioning();
|
|
1429
1444
|
}
|
|
1430
1445
|
break;
|
|
1431
1446
|
}
|
|
1432
1447
|
case 'CURSOR_TIMESTAMP_MARKER':
|
|
1433
|
-
|
|
1448
|
+
break;
|
|
1449
|
+
case 'CANDY_STRIPED_TIME_RANGE':
|
|
1450
|
+
break;
|
|
1451
|
+
default:
|
|
1452
|
+
Platform.TypeScriptUtilities.assertNever(overlay, `Unexpected overlay ${overlay}`);
|
|
1453
|
+
}
|
|
1454
|
+
}
|
|
1455
|
+
/**
|
|
1456
|
+
* Some overlays have custom logic within them to manage visibility of
|
|
1457
|
+
* labels/etc that can be impacted if the positioning or size of the overlay
|
|
1458
|
+
* has changed. This method can be used to run code after an overlay has
|
|
1459
|
+
* been updated + repositioned on the timeline.
|
|
1460
|
+
*/
|
|
1461
|
+
#updateOverlayAfterPositioning(overlay: TimelineOverlay, element: HTMLElement): void {
|
|
1462
|
+
switch (overlay.type) {
|
|
1463
|
+
case 'ENTRY_SELECTED':
|
|
1464
|
+
break;
|
|
1465
|
+
case 'TIME_RANGE': {
|
|
1466
|
+
const component = element.querySelector('devtools-time-range-overlay');
|
|
1467
|
+
component?.updateLabelPositioning();
|
|
1468
|
+
break;
|
|
1469
|
+
}
|
|
1470
|
+
case 'ENTRY_LABEL':
|
|
1471
|
+
break;
|
|
1472
|
+
case 'ENTRY_OUTLINE':
|
|
1473
|
+
break;
|
|
1474
|
+
case 'ENTRIES_LINK':
|
|
1475
|
+
break;
|
|
1476
|
+
case 'TIMESPAN_BREAKDOWN': {
|
|
1477
|
+
const component = element.querySelector('devtools-timespan-breakdown-overlay');
|
|
1478
|
+
component?.checkSectionLabelPositioning();
|
|
1479
|
+
break;
|
|
1480
|
+
}
|
|
1481
|
+
case 'CURSOR_TIMESTAMP_MARKER':
|
|
1434
1482
|
break;
|
|
1435
1483
|
case 'CANDY_STRIPED_TIME_RANGE':
|
|
1436
1484
|
break;
|
|
@@ -1540,7 +1588,7 @@ export class Overlays extends EventTarget {
|
|
|
1540
1588
|
return false;
|
|
1541
1589
|
}
|
|
1542
1590
|
|
|
1543
|
-
if (y > this.#dimensions.charts.network.heightPixels
|
|
1591
|
+
if (y > this.#dimensions.charts.network.heightPixels) {
|
|
1544
1592
|
// The event is off the bottom of the network chart.
|
|
1545
1593
|
return false;
|
|
1546
1594
|
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
|
|
2
1
|
// Copyright 2024 The Chromium Authors. All rights reserved.
|
|
3
2
|
// Use of this source code is governed by a BSD-style license that can be
|
|
4
3
|
// found in the LICENSE file.
|
|
4
|
+
import '../../../../ui/components/icon_button/icon_button.js';
|
|
5
|
+
|
|
5
6
|
import * as i18n from '../../../../core/i18n/i18n.js';
|
|
6
7
|
import * as Trace from '../../../../models/trace/trace.js';
|
|
7
|
-
import * as ComponentHelpers from '../../../../ui/components/helpers/helpers.js';
|
|
8
|
-
import * as IconButton from '../../../../ui/components/icon_button/icon_button.js';
|
|
9
8
|
import * as ThemeSupport from '../../../../ui/legacy/theme_support/theme_support.js';
|
|
10
9
|
import * as LitHtml from '../../../../ui/lit-html/lit-html.js';
|
|
10
|
+
import * as VisualLogging from '../../../../ui/visual_logging/visual_logging.js';
|
|
11
11
|
|
|
12
12
|
const UIStrings = {
|
|
13
13
|
/**
|
|
@@ -20,18 +20,18 @@ const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
|
20
20
|
|
|
21
21
|
import styles from './entriesLinkOverlay.css.js';
|
|
22
22
|
|
|
23
|
+
const {html} = LitHtml;
|
|
24
|
+
|
|
23
25
|
export class EntryLinkStartCreating extends Event {
|
|
24
26
|
static readonly eventName = 'entrylinkstartcreating';
|
|
25
27
|
|
|
26
28
|
constructor() {
|
|
27
|
-
super(EntryLinkStartCreating.eventName);
|
|
29
|
+
super(EntryLinkStartCreating.eventName, {bubbles: true, composed: true});
|
|
28
30
|
}
|
|
29
31
|
}
|
|
30
32
|
|
|
31
33
|
export class EntriesLinkOverlay extends HTMLElement {
|
|
32
|
-
static readonly litTagName = LitHtml.literal`devtools-entries-link-overlay`;
|
|
33
34
|
readonly #shadow = this.attachShadow({mode: 'open'});
|
|
34
|
-
readonly #boundRender = this.#render.bind(this);
|
|
35
35
|
#coordinateFrom: {x: number, y: number};
|
|
36
36
|
#fromEntryDimentions: {width: number, height: number};
|
|
37
37
|
#coordinateTo: {x: number, y: number};
|
|
@@ -84,7 +84,7 @@ export class EntriesLinkOverlay extends HTMLElement {
|
|
|
84
84
|
return;
|
|
85
85
|
}
|
|
86
86
|
this.#canvasRect = rect;
|
|
87
|
-
|
|
87
|
+
this.#render();
|
|
88
88
|
}
|
|
89
89
|
|
|
90
90
|
entryFromWrapper(): HTMLElement|null {
|
|
@@ -160,6 +160,8 @@ export class EntriesLinkOverlay extends HTMLElement {
|
|
|
160
160
|
}
|
|
161
161
|
|
|
162
162
|
if (this.#linkState === Trace.Types.File.EntriesLinkState.CREATION_NOT_STARTED) {
|
|
163
|
+
this.#entryFromConnector.setAttribute('visibility', 'hidden');
|
|
164
|
+
this.#entryToConnector.setAttribute('visibility', 'hidden');
|
|
163
165
|
return;
|
|
164
166
|
}
|
|
165
167
|
|
|
@@ -234,7 +236,6 @@ export class EntriesLinkOverlay extends HTMLElement {
|
|
|
234
236
|
}
|
|
235
237
|
|
|
236
238
|
this.#render();
|
|
237
|
-
void ComponentHelpers.ScheduledRender.scheduleRender(this, this.#boundRender);
|
|
238
239
|
}
|
|
239
240
|
|
|
240
241
|
/*
|
|
@@ -306,7 +307,7 @@ export class EntriesLinkOverlay extends HTMLElement {
|
|
|
306
307
|
const arrowColor = ThemeSupport.ThemeSupport.instance().getComputedValue('--color-text-primary');
|
|
307
308
|
// clang-format off
|
|
308
309
|
LitHtml.render(
|
|
309
|
-
|
|
310
|
+
html`
|
|
310
311
|
<svg class="connectorContainer" width="100%" height="100%" role="region" aria-label=${i18nString(UIStrings.diagram)}>
|
|
311
312
|
<defs>
|
|
312
313
|
<linearGradient
|
|
@@ -357,11 +358,12 @@ export class EntriesLinkOverlay extends HTMLElement {
|
|
|
357
358
|
<div class="entry-wrapper from-highlight-wrapper ${this.#fromEntryIsSource ? '' : 'entry-is-not-source'}"></div>
|
|
358
359
|
<div class="entry-wrapper to-highlight-wrapper ${this.#toEntryIsSource ? '' : 'entry-is-not-source'}"></div>
|
|
359
360
|
<div class="create-link-box ${this.#linkState ? 'visible' : 'hidden'}">
|
|
360
|
-
|
|
361
|
+
<devtools-icon
|
|
361
362
|
class='create-link-icon'
|
|
363
|
+
jslog=${VisualLogging.action('timeline.annotations.create-entry-link').track({click: true})}
|
|
362
364
|
@click=${this.#startCreatingConnection}
|
|
363
365
|
name='arrow-right-circle'>
|
|
364
|
-
|
|
366
|
+
</devtools-icon>
|
|
365
367
|
</div>
|
|
366
368
|
`,
|
|
367
369
|
this.#shadow, {host: this});
|