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
@@ -51,6 +51,8 @@ import {categorizePropertyName, type Category, DefaultCategoryOrder} from './Pro
|
|
51
51
|
import {type MatchRenderer, Renderer, type RenderingContext, StringRenderer, URLRenderer} from './PropertyRenderer.js';
|
52
52
|
import {StylePropertiesSection} from './StylePropertiesSection.js';
|
53
53
|
|
54
|
+
const {html} = LitHtml;
|
55
|
+
|
54
56
|
const UIStrings = {
|
55
57
|
/**
|
56
58
|
* @description Text for a checkbox setting that controls whether the user-supplied filter text
|
@@ -123,7 +125,7 @@ const createPropertyElement =
|
|
123
125
|
onContextMenu: ((event: Event) => void)): LitHtml.TemplateResult => {
|
124
126
|
const {name, value} = renderPropertyContents(node, propertyName, propertyValue);
|
125
127
|
// clang-format off
|
126
|
-
return
|
128
|
+
return html`<devtools-computed-style-property
|
127
129
|
.traceable=${traceable}
|
128
130
|
.inherited=${inherited}
|
129
131
|
@oncontextmenu=${onContextMenu}
|
@@ -134,7 +136,7 @@ const createPropertyElement =
|
|
134
136
|
}}>
|
135
137
|
${name}
|
136
138
|
${value}
|
137
|
-
|
139
|
+
</devtools-computed-style-property>`;
|
138
140
|
// clang-format on
|
139
141
|
};
|
140
142
|
|
@@ -480,9 +482,9 @@ export class ComputedStyleWidget extends UI.ThrottledWidget.ThrottledWidget {
|
|
480
482
|
createTraceElement(domNode, data.property, isPropertyOverloaded, matchedStyles, this.linkifier);
|
481
483
|
traceElement.addEventListener(
|
482
484
|
'contextmenu', this.handleContextMenuEvent.bind(this, matchedStyles, data.property));
|
483
|
-
return
|
485
|
+
return html`${traceElement}`;
|
484
486
|
}
|
485
|
-
return
|
487
|
+
return html`<span style="cursor: text; color: var(--sys-color-token-subtle);">${data.name}</span>`;
|
486
488
|
};
|
487
489
|
}
|
488
490
|
|
@@ -45,16 +45,16 @@ import * as TreeOutline from '../../ui/components/tree_outline/tree_outline.js';
|
|
45
45
|
import * as UI from '../../ui/legacy/legacy.js';
|
46
46
|
import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
|
47
47
|
|
48
|
-
import
|
48
|
+
import type {AXTreeNodeData} from './AccessibilityTreeUtils.js';
|
49
49
|
import {AccessibilityTreeView} from './AccessibilityTreeView.js';
|
50
50
|
import {ColorSwatchPopoverIcon} from './ColorSwatchPopoverIcon.js';
|
51
51
|
import * as ElementsComponents from './components/components.js';
|
52
52
|
import {ComputedStyleWidget} from './ComputedStyleWidget.js';
|
53
53
|
import elementsPanelStyles from './elementsPanel.css.js';
|
54
|
-
import
|
54
|
+
import type {ElementsTreeElement} from './ElementsTreeElement.js';
|
55
55
|
import {ElementsTreeElementHighlighter} from './ElementsTreeElementHighlighter.js';
|
56
56
|
import {ElementsTreeOutline} from './ElementsTreeOutline.js';
|
57
|
-
import
|
57
|
+
import type {MarkerDecorator} from './MarkerDecorator.js';
|
58
58
|
import {MetricsSidebarPane} from './MetricsSidebarPane.js';
|
59
59
|
import {
|
60
60
|
Events as StylesSidebarPaneEvents,
|
@@ -461,10 +461,11 @@ export class ElementsPanel extends UI.Panel.Panel implements UI.SearchableView.S
|
|
461
461
|
}
|
462
462
|
|
463
463
|
override focus(): void {
|
464
|
-
|
465
|
-
|
466
|
-
} else {
|
464
|
+
const firstTreeOutline = this.treeOutlines.values().next();
|
465
|
+
if (firstTreeOutline.done) {
|
467
466
|
this.domTreeContainer.focus();
|
467
|
+
} else {
|
468
|
+
firstTreeOutline.value.focus();
|
468
469
|
}
|
469
470
|
}
|
470
471
|
|
@@ -43,6 +43,7 @@ import * as TextUtils from '../../models/text_utils/text_utils.js';
|
|
43
43
|
import * as CodeMirror from '../../third_party/codemirror.next/codemirror.next.js';
|
44
44
|
import * as Adorners from '../../ui/components/adorners/adorners.js';
|
45
45
|
import * as CodeHighlighter from '../../ui/components/code_highlighter/code_highlighter.js';
|
46
|
+
import * as FloatingButton from '../../ui/components/floating_button/floating_button.js';
|
46
47
|
import * as Highlighting from '../../ui/components/highlighting/highlighting.js';
|
47
48
|
import * as IconButton from '../../ui/components/icon_button/icon_button.js';
|
48
49
|
import * as TextEditor from '../../ui/components/text_editor/text_editor.js';
|
@@ -255,6 +256,7 @@ export class ElementsTreeElement extends UI.TreeOutline.TreeElement {
|
|
255
256
|
expandAllButtonElement: UI.TreeOutline.TreeElement|null;
|
256
257
|
selectionElement?: HTMLDivElement;
|
257
258
|
private hintElement?: HTMLElement;
|
259
|
+
private aiButtonContainer?: HTMLElement;
|
258
260
|
private contentElement: HTMLElement;
|
259
261
|
#elementIssues: Map<string, IssuesManager.GenericIssue.GenericIssue> = new Map();
|
260
262
|
#nodeElementToIssue: Map<Element, IssuesManager.GenericIssue.GenericIssue> = new Map();
|
@@ -414,6 +416,13 @@ export class ElementsTreeElement extends UI.TreeOutline.TreeElement {
|
|
414
416
|
return;
|
415
417
|
}
|
416
418
|
|
419
|
+
if (isHovered && !this.aiButtonContainer) {
|
420
|
+
this.createAiButton();
|
421
|
+
} else if (!isHovered && this.aiButtonContainer) {
|
422
|
+
this.aiButtonContainer.remove();
|
423
|
+
delete this.aiButtonContainer;
|
424
|
+
}
|
425
|
+
|
417
426
|
this.hoveredInternal = isHovered;
|
418
427
|
|
419
428
|
if (this.listItemElement) {
|
@@ -517,6 +526,31 @@ export class ElementsTreeElement extends UI.TreeOutline.TreeElement {
|
|
517
526
|
}
|
518
527
|
}
|
519
528
|
|
529
|
+
private createAiButton(): void {
|
530
|
+
const isElementNode = this.node().nodeType() === Node.ELEMENT_NODE;
|
531
|
+
if (!isElementNode ||
|
532
|
+
!UI.ActionRegistry.ActionRegistry.instance().hasAction('freestyler.elements-floating-button')) {
|
533
|
+
return;
|
534
|
+
}
|
535
|
+
|
536
|
+
const action = UI.ActionRegistry.ActionRegistry.instance().getAction('freestyler.elements-floating-button');
|
537
|
+
if (this.contentElement && !this.aiButtonContainer) {
|
538
|
+
this.aiButtonContainer = this.contentElement.createChild('span', 'ai-button-container');
|
539
|
+
const floatingButton = new FloatingButton.FloatingButton.FloatingButton({
|
540
|
+
iconName: 'smart-assistant',
|
541
|
+
});
|
542
|
+
floatingButton.addEventListener('click', ev => {
|
543
|
+
ev.stopPropagation();
|
544
|
+
this.select(true, false);
|
545
|
+
void action.execute();
|
546
|
+
}, {capture: true});
|
547
|
+
floatingButton.addEventListener('mousedown', ev => {
|
548
|
+
ev.stopPropagation();
|
549
|
+
}, {capture: true});
|
550
|
+
this.aiButtonContainer.appendChild(floatingButton);
|
551
|
+
}
|
552
|
+
}
|
553
|
+
|
520
554
|
override onbind(): void {
|
521
555
|
if (this.treeOutline && !this.isClosingTag()) {
|
522
556
|
this.treeOutline.treeElementByNode.set(this.nodeInternal, this);
|
@@ -1405,6 +1439,7 @@ export class ElementsTreeElement extends UI.TreeOutline.TreeElement {
|
|
1405
1439
|
}
|
1406
1440
|
delete this.selectionElement;
|
1407
1441
|
delete this.hintElement;
|
1442
|
+
delete this.aiButtonContainer;
|
1408
1443
|
if (this.selected) {
|
1409
1444
|
this.createSelection();
|
1410
1445
|
this.createHint();
|
@@ -50,7 +50,7 @@ import {ElementsPanel} from './ElementsPanel.js';
|
|
50
50
|
import {ElementsTreeElement, InitialChildrenLimit, isOpeningTag} from './ElementsTreeElement.js';
|
51
51
|
import elementsTreeOutlineStyles from './elementsTreeOutline.css.js';
|
52
52
|
import {ImagePreviewPopover} from './ImagePreviewPopover.js';
|
53
|
-
import
|
53
|
+
import type {MarkerDecoratorRegistration} from './MarkerDecorator.js';
|
54
54
|
import {TopLayerContainer} from './TopLayerContainer.js';
|
55
55
|
|
56
56
|
const UIStrings = {
|
@@ -513,6 +513,38 @@ describe('Matchers for SDK.CSSPropertyParser.BottomUpTreeMatching', () => {
|
|
513
513
|
});
|
514
514
|
});
|
515
515
|
|
516
|
+
describe('PositionTryMatcher', () => {
|
517
|
+
it('should match `position-try[-fallbacks]` property with linkable names', () => {
|
518
|
+
{
|
519
|
+
const {match, text} = matchSingleValue(
|
520
|
+
'position-try', 'flip-block, --top, --bottom', new Elements.PropertyMatchers.PositionTryMatcher());
|
521
|
+
assert.exists(match, text);
|
522
|
+
assert.strictEqual(match.text, 'flip-block, --top, --bottom');
|
523
|
+
assert.strictEqual(match.preamble.length, 0);
|
524
|
+
} {
|
525
|
+
const {ast, match, text} = matchSingleValue(
|
526
|
+
'position-try', '/* comment */ most-height --top, --bottom',
|
527
|
+
new Elements.PropertyMatchers.PositionTryMatcher());
|
528
|
+
assert.exists(ast, text);
|
529
|
+
assert.exists(match, text);
|
530
|
+
assert.strictEqual(match.text, '/* comment */ most-height --top, --bottom');
|
531
|
+
assert.strictEqual(
|
532
|
+
ast.textRange(match.preamble[0], match.preamble[match.preamble.length - 1]), '/* comment */ most-height');
|
533
|
+
|
534
|
+
} {
|
535
|
+
const {match, text} = matchSingleValue(
|
536
|
+
'position-try-fallbacks', '/* comment */ flip-block, --top, /* comment */ --bottom',
|
537
|
+
new Elements.PropertyMatchers.PositionTryMatcher());
|
538
|
+
assert.exists(match, text);
|
539
|
+
assert.strictEqual(match.text, '/* comment */ flip-block, --top, /* comment */ --bottom');
|
540
|
+
assert.strictEqual(match.preamble.length, 0);
|
541
|
+
} {
|
542
|
+
const {match} = matchSingleValue('position-try', 'revert', new Elements.PropertyMatchers.PositionTryMatcher());
|
543
|
+
assert.isNull(match);
|
544
|
+
}
|
545
|
+
});
|
546
|
+
});
|
547
|
+
|
516
548
|
it('matches lengths', () => {
|
517
549
|
const {match, text} = matchSingleValue('min-width', '100px', new Elements.PropertyMatchers.LengthMatcher());
|
518
550
|
assert.exists(match, text);
|
@@ -534,4 +566,29 @@ describe('Matchers for SDK.CSSPropertyParser.BottomUpTreeMatching', () => {
|
|
534
566
|
new Elements.PropertyMatchers.CSSWideKeywordMatcher(propertyStub, matchedStylesStub));
|
535
567
|
assert.notExists(match, text);
|
536
568
|
});
|
569
|
+
|
570
|
+
it('match flex and grid values', () => {
|
571
|
+
const good = [
|
572
|
+
'flex',
|
573
|
+
'grid',
|
574
|
+
'inline-flex',
|
575
|
+
'inline-grid',
|
576
|
+
'block flex',
|
577
|
+
'block grid',
|
578
|
+
'inline flex',
|
579
|
+
'inline grid',
|
580
|
+
'inline grid !important',
|
581
|
+
'grid /* comment */',
|
582
|
+
];
|
583
|
+
const bad = ['flex block', 'grid inline', 'block', 'inline'];
|
584
|
+
for (const value of good) {
|
585
|
+
const {match, text} = matchSingleValue('display', value, new Elements.PropertyMatchers.FlexGridMatcher());
|
586
|
+
assert.exists(match, text);
|
587
|
+
assert.strictEqual(match.text.includes('flex'), match.isFlex);
|
588
|
+
}
|
589
|
+
for (const value of bad) {
|
590
|
+
const {match, text} = matchSingleValue('display', value, new Elements.PropertyMatchers.FlexGridMatcher());
|
591
|
+
assert.notExists(match, text);
|
592
|
+
}
|
593
|
+
});
|
537
594
|
});
|
@@ -256,7 +256,7 @@ const enum AnimationLonghandPart {
|
|
256
256
|
|
257
257
|
export class LinkableNameMatch implements Match {
|
258
258
|
constructor(
|
259
|
-
readonly text: string, readonly node: CodeMirror.SyntaxNode, readonly
|
259
|
+
readonly text: string, readonly node: CodeMirror.SyntaxNode, readonly propertyName: LinkableNameProperties) {
|
260
260
|
}
|
261
261
|
}
|
262
262
|
|
@@ -486,6 +486,42 @@ export class LengthMatcher extends matcherBase(LengthMatch) {
|
|
486
486
|
}
|
487
487
|
}
|
488
488
|
|
489
|
+
export class FlexGridMatch implements Match {
|
490
|
+
constructor(readonly text: string, readonly node: CodeMirror.SyntaxNode, readonly isFlex: boolean) {
|
491
|
+
}
|
492
|
+
}
|
493
|
+
|
494
|
+
// clang-format off
|
495
|
+
export class FlexGridMatcher extends matcherBase(FlexGridMatch) {
|
496
|
+
// clang-format on
|
497
|
+
static readonly FLEX = ['flex', 'inline-flex', 'block flex', 'inline flex'];
|
498
|
+
static readonly GRID = ['grid', 'inline-grid', 'block grid', 'inline grid'];
|
499
|
+
override accepts(propertyName: string): boolean {
|
500
|
+
return propertyName === 'display';
|
501
|
+
}
|
502
|
+
|
503
|
+
override matches(node: CodeMirror.SyntaxNode, matching: BottomUpTreeMatching): Match|null {
|
504
|
+
if (node.name !== 'Declaration') {
|
505
|
+
return null;
|
506
|
+
}
|
507
|
+
const valueNodes = ASTUtils.siblings(ASTUtils.declValue(node));
|
508
|
+
if (valueNodes.length < 1) {
|
509
|
+
return null;
|
510
|
+
}
|
511
|
+
const values = valueNodes.filter(node => node.name !== 'Important')
|
512
|
+
.map(node => matching.getComputedText(node).trim())
|
513
|
+
.filter(value => value);
|
514
|
+
const text = values.join(' ');
|
515
|
+
if (FlexGridMatcher.FLEX.includes(text)) {
|
516
|
+
return new FlexGridMatch(matching.ast.text(node), node, true);
|
517
|
+
}
|
518
|
+
if (FlexGridMatcher.GRID.includes(text)) {
|
519
|
+
return new FlexGridMatch(matching.ast.text(node), node, false);
|
520
|
+
}
|
521
|
+
return null;
|
522
|
+
}
|
523
|
+
}
|
524
|
+
|
489
525
|
export class GridTemplateMatch implements Match {
|
490
526
|
constructor(readonly text: string, readonly node: CodeMirror.SyntaxNode, readonly lines: CodeMirror.SyntaxNode[][]) {
|
491
527
|
}
|
@@ -689,3 +725,44 @@ export class CSSWideKeywordMatcher extends matcherBase(CSSWideKeywordMatch) {
|
|
689
725
|
return new CSSWideKeywordMatch(text, node, this.property, this.matchedStyles);
|
690
726
|
}
|
691
727
|
}
|
728
|
+
|
729
|
+
export class PositionTryMatch implements Match {
|
730
|
+
constructor(
|
731
|
+
readonly text: string, readonly node: CodeMirror.SyntaxNode, readonly preamble: CodeMirror.SyntaxNode[],
|
732
|
+
readonly fallbacks: CodeMirror.SyntaxNode[][]) {
|
733
|
+
}
|
734
|
+
}
|
735
|
+
|
736
|
+
// clang-format off
|
737
|
+
export class PositionTryMatcher extends matcherBase(PositionTryMatch) {
|
738
|
+
// clang-format on
|
739
|
+
override accepts(propertyName: string): boolean {
|
740
|
+
return propertyName === LinkableNameProperties.POSITION_TRY ||
|
741
|
+
propertyName === LinkableNameProperties.POSITION_TRY_FALLBACKS;
|
742
|
+
}
|
743
|
+
|
744
|
+
override matches(node: CodeMirror.SyntaxNode, matching: BottomUpTreeMatching): Match|null {
|
745
|
+
if (node.name !== 'Declaration') {
|
746
|
+
return null;
|
747
|
+
}
|
748
|
+
|
749
|
+
let preamble: CodeMirror.SyntaxNode[] = [];
|
750
|
+
const valueNodes = ASTUtils.siblings(ASTUtils.declValue(node));
|
751
|
+
const fallbacks = ASTUtils.split(valueNodes);
|
752
|
+
if (matching.ast.propertyName === LinkableNameProperties.POSITION_TRY) {
|
753
|
+
for (const [i, n] of fallbacks[0].entries()) {
|
754
|
+
const computedText = matching.getComputedText(n);
|
755
|
+
if (SDK.CSSMetadata.CSSMetadata.isCSSWideKeyword(computedText)) {
|
756
|
+
return null;
|
757
|
+
}
|
758
|
+
if (SDK.CSSMetadata.CSSMetadata.isPositionTryOrderKeyword(computedText)) {
|
759
|
+
preamble = fallbacks[0].splice(0, i + 1);
|
760
|
+
break;
|
761
|
+
}
|
762
|
+
}
|
763
|
+
}
|
764
|
+
|
765
|
+
const valueText = matching.ast.textRange(valueNodes[0], valueNodes[valueNodes.length - 1]);
|
766
|
+
return new PositionTryMatch(valueText, node, preamble, fallbacks);
|
767
|
+
}
|
768
|
+
}
|
@@ -6,9 +6,9 @@ import * as Buttons from '../../ui/components/buttons/buttons.js';
|
|
6
6
|
import * as UI from '../../ui/legacy/legacy.js';
|
7
7
|
|
8
8
|
import type * as ElementsComponents from './components/components.js';
|
9
|
-
import
|
9
|
+
import type {StylePropertiesSection} from './StylePropertiesSection.js';
|
10
10
|
import {StylePropertyTreeElement} from './StylePropertyTreeElement.js';
|
11
|
-
import
|
11
|
+
import type {StylesSidebarPane} from './StylesSidebarPane.js';
|
12
12
|
|
13
13
|
type PropertySelectedEvent = ElementsComponents.StylePropertyEditor.PropertySelectedEvent;
|
14
14
|
type PropertyDeselectedEvent = ElementsComponents.StylePropertyEditor.PropertyDeselectedEvent;
|
@@ -5,9 +5,9 @@
|
|
5
5
|
import type * as SDK from '../../core/sdk/sdk.js';
|
6
6
|
import {PanelUtils} from '../utils/utils.js';
|
7
7
|
|
8
|
-
import
|
8
|
+
import type {StylePropertiesSection} from './StylePropertiesSection.js';
|
9
9
|
import {StylePropertyTreeElement} from './StylePropertyTreeElement.js';
|
10
|
-
import
|
10
|
+
import type {StylesSidebarPane} from './StylesSidebarPane.js';
|
11
11
|
|
12
12
|
export class StylePropertyHighlighter {
|
13
13
|
private readonly styleSidebarPane: StylesSidebarPane;
|
@@ -295,8 +295,7 @@ describeWithMockConnection('StylePropertyTreeElement', () => {
|
|
295
295
|
const {valueElement} = stylePropertyTreeElement;
|
296
296
|
assert.exists(valueElement);
|
297
297
|
|
298
|
-
const swatch = valueElement.querySelector<InlineEditor.ColorSwatch.ColorSwatch>(
|
299
|
-
`${InlineEditor.ColorSwatch.ColorSwatch.litTagName.value}`);
|
298
|
+
const swatch = valueElement.querySelector<InlineEditor.ColorSwatch.ColorSwatch>('devtools-color-swatch');
|
300
299
|
|
301
300
|
assert.exists(swatch);
|
302
301
|
|
@@ -648,6 +647,7 @@ describeWithMockConnection('StylePropertyTreeElement', () => {
|
|
648
647
|
positionTryRules: [],
|
649
648
|
propertyRules: [],
|
650
649
|
cssPropertyRegistrations: [],
|
650
|
+
activePositionFallbackIndex: -1,
|
651
651
|
fontPaletteValuesRule: undefined,
|
652
652
|
});
|
653
653
|
}
|
@@ -1477,7 +1477,7 @@ describeWithMockConnection('StylePropertyTreeElement', () => {
|
|
1477
1477
|
});
|
1478
1478
|
|
1479
1479
|
describe('LengthRenderer', () => {
|
1480
|
-
it('renders the length
|
1480
|
+
it('renders the length tool', () => {
|
1481
1481
|
const stylePropertyTreeElement = getTreeElement('width', '100px');
|
1482
1482
|
stylePropertyTreeElement.updateTitle();
|
1483
1483
|
const swatch = stylePropertyTreeElement.valueElement?.querySelector('devtools-css-length');
|
@@ -1530,6 +1530,39 @@ describeWithMockConnection('StylePropertyTreeElement', () => {
|
|
1530
1530
|
});
|
1531
1531
|
});
|
1532
1532
|
|
1533
|
+
describe('PositionTryRenderer', () => {
|
1534
|
+
it('renders the position-try fallback values with correct styles', () => {
|
1535
|
+
mockMatchedStyles.activePositionFallbackIndex.returns(1);
|
1536
|
+
mockMatchedStyles.positionTryRules.returns([]);
|
1537
|
+
const stylePropertyTreeElement = getTreeElement('position-try-fallbacks', '--top, --left, --bottom');
|
1538
|
+
stylePropertyTreeElement.updateTitle();
|
1539
|
+
const values =
|
1540
|
+
stylePropertyTreeElement.valueElement?.querySelectorAll(':scope > span') as NodeListOf<HTMLElement>|
|
1541
|
+
undefined;
|
1542
|
+
assert.exists(values);
|
1543
|
+
assert.strictEqual(values?.length, 3);
|
1544
|
+
assert.strictEqual(values[0].style.textDecoration, 'line-through');
|
1545
|
+
assert.strictEqual(values[1].style.textDecoration, '');
|
1546
|
+
assert.strictEqual(values[2].style.textDecoration, 'line-through');
|
1547
|
+
});
|
1548
|
+
|
1549
|
+
it('renders the position-try correctly with keyword', () => {
|
1550
|
+
mockMatchedStyles.activePositionFallbackIndex.returns(1);
|
1551
|
+
mockMatchedStyles.positionTryRules.returns([]);
|
1552
|
+
const stylePropertyTreeElement =
|
1553
|
+
getTreeElement('position-try', '/* comment */ most-height --top, --left, --bottom');
|
1554
|
+
stylePropertyTreeElement.updateTitle();
|
1555
|
+
const values =
|
1556
|
+
stylePropertyTreeElement.valueElement?.querySelectorAll(':scope > span') as NodeListOf<HTMLElement>|
|
1557
|
+
undefined;
|
1558
|
+
assert.exists(values);
|
1559
|
+
assert.strictEqual(values?.length, 3);
|
1560
|
+
assert.strictEqual(values[0].style.textDecoration, 'line-through');
|
1561
|
+
assert.strictEqual(values[1].style.textDecoration, '');
|
1562
|
+
assert.strictEqual(values[2].style.textDecoration, 'line-through');
|
1563
|
+
});
|
1564
|
+
});
|
1565
|
+
|
1533
1566
|
describe('Autocompletion', function(this: Mocha.Suite) {
|
1534
1567
|
let promptStub: sinon.SinonStub<Parameters<Elements.StylesSidebarPane.CSSPropertyPrompt['initialize']>>;
|
1535
1568
|
beforeEach(async () => {
|
@@ -40,6 +40,8 @@ import {
|
|
40
40
|
ColorMixMatcher,
|
41
41
|
type CSSWideKeywordMatch,
|
42
42
|
CSSWideKeywordMatcher,
|
43
|
+
type FlexGridMatch,
|
44
|
+
FlexGridMatcher,
|
43
45
|
type FontMatch,
|
44
46
|
FontMatcher,
|
45
47
|
type GridTemplateMatch,
|
@@ -55,13 +57,15 @@ import {
|
|
55
57
|
LinkableNameProperties,
|
56
58
|
type PositionAnchorMatch,
|
57
59
|
PositionAnchorMatcher,
|
60
|
+
type PositionTryMatch,
|
61
|
+
PositionTryMatcher,
|
58
62
|
type ShadowMatch,
|
59
63
|
ShadowMatcher,
|
60
64
|
ShadowType,
|
61
65
|
} from './PropertyMatchers.js';
|
62
66
|
import {type MatchRenderer, Renderer, RenderingContext, StringRenderer, URLRenderer} from './PropertyRenderer.js';
|
63
67
|
import {StyleEditorWidget} from './StyleEditorWidget.js';
|
64
|
-
import
|
68
|
+
import type {StylePropertiesSection} from './StylePropertiesSection.js';
|
65
69
|
import {getCssDeclarationAsJavascriptProperty} from './StylePropertyUtils.js';
|
66
70
|
import {
|
67
71
|
CSSPropertyPrompt,
|
@@ -153,6 +157,37 @@ interface StylePropertyTreeElementParams {
|
|
153
157
|
newProperty: boolean;
|
154
158
|
}
|
155
159
|
|
160
|
+
export class FlexGridRenderer implements MatchRenderer<FlexGridMatch> {
|
161
|
+
#treeElement: StylePropertyTreeElement;
|
162
|
+
constructor(treeElement: StylePropertyTreeElement) {
|
163
|
+
this.#treeElement = treeElement;
|
164
|
+
}
|
165
|
+
|
166
|
+
matcher(): SDK.CSSPropertyParser.Matcher<FlexGridMatch> {
|
167
|
+
return new FlexGridMatcher();
|
168
|
+
}
|
169
|
+
|
170
|
+
render(match: FlexGridMatch, context: RenderingContext): Node[] {
|
171
|
+
const key =
|
172
|
+
`${this.#treeElement.section().getSectionIdx()}_${this.#treeElement.section().nextEditorTriggerButtonIdx}`;
|
173
|
+
const button = StyleEditorWidget.createTriggerButton(
|
174
|
+
this.#treeElement.parentPane(), this.#treeElement.section(), match.isFlex ? FlexboxEditor : GridEditor,
|
175
|
+
match.isFlex ? i18nString(UIStrings.flexboxEditorButton) : i18nString(UIStrings.gridEditorButton), key);
|
176
|
+
button.setAttribute(
|
177
|
+
'jslog', `${VisualLogging.showStyleEditor().track({click: true}).context(match.isFlex ? 'flex' : 'grid')}`);
|
178
|
+
this.#treeElement.section().nextEditorTriggerButtonIdx++;
|
179
|
+
button.addEventListener('click', () => {
|
180
|
+
Host.userMetrics.swatchActivated(
|
181
|
+
match.isFlex ? Host.UserMetrics.SwatchType.FLEX : Host.UserMetrics.SwatchType.GRID);
|
182
|
+
});
|
183
|
+
const helper = this.#treeElement.parentPane().swatchPopoverHelper();
|
184
|
+
if (helper.isShowing(StyleEditorWidget.instance()) && StyleEditorWidget.instance().getTriggerKey() === key) {
|
185
|
+
helper.setAnchorElement(button);
|
186
|
+
}
|
187
|
+
return [...Renderer.render(ASTUtils.siblings(ASTUtils.declValue(match.node)), context).nodes, button];
|
188
|
+
}
|
189
|
+
}
|
190
|
+
|
156
191
|
export class CSSWideKeywordRenderer implements MatchRenderer<CSSWideKeywordMatch> {
|
157
192
|
#treeElement: StylePropertyTreeElement;
|
158
193
|
constructor(treeElement: StylePropertyTreeElement) {
|
@@ -680,7 +715,7 @@ export class LinkableNameRenderer implements MatchRenderer<LinkableNameMatch> {
|
|
680
715
|
|
681
716
|
#getLinkData(match: LinkableNameMatch):
|
682
717
|
{jslogContext: string, metric: null|Host.UserMetrics.SwatchType, ruleBlock: string, isDefined: boolean} {
|
683
|
-
switch (match.
|
718
|
+
switch (match.propertyName) {
|
684
719
|
case LinkableNameProperties.ANIMATION:
|
685
720
|
case LinkableNameProperties.ANIMATION_NAME:
|
686
721
|
return {
|
@@ -1227,6 +1262,39 @@ export class PositionAnchorRenderer implements MatchRenderer<PositionAnchorMatch
|
|
1227
1262
|
}
|
1228
1263
|
}
|
1229
1264
|
|
1265
|
+
export class PositionTryRenderer implements MatchRenderer<PositionTryMatch> {
|
1266
|
+
#treeElement: StylePropertyTreeElement;
|
1267
|
+
|
1268
|
+
constructor(treeElement: StylePropertyTreeElement) {
|
1269
|
+
this.#treeElement = treeElement;
|
1270
|
+
}
|
1271
|
+
|
1272
|
+
render(match: PositionTryMatch, context: RenderingContext): Node[] {
|
1273
|
+
const content = [];
|
1274
|
+
if (match.preamble.length > 0) {
|
1275
|
+
const {nodes} = Renderer.render(match.preamble, context);
|
1276
|
+
content.push(...nodes);
|
1277
|
+
}
|
1278
|
+
for (const [i, fallback] of match.fallbacks.entries()) {
|
1279
|
+
const fallbackContent = document.createElement('span');
|
1280
|
+
if (i > 0) {
|
1281
|
+
fallbackContent.appendChild(document.createTextNode(', '));
|
1282
|
+
}
|
1283
|
+
if (i !== this.#treeElement.matchedStyles().activePositionFallbackIndex()) {
|
1284
|
+
fallbackContent.style.textDecoration = 'line-through';
|
1285
|
+
}
|
1286
|
+
Renderer.renderInto(fallback, context, fallbackContent);
|
1287
|
+
|
1288
|
+
content.push(fallbackContent);
|
1289
|
+
}
|
1290
|
+
return content;
|
1291
|
+
}
|
1292
|
+
|
1293
|
+
matcher(): PositionTryMatcher {
|
1294
|
+
return new PositionTryMatcher();
|
1295
|
+
}
|
1296
|
+
}
|
1297
|
+
|
1230
1298
|
export class StylePropertyTreeElement extends UI.TreeOutline.TreeElement {
|
1231
1299
|
private readonly style: SDK.CSSStyleDeclaration.CSSStyleDeclaration;
|
1232
1300
|
private matchedStylesInternal: SDK.CSSMatchedStyles.CSSMatchedStyles;
|
@@ -1653,6 +1721,8 @@ export class StylePropertyTreeElement extends UI.TreeOutline.TreeElement {
|
|
1653
1721
|
new LinearGradientRenderer(),
|
1654
1722
|
new AnchorFunctionRenderer(this),
|
1655
1723
|
new PositionAnchorRenderer(this),
|
1724
|
+
new FlexGridRenderer(this),
|
1725
|
+
new PositionTryRenderer(this),
|
1656
1726
|
new FontRenderer(this),
|
1657
1727
|
] :
|
1658
1728
|
[];
|
@@ -1701,30 +1771,6 @@ export class StylePropertyTreeElement extends UI.TreeOutline.TreeElement {
|
|
1701
1771
|
}
|
1702
1772
|
}
|
1703
1773
|
|
1704
|
-
if (this.valueElement && this.#parentSection.editable && this.property.name === 'display') {
|
1705
|
-
const propertyValue = this.property.trimmedValueWithoutImportant();
|
1706
|
-
const isFlex = propertyValue === 'flex' || propertyValue === 'inline-flex';
|
1707
|
-
const isGrid = propertyValue === 'grid' || propertyValue === 'inline-grid';
|
1708
|
-
if (isFlex || isGrid) {
|
1709
|
-
const key = `${this.#parentSection.getSectionIdx()}_${this.#parentSection.nextEditorTriggerButtonIdx}`;
|
1710
|
-
const button = StyleEditorWidget.createTriggerButton(
|
1711
|
-
this.parentPaneInternal, this.#parentSection, isFlex ? FlexboxEditor : GridEditor,
|
1712
|
-
isFlex ? i18nString(UIStrings.flexboxEditorButton) : i18nString(UIStrings.gridEditorButton), key);
|
1713
|
-
button.setAttribute(
|
1714
|
-
'jslog', `${VisualLogging.showStyleEditor().track({click: true}).context(isFlex ? 'flex' : 'grid')}`);
|
1715
|
-
this.#parentSection.nextEditorTriggerButtonIdx++;
|
1716
|
-
button.addEventListener('click', () => {
|
1717
|
-
Host.userMetrics.swatchActivated(
|
1718
|
-
isFlex ? Host.UserMetrics.SwatchType.FLEX : Host.UserMetrics.SwatchType.GRID);
|
1719
|
-
});
|
1720
|
-
this.listItemElement.appendChild(button);
|
1721
|
-
const helper = this.parentPaneInternal.swatchPopoverHelper();
|
1722
|
-
if (helper.isShowing(StyleEditorWidget.instance()) && StyleEditorWidget.instance().getTriggerKey() === key) {
|
1723
|
-
helper.setAnchorElement(button);
|
1724
|
-
}
|
1725
|
-
}
|
1726
|
-
}
|
1727
|
-
|
1728
1774
|
if (this.property.parsedOk) {
|
1729
1775
|
this.updateAuthoringHint();
|
1730
1776
|
} else {
|
@@ -73,6 +73,7 @@ describe('StylesSidebarPane', () => {
|
|
73
73
|
propertyRules: [],
|
74
74
|
cssPropertyRegistrations: [],
|
75
75
|
fontPaletteValuesRule: undefined,
|
76
|
+
activePositionFallbackIndex: -1,
|
76
77
|
});
|
77
78
|
|
78
79
|
const sectionBlocks =
|
@@ -99,6 +100,7 @@ describe('StylesSidebarPane', () => {
|
|
99
100
|
animationsPayload: [],
|
100
101
|
parentLayoutNodeId: undefined,
|
101
102
|
positionTryRules: [],
|
103
|
+
activePositionFallbackIndex: -1,
|
102
104
|
propertyRules: [],
|
103
105
|
cssPropertyRegistrations: [],
|
104
106
|
fontPaletteValuesRule: {
|
@@ -8,10 +8,9 @@ import * as IconButton from '../../ui/components/icon_button/icon_button.js';
|
|
8
8
|
import * as UI from '../../ui/legacy/legacy.js';
|
9
9
|
|
10
10
|
import * as ElementsComponents from './components/components.js';
|
11
|
+
import type {ElementsTreeElement} from './ElementsTreeElement.js';
|
11
12
|
import * as ElementsTreeOutline from './ElementsTreeOutline.js';
|
12
13
|
|
13
|
-
import {type ElementsTreeElement} from './ElementsTreeElement.js';
|
14
|
-
|
15
14
|
const UIStrings = {
|
16
15
|
/**
|
17
16
|
*@description Link text content in Elements Tree Outline of the Elements panel. When clicked, it "reveals" the true location of an element.
|
@@ -11,6 +11,8 @@ import * as LitHtml from '../../../ui/lit-html/lit-html.js';
|
|
11
11
|
|
12
12
|
import accessibilityTreeNodeStyles from './accessibilityTreeNode.css.js';
|
13
13
|
|
14
|
+
const {html} = LitHtml;
|
15
|
+
|
14
16
|
const UIStrings = {
|
15
17
|
/**
|
16
18
|
*@description Ignored node element text content in Accessibility Tree View of the Elements panel
|
@@ -52,7 +54,6 @@ export interface AccessibilityTreeNodeData {
|
|
52
54
|
}
|
53
55
|
|
54
56
|
export class AccessibilityTreeNode extends HTMLElement {
|
55
|
-
static readonly litTagName = LitHtml.literal`devtools-accessibility-tree-node`;
|
56
57
|
readonly #shadow = this.attachShadow({mode: 'open'});
|
57
58
|
|
58
59
|
#ignored = true;
|
@@ -75,20 +76,20 @@ export class AccessibilityTreeNode extends HTMLElement {
|
|
75
76
|
}
|
76
77
|
|
77
78
|
async #render(): Promise<void> {
|
78
|
-
const role =
|
79
|
-
const name =
|
79
|
+
const role = html`<span class='role-value'>${truncateTextIfNeeded(this.#role)}</span>`;
|
80
|
+
const name = html`"<span class='attribute-value'>${this.#name}</span>"`;
|
80
81
|
const properties = this.#properties.map(
|
81
82
|
({name, value}) => isPrintable(value.type) ?
|
82
|
-
|
83
|
+
html` <span class='attribute-name'>${name}</span>: <span class='attribute-value'>${
|
83
84
|
value.value}</span>` :
|
84
85
|
LitHtml.nothing);
|
85
|
-
const content =
|
86
|
-
|
86
|
+
const content =
|
87
|
+
this.#ignored ? html`<span>${i18nString(UIStrings.ignored)}</span>` : html`${role} ${name}${properties}`;
|
87
88
|
await Coordinator.RenderCoordinator.RenderCoordinator.instance().write(
|
88
89
|
`Accessibility node ${this.#id} render`, () => {
|
89
90
|
// clang-format off
|
90
91
|
LitHtml.render(
|
91
|
-
|
92
|
+
html`<div class='container'>${content}</div>`,
|
92
93
|
this.#shadow,
|
93
94
|
{host: this});
|
94
95
|
// clang-format on
|