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
@@ -19,6 +19,7 @@ import type * as TimelineComponents from './components/components.js';
|
|
19
19
|
import {CountersGraph} from './CountersGraph.js';
|
20
20
|
import {SHOULD_SHOW_EASTER_EGG} from './EasterEgg.js';
|
21
21
|
import {ModificationsManager} from './ModificationsManager.js';
|
22
|
+
import * as OverlayComponents from './overlays/components/components.js';
|
22
23
|
import * as Overlays from './overlays/overlays.js';
|
23
24
|
import {targetForEvent} from './TargetForEvent.js';
|
24
25
|
import {TimelineDetailsView} from './TimelineDetailsView.js';
|
@@ -29,10 +30,10 @@ import {
|
|
29
30
|
} from './TimelineFlameChartDataProvider.js';
|
30
31
|
import {TimelineFlameChartNetworkDataProvider} from './TimelineFlameChartNetworkDataProvider.js';
|
31
32
|
import timelineFlameChartViewStyles from './timelineFlameChartView.css.js';
|
32
|
-
import
|
33
|
+
import type {TimelineModeViewDelegate} from './TimelinePanel.js';
|
33
34
|
import {TimelineSelection} from './TimelineSelection.js';
|
34
35
|
import {AggregatedTimelineTreeView} from './TimelineTreeView.js';
|
35
|
-
import
|
36
|
+
import type {TimelineMarkerStyle} from './TimelineUIUtils.js';
|
36
37
|
|
37
38
|
const UIStrings = {
|
38
39
|
/**
|
@@ -96,7 +97,8 @@ export class TimelineFlameChartView extends UI.Widget.VBox implements PerfUI.Fla
|
|
96
97
|
private selectedSearchResult?: PerfUI.FlameChart.DataProviderSearchResult;
|
97
98
|
private searchRegex?: RegExp;
|
98
99
|
#parsedTrace: Trace.Handlers.Types.ParsedTrace|null;
|
99
|
-
#
|
100
|
+
#traceInsightSets: Trace.Insights.Types.TraceInsightSets|null = null;
|
101
|
+
#eventToRelatedInsightsMap: TimelineComponents.RelatedInsightChips.EventToRelatedInsightsMap|null = null;
|
100
102
|
#selectedGroupName: string|null = null;
|
101
103
|
#onTraceBoundsChangeBound = this.#onTraceBoundsChange.bind(this);
|
102
104
|
#gameKeyMatches = 0;
|
@@ -171,7 +173,7 @@ export class TimelineFlameChartView extends UI.Widget.VBox implements PerfUI.Fla
|
|
171
173
|
this.mainFlameChart.addEventListener(PerfUI.FlameChart.Events.LATEST_DRAW_DIMENSIONS, dimensions => {
|
172
174
|
this.#overlays.updateChartDimensions('main', dimensions.data.chart);
|
173
175
|
this.#overlays.updateVisibleWindow(dimensions.data.traceWindow);
|
174
|
-
this.#overlays.update();
|
176
|
+
void this.#overlays.update();
|
175
177
|
});
|
176
178
|
|
177
179
|
this.networkFlameChartGroupExpansionSetting =
|
@@ -188,7 +190,7 @@ export class TimelineFlameChartView extends UI.Widget.VBox implements PerfUI.Fla
|
|
188
190
|
this.networkFlameChart.addEventListener(PerfUI.FlameChart.Events.LATEST_DRAW_DIMENSIONS, dimensions => {
|
189
191
|
this.#overlays.updateChartDimensions('network', dimensions.data.chart);
|
190
192
|
this.#overlays.updateVisibleWindow(dimensions.data.traceWindow);
|
191
|
-
this.#overlays.update();
|
193
|
+
void this.#overlays.update();
|
192
194
|
|
193
195
|
// If the height of the network chart has changed, we need to tell the
|
194
196
|
// main flame chart because its tooltips are positioned based in part on
|
@@ -197,11 +199,11 @@ export class TimelineFlameChartView extends UI.Widget.VBox implements PerfUI.Fla
|
|
197
199
|
});
|
198
200
|
|
199
201
|
this.mainFlameChart.addEventListener(PerfUI.FlameChart.Events.MOUSE_MOVE, event => {
|
200
|
-
this.#processFlameChartMouseMoveEvent(event.data);
|
202
|
+
void this.#processFlameChartMouseMoveEvent(event.data);
|
201
203
|
});
|
202
204
|
|
203
205
|
this.networkFlameChart.addEventListener(PerfUI.FlameChart.Events.MOUSE_MOVE, event => {
|
204
|
-
this.#processFlameChartMouseMoveEvent(event.data);
|
206
|
+
void this.#processFlameChartMouseMoveEvent(event.data);
|
205
207
|
});
|
206
208
|
|
207
209
|
this.#overlays = new Overlays.Overlays.Overlays({
|
@@ -243,6 +245,24 @@ export class TimelineFlameChartView extends UI.Widget.VBox implements PerfUI.Fla
|
|
243
245
|
}
|
244
246
|
});
|
245
247
|
|
248
|
+
this.element.addEventListener(OverlayComponents.EntriesLinkOverlay.EntryLinkStartCreating.eventName, () => {
|
249
|
+
/**
|
250
|
+
* When the user creates an entries link, they click on the arrow icon to
|
251
|
+
* begin creating it. At this point the arrow icon gets deleted. This
|
252
|
+
* causes the focus of the page by default to jump to the entire Timeline
|
253
|
+
* Panel. This is a bit aggressive; and problematic as it means we cannot
|
254
|
+
* use <ESC> to cancel the creation of the entry. So instead we focus the
|
255
|
+
* TimelineFlameChartView instead. This means that the user's <ESC> gets
|
256
|
+
* dealt with in its keydown.
|
257
|
+
* If the user goes ahead and creates the entry, they will end up
|
258
|
+
* focused on whichever target entry they pick, so this only matters for
|
259
|
+
* the case where the user hits <ESC> to cancel.
|
260
|
+
*/
|
261
|
+
this.focus();
|
262
|
+
});
|
263
|
+
|
264
|
+
this.element.setAttribute('jslog', `${VisualLogging.section('timeline.flame-chart-view')}`);
|
265
|
+
|
246
266
|
this.networkPane = new UI.Widget.VBox();
|
247
267
|
this.networkPane.setMinimumSize(23, 23);
|
248
268
|
this.networkFlameChart.show(this.networkPane.element);
|
@@ -324,6 +344,10 @@ export class TimelineFlameChartView extends UI.Widget.VBox implements PerfUI.Fla
|
|
324
344
|
TraceBounds.TraceBounds.onChange(this.#onTraceBoundsChangeBound);
|
325
345
|
}
|
326
346
|
|
347
|
+
containingElement(): HTMLElement {
|
348
|
+
return this.element;
|
349
|
+
}
|
350
|
+
|
327
351
|
setOverlays(overlays: Overlays.Overlays.TimelineOverlay[], options: Overlays.Overlays.TimelineOverlaySetOptions):
|
328
352
|
void {
|
329
353
|
this.bulkRemoveOverlays(this.#currentInsightOverlays);
|
@@ -436,7 +460,7 @@ export class TimelineFlameChartView extends UI.Widget.VBox implements PerfUI.Fla
|
|
436
460
|
}
|
437
461
|
}
|
438
462
|
|
439
|
-
#processFlameChartMouseMoveEvent(data: PerfUI.FlameChart.EventTypes['MouseMove']): void {
|
463
|
+
async #processFlameChartMouseMoveEvent(data: PerfUI.FlameChart.EventTypes['MouseMove']): Promise<void> {
|
440
464
|
const {mouseEvent, timeInMicroSeconds} = data;
|
441
465
|
// If the user is no longer holding shift, remove any existing marker.
|
442
466
|
if (!mouseEvent.shiftKey) {
|
@@ -444,7 +468,7 @@ export class TimelineFlameChartView extends UI.Widget.VBox implements PerfUI.Fla
|
|
444
468
|
if (removedCount > 0) {
|
445
469
|
// Don't trigger lots of updates on a mouse move if we didn't actually
|
446
470
|
// remove any overlays.
|
447
|
-
this.#overlays.update();
|
471
|
+
await this.#overlays.update();
|
448
472
|
}
|
449
473
|
}
|
450
474
|
|
@@ -607,10 +631,14 @@ export class TimelineFlameChartView extends UI.Widget.VBox implements PerfUI.Fla
|
|
607
631
|
|
608
632
|
// `CREATION_NOT_STARTED` is only true in the state when both empty label and button to create connection are
|
609
633
|
// created at the same time. If any key is typed in that state, it means that the label is in focus and the key
|
610
|
-
// is typed into the label.
|
634
|
+
// is typed into the label. This tells us that the user chose to create the
|
635
|
+
// label, not the connection. In that case, delete the connection.
|
611
636
|
if (this.#linkSelectionAnnotation &&
|
612
637
|
this.#linkSelectionAnnotation.state === Trace.Types.File.EntriesLinkState.CREATION_NOT_STARTED) {
|
613
638
|
this.#clearLinkSelectionAnnotation(true);
|
639
|
+
// We have dealt with the keypress as the user is typing into the label, so do not let it propogate up.
|
640
|
+
// This also ensures that if the user uses "Escape" they don't toggle the DevTools drawer.
|
641
|
+
event.stopPropagation();
|
614
642
|
}
|
615
643
|
|
616
644
|
/**
|
@@ -620,6 +648,7 @@ export class TimelineFlameChartView extends UI.Widget.VBox implements PerfUI.Fla
|
|
620
648
|
if (event.key === 'Escape' && this.#linkSelectionAnnotation) {
|
621
649
|
this.#clearLinkSelectionAnnotation(true);
|
622
650
|
event.stopPropagation();
|
651
|
+
event.preventDefault();
|
623
652
|
}
|
624
653
|
|
625
654
|
const eventHandledByKeyboardTimeRange = this.#handleTimeRangeKeyboardCreation(event);
|
@@ -697,7 +726,8 @@ export class TimelineFlameChartView extends UI.Widget.VBox implements PerfUI.Fla
|
|
697
726
|
}
|
698
727
|
|
699
728
|
extensionDataVisibilityChanged(): void {
|
700
|
-
this
|
729
|
+
this.reset();
|
730
|
+
this.setupWindowTimes();
|
701
731
|
this.mainDataProvider.reset(true);
|
702
732
|
this.mainDataProvider.timelineData(true);
|
703
733
|
this.refreshMainFlameChart();
|
@@ -728,9 +758,12 @@ export class TimelineFlameChartView extends UI.Widget.VBox implements PerfUI.Fla
|
|
728
758
|
Trace.Types.Timing.MilliSeconds(endTime),
|
729
759
|
);
|
730
760
|
|
731
|
-
// If the current time range annotation
|
732
|
-
// for it is
|
733
|
-
|
761
|
+
// If the current time range annotation exists, the range selection
|
762
|
+
// for it is in progress and we need to update its bounds.
|
763
|
+
//
|
764
|
+
// When the range selection is finished, the current range is set to null.
|
765
|
+
// If the current selection is null, create a new time range annotations.
|
766
|
+
if (this.#timeRangeSelectionAnnotation) {
|
734
767
|
this.#timeRangeSelectionAnnotation.bounds = bounds;
|
735
768
|
ModificationsManager.activeManager()?.updateAnnotation(this.#timeRangeSelectionAnnotation);
|
736
769
|
} else {
|
@@ -739,6 +772,8 @@ export class TimelineFlameChartView extends UI.Widget.VBox implements PerfUI.Fla
|
|
739
772
|
label: '',
|
740
773
|
bounds,
|
741
774
|
};
|
775
|
+
// Before creating a new range, make sure to delete the empty ranges.
|
776
|
+
ModificationsManager.activeManager()?.deleteEmptyRangeAnnotations();
|
742
777
|
ModificationsManager.activeManager()?.createAnnotation(this.#timeRangeSelectionAnnotation);
|
743
778
|
}
|
744
779
|
}
|
@@ -772,19 +807,27 @@ export class TimelineFlameChartView extends UI.Widget.VBox implements PerfUI.Fla
|
|
772
807
|
this.#selectedEvents = null;
|
773
808
|
this.mainDataProvider.setModel(newParsedTrace, isCpuProfile);
|
774
809
|
this.networkDataProvider.setModel(newParsedTrace);
|
775
|
-
this
|
810
|
+
this.reset();
|
811
|
+
this.setupWindowTimes();
|
776
812
|
this.updateSearchResults(false, false);
|
777
813
|
this.refreshMainFlameChart();
|
778
814
|
this.#updateFlameCharts();
|
779
815
|
}
|
780
816
|
|
781
|
-
setInsights(
|
782
|
-
|
783
|
-
|
817
|
+
setInsights(
|
818
|
+
insights: Trace.Insights.Types.TraceInsightSets|null,
|
819
|
+
eventToRelatedInsightsMap: TimelineComponents.RelatedInsightChips.EventToRelatedInsightsMap): void {
|
820
|
+
if (this.#traceInsightSets === insights) {
|
821
|
+
return;
|
784
822
|
}
|
823
|
+
|
824
|
+
this.#traceInsightSets = insights;
|
825
|
+
this.#eventToRelatedInsightsMap = eventToRelatedInsightsMap;
|
826
|
+
// The DetailsView is provided with the InsightSets, so make sure we update it.
|
827
|
+
this.#updateDetailViews();
|
785
828
|
}
|
786
829
|
|
787
|
-
|
830
|
+
reset(): void {
|
788
831
|
if (this.networkDataProvider.isEmpty()) {
|
789
832
|
this.mainFlameChart.enableRuler(true);
|
790
833
|
this.networkSplitWidget.hideSidebar();
|
@@ -797,7 +840,10 @@ export class TimelineFlameChartView extends UI.Widget.VBox implements PerfUI.Fla
|
|
797
840
|
this.mainFlameChart.reset();
|
798
841
|
this.networkFlameChart.reset();
|
799
842
|
this.updateSearchResults(false, false);
|
843
|
+
}
|
800
844
|
|
845
|
+
// TODO(paulirish): It's possible this is being called more than necessary. Attempt to clean up the lifecycle.
|
846
|
+
setupWindowTimes(): void {
|
801
847
|
const traceBoundsState = TraceBounds.TraceBounds.BoundsManager.instance().state();
|
802
848
|
if (!traceBoundsState) {
|
803
849
|
throw new Error('TimelineFlameChartView could not set the window bounds.');
|
@@ -817,7 +863,12 @@ export class TimelineFlameChartView extends UI.Widget.VBox implements PerfUI.Fla
|
|
817
863
|
|
818
864
|
#updateDetailViews(): void {
|
819
865
|
this.countersView.setModel(this.#parsedTrace, this.#selectedEvents);
|
820
|
-
void this.detailsView.setModel(
|
866
|
+
void this.detailsView.setModel({
|
867
|
+
parsedTrace: this.#parsedTrace,
|
868
|
+
selectedEvents: this.#selectedEvents,
|
869
|
+
traceInsightsSets: this.#traceInsightSets,
|
870
|
+
eventToRelatedInsightsMap: this.#eventToRelatedInsightsMap,
|
871
|
+
});
|
821
872
|
}
|
822
873
|
|
823
874
|
#updateFlameCharts(): void {
|
@@ -935,9 +986,9 @@ export class TimelineFlameChartView extends UI.Widget.VBox implements PerfUI.Fla
|
|
935
986
|
revealEvent(event: Trace.Types.Events.Event): void {
|
936
987
|
const mainIndex = this.mainDataProvider.indexForEvent(event);
|
937
988
|
const networkIndex = this.networkDataProvider.indexForEvent(event);
|
938
|
-
if (mainIndex) {
|
989
|
+
if (mainIndex !== null) {
|
939
990
|
this.mainFlameChart.revealEntry(mainIndex);
|
940
|
-
} else if (networkIndex) {
|
991
|
+
} else if (networkIndex !== null) {
|
941
992
|
this.networkFlameChart.revealEntry(networkIndex);
|
942
993
|
}
|
943
994
|
}
|
@@ -946,9 +997,9 @@ export class TimelineFlameChartView extends UI.Widget.VBox implements PerfUI.Fla
|
|
946
997
|
revealEventVertically(event: Trace.Types.Events.Event): void {
|
947
998
|
const mainIndex = this.mainDataProvider.indexForEvent(event);
|
948
999
|
const networkIndex = this.networkDataProvider.indexForEvent(event);
|
949
|
-
if (mainIndex) {
|
1000
|
+
if (mainIndex !== null) {
|
950
1001
|
this.mainFlameChart.revealEntryVertically(mainIndex);
|
951
|
-
} else if (networkIndex) {
|
1002
|
+
} else if (networkIndex !== null) {
|
952
1003
|
this.networkFlameChart.revealEntryVertically(networkIndex);
|
953
1004
|
}
|
954
1005
|
}
|
@@ -1006,12 +1057,12 @@ export class TimelineFlameChartView extends UI.Widget.VBox implements PerfUI.Fla
|
|
1006
1057
|
for (const overlay of overlays) {
|
1007
1058
|
this.#overlays.add(overlay);
|
1008
1059
|
}
|
1009
|
-
this.#overlays.update();
|
1060
|
+
void this.#overlays.update();
|
1010
1061
|
}
|
1011
1062
|
|
1012
1063
|
addOverlay<T extends Overlays.Overlays.TimelineOverlay>(newOverlay: T): T {
|
1013
1064
|
const overlay = this.#overlays.add(newOverlay);
|
1014
|
-
this.#overlays.update();
|
1065
|
+
void this.#overlays.update();
|
1015
1066
|
return overlay;
|
1016
1067
|
}
|
1017
1068
|
|
@@ -1023,16 +1074,16 @@ export class TimelineFlameChartView extends UI.Widget.VBox implements PerfUI.Fla
|
|
1023
1074
|
for (const overlay of overlays) {
|
1024
1075
|
this.#overlays.remove(overlay);
|
1025
1076
|
}
|
1026
|
-
this.#overlays.update();
|
1077
|
+
void this.#overlays.update();
|
1027
1078
|
}
|
1028
1079
|
removeOverlay(removedOverlay: Overlays.Overlays.TimelineOverlay): void {
|
1029
1080
|
this.#overlays.remove(removedOverlay);
|
1030
|
-
this.#overlays.update();
|
1081
|
+
void this.#overlays.update();
|
1031
1082
|
}
|
1032
1083
|
|
1033
1084
|
updateExistingOverlay<T extends Overlays.Overlays.TimelineOverlay>(existingOverlay: T, newData: Partial<T>): void {
|
1034
1085
|
this.#overlays.updateExisting(existingOverlay, newData);
|
1035
|
-
this.#overlays.update();
|
1086
|
+
void this.#overlays.update();
|
1036
1087
|
}
|
1037
1088
|
|
1038
1089
|
enterLabelEditMode(overlay: Overlays.Overlays.EntryLabel): void {
|
@@ -1350,6 +1401,16 @@ export class TimelineFlameChartView extends UI.Widget.VBox implements PerfUI.Fla
|
|
1350
1401
|
this.searchRegex = searchConfig.toSearchRegex().regex;
|
1351
1402
|
this.updateSearchResults(shouldJump, jumpBackwards);
|
1352
1403
|
}
|
1404
|
+
|
1405
|
+
togglePopover({event, show}: {event: Trace.Types.Events.Event, show: boolean}): void {
|
1406
|
+
const entryIndex = this.mainDataProvider.indexForEvent(event);
|
1407
|
+
if (show && entryIndex) {
|
1408
|
+
this.mainFlameChart.setSelectedEntry(entryIndex);
|
1409
|
+
this.mainFlameChart.showPopoverForSearchResult(entryIndex);
|
1410
|
+
} else {
|
1411
|
+
this.mainFlameChart.hideHighlight();
|
1412
|
+
}
|
1413
|
+
}
|
1353
1414
|
}
|
1354
1415
|
|
1355
1416
|
export class Selection {
|
@@ -19,7 +19,7 @@ import {
|
|
19
19
|
TimelineEventOverviewResponsiveness,
|
20
20
|
} from './TimelineEventOverview.js';
|
21
21
|
import timelineHistoryManagerStyles from './timelineHistoryManager.css.js';
|
22
|
-
import
|
22
|
+
import type {TimelineMiniMap} from './TimelineMiniMap.js';
|
23
23
|
|
24
24
|
/**
|
25
25
|
* The dropdown works by returning an index which is the trace index; but we
|
@@ -389,6 +389,7 @@ export class TimelineHistoryManager {
|
|
389
389
|
const titleWithSequenceNumber = i18nString(UIStrings.sD, {PH1: domain, PH2: sequenceNumber});
|
390
390
|
this.nextNumberByDomain.set(domain, sequenceNumber + 1);
|
391
391
|
const timeElement = document.createElement('span');
|
392
|
+
timeElement.classList.add('time');
|
392
393
|
|
393
394
|
const preview = document.createElement('div');
|
394
395
|
preview.classList.add('preview-item');
|
@@ -438,6 +439,7 @@ export class TimelineHistoryManager {
|
|
438
439
|
if (!lastFrame) {
|
439
440
|
return container;
|
440
441
|
}
|
442
|
+
// TODO(paulirish): Adopt Util.ImageCache
|
441
443
|
void UI.UIUtils.loadImage(lastFrame.screenshotEvent.args.dataUri).then(img => {
|
442
444
|
if (img) {
|
443
445
|
container.appendChild(img);
|
@@ -11,7 +11,7 @@ import * as Bindings from '../../models/bindings/bindings.js';
|
|
11
11
|
import * as TimelineModel from '../../models/timeline_model/timeline_model.js';
|
12
12
|
import * as Trace from '../../models/trace/trace.js';
|
13
13
|
|
14
|
-
import
|
14
|
+
import type {Client} from './TimelineController.js';
|
15
15
|
|
16
16
|
const UIStrings = {
|
17
17
|
/**
|
@@ -177,10 +177,6 @@ const UIStrings = {
|
|
177
177
|
*@description Text in Timeline Panel of the Performance panel
|
178
178
|
*/
|
179
179
|
NetworkThrottlingIsEnabled: '- Network throttling is enabled',
|
180
|
-
/**
|
181
|
-
*@description Text in Timeline Panel of the Performance panel
|
182
|
-
*/
|
183
|
-
HardwareConcurrencyIsEnabled: '- Hardware concurrency override is enabled',
|
184
180
|
/**
|
185
181
|
*@description Text in Timeline Panel of the Performance panel
|
186
182
|
*/
|
@@ -434,6 +430,8 @@ export class TimelinePanel extends UI.Panel.Panel implements Client, TimelineMod
|
|
434
430
|
*/
|
435
431
|
#pendingAriaMessage: string|null = null;
|
436
432
|
|
433
|
+
#eventToRelatedInsights: TimelineComponents.RelatedInsightChips.EventToRelatedInsightsMap = new Map();
|
434
|
+
|
437
435
|
constructor() {
|
438
436
|
super('timeline');
|
439
437
|
const adornerContent = document.createElement('span');
|
@@ -453,12 +451,8 @@ export class TimelinePanel extends UI.Panel.Panel implements Client, TimelineMod
|
|
453
451
|
this.brickBreakerToolbarButton = new UI.Toolbar.ToolbarButton(i18nString(UIStrings.fixMe), adorner);
|
454
452
|
this.brickBreakerToolbarButton.addEventListener(
|
455
453
|
UI.Toolbar.ToolbarButton.Events.CLICK, () => this.#onBrickBreakerEasterEggClick());
|
456
|
-
const config = Trace.Types.Configuration.defaults();
|
457
|
-
config.showAllEvents = Root.Runtime.experiments.isEnabled('timeline-show-all-events');
|
458
|
-
config.includeRuntimeCallStats = Root.Runtime.experiments.isEnabled('timeline-v8-runtime-call-stats');
|
459
|
-
config.debugMode = Root.Runtime.experiments.isEnabled(Root.Runtime.ExperimentName.TIMELINE_DEBUG_MODE);
|
460
454
|
|
461
|
-
this.#traceEngineModel =
|
455
|
+
this.#traceEngineModel = this.#instantiateNewModel();
|
462
456
|
this.#listenForProcessingProgress();
|
463
457
|
|
464
458
|
this.element.addEventListener('contextmenu', this.contextMenu.bind(this), false);
|
@@ -524,6 +518,8 @@ export class TimelinePanel extends UI.Panel.Panel implements Client, TimelineMod
|
|
524
518
|
|
525
519
|
this.flameChart = new TimelineFlameChartView(this);
|
526
520
|
this.#onChartPlayableStateChangeBound = this.#onChartPlayableStateChange.bind(this);
|
521
|
+
this.element.addEventListener(
|
522
|
+
'toggle-popover', event => this.flameChart.togglePopover((event as CustomEvent).detail));
|
527
523
|
|
528
524
|
this.flameChart.getMainFlameChart().addEventListener(
|
529
525
|
PerfUI.FlameChart.Events.CHART_PLAYABLE_STATE_CHANGED, this.#onChartPlayableStateChangeBound, this);
|
@@ -545,6 +541,9 @@ export class TimelinePanel extends UI.Panel.Panel implements Client, TimelineMod
|
|
545
541
|
this.#setActiveInsight(null);
|
546
542
|
});
|
547
543
|
|
544
|
+
// TODO(crbug.com/372946179): when clicking on an insight chip, this event never fires if the insight tab
|
545
|
+
// is not on the DOM. That only happens when the sidebar tabbed pane component is set to Annotations.
|
546
|
+
// In that case, clicking on the insight chip will do nothing.
|
548
547
|
this.#sideBar.element.addEventListener(TimelineInsights.SidebarInsight.InsightActivated.eventName, event => {
|
549
548
|
const {name, insightSetKey, overlays} = event;
|
550
549
|
this.#setActiveInsight({name, insightSetKey, overlays});
|
@@ -563,9 +562,26 @@ export class TimelinePanel extends UI.Panel.Panel implements Client, TimelineMod
|
|
563
562
|
}
|
564
563
|
});
|
565
564
|
|
566
|
-
this.#sideBar.
|
567
|
-
|
568
|
-
|
565
|
+
this.#sideBar.element.addEventListener(
|
566
|
+
TimelineInsights.SidebarInsight.InsightProvideRelatedEvents.eventName, event => {
|
567
|
+
const relatedInsight = {
|
568
|
+
insightLabel: event.label,
|
569
|
+
activateInsight: event.activateInsight,
|
570
|
+
};
|
571
|
+
for (const traceEvent of event.events) {
|
572
|
+
const relatedInsights = this.#eventToRelatedInsights.get(traceEvent) ?? [];
|
573
|
+
relatedInsights.push(relatedInsight);
|
574
|
+
this.#eventToRelatedInsights.set(traceEvent, relatedInsights);
|
575
|
+
}
|
576
|
+
});
|
577
|
+
|
578
|
+
this.flameChart.element.addEventListener(TimelineInsights.EventRef.EventReferenceClick.eventName, event => {
|
579
|
+
const fromTraceEvent = TimelineSelection.fromTraceEvent(event.event);
|
580
|
+
this.flameChart.setSelectionAndReveal(fromTraceEvent);
|
581
|
+
});
|
582
|
+
|
583
|
+
this.#sideBar.contentElement.addEventListener(TimelineInsights.EventRef.EventReferenceClick.eventName, event => {
|
584
|
+
this.select(TimelineSelection.fromTraceEvent(event.event));
|
569
585
|
});
|
570
586
|
|
571
587
|
this.#sideBar.element.addEventListener(TimelineComponents.Sidebar.RemoveAnnotation.eventName, event => {
|
@@ -624,6 +640,9 @@ export class TimelinePanel extends UI.Panel.Panel implements Client, TimelineMod
|
|
624
640
|
}
|
625
641
|
|
626
642
|
#setActiveInsight(insight: TimelineComponents.Sidebar.ActiveInsight|null): void {
|
643
|
+
if (insight && this.#panelSidebarEnabled()) {
|
644
|
+
this.#splitWidget.showBoth();
|
645
|
+
}
|
627
646
|
this.#sideBar.setActiveInsight(insight);
|
628
647
|
this.flameChart.setActiveInsight(insight);
|
629
648
|
}
|
@@ -642,6 +661,15 @@ export class TimelinePanel extends UI.Panel.Panel implements Client, TimelineMod
|
|
642
661
|
return timelinePanelInstance;
|
643
662
|
}
|
644
663
|
|
664
|
+
#instantiateNewModel(): Trace.TraceModel.Model {
|
665
|
+
const config = Trace.Types.Configuration.defaults();
|
666
|
+
config.showAllEvents = Root.Runtime.experiments.isEnabled('timeline-show-all-events');
|
667
|
+
config.includeRuntimeCallStats = Root.Runtime.experiments.isEnabled('timeline-v8-runtime-call-stats');
|
668
|
+
config.debugMode = Root.Runtime.experiments.isEnabled(Root.Runtime.ExperimentName.TIMELINE_DEBUG_MODE);
|
669
|
+
|
670
|
+
return Trace.TraceModel.Model.createWithAllHandlers(config);
|
671
|
+
}
|
672
|
+
|
645
673
|
static extensionDataVisibilitySetting(): Common.Settings.Setting<boolean> {
|
646
674
|
// Calling this multiple times doesn't recreate the setting.
|
647
675
|
// Instead, after the second call, the cached setting is returned.
|
@@ -1019,8 +1047,6 @@ export class TimelinePanel extends UI.Panel.Panel implements Client, TimelineMod
|
|
1019
1047
|
this);
|
1020
1048
|
SDK.CPUThrottlingManager.CPUThrottlingManager.instance().addEventListener(
|
1021
1049
|
SDK.CPUThrottlingManager.Events.RATE_CHANGED, this.updateShowSettingsToolbarButton, this);
|
1022
|
-
SDK.CPUThrottlingManager.CPUThrottlingManager.instance().addEventListener(
|
1023
|
-
SDK.CPUThrottlingManager.Events.HARDWARE_CONCURRENCY_CHANGED, this.updateShowSettingsToolbarButton, this);
|
1024
1050
|
this.disableCaptureJSProfileSetting.addChangeListener(this.updateShowSettingsToolbarButton, this);
|
1025
1051
|
this.captureLayersAndPicturesSetting.addChangeListener(this.updateShowSettingsToolbarButton, this);
|
1026
1052
|
this.captureSelectorStatsSetting.addChangeListener(this.updateShowSettingsToolbarButton, this);
|
@@ -1055,26 +1081,11 @@ export class TimelinePanel extends UI.Panel.Panel implements Client, TimelineMod
|
|
1055
1081
|
this.networkThrottlingSelect = this.createNetworkConditionsSelect();
|
1056
1082
|
networkThrottlingToolbar.appendToolbarItem(this.networkThrottlingSelect);
|
1057
1083
|
|
1058
|
-
const
|
1059
|
-
hardwareConcurrencyPane.element.classList.add('flex-auto');
|
1060
|
-
hardwareConcurrencyPane.show(this.settingsPane.element);
|
1061
|
-
|
1062
|
-
const thirdPartyToolbar = new UI.Toolbar.Toolbar('', this.settingsPane.element);
|
1063
|
-
thirdPartyToolbar.element.classList.add('flex-auto');
|
1084
|
+
const thirdPartyToolbar = new UI.Toolbar.Toolbar('', throttlingPane.element);
|
1064
1085
|
thirdPartyToolbar.makeVertical();
|
1065
1086
|
thirdPartyToolbar.appendToolbarItem(
|
1066
1087
|
this.createSettingCheckbox(this.#thirdPartyTracksSetting, i18nString(UIStrings.showDataAddedByExtensions)));
|
1067
1088
|
|
1068
|
-
const {toggle, input, reset, warning} =
|
1069
|
-
MobileThrottling.ThrottlingManager.throttlingManager().createHardwareConcurrencySelector();
|
1070
|
-
const concurrencyThrottlingToolbar = new UI.Toolbar.Toolbar('', hardwareConcurrencyPane.element);
|
1071
|
-
concurrencyThrottlingToolbar.registerCSSFiles([timelinePanelStyles]);
|
1072
|
-
input.element.classList.add('timeline-concurrency-input');
|
1073
|
-
concurrencyThrottlingToolbar.appendToolbarItem(toggle);
|
1074
|
-
concurrencyThrottlingToolbar.appendToolbarItem(input);
|
1075
|
-
concurrencyThrottlingToolbar.appendToolbarItem(reset);
|
1076
|
-
concurrencyThrottlingToolbar.appendToolbarItem(warning);
|
1077
|
-
|
1078
1089
|
this.showSettingsPaneSetting.addChangeListener(this.updateSettingsPaneVisibility.bind(this));
|
1079
1090
|
this.updateSettingsPaneVisibility();
|
1080
1091
|
}
|
@@ -1297,9 +1308,6 @@ export class TimelinePanel extends UI.Panel.Panel implements Client, TimelineMod
|
|
1297
1308
|
if (SDK.CPUThrottlingManager.CPUThrottlingManager.instance().cpuThrottlingRate() !== 1) {
|
1298
1309
|
messages.push(i18nString(UIStrings.CpuThrottlingIsEnabled));
|
1299
1310
|
}
|
1300
|
-
if (MobileThrottling.ThrottlingManager.throttlingManager().hardwareConcurrencyOverrideEnabled) {
|
1301
|
-
messages.push(i18nString(UIStrings.HardwareConcurrencyIsEnabled));
|
1302
|
-
}
|
1303
1311
|
if (SDK.NetworkManager.MultitargetNetworkManager.instance().isThrottling()) {
|
1304
1312
|
messages.push(i18nString(UIStrings.NetworkThrottlingIsEnabled));
|
1305
1313
|
}
|
@@ -1598,6 +1606,11 @@ export class TimelinePanel extends UI.Panel.Panel implements Client, TimelineMod
|
|
1598
1606
|
|
1599
1607
|
private onClearButton(): void {
|
1600
1608
|
this.#historyManager.clear();
|
1609
|
+
this.#traceEngineModel = this.#instantiateNewModel();
|
1610
|
+
ModificationsManager.reset();
|
1611
|
+
this.#uninstallSourceMapsResolver();
|
1612
|
+
this.flameChart.getMainDataProvider().reset(true);
|
1613
|
+
this.flameChart.reset();
|
1601
1614
|
this.#changeView({mode: 'LANDING_PAGE'});
|
1602
1615
|
}
|
1603
1616
|
|
@@ -1793,11 +1806,10 @@ export class TimelinePanel extends UI.Panel.Panel implements Client, TimelineMod
|
|
1793
1806
|
|
1794
1807
|
this.#setActiveInsight(null);
|
1795
1808
|
|
1809
|
+
this.#eventToRelatedInsights.clear();
|
1796
1810
|
const traceInsightsSets = this.#traceEngineModel.traceInsights(traceIndex);
|
1797
|
-
|
1798
|
-
|
1799
|
-
this.#sideBar.setInsights(traceInsightsSets);
|
1800
|
-
}
|
1811
|
+
this.flameChart.setInsights(traceInsightsSets, this.#eventToRelatedInsights);
|
1812
|
+
this.#sideBar.setInsights(traceInsightsSets);
|
1801
1813
|
|
1802
1814
|
this.#showSidebarIfRequired();
|
1803
1815
|
}
|
@@ -2,17 +2,21 @@
|
|
2
2
|
// Use of this source code is governed by a BSD-style license that can be
|
3
3
|
// found in the LICENSE file.
|
4
4
|
|
5
|
+
import '../../ui/components/linkifier/linkifier.js';
|
6
|
+
|
5
7
|
import * as i18n from '../../core/i18n/i18n.js';
|
6
8
|
import type * as Platform from '../../core/platform/platform.js';
|
7
9
|
import * as SDK from '../../core/sdk/sdk.js';
|
8
10
|
import type * as Protocol from '../../generated/protocol.js';
|
9
11
|
import * as Trace from '../../models/trace/trace.js';
|
10
12
|
import * as DataGrid from '../../ui/components/data_grid/data_grid.js';
|
11
|
-
import * as Linkifier from '../../ui/components/linkifier/linkifier.js';
|
13
|
+
import type * as Linkifier from '../../ui/components/linkifier/linkifier.js';
|
12
14
|
import * as UI from '../../ui/legacy/legacy.js';
|
13
15
|
import * as LitHtml from '../../ui/lit-html/lit-html.js';
|
14
16
|
import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
|
15
17
|
|
18
|
+
const {html} = LitHtml;
|
19
|
+
|
16
20
|
const UIStrings = {
|
17
21
|
/**
|
18
22
|
*@description Label for selector stats data table
|
@@ -30,7 +34,7 @@ const UIStrings = {
|
|
30
34
|
*@description Tooltip description '% of slow-path non-matches'
|
31
35
|
*/
|
32
36
|
rejectPercentageExplanation:
|
33
|
-
'The percentage of non-matching nodes (Match Attempts - Match Count) that couldn\'t be quickly ruled out by the bloom filter. Lower is better.',
|
37
|
+
'The percentage of non-matching nodes (Match Attempts - Match Count) that couldn\'t be quickly ruled out by the bloom filter due to high selector complexity. Lower is better.',
|
34
38
|
/**
|
35
39
|
*@description Column name for count of elements that the engine attempted to match against a style rule
|
36
40
|
*/
|
@@ -148,7 +152,7 @@ export class TimelineSelectorStatsView extends UI.Widget.VBox {
|
|
148
152
|
{
|
149
153
|
id: SelectorTimingsKey.RejectPercentage as Lowercase<string>,
|
150
154
|
title: i18nString(UIStrings.rejectPercentage),
|
151
|
-
titleElement:
|
155
|
+
titleElement: html`<span title=${i18nString(UIStrings.rejectPercentageExplanation)}>${
|
152
156
|
i18nString(UIStrings.rejectPercentage)}</span>`,
|
153
157
|
sortable: true,
|
154
158
|
widthWeighting: 1,
|
@@ -388,7 +392,7 @@ export class TimelineSelectorStatsView extends UI.Widget.VBox {
|
|
388
392
|
columnId: SelectorTimingsKey.Elapsed,
|
389
393
|
value: elapsedTimeInMs,
|
390
394
|
renderer(): LitHtml.TemplateResult {
|
391
|
-
return
|
395
|
+
return html`${elapsedTimeInMs.toFixed(3)}`;
|
392
396
|
},
|
393
397
|
},
|
394
398
|
{columnId: SelectorTimingsKey.MatchAttempts, value: x[SelectorTimingsKey.MatchAttempts]},
|
@@ -397,7 +401,7 @@ export class TimelineSelectorStatsView extends UI.Widget.VBox {
|
|
397
401
|
columnId: SelectorTimingsKey.RejectPercentage,
|
398
402
|
value: rejectPercentage,
|
399
403
|
renderer(): LitHtml.TemplateResult {
|
400
|
-
return
|
404
|
+
return html`${rejectPercentage.toFixed(1)}`;
|
401
405
|
},
|
402
406
|
},
|
403
407
|
{
|
@@ -410,25 +414,25 @@ export class TimelineSelectorStatsView extends UI.Widget.VBox {
|
|
410
414
|
value: x[SelectorTimingsKey.StyleSheetId],
|
411
415
|
renderer(): LitHtml.TemplateResult {
|
412
416
|
if (locations === null) {
|
413
|
-
return
|
417
|
+
return html`<span></span>`;
|
414
418
|
}
|
415
419
|
if (locations === undefined) {
|
416
|
-
return
|
420
|
+
return html`<span title=${i18nString(UIStrings.unableToLinkViaStyleSheetId, {
|
417
421
|
PH1: x[SelectorTimingsKey.StyleSheetId],
|
418
422
|
})} aria-label=${i18nString(UIStrings.unableToLinkViaStyleSheetId, {
|
419
423
|
PH1: x[SelectorTimingsKey.StyleSheetId],
|
420
424
|
})}>${i18nString(UIStrings.unableToLink)}</span>`;
|
421
425
|
}
|
422
|
-
return
|
426
|
+
return html`
|
423
427
|
${locations.map((location, itemIndex) => {
|
424
428
|
if (itemIndex !== locations.length - 1) {
|
425
429
|
// eslint-disable-next-line rulesdir/ban_a_tags_in_lit_html
|
426
|
-
return
|
427
|
-
location as Linkifier.Linkifier.LinkifierData}
|
430
|
+
return html`<devtools-linkifier .data=${
|
431
|
+
location as Linkifier.Linkifier.LinkifierData}></devtools-linkifier>
|
428
432
|
<a>, </a>`;
|
429
433
|
}
|
430
|
-
return
|
431
|
-
location as Linkifier.Linkifier.LinkifierData}
|
434
|
+
return html`<devtools-linkifier .data=${
|
435
|
+
location as Linkifier.Linkifier.LinkifierData}></devtools-linkifier>`;
|
432
436
|
})}
|
433
437
|
`;
|
434
438
|
},
|
@@ -160,15 +160,15 @@ describeWithEnvironment('TimelineTreeView', function() {
|
|
160
160
|
const tree = callTreeView.buildTree();
|
161
161
|
const treeEntries = tree.children().entries();
|
162
162
|
const groupEntry = treeEntries.next();
|
163
|
-
const nodeName = groupEntry.value[0];
|
164
|
-
const node = groupEntry.value[1];
|
163
|
+
const nodeName = groupEntry.value![0];
|
164
|
+
const node = groupEntry.value![1];
|
165
165
|
assert.strictEqual(nodeName, 'scripting');
|
166
166
|
assert.strictEqual(callTreeView.displayInfoForGroupNode(node).color, 'rgb(250 204 21 / 100%)');
|
167
167
|
|
168
168
|
assert.isTrue(node.isGroupNode());
|
169
169
|
const children = node.children().values();
|
170
|
-
assert.strictEqual(children.next().value
|
171
|
-
assert.strictEqual(children.next().value
|
170
|
+
assert.strictEqual(children.next().value!.event!.name, 'first console time');
|
171
|
+
assert.strictEqual(children.next().value!.event!.name, 'third console time');
|
172
172
|
});
|
173
173
|
it('groups events by category in the Bottom up Tree view', async function() {
|
174
174
|
const {parsedTrace} = await TraceLoader.traceEngine(this, 'sync-like-timings.json.gz');
|
@@ -182,16 +182,16 @@ describeWithEnvironment('TimelineTreeView', function() {
|
|
182
182
|
const tree = callTreeView.buildTree();
|
183
183
|
const treeEntries = tree.children().entries();
|
184
184
|
const groupEntry = treeEntries.next();
|
185
|
-
const nodeName = groupEntry.value[0];
|
186
|
-
const node = groupEntry.value[1];
|
185
|
+
const nodeName = groupEntry.value![0];
|
186
|
+
const node = groupEntry.value![1];
|
187
187
|
assert.strictEqual(nodeName, 'scripting');
|
188
188
|
assert.strictEqual(callTreeView.displayInfoForGroupNode(node).color, 'rgb(250 204 21 / 100%)');
|
189
189
|
|
190
190
|
assert.isTrue(node.isGroupNode());
|
191
191
|
const children = node.children().values();
|
192
|
-
assert.strictEqual(children.next().value
|
193
|
-
assert.strictEqual(children.next().value
|
194
|
-
assert.strictEqual(children.next().value
|
192
|
+
assert.strictEqual(children.next().value!.event!.name, 'second console time');
|
193
|
+
assert.strictEqual(children.next().value!.event!.name, 'first console time');
|
194
|
+
assert.strictEqual(children.next().value!.event!.name, 'third console time');
|
195
195
|
});
|
196
196
|
|
197
197
|
it('can group entries by domain', async function() {
|
@@ -20,7 +20,7 @@ import * as Extensions from './extensions/extensions.js';
|
|
20
20
|
import {Tracker} from './FreshRecording.js';
|
21
21
|
import {targetForEvent} from './TargetForEvent.js';
|
22
22
|
import {TimelineRegExp} from './TimelineFilters.js';
|
23
|
-
import
|
23
|
+
import type {TimelineSelection} from './TimelineSelection.js';
|
24
24
|
import {TimelineUIUtils} from './TimelineUIUtils.js';
|
25
25
|
|
26
26
|
const UIStrings = {
|