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
@@ -2,7 +2,7 @@
|
|
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
|
5
|
+
import type {INPAttribution, MetricType} from '../../../../third_party/web-vitals/web-vitals.js';
|
6
6
|
|
7
7
|
export const EVENT_BINDING_NAME = '__chromium_devtools_metrics_reporter';
|
8
8
|
export const INTERNAL_KILL_SWITCH = '__chromium_devtools_kill_live_metrics';
|
@@ -35,7 +35,7 @@ import * as UI from '../../ui/legacy/legacy.js';
|
|
35
35
|
|
36
36
|
import editFileSystemViewStyles from './editFileSystemView.css.js';
|
37
37
|
import {Events, IsolatedFileSystemManager} from './IsolatedFileSystemManager.js';
|
38
|
-
import
|
38
|
+
import type {PlatformFileSystem} from './PlatformFileSystem.js';
|
39
39
|
|
40
40
|
const UIStrings = {
|
41
41
|
/**
|
@@ -34,10 +34,9 @@ import * as Platform from '../../core/platform/platform.js';
|
|
34
34
|
import * as TextUtils from '../text_utils/text_utils.js';
|
35
35
|
import * as Workspace from '../workspace/workspace.js';
|
36
36
|
|
37
|
-
import
|
38
|
-
|
37
|
+
import type {IsolatedFileSystem} from './IsolatedFileSystem.js';
|
39
38
|
import {Events, type IsolatedFileSystemManager} from './IsolatedFileSystemManager.js';
|
40
|
-
import
|
39
|
+
import type {PlatformFileSystem} from './PlatformFileSystem.js';
|
41
40
|
|
42
41
|
export class FileSystemWorkspaceBinding {
|
43
42
|
readonly isolatedFileSystemManager: IsolatedFileSystemManager;
|
@@ -32,11 +32,10 @@ import * as Common from '../../core/common/common.js';
|
|
32
32
|
import * as Host from '../../core/host/host.js';
|
33
33
|
import * as i18n from '../../core/i18n/i18n.js';
|
34
34
|
import * as Platform from '../../core/platform/platform.js';
|
35
|
-
import {type FilesChangedData} from './FileSystemWorkspaceBinding.js';
|
36
35
|
|
36
|
+
import type {FilesChangedData} from './FileSystemWorkspaceBinding.js';
|
37
37
|
import {IsolatedFileSystem} from './IsolatedFileSystem.js';
|
38
|
-
|
39
|
-
import {type PlatformFileSystem} from './PlatformFileSystem.js';
|
38
|
+
import type {PlatformFileSystem} from './PlatformFileSystem.js';
|
40
39
|
|
41
40
|
const UIStrings = {
|
42
41
|
/**
|
@@ -8,11 +8,11 @@ import * as UI from '../../ui/legacy/legacy.js';
|
|
8
8
|
import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
|
9
9
|
|
10
10
|
import {EditFileSystemView} from './EditFileSystemView.js';
|
11
|
-
import
|
11
|
+
import type {FileSystem} from './FileSystemWorkspaceBinding.js';
|
12
12
|
import {IsolatedFileSystem} from './IsolatedFileSystem.js';
|
13
13
|
import {Events, IsolatedFileSystemManager} from './IsolatedFileSystemManager.js';
|
14
14
|
import {NetworkPersistenceManager} from './NetworkPersistenceManager.js';
|
15
|
-
import
|
15
|
+
import type {PlatformFileSystem} from './PlatformFileSystem.js';
|
16
16
|
import workspaceSettingsTabStyles from './workspaceSettingsTab.css.js';
|
17
17
|
|
18
18
|
const UIStrings = {
|
@@ -31,9 +31,9 @@
|
|
31
31
|
import type * as Common from '../../core/common/common.js';
|
32
32
|
import type * as Platform from '../../core/platform/platform.js';
|
33
33
|
|
34
|
-
import
|
35
|
-
import
|
36
|
-
import
|
34
|
+
import type {ContentDataOrError} from './ContentData.js';
|
35
|
+
import type {StreamingContentDataOrError} from './StreamingContentData.js';
|
36
|
+
import type {WasmDisassembly} from './WasmDisassembly.js';
|
37
37
|
|
38
38
|
export interface ContentProvider {
|
39
39
|
contentURL(): Platform.DevToolsPath.UrlString;
|
@@ -6,11 +6,7 @@ import type * as Common from '../../core/common/common.js';
|
|
6
6
|
import type * as Platform from '../../core/platform/platform.js';
|
7
7
|
|
8
8
|
import {ContentData, type ContentDataOrError} from './ContentData.js';
|
9
|
-
import {
|
10
|
-
type ContentProvider,
|
11
|
-
type DeferredContent,
|
12
|
-
type SearchMatch,
|
13
|
-
} from './ContentProvider.js';
|
9
|
+
import type {ContentProvider, DeferredContent, SearchMatch} from './ContentProvider.js';
|
14
10
|
import {performSearchInContentData} from './TextUtils.js';
|
15
11
|
|
16
12
|
export class StaticContentProvider implements ContentProvider {
|
@@ -32,7 +32,7 @@ import * as Platform from '../../core/platform/platform.js';
|
|
32
32
|
|
33
33
|
import {ContentData, type ContentDataOrError} from './ContentData.js';
|
34
34
|
import {SearchMatch} from './ContentProvider.js';
|
35
|
-
import
|
35
|
+
import type {Text} from './Text.js';
|
36
36
|
|
37
37
|
const KEY_VALUE_FILTER_REGEXP = /(?:^|\s)(\-)?([\w\-]+):([^\s]+)/;
|
38
38
|
const REGEXP_FILTER_REGEXP = /(?:^|\s)(\-)?\/([^\/\\]+(\\.[^\/]*)*)\//;
|
@@ -5,7 +5,7 @@
|
|
5
5
|
import * as Platform from '../../core/platform/platform.js';
|
6
6
|
|
7
7
|
import {ContentData} from './ContentData.js';
|
8
|
-
import
|
8
|
+
import type {DeferredContent} from './ContentProvider.js';
|
9
9
|
|
10
10
|
interface FunctionBodyOffset {
|
11
11
|
start: number;
|
@@ -35,9 +35,9 @@ describeWithEnvironment('TimelineProfileTree', () => {
|
|
35
35
|
assert.strictEqual(children.size, 3);
|
36
36
|
|
37
37
|
const nodesIterator = children.values();
|
38
|
-
assert.strictEqual(nodesIterator.next().value
|
39
|
-
assert.strictEqual(nodesIterator.next().value
|
40
|
-
assert.strictEqual(nodesIterator.next().value
|
38
|
+
assert.strictEqual(nodesIterator.next().value!.event, eventA);
|
39
|
+
assert.strictEqual(nodesIterator.next().value!.event, eventB);
|
40
|
+
assert.strictEqual(nodesIterator.next().value!.event, eventC);
|
41
41
|
});
|
42
42
|
|
43
43
|
it('builds a top-down tree from an event tree with multiple levels 1', () => {
|
@@ -65,14 +65,14 @@ describeWithEnvironment('TimelineProfileTree', () => {
|
|
65
65
|
const rootChildIterator = rootChildren.values();
|
66
66
|
const nodeA = rootChildIterator.next().value as TimelineModel.TimelineProfileTree.TopDownNode;
|
67
67
|
assert.strictEqual(nodeA.event, eventA);
|
68
|
-
assert.strictEqual(rootChildIterator.next().value
|
68
|
+
assert.strictEqual(rootChildIterator.next().value!.event, eventB);
|
69
69
|
|
70
70
|
const nodeAChildren = nodeA.children();
|
71
71
|
assert.strictEqual(nodeAChildren.size, 2);
|
72
72
|
|
73
73
|
const nodeAChildIterator = nodeAChildren.values();
|
74
|
-
assert.strictEqual(nodeAChildIterator.next().value
|
75
|
-
assert.strictEqual(nodeAChildIterator.next().value
|
74
|
+
assert.strictEqual(nodeAChildIterator.next().value!.event, eventC);
|
75
|
+
assert.strictEqual(nodeAChildIterator.next().value!.event, eventD);
|
76
76
|
});
|
77
77
|
|
78
78
|
it('builds a top-down tree from an event tree with multiple levels 2', () => {
|
@@ -98,7 +98,7 @@ describeWithEnvironment('TimelineProfileTree', () => {
|
|
98
98
|
assert.strictEqual(rootChildren.size, 2);
|
99
99
|
|
100
100
|
const rootChildIterator = rootChildren.values();
|
101
|
-
assert.strictEqual(rootChildIterator.next().value
|
101
|
+
assert.strictEqual(rootChildIterator.next().value!.event, eventA);
|
102
102
|
const nodeB = rootChildIterator.next().value as TimelineModel.TimelineProfileTree.TopDownNode;
|
103
103
|
assert.strictEqual(nodeB.event, eventB);
|
104
104
|
|
@@ -106,8 +106,8 @@ describeWithEnvironment('TimelineProfileTree', () => {
|
|
106
106
|
assert.strictEqual(nodeBChildren.size, 2);
|
107
107
|
|
108
108
|
const nodeBChildIterator = nodeBChildren.values();
|
109
|
-
assert.strictEqual(nodeBChildIterator.next().value
|
110
|
-
assert.strictEqual(nodeBChildIterator.next().value
|
109
|
+
assert.strictEqual(nodeBChildIterator.next().value!.event, eventC);
|
110
|
+
assert.strictEqual(nodeBChildIterator.next().value!.event, eventD);
|
111
111
|
});
|
112
112
|
|
113
113
|
it('calculates the self time for each node in an event tree correctly', () => {
|
@@ -137,7 +137,7 @@ describeWithEnvironment('TimelineProfileTree', () => {
|
|
137
137
|
|
138
138
|
const rootChildIterator = rootChildren.values();
|
139
139
|
assert.strictEqual(
|
140
|
-
rootChildIterator.next().value
|
140
|
+
rootChildIterator.next().value!.selfTime, Trace.Helpers.Timing.microSecondsToMilliseconds(eventA.dur));
|
141
141
|
|
142
142
|
const nodeB = rootChildIterator.next().value as TimelineModel.TimelineProfileTree.TopDownNode;
|
143
143
|
const nodeBSelfTime = Trace.Types.Timing.MicroSeconds(eventB.dur - eventC.dur - eventD.dur);
|
@@ -148,9 +148,9 @@ describeWithEnvironment('TimelineProfileTree', () => {
|
|
148
148
|
|
149
149
|
const nodeBChildIterator = nodeBChildren.values();
|
150
150
|
assert.strictEqual(
|
151
|
-
nodeBChildIterator.next().value
|
151
|
+
nodeBChildIterator.next().value!.selfTime, Trace.Helpers.Timing.microSecondsToMilliseconds(eventC.dur));
|
152
152
|
|
153
|
-
const nodeD = nodeBChildIterator.next().value
|
153
|
+
const nodeD = nodeBChildIterator.next().value!;
|
154
154
|
const nodeDSelfTime = Trace.Types.Timing.MicroSeconds(eventD.dur - eventE.dur);
|
155
155
|
assert.strictEqual(nodeD.selfTime, Trace.Helpers.Timing.microSecondsToMilliseconds(nodeDSelfTime));
|
156
156
|
|
@@ -158,7 +158,7 @@ describeWithEnvironment('TimelineProfileTree', () => {
|
|
158
158
|
assert.strictEqual(nodeDChildren.size, 1);
|
159
159
|
|
160
160
|
const nodeDChildIterator = nodeDChildren.values();
|
161
|
-
const nodeE = nodeDChildIterator.next().value
|
161
|
+
const nodeE = nodeDChildIterator.next().value!;
|
162
162
|
assert.strictEqual(nodeE.selfTime, Trace.Helpers.Timing.microSecondsToMilliseconds(eventE.dur));
|
163
163
|
});
|
164
164
|
});
|
@@ -183,9 +183,9 @@ describeWithEnvironment('TimelineProfileTree', () => {
|
|
183
183
|
assert.strictEqual(children.size, 3);
|
184
184
|
|
185
185
|
const nodesIterator = children.values();
|
186
|
-
assert.strictEqual(nodesIterator.next().value
|
187
|
-
assert.strictEqual(nodesIterator.next().value
|
188
|
-
assert.strictEqual(nodesIterator.next().value
|
186
|
+
assert.strictEqual(nodesIterator.next().value!.event, eventA);
|
187
|
+
assert.strictEqual(nodesIterator.next().value!.event, eventB);
|
188
|
+
assert.strictEqual(nodesIterator.next().value!.event, eventC);
|
189
189
|
});
|
190
190
|
|
191
191
|
it('builds a bottom up tree from an event tree with multiple levels 1', () => {
|
@@ -227,12 +227,12 @@ describeWithEnvironment('TimelineProfileTree', () => {
|
|
227
227
|
const nodeCChildren = nodeC.children();
|
228
228
|
assert.strictEqual(nodeCChildren.size, 1);
|
229
229
|
const nodeCChildIterator = nodeCChildren.values();
|
230
|
-
assert.strictEqual(nodeCChildIterator.next().value
|
230
|
+
assert.strictEqual(nodeCChildIterator.next().value!.event, eventA);
|
231
231
|
|
232
232
|
const nodeDChildren = nodeC.children();
|
233
233
|
assert.strictEqual(nodeDChildren.size, 1);
|
234
234
|
const nodeDChildIterator = nodeDChildren.values();
|
235
|
-
assert.strictEqual(nodeDChildIterator.next().value
|
235
|
+
assert.strictEqual(nodeDChildIterator.next().value!.event, eventA);
|
236
236
|
|
237
237
|
const nodeAChildren = nodeA.children();
|
238
238
|
assert.strictEqual(nodeAChildren.size, 0);
|
@@ -281,12 +281,12 @@ describeWithEnvironment('TimelineProfileTree', () => {
|
|
281
281
|
const nodeCChildren = nodeC.children();
|
282
282
|
assert.strictEqual(nodeCChildren.size, 1);
|
283
283
|
const nodeCChildIterator = nodeCChildren.values();
|
284
|
-
assert.strictEqual(nodeCChildIterator.next().value
|
284
|
+
assert.strictEqual(nodeCChildIterator.next().value!.event, eventB);
|
285
285
|
|
286
286
|
const nodeDChildren = nodeC.children();
|
287
287
|
assert.strictEqual(nodeDChildren.size, 1);
|
288
288
|
const nodeDChildIterator = nodeDChildren.values();
|
289
|
-
assert.strictEqual(nodeDChildIterator.next().value
|
289
|
+
assert.strictEqual(nodeDChildIterator.next().value!.event, eventB);
|
290
290
|
|
291
291
|
const nodeAChildren = nodeA.children();
|
292
292
|
assert.strictEqual(nodeAChildren.size, 0);
|
@@ -323,7 +323,7 @@ describeWithEnvironment('TimelineProfileTree', () => {
|
|
323
323
|
|
324
324
|
const rootChildIterator = rootChildren.values();
|
325
325
|
assert.strictEqual(
|
326
|
-
rootChildIterator.next().value
|
326
|
+
rootChildIterator.next().value!.selfTime, Trace.Helpers.Timing.microSecondsToMilliseconds(eventA.dur));
|
327
327
|
|
328
328
|
const nodeC = rootChildIterator.next().value as TimelineModel.TimelineProfileTree.TopDownNode;
|
329
329
|
assert.strictEqual(nodeC.selfTime, Trace.Helpers.Timing.microSecondsToMilliseconds(eventC.dur));
|
@@ -6,7 +6,7 @@ import type * as Protocol from '../../generated/protocol.js';
|
|
6
6
|
import * as Trace from '../../models/trace/trace.js';
|
7
7
|
|
8
8
|
import {TimelineJSProfileProcessor} from './TimelineJSProfile.js';
|
9
|
-
import
|
9
|
+
import type {TimelineModelFilter} from './TimelineModelFilter.js';
|
10
10
|
|
11
11
|
export class Node {
|
12
12
|
totalTime: number;
|
@@ -87,7 +87,7 @@ describeWithEnvironment('TraceModel', function() {
|
|
87
87
|
// Process the previous trace again to test the trace sequencing
|
88
88
|
await TraceLoader.rawEvents(this, 'web-dev.json.gz'),
|
89
89
|
await TraceLoader.rawEvents(this, 'multiple-navigations.json.gz'),
|
90
|
-
await TraceLoader.rawEvents(this, '
|
90
|
+
await TraceLoader.rawEvents(this, 'missing-url.json.gz'),
|
91
91
|
];
|
92
92
|
for (const traceFile of traceFiles) {
|
93
93
|
await model.parse(traceFile);
|
@@ -16,7 +16,6 @@ import * as Types from './types/types.js';
|
|
16
16
|
|
17
17
|
export interface ParseConfig {
|
18
18
|
metadata?: Types.File.MetaData;
|
19
|
-
// Unused but will eventually be consumed by UIUtils Linkifier, etc.
|
20
19
|
isFreshRecording?: boolean;
|
21
20
|
}
|
22
21
|
|
@@ -92,6 +91,7 @@ export class Model extends EventTarget {
|
|
92
91
|
async parse(traceEvents: readonly Types.Events.Event[], config?: ParseConfig): Promise<void> {
|
93
92
|
const metadata = config?.metadata || {};
|
94
93
|
const isFreshRecording = config?.isFreshRecording || false;
|
94
|
+
const isCPUProfile = metadata?.dataOrigin === Types.File.DataOrigin.CPU_PROFILE;
|
95
95
|
// During parsing, periodically update any listeners on each processors'
|
96
96
|
// progress (if they have any updates).
|
97
97
|
const onTraceUpdate = (event: Event): void => {
|
@@ -113,7 +113,10 @@ export class Model extends EventTarget {
|
|
113
113
|
// Wait for all outstanding promises before finishing the async execution,
|
114
114
|
// but perform all tasks in parallel.
|
115
115
|
const syntheticEventsManager = Helpers.SyntheticEvents.SyntheticEventsManager.createAndActivate(traceEvents);
|
116
|
-
await this.#processor.parse(traceEvents,
|
116
|
+
await this.#processor.parse(traceEvents, {
|
117
|
+
isFreshRecording,
|
118
|
+
isCPUProfile,
|
119
|
+
});
|
117
120
|
this.#storeParsedFileData(file, this.#processor.parsedTrace, this.#processor.insights);
|
118
121
|
// We only push the file onto this.#traces here once we know it's valid
|
119
122
|
// and there's been no errors in the parsing.
|
@@ -157,27 +160,15 @@ export class Model extends EventTarget {
|
|
157
160
|
* If no index is given, the last stored parsed data is returned.
|
158
161
|
*/
|
159
162
|
parsedTrace(index: number = this.#traces.length - 1): Handlers.Types.ParsedTrace|null {
|
160
|
-
|
161
|
-
return null;
|
162
|
-
}
|
163
|
-
|
164
|
-
return this.#traces[index].parsedTrace;
|
163
|
+
return this.#traces.at(index)?.parsedTrace ?? null;
|
165
164
|
}
|
166
165
|
|
167
166
|
traceInsights(index: number = this.#traces.length - 1): Insights.Types.TraceInsightSets|null {
|
168
|
-
|
169
|
-
return null;
|
170
|
-
}
|
171
|
-
|
172
|
-
return this.#traces[index].traceInsights;
|
167
|
+
return this.#traces.at(index)?.traceInsights ?? null;
|
173
168
|
}
|
174
169
|
|
175
170
|
metadata(index: number = this.#traces.length - 1): Types.File.MetaData|null {
|
176
|
-
|
177
|
-
return null;
|
178
|
-
}
|
179
|
-
|
180
|
-
return this.#traces[index].metadata;
|
171
|
+
return this.#traces.at(index)?.metadata ?? null;
|
181
172
|
}
|
182
173
|
|
183
174
|
overrideModifications(index: number, newModifications: Types.File.Modifications): void {
|
@@ -187,20 +178,12 @@ export class Model extends EventTarget {
|
|
187
178
|
}
|
188
179
|
|
189
180
|
rawTraceEvents(index: number = this.#traces.length - 1): readonly Types.Events.Event[]|null {
|
190
|
-
|
191
|
-
return null;
|
192
|
-
}
|
193
|
-
|
194
|
-
return this.#traces[index].traceEvents;
|
181
|
+
return this.#traces.at(index)?.traceEvents ?? null;
|
195
182
|
}
|
196
183
|
|
197
184
|
syntheticTraceEventsManager(index: number = this.#traces.length - 1): Helpers.SyntheticEvents.SyntheticEventsManager
|
198
185
|
|null {
|
199
|
-
|
200
|
-
return null;
|
201
|
-
}
|
202
|
-
|
203
|
-
return this.#syntheticEventsManagerByTrace[index];
|
186
|
+
return this.#syntheticEventsManagerByTrace.at(index) ?? null;
|
204
187
|
}
|
205
188
|
|
206
189
|
size(): number {
|
@@ -13,13 +13,13 @@ describeWithEnvironment('TraceProcessor', function() {
|
|
13
13
|
|
14
14
|
// Check parsing after instantiation.
|
15
15
|
assert.isNull(processor.parsedTrace);
|
16
|
-
await processor.parse(file);
|
16
|
+
await processor.parse(file, {isFreshRecording: true, isCPUProfile: false});
|
17
17
|
assert.isNotNull(processor.parsedTrace);
|
18
18
|
|
19
19
|
// Check parsing without a reset.
|
20
20
|
let thrown;
|
21
21
|
try {
|
22
|
-
await processor.parse(file);
|
22
|
+
await processor.parse(file, {isFreshRecording: true, isCPUProfile: false});
|
23
23
|
} catch (e) {
|
24
24
|
thrown = e as Error;
|
25
25
|
}
|
@@ -30,7 +30,7 @@ describeWithEnvironment('TraceProcessor', function() {
|
|
30
30
|
processor.reset();
|
31
31
|
assert.isNull(processor.parsedTrace);
|
32
32
|
assert.isNull(processor.insights);
|
33
|
-
await processor.parse(file);
|
33
|
+
await processor.parse(file, {isFreshRecording: true, isCPUProfile: false});
|
34
34
|
assert.isNotNull(processor.parsedTrace);
|
35
35
|
assert.isNotNull(processor.insights);
|
36
36
|
// Cleanup.
|
@@ -39,8 +39,9 @@ describeWithEnvironment('TraceProcessor', function() {
|
|
39
39
|
// Check simultaneous parsing without waiting.
|
40
40
|
let promise;
|
41
41
|
try {
|
42
|
-
promise = processor.parse(file);
|
43
|
-
await processor.parse(file);
|
42
|
+
promise = processor.parse(file, {isFreshRecording: true, isCPUProfile: false});
|
43
|
+
await processor.parse(file, {isFreshRecording: true, isCPUProfile: false});
|
44
|
+
|
44
45
|
} catch (e) {
|
45
46
|
thrown = e as Error;
|
46
47
|
} finally {
|
@@ -53,7 +54,7 @@ describeWithEnvironment('TraceProcessor', function() {
|
|
53
54
|
// Check if data is null immediately after resetting.
|
54
55
|
assert.isNull(processor.parsedTrace);
|
55
56
|
assert.isNull(processor.insights);
|
56
|
-
await processor.parse(file);
|
57
|
+
await processor.parse(file, {isFreshRecording: true, isCPUProfile: false});
|
57
58
|
assert.isNotNull(processor.parsedTrace);
|
58
59
|
assert.isNotNull(processor.insights);
|
59
60
|
processor.reset();
|
@@ -62,7 +63,7 @@ describeWithEnvironment('TraceProcessor', function() {
|
|
62
63
|
|
63
64
|
// Check resetting while parsing.
|
64
65
|
try {
|
65
|
-
promise = processor.parse(file);
|
66
|
+
promise = processor.parse(file, {isFreshRecording: true, isCPUProfile: false});
|
66
67
|
processor.reset();
|
67
68
|
} catch (e) {
|
68
69
|
thrown = e as Error;
|
@@ -76,7 +77,7 @@ describeWithEnvironment('TraceProcessor', function() {
|
|
76
77
|
// Check parsing after resetting while parsing.
|
77
78
|
assert.isNull(processor.parsedTrace);
|
78
79
|
assert.isNull(processor.insights);
|
79
|
-
await processor.parse(file);
|
80
|
+
await processor.parse(file, {isFreshRecording: true, isCPUProfile: false});
|
80
81
|
assert.isNotNull(processor.parsedTrace);
|
81
82
|
assert.isNotNull(processor.insights);
|
82
83
|
});
|
@@ -86,7 +87,7 @@ describeWithEnvironment('TraceProcessor', function() {
|
|
86
87
|
Animations: Trace.Handlers.ModelHandlers.Animations,
|
87
88
|
});
|
88
89
|
const events = await TraceLoader.rawEvents(this, 'animation.json.gz');
|
89
|
-
await processor.parse(events);
|
90
|
+
await processor.parse(events, {isFreshRecording: true, isCPUProfile: false});
|
90
91
|
assert.isNotNull(processor.parsedTrace);
|
91
92
|
assert.deepEqual(Object.keys(processor.parsedTrace || {}), ['Meta', 'Animations']);
|
92
93
|
});
|
@@ -129,7 +130,7 @@ describeWithEnvironment('TraceProcessor', function() {
|
|
129
130
|
const rawEvents = await TraceLoader.rawEvents(this, 'web-dev-outermost-frames.json.gz');
|
130
131
|
// This trace has 106,110 events. At default of 50k chunks we should see 2 updates.
|
131
132
|
// Additional progress updates are emitted for handers, etc.
|
132
|
-
await processor.parse(rawEvents).then(() => {
|
133
|
+
await processor.parse(rawEvents, {isFreshRecording: true, isCPUProfile: false}).then(() => {
|
133
134
|
assert.isAtLeast(updateEventCount, 2);
|
134
135
|
});
|
135
136
|
});
|
@@ -245,7 +246,7 @@ describeWithEnvironment('TraceProcessor', function() {
|
|
245
246
|
const processor = Trace.Processor.TraceProcessor.createWithAllHandlers();
|
246
247
|
const file = await TraceLoader.rawEvents(this, 'basic.json.gz');
|
247
248
|
|
248
|
-
await processor.parse(file);
|
249
|
+
await processor.parse(file, {isFreshRecording: true, isCPUProfile: false});
|
249
250
|
if (!processor.insights) {
|
250
251
|
throw new Error('No insights');
|
251
252
|
}
|
@@ -269,7 +270,7 @@ describeWithEnvironment('TraceProcessor', function() {
|
|
269
270
|
const processor = Trace.Processor.TraceProcessor.createWithAllHandlers();
|
270
271
|
const file = await TraceLoader.rawEvents(this, 'load-simple.json.gz');
|
271
272
|
|
272
|
-
await processor.parse(file);
|
273
|
+
await processor.parse(file, {isFreshRecording: true, isCPUProfile: false});
|
273
274
|
if (!processor.insights) {
|
274
275
|
throw new Error('No insights');
|
275
276
|
}
|
@@ -286,7 +287,7 @@ describeWithEnvironment('TraceProcessor', function() {
|
|
286
287
|
});
|
287
288
|
const file = await TraceLoader.rawEvents(this, 'load-simple.json.gz');
|
288
289
|
|
289
|
-
await processor.parse(file);
|
290
|
+
await processor.parse(file, {isFreshRecording: true, isCPUProfile: false});
|
290
291
|
if (!processor.insights) {
|
291
292
|
throw new Error('No insights');
|
292
293
|
}
|
@@ -305,7 +306,7 @@ describeWithEnvironment('TraceProcessor', function() {
|
|
305
306
|
const processor = Trace.Processor.TraceProcessor.createWithAllHandlers();
|
306
307
|
const file = await TraceLoader.rawEvents(this, 'load-simple.json.gz');
|
307
308
|
|
308
|
-
await processor.parse(file);
|
309
|
+
await processor.parse(file, {isFreshRecording: true, isCPUProfile: false});
|
309
310
|
if (!processor.insights) {
|
310
311
|
throw new Error('No insights');
|
311
312
|
}
|
@@ -331,7 +332,7 @@ describeWithEnvironment('TraceProcessor', function() {
|
|
331
332
|
const processor = Trace.Processor.TraceProcessor.createWithAllHandlers();
|
332
333
|
const file = await TraceLoader.rawEvents(this, 'multiple-navigations.json.gz');
|
333
334
|
|
334
|
-
await processor.parse(file);
|
335
|
+
await processor.parse(file, {isFreshRecording: true, isCPUProfile: false});
|
335
336
|
if (!processor.insights) {
|
336
337
|
throw new Error('No insights');
|
337
338
|
}
|
@@ -49,6 +49,19 @@ declare global {
|
|
49
49
|
}
|
50
50
|
}
|
51
51
|
|
52
|
+
export interface ParseOptions {
|
53
|
+
/**
|
54
|
+
* If the trace was just recorded on the current page, rather than an imported file.
|
55
|
+
* @default false
|
56
|
+
*/
|
57
|
+
isFreshRecording?: boolean;
|
58
|
+
/**
|
59
|
+
* If the trace is a CPU Profile rather than a Chrome tracing trace.
|
60
|
+
* @default false
|
61
|
+
*/
|
62
|
+
isCPUProfile?: boolean;
|
63
|
+
}
|
64
|
+
|
52
65
|
export class TraceProcessor extends EventTarget {
|
53
66
|
// We force the Meta handler to be enabled, so the TraceHandlers type here is
|
54
67
|
// the model handlers the user passes in and the Meta handler.
|
@@ -151,14 +164,14 @@ export class TraceProcessor extends EventTarget {
|
|
151
164
|
this.#status = Status.IDLE;
|
152
165
|
}
|
153
166
|
|
154
|
-
async parse(traceEvents: readonly Types.Events.Event[],
|
167
|
+
async parse(traceEvents: readonly Types.Events.Event[], options: ParseOptions): Promise<void> {
|
155
168
|
if (this.#status !== Status.IDLE) {
|
156
169
|
throw new Error(`Trace processor can't start parsing when not idle. Current state: ${this.#status}`);
|
157
170
|
}
|
158
171
|
try {
|
159
172
|
this.#status = Status.PARSING;
|
160
|
-
await this.#computeParsedTrace(traceEvents,
|
161
|
-
if (this.#data) {
|
173
|
+
await this.#computeParsedTrace(traceEvents, Boolean(options.isFreshRecording));
|
174
|
+
if (this.#data && !options.isCPUProfile) { // We do not calculate insights for CPU Profiles.
|
162
175
|
this.#computeInsights(this.#data, traceEvents);
|
163
176
|
}
|
164
177
|
this.#status = Status.FINISHED_PARSING;
|
@@ -308,8 +321,10 @@ export class TraceProcessor extends EventTarget {
|
|
308
321
|
const networkAnalysis = Lantern.Core.NetworkAnalyzer.analyze(requests);
|
309
322
|
const simulator: Lantern.Simulation.Simulator<Types.Events.SyntheticNetworkRequest> =
|
310
323
|
Lantern.Simulation.Simulator.createSimulator({
|
324
|
+
// TODO(crbug.com/372674229): if devtools throttling was on, does this network analysis capture
|
325
|
+
// that? Do we need to set 'devtools' throttlingMethod?
|
311
326
|
networkAnalysis,
|
312
|
-
throttlingMethod: '
|
327
|
+
throttlingMethod: 'provided',
|
313
328
|
});
|
314
329
|
|
315
330
|
const computeData = {graph, simulator, processedNavigation};
|
@@ -342,19 +357,28 @@ export class TraceProcessor extends EventTarget {
|
|
342
357
|
Object.assign(data, {[name]: insightResult});
|
343
358
|
}
|
344
359
|
|
345
|
-
let id,
|
360
|
+
let id, urlString, navigation;
|
346
361
|
if (context.navigation) {
|
347
362
|
id = context.navigationId;
|
348
|
-
|
363
|
+
urlString = context.navigation.args.data?.documentLoaderURL ?? parsedTrace.Meta.mainFrameURL;
|
349
364
|
navigation = context.navigation;
|
350
365
|
} else {
|
351
366
|
id = Types.Events.NO_NAVIGATION;
|
352
|
-
|
367
|
+
urlString = parsedTrace.Meta.mainFrameURL;
|
368
|
+
}
|
369
|
+
|
370
|
+
let url;
|
371
|
+
try {
|
372
|
+
url = new URL(urlString);
|
373
|
+
} catch {
|
374
|
+
// We're pretty sure this only happens for our test fixture: missing-url.json.gz. Shouldn't
|
375
|
+
// happen for real traces.
|
376
|
+
return;
|
353
377
|
}
|
354
378
|
|
355
379
|
const insightSets = {
|
356
380
|
id,
|
357
|
-
|
381
|
+
url,
|
358
382
|
navigation,
|
359
383
|
frameId: context.frameId,
|
360
384
|
bounds: context.bounds,
|
@@ -403,7 +427,7 @@ export class TraceProcessor extends EventTarget {
|
|
403
427
|
const frameId = navigation.args.frame;
|
404
428
|
const navigationId = navigation.args.data?.navigationId as string;
|
405
429
|
|
406
|
-
// The lantern sub-context is optional on
|
430
|
+
// The lantern sub-context is optional on InsightSetContext, so not setting it is OK.
|
407
431
|
// This is also a hedge against an error inside Lantern resulting in breaking the entire performance panel.
|
408
432
|
// Additionally, many trace fixtures are too old to be processed by Lantern.
|
409
433
|
let lantern;
|
@@ -30,7 +30,7 @@ export type HandlerDataWithScreenshots = Handlers.Types.EnabledHandlerDataWithMe
|
|
30
30
|
// Cache film strips based on:
|
31
31
|
// 1. The trace parsed data object
|
32
32
|
// 2. The start time.
|
33
|
-
const filmStripCache = new
|
33
|
+
const filmStripCache = new WeakMap<HandlerDataWithScreenshots, Map<Types.Timing.MicroSeconds, Data>>();
|
34
34
|
|
35
35
|
export function fromParsedTrace(
|
36
36
|
parsedTrace: HandlerDataWithScreenshots, customZeroTime?: Types.Timing.MicroSeconds): Data {
|
@@ -43,7 +43,7 @@ export function fromParsedTrace(
|
|
43
43
|
return fromCache;
|
44
44
|
}
|
45
45
|
|
46
|
-
for (const screenshotEvent of parsedTrace.Screenshots) {
|
46
|
+
for (const screenshotEvent of parsedTrace.Screenshots.all) {
|
47
47
|
if (screenshotEvent.ts < zeroTime) {
|
48
48
|
continue;
|
49
49
|
}
|
@@ -235,11 +235,11 @@ describe('LayoutShiftsHandler', function() {
|
|
235
235
|
|
236
236
|
for (const cluster of clusters) {
|
237
237
|
// Get the max shift score from the list of layout shifts.
|
238
|
-
const maxShiftScore = Math.max(...cluster.events.map(s => s.args.data?.
|
238
|
+
const maxShiftScore = Math.max(...cluster.events.map(s => s.args.data?.weighted_score_delta ?? 0));
|
239
239
|
const gotShift = cluster.worstShiftEvent as Trace.Types.Events.SyntheticLayoutShift;
|
240
240
|
assert.isNotNull(gotShift);
|
241
241
|
// Make sure the worstShiftEvent's data matches the maxShiftScore.
|
242
|
-
assert.strictEqual(gotShift.args.data?.
|
242
|
+
assert.strictEqual(gotShift.args.data?.weighted_score_delta ?? 0, maxShiftScore);
|
243
243
|
}
|
244
244
|
});
|
245
245
|
|
@@ -9,6 +9,7 @@ import * as Types from '../types/types.js';
|
|
9
9
|
|
10
10
|
import {data as metaHandlerData} from './MetaHandler.js';
|
11
11
|
import {ScoreClassification} from './PageLoadMetricsHandler.js';
|
12
|
+
import {data as screenshotsHandlerData} from './ScreenshotsHandler.js';
|
12
13
|
import {type HandlerName, HandlerState} from './types.js';
|
13
14
|
|
14
15
|
// We start with a score of zero and step through all Layout Shift records from
|
@@ -183,6 +184,13 @@ function updateTraceWindowMax(
|
|
183
184
|
traceWindow.range = Types.Timing.MicroSeconds(traceWindow.max - traceWindow.min);
|
184
185
|
}
|
185
186
|
|
187
|
+
function findScreenshots(timestamp: Types.Timing.MicroSeconds): Types.Events.LayoutShiftParsedData['screenshots'] {
|
188
|
+
const screenshots = screenshotsHandlerData().all;
|
189
|
+
const before = Helpers.Trace.findPreviousEventBeforeTimestamp(screenshots, timestamp);
|
190
|
+
const after = before ? screenshots[screenshots.indexOf(before) + 1] : null;
|
191
|
+
return {before, after};
|
192
|
+
}
|
193
|
+
|
186
194
|
function buildScoreRecords(): void {
|
187
195
|
const {traceBounds} = metaHandlerData();
|
188
196
|
scoreRecords.push({ts: traceBounds.min, score: 0});
|
@@ -364,6 +372,7 @@ async function buildLayoutShiftsClusters(): Promise<void> {
|
|
364
372
|
},
|
365
373
|
parsedData: {
|
366
374
|
timeFromNavigation,
|
375
|
+
screenshots: findScreenshots(event.ts),
|
367
376
|
cumulativeWeightedScoreInWindow: currentCluster.clusterCumulativeScore,
|
368
377
|
// The score of the session window is temporarily set to 0 just
|
369
378
|
// to initialize it. Since we need to get the score of all shifts
|
@@ -452,7 +461,7 @@ async function buildLayoutShiftsClusters(): Promise<void> {
|
|
452
461
|
}
|
453
462
|
|
454
463
|
// Find the worst layout shift of the cluster.
|
455
|
-
const score = shift.args.data?.
|
464
|
+
const score = shift.args.data?.weighted_score_delta;
|
456
465
|
if (score !== undefined && score > largestScore) {
|
457
466
|
largestScore = score;
|
458
467
|
worstShiftEvent = shift;
|