chrome-devtools-frontend 1.0.1683520 → 1.0.1689415
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/.agents/skills/gerrit-cli/SKILL.md +29 -8
- package/.agents/skills/gerrit-cli/references/commands.md +51 -18
- package/.agents/skills/gerrit-cli/references/workflows.md +6 -6
- package/.agents/skills/gerrit-cli/scripts/import_upstream.py +43 -70
- package/AUTHORS +1 -0
- package/config/typescript/tsconfig.base.json +1 -0
- package/config/typescript/tsconfig.eslint.json +9 -0
- package/docs/contributing/issues.md +1 -1
- package/docs/styleguide/ux/writing.md +2 -2
- package/eslint.config.mjs +18 -10
- package/front_end/core/common/Base64.ts +1 -1
- package/front_end/core/common/Color.ts +28 -6
- package/front_end/core/common/ColorConverter.ts +12 -0
- package/front_end/core/common/Console.ts +2 -1
- package/front_end/core/common/Object.ts +2 -2
- package/front_end/core/common/ResourceType.ts +12 -13
- package/front_end/core/common/Revealer.ts +1 -1
- package/front_end/core/common/Settings.ts +2 -2
- package/front_end/core/common/TextDictionary.ts +2 -2
- package/front_end/core/common/Throttler.ts +1 -1
- package/front_end/core/host/InspectorFrontendHostAPI.ts +2 -2
- package/front_end/core/host/UserMetrics.ts +51 -37
- package/front_end/core/host/host.ts +1 -1
- package/front_end/core/i18n/i18nImpl.ts +1 -1
- package/front_end/core/platform/HostRuntime.ts +3 -3
- package/front_end/core/platform/KeyboardUtilities.ts +1 -1
- package/front_end/core/protocol_client/InspectorBackend.ts +7 -6
- package/front_end/core/root/Runtime.ts +4 -2
- package/front_end/core/sdk/AnimationModel.ts +1 -1
- package/front_end/core/sdk/CPUThrottlingManager.ts +198 -0
- package/front_end/core/sdk/CSSMetadata.ts +11 -6
- package/front_end/core/sdk/CSSPropertyParser.ts +5 -3
- package/front_end/core/sdk/CSSPropertyParserMatchers.ts +90 -59
- package/front_end/core/sdk/ConsoleModel.ts +1 -1
- package/front_end/core/sdk/DOMModel.ts +3 -3
- package/front_end/core/sdk/DebuggerModel.ts +1 -1
- package/front_end/core/sdk/EmulationModel.ts +5 -0
- package/front_end/core/sdk/LayerTreeBase.ts +1 -1
- package/front_end/core/sdk/NetworkManager.ts +1 -1
- package/front_end/core/sdk/README.md +40 -0
- package/front_end/core/sdk/RehydratingConnection.ts +1 -1
- package/front_end/core/sdk/RemoteObject.ts +1 -1
- package/front_end/core/sdk/ResourceTreeModel.ts +2 -2
- package/front_end/core/sdk/SDKModel.ts +1 -1
- package/front_end/core/sdk/SDKSettings.ts +6 -0
- package/front_end/core/sdk/Script.ts +2 -1
- package/front_end/core/sdk/SecurityOrigin.ts +48 -0
- package/front_end/core/sdk/ServiceWorkerCacheModel.ts +0 -7
- package/front_end/core/sdk/ServiceWorkerManager.ts +75 -17
- package/front_end/core/sdk/StorageBucketsModel.ts +0 -6
- package/front_end/core/sdk/sdk.ts +2 -0
- package/front_end/core/text_utils/ContentData.ts +1 -1
- package/front_end/entrypoints/formatter_worker/FormattedContentBuilder.ts +3 -1
- package/front_end/entrypoints/formatter_worker/FormatterWorker.ts +1 -1
- package/front_end/entrypoints/formatter_worker/ScopeParser.ts +2 -2
- package/front_end/entrypoints/formatter_worker/Substitute.ts +1 -1
- package/front_end/entrypoints/formatter_worker/formatter_worker-entrypoint.ts +1 -1
- package/front_end/entrypoints/inspector_main/InspectorMain.ts +1 -1
- package/front_end/entrypoints/inspector_main/OutermostTargetSelector.ts +1 -1
- package/front_end/entrypoints/inspector_main/nodeIcon.css +1 -1
- package/front_end/entrypoints/inspector_main/outermostTargetSelector.css +3 -3
- package/front_end/entrypoints/inspector_main/renderingOptions.css +3 -3
- package/front_end/entrypoints/js_app/js_app.ts +25 -9
- package/front_end/entrypoints/main/MainImpl.ts +2 -1
- package/front_end/entrypoints/main/main-meta.ts +5 -31
- package/front_end/entrypoints/node_app/app/nodeConnectionsPanel.css +5 -5
- package/front_end/entrypoints/node_app/node_app.ts +1 -1
- package/front_end/foundation/Universe.ts +7 -0
- package/front_end/generated/ARIAProperties.ts +39 -1
- package/front_end/generated/InspectorBackendCommands.ts +13 -22
- package/front_end/generated/SupportedCSSProperties.ts +60 -119
- package/front_end/generated/protocol-mapping.d.ts +18 -59
- package/front_end/generated/protocol-proxy-api.d.ts +14 -47
- package/front_end/generated/protocol.ts +104 -331
- package/front_end/models/ai_assistance/AiAgent2.ts +25 -11
- package/front_end/models/ai_assistance/AiConversation.ts +23 -14
- package/front_end/models/ai_assistance/AiHistoryStorage.ts +2 -2
- package/front_end/models/ai_assistance/AiUtils.ts +16 -0
- package/front_end/models/ai_assistance/EvaluateAction.ts +1 -1
- package/front_end/models/ai_assistance/README.md +1 -1
- package/front_end/models/ai_assistance/agents/AccessibilityAgent.ts +2 -3
- package/front_end/models/ai_assistance/agents/AiAgent.ts +40 -25
- package/front_end/models/ai_assistance/agents/ContextSelectionAgent.ts +4 -3
- package/front_end/models/ai_assistance/agents/FileAgent.ts +2 -2
- package/front_end/models/ai_assistance/agents/NetworkAgent.ts +2 -2
- package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +1 -1
- package/front_end/models/ai_assistance/agents/StorageAgent.ts +13 -11
- package/front_end/models/ai_assistance/agents/StylingAgent.snapshot.txt +2 -2
- package/front_end/models/ai_assistance/agents/StylingAgent.ts +9 -7
- package/front_end/models/ai_assistance/ai_assistance.ts +12 -0
- package/front_end/models/ai_assistance/contexts/AccessibilityContext.ts +16 -1
- package/front_end/models/ai_assistance/contexts/FileContext.ts +6 -0
- package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.snapshot.txt +150 -325
- package/front_end/models/ai_assistance/injected.ts +5 -3
- package/front_end/models/ai_assistance/performance/AIContext.ts +1 -1
- package/front_end/models/ai_assistance/skills/README.md +1 -1
- package/front_end/models/ai_assistance/skills/accessibility.md +19 -10
- package/front_end/models/ai_assistance/skills/network.md +13 -7
- package/front_end/models/ai_assistance/skills/performance.md +22 -16
- package/front_end/models/ai_assistance/skills/sources.md +13 -7
- package/front_end/models/ai_assistance/skills/storage.md +19 -18
- package/front_end/models/ai_assistance/skills/styling.md +30 -37
- package/front_end/models/ai_assistance/tools/CookieUtils.ts +120 -0
- package/front_end/models/ai_assistance/tools/DOMStorageUtils.ts +53 -4
- package/front_end/models/ai_assistance/tools/ExecuteJavaScript.ts +8 -32
- package/front_end/models/ai_assistance/tools/GetCookieValues.ts +146 -0
- package/front_end/models/ai_assistance/tools/GetDetailedCallTree.ts +11 -9
- package/front_end/models/ai_assistance/tools/GetElementAccessibilityDetails.ts +17 -5
- package/front_end/models/ai_assistance/tools/GetFunctionCode.ts +12 -11
- package/front_end/models/ai_assistance/tools/GetInsightDetails.ts +11 -11
- package/front_end/models/ai_assistance/tools/GetLighthouseAudits.ts +15 -8
- package/front_end/models/ai_assistance/tools/GetNetworkRequestDetails.ts +3 -3
- package/front_end/models/ai_assistance/tools/GetResourceContent.ts +12 -12
- package/front_end/models/ai_assistance/tools/GetSourceContent.ts +3 -2
- package/front_end/models/ai_assistance/tools/GetStorageBreakdown.ts +132 -0
- package/front_end/models/ai_assistance/tools/GetStorageValues.ts +18 -5
- package/front_end/models/ai_assistance/tools/GetStyles.ts +3 -3
- package/front_end/models/ai_assistance/tools/GetTraceEventByKey.ts +9 -8
- package/front_end/models/ai_assistance/tools/GetTraceMainThreadSummary.ts +13 -14
- package/front_end/models/ai_assistance/tools/GetTraceNetworkSummary.ts +12 -10
- package/front_end/models/ai_assistance/tools/ListCookies.ts +93 -0
- package/front_end/models/ai_assistance/tools/ListNetworkRequests.ts +15 -6
- package/front_end/models/ai_assistance/tools/ListPageOrigins.ts +3 -3
- package/front_end/models/ai_assistance/tools/ListSources.ts +5 -3
- package/front_end/models/ai_assistance/tools/ListStorageKeys.ts +17 -5
- package/front_end/models/ai_assistance/tools/RecordPerformanceTrace.ts +3 -2
- package/front_end/models/ai_assistance/tools/ResolveDevtoolsNodePath.ts +4 -3
- package/front_end/models/ai_assistance/tools/RunLighthouse.ts +14 -17
- package/front_end/models/ai_assistance/tools/SelectTraceEventByKey.ts +9 -8
- package/front_end/models/ai_assistance/tools/Tool.ts +36 -13
- package/front_end/models/ai_assistance/tools/ToolRegistry.ts +41 -8
- package/front_end/models/badges/AiExplorerBadge.ts +3 -3
- package/front_end/models/badges/CodeWhispererBadge.ts +2 -2
- package/front_end/models/badges/DOMDetectiveBadge.ts +3 -3
- package/front_end/models/badges/SpeedsterBadge.ts +3 -3
- package/front_end/models/badges/StarterBadge.ts +4 -4
- package/front_end/models/bindings/CompilerScriptMapping.ts +11 -2
- package/front_end/models/bindings/ContentProviderBasedProject.ts +3 -2
- package/front_end/models/breakpoints/BreakpointManager.ts +1 -1
- package/front_end/models/emulation/EmulatedDevices.ts +2 -2
- package/front_end/models/formatter/FormatterWorkerPool.ts +2 -2
- package/front_end/models/formatter/ScriptFormatter.ts +1 -2
- package/front_end/models/geometry/GeometryImpl.ts +2 -2
- package/front_end/models/heap_snapshot/HeapSnapshotModel.ts +1 -1
- package/front_end/models/heap_snapshot/HeapSnapshotProxy.ts +3 -2
- package/front_end/models/issues_manager/ContentSecurityPolicyIssue.ts +5 -5
- package/front_end/models/issues_manager/DOMIssuesManager.ts +144 -0
- package/front_end/models/issues_manager/ElementAccessibilityIssue.ts +13 -1
- package/front_end/models/issues_manager/GenericIssue.ts +32 -20
- package/front_end/models/issues_manager/IssuesManager.ts +0 -1
- package/front_end/models/issues_manager/StylesheetLoadingIssue.ts +1 -1
- package/front_end/models/issues_manager/issues_manager.ts +2 -0
- package/front_end/models/javascript_metadata/{NativeFunctions.js → NativeFunctions.ts} +29 -9
- package/front_end/models/live-metrics/LiveMetrics.ts +9 -3
- package/front_end/models/live-metrics/web-vitals-injected/spec/spec.ts +58 -6
- package/front_end/models/live-metrics/web-vitals-injected/web-vitals-injected.ts +2 -62
- package/front_end/models/network_time_calculator/RequestTimeRanges.ts +2 -2
- package/front_end/models/persistence/AutomaticFileSystemWorkspaceBinding.ts +5 -0
- package/front_end/models/persistence/IsolatedFileSystem.ts +1 -1
- package/front_end/models/persistence/NetworkPersistenceManager.ts +35 -6
- package/front_end/models/stack_trace/StackTraceImpl.ts +2 -2
- package/front_end/models/trace/LanternComputationData.ts +2 -3
- package/front_end/models/trace/extras/StackTraceForEvent.ts +3 -2
- package/front_end/models/trace/extras/ThirdParties.ts +9 -9
- package/front_end/models/trace/handlers/AsyncJSCallsHandler.ts +7 -4
- package/front_end/models/trace/handlers/FramesHandler.ts +3 -3
- package/front_end/models/trace/handlers/LayoutShiftsHandler.ts +2 -2
- package/front_end/models/trace/handlers/SamplesHandler.ts +4 -2
- package/front_end/models/trace/handlers/UserInteractionsHandler.ts +1 -1
- package/front_end/models/trace/handlers/WarningsHandler.ts +2 -2
- package/front_end/models/trace/helpers/Network.ts +3 -3
- package/front_end/models/trace/helpers/Trace.ts +1 -1
- package/front_end/models/trace/insights/CLSCulprits.ts +2 -1
- package/front_end/models/trace/insights/Cache.ts +3 -1
- package/front_end/models/trace/insights/CharacterSet.ts +3 -1
- package/front_end/models/trace/insights/DOMSize.ts +3 -1
- package/front_end/models/trace/insights/DocumentLatency.ts +3 -1
- package/front_end/models/trace/insights/DuplicatedJavaScript.ts +3 -1
- package/front_end/models/trace/insights/FontDisplay.ts +2 -1
- package/front_end/models/trace/insights/ForcedReflow.ts +2 -1
- package/front_end/models/trace/insights/INPBreakdown.ts +3 -1
- package/front_end/models/trace/insights/ImageDelivery.ts +3 -1
- package/front_end/models/trace/insights/LCPBreakdown.ts +3 -1
- package/front_end/models/trace/insights/LCPDiscovery.ts +3 -1
- package/front_end/models/trace/insights/LegacyJavaScript.ts +3 -1
- package/front_end/models/trace/insights/ModernHTTP.ts +2 -1
- package/front_end/models/trace/insights/NetworkDependencyTree.ts +2 -1
- package/front_end/models/trace/insights/RenderBlocking.ts +5 -4
- package/front_end/models/trace/insights/SlowCSSSelector.ts +3 -1
- package/front_end/models/trace/insights/ThirdParties.ts +5 -3
- package/front_end/models/trace/insights/Viewport.ts +2 -1
- package/front_end/models/trace/lantern/simulation/Constants.ts +34 -2
- package/front_end/models/trace/lantern/simulation/DNSCache.ts +1 -1
- package/front_end/models/trace/types/TraceEvents.ts +8 -3
- package/front_end/models/trace_source_maps_resolver/SourceMapsResolver.ts +2 -1
- package/front_end/models/workspace/WorkspaceImpl.ts +18 -2
- package/front_end/panels/accessibility/AccessibilityAnnouncementRecordingView.ts +686 -2
- package/front_end/panels/accessibility/accessibilityNode.css +4 -4
- package/front_end/panels/accessibility/accessibilityProperties.css +1 -1
- package/front_end/panels/accessibility/accessibilitySidebarView.css +2 -2
- package/front_end/panels/accessibility/axBreadcrumbs.css +13 -13
- package/front_end/panels/ai_assistance/AiAssistancePanel.ts +14 -14
- package/front_end/panels/ai_assistance/ExternalHandler.ts +89 -0
- package/front_end/panels/ai_assistance/aiAssistancePanel.css +1 -1
- package/front_end/panels/ai_assistance/ai_assistance.ts +1 -0
- package/front_end/panels/ai_assistance/components/ChatInput.ts +3 -2
- package/front_end/panels/ai_assistance/components/ChatView.ts +1 -1
- package/front_end/panels/ai_assistance/components/DisabledWidget.ts +1 -1
- package/front_end/panels/ai_assistance/components/ExploreWidget.ts +1 -1
- package/front_end/panels/ai_assistance/components/chatInput.css +12 -12
- package/front_end/panels/ai_assistance/components/chatMessage.css +16 -16
- package/front_end/panels/ai_assistance/components/chatView.css +2 -2
- package/front_end/panels/ai_assistance/components/exploreWidget.css +1 -1
- package/front_end/panels/ai_assistance/components/exportForAgentsDialog.css +4 -0
- package/front_end/panels/ai_assistance/components/walkthroughView.css +6 -6
- package/front_end/panels/animation/animationTimeline.css +62 -62
- package/front_end/panels/application/ApplicationPanelSidebar.ts +6 -1
- package/front_end/panels/application/BackgroundServiceModel.ts +4 -3
- package/front_end/panels/application/BackgroundServiceView.ts +290 -252
- package/front_end/panels/application/IndexedDBModel.ts +0 -7
- package/front_end/panels/application/WebMCPView.ts +15 -7
- package/front_end/panels/application/appManifestView.css +5 -5
- package/front_end/panels/application/backgroundServiceView.css +18 -2
- package/front_end/panels/application/components/AdsView.ts +100 -4
- package/front_end/panels/application/components/adsView.css +8 -5
- package/front_end/panels/application/components/backForwardCacheView.css +5 -5
- package/front_end/panels/application/components/bounceTrackingMitigationsView.css +1 -1
- package/front_end/panels/application/components/endpointsGrid.css +1 -1
- package/front_end/panels/application/components/permissionsPolicySection.css +1 -1
- package/front_end/panels/application/components/protocolHandlersView.css +6 -6
- package/front_end/panels/application/components/reportsGrid.css +1 -1
- package/front_end/panels/application/components/serviceWorkerRouterView.css +4 -4
- package/front_end/panels/application/components/trustTokensView.css +7 -7
- package/front_end/panels/application/cookieItemsView.css +3 -3
- package/front_end/panels/application/deviceBoundSessionsView.css +3 -3
- package/front_end/panels/application/frameDetailsReportView.css +11 -11
- package/front_end/panels/application/indexedDBViews.css +7 -7
- package/front_end/panels/application/originTrialTokenRows.css +2 -2
- package/front_end/panels/application/originTrialTreeView.css +3 -3
- package/front_end/panels/application/preloading/components/RuleSetDetailsView.css +2 -2
- package/front_end/panels/application/preloading/components/preloadingDetailsReportView.css +1 -1
- package/front_end/panels/application/preloading/components/preloadingDisabledInfobar.css +2 -2
- package/front_end/panels/application/preloading/components/preloadingGrid.css +2 -2
- package/front_end/panels/application/preloading/components/usedPreloadingView.css +7 -7
- package/front_end/panels/application/preloading/preloadingView.css +1 -1
- package/front_end/panels/application/preloading/preloadingViewDropDown.css +3 -3
- package/front_end/panels/application/serviceWorkerCacheViews.css +5 -5
- package/front_end/panels/application/serviceWorkerUpdateCycleView.css +12 -12
- package/front_end/panels/application/serviceWorkersView.css +15 -16
- package/front_end/panels/application/storageView.css +5 -5
- package/front_end/panels/application/webMCPView.css +9 -9
- package/front_end/panels/autofill/autofillView.css +4 -4
- package/front_end/panels/browser_debugger/categorizedBreakpointsSidebarPane.css +4 -4
- package/front_end/panels/browser_debugger/domBreakpointsSidebarPane.css +5 -3
- package/front_end/panels/browser_debugger/xhrBreakpointsSidebarPane.css +4 -4
- package/front_end/panels/changes/changesSidebar.css +1 -1
- package/front_end/panels/changes/changesView.css +1 -1
- package/front_end/panels/changes/combinedDiffView.css +1 -1
- package/front_end/panels/common/CPUThrottlingOption.ts +5 -10
- package/front_end/panels/common/badgeNotification.css +2 -2
- package/front_end/panels/common/domLinkifier.css +1 -1
- package/front_end/panels/common/gdpSignUpDialog.css +3 -3
- package/front_end/panels/common/geminiRebrandPromoDialog.css +1 -1
- package/front_end/panels/console/ConsolePrompt.ts +6 -3
- package/front_end/panels/console/ConsoleView.ts +23 -19
- package/front_end/panels/console/ConsoleViewMessage.ts +7 -2
- package/front_end/panels/console/console-meta.ts +9 -43
- package/front_end/panels/console/consoleContextSelector.css +2 -2
- package/front_end/panels/console/consolePinPane.css +9 -9
- package/front_end/panels/console/consolePrompt.css +5 -5
- package/front_end/panels/console/consoleView.css +39 -39
- package/front_end/panels/coverage/coverageListView.css +2 -2
- package/front_end/panels/css_overview/cssOverviewCompletedView.css +34 -34
- package/front_end/panels/css_overview/cssOverviewProcessingView.css +5 -5
- package/front_end/panels/css_overview/cssOverviewSidebarPanel.css +1 -1
- package/front_end/panels/css_overview/cssOverviewStartView.css +17 -17
- package/front_end/panels/elements/AdoptedStyleSheetTreeElement.ts +209 -62
- package/front_end/panels/elements/ColorSwatchPopoverIcon.ts +4 -4
- package/front_end/panels/elements/DOMTreeContextMenu.ts +59 -54
- package/front_end/panels/elements/ElementIssueUtils.ts +10 -2
- package/front_end/panels/elements/ElementsPanel.ts +5 -2
- package/front_end/panels/elements/ElementsTreeElement.ts +212 -255
- package/front_end/panels/elements/ElementsTreeOutline.ts +1804 -495
- package/front_end/panels/elements/ShortcutTreeElement.ts +6 -3
- package/front_end/panels/elements/StandaloneStylesContainer.ts +5 -11
- package/front_end/panels/elements/StylePropertiesSection.ts +65 -8
- package/front_end/panels/elements/StylePropertyTreeElement.ts +8 -0
- package/front_end/panels/elements/StylesContainer.ts +1 -0
- package/front_end/panels/elements/StylesSidebarPane.ts +317 -159
- package/front_end/panels/elements/classesPaneWidget.css +6 -6
- package/front_end/panels/elements/components/stylePropertyEditor.css +7 -7
- package/front_end/panels/elements/computedStyleWidget.css +1 -1
- package/front_end/panels/elements/elementStatePaneWidget.css +8 -8
- package/front_end/panels/elements/elements-meta.ts +14 -0
- package/front_end/panels/elements/elementsPanel.css +4 -4
- package/front_end/panels/elements/elementsTreeOutline.css +222 -38
- package/front_end/panels/elements/layersWidget.css +4 -4
- package/front_end/panels/elements/layoutPane.css +18 -18
- package/front_end/panels/elements/metricsSidebarPane.css +11 -11
- package/front_end/panels/elements/platformFontsWidget.css +5 -5
- package/front_end/panels/elements/propertiesWidget.css +2 -2
- package/front_end/panels/elements/stylePropertiesTreeOutline.css +20 -20
- package/front_end/panels/elements/stylesSidebarPane.css +37 -20
- package/front_end/panels/emulation/deviceModeView.css +49 -49
- package/front_end/panels/emulation/mediaQueryInspector.css +18 -18
- package/front_end/panels/event_listeners/eventListenersView.css +1 -1
- package/front_end/panels/explain/components/consoleInsight.css +29 -29
- package/front_end/panels/issues/components/elementsPanelLink.css +2 -2
- package/front_end/panels/issues/components/hideIssuesMenu.css +1 -1
- package/front_end/panels/issues/issuesPane.css +2 -2
- package/front_end/panels/issues/issuesTree.css +50 -50
- package/front_end/panels/layer_viewer/Layers3DView.ts +9 -10
- package/front_end/panels/layer_viewer/layerDetailsView.css +1 -1
- package/front_end/panels/layer_viewer/layerTreeOutline.css +2 -2
- package/front_end/panels/layer_viewer/layers3DView.css +1 -1
- package/front_end/panels/layer_viewer/paintProfiler.css +1 -1
- package/front_end/panels/lighthouse/LighthouseReportSelector.ts +2 -2
- package/front_end/panels/media/playerListView.css +9 -9
- package/front_end/panels/media/playerMessagesView.css +8 -8
- package/front_end/panels/media/playerPropertiesView.css +6 -6
- package/front_end/panels/mobile_throttling/NetworkPanelIndicator.ts +1 -1
- package/front_end/panels/mobile_throttling/throttlingSettingsTab.css +9 -9
- package/front_end/panels/network/NetworkDataGridNode.ts +1 -0
- package/front_end/panels/network/NetworkPanel.ts +9 -4
- package/front_end/panels/network/RequestConditionsDrawer.ts +12 -12
- package/front_end/panels/network/RequestPayloadView.ts +78 -26
- package/front_end/panels/network/binaryResourceView.css +1 -1
- package/front_end/panels/network/components/EditableSpan.css +3 -3
- package/front_end/panels/network/components/HeaderSectionRow.css +14 -14
- package/front_end/panels/network/components/RequestHeaderSection.css +7 -7
- package/front_end/panels/network/components/RequestHeadersView.css +18 -18
- package/front_end/panels/network/components/RequestTrustTokensView.css +1 -1
- package/front_end/panels/network/network-meta.ts +9 -9
- package/front_end/panels/network/networkConfigView.css +11 -11
- package/front_end/panels/network/networkLogView.css +35 -35
- package/front_end/panels/network/networkManageCustomHeadersView.css +1 -1
- package/front_end/panels/network/networkPanel.css +7 -7
- package/front_end/panels/network/networkTimingTable.css +13 -13
- package/front_end/panels/network/requestConditionsDrawer.css +4 -4
- package/front_end/panels/network/requestCookiesView.css +5 -5
- package/front_end/panels/network/requestDeviceBoundSessionsView.css +1 -1
- package/front_end/panels/network/requestHTMLView.css +1 -1
- package/front_end/panels/network/requestHeadersTree.css +19 -19
- package/front_end/panels/network/requestInitiatorView.css +1 -1
- package/front_end/panels/network/requestInitiatorViewTree.css +3 -3
- package/front_end/panels/network/requestPayloadTree.css +5 -5
- package/front_end/panels/network/requestPayloadView.css +1 -1
- package/front_end/panels/network/resourceChunkView.css +3 -3
- package/front_end/panels/network/signedExchangeInfoTree.css +6 -6
- package/front_end/panels/profiler/heapProfiler.css +15 -15
- package/front_end/panels/profiler/profileLauncherView.css +10 -10
- package/front_end/panels/recorder/RecordingView.ts +1 -1
- package/front_end/panels/recorder/StepEditor.ts +86 -7
- package/front_end/panels/recorder/TimelineSection.ts +2 -1
- package/front_end/panels/recorder/createRecordingView.css +17 -17
- package/front_end/panels/recorder/extensionView.css +5 -5
- package/front_end/panels/recorder/injected/RecordingClient.ts +1 -1
- package/front_end/panels/recorder/models/SchemaUtils.ts +2 -2
- package/front_end/panels/recorder/models/ScreenshotStorage.ts +1 -1
- package/front_end/panels/recorder/recorderPanel.css +7 -7
- package/front_end/panels/recorder/recordingListView.css +12 -12
- package/front_end/panels/recorder/recordingView.css +47 -47
- package/front_end/panels/recorder/stepEditor.css +2 -2
- package/front_end/panels/recorder/stepView.css +20 -20
- package/front_end/panels/recorder/timelineSection.css +9 -9
- package/front_end/panels/screencast/screencastView.css +12 -12
- package/front_end/panels/search/searchResultsPane.css +10 -10
- package/front_end/panels/search/searchView.css +9 -9
- package/front_end/panels/security/SecurityPanel.ts +84 -54
- package/front_end/panels/security/SecurityPanelSidebar.ts +0 -32
- package/front_end/panels/security/mainView.css +26 -26
- package/front_end/panels/security/originView.css +15 -15
- package/front_end/panels/sensors/locationsSettingsTab.css +6 -6
- package/front_end/panels/sensors/sensors.css +28 -28
- package/front_end/panels/settings/KeybindsSettingsTab.ts +5 -2
- package/front_end/panels/settings/components/syncSection.css +5 -5
- package/front_end/panels/settings/emulation/components/userAgentClientHintsForm.css +13 -13
- package/front_end/panels/settings/emulation/devicesSettingsTab.css +16 -16
- package/front_end/panels/settings/frameworkIgnoreListSettingsTab.css +2 -2
- package/front_end/panels/settings/keybindsSettingsTab.css +2 -2
- package/front_end/panels/settings/settingsScreen.css +5 -5
- package/front_end/panels/sources/UISourceCodeFrame.ts +1 -1
- package/front_end/panels/sources/breakpointEditDialog.css +9 -9
- package/front_end/panels/sources/breakpointsView.css +25 -25
- package/front_end/panels/sources/callStackSidebarPane.css +10 -10
- package/front_end/panels/sources/components/HeadersView.css +6 -6
- package/front_end/panels/sources/debuggerPausedMessage.css +4 -4
- package/front_end/panels/sources/dialog.css +2 -2
- package/front_end/panels/sources/navigatorTree.css +2 -2
- package/front_end/panels/sources/navigatorView.css +2 -2
- package/front_end/panels/sources/scopeChainSidebarPane.css +1 -1
- package/front_end/panels/sources/sourcesNavigator.css +1 -1
- package/front_end/panels/sources/sourcesPanel.css +2 -2
- package/front_end/panels/sources/sourcesView.css +1 -1
- package/front_end/panels/sources/threadsSidebarPane.css +5 -5
- package/front_end/panels/sources/watchExpressionsSidebarPane.css +8 -8
- package/front_end/panels/timeline/TimelineDetailsView.ts +9 -21
- package/front_end/panels/timeline/TimelineFlameChartView.ts +3 -5
- package/front_end/panels/timeline/TimelineMiniMap.ts +3 -3
- package/front_end/panels/timeline/components/BreadcrumbsUI.ts +2 -6
- package/front_end/panels/timeline/components/CWVMetrics.ts +9 -10
- package/front_end/panels/timeline/components/DetailsView.ts +12 -16
- package/front_end/panels/timeline/components/ExportTraceOptions.ts +13 -13
- package/front_end/panels/timeline/components/FieldSettingsDialog.ts +19 -19
- package/front_end/panels/timeline/components/IgnoreListSetting.ts +7 -9
- package/front_end/panels/timeline/components/InteractionBreakdown.ts +3 -3
- package/front_end/panels/timeline/components/LayoutShiftDetails.ts +13 -13
- package/front_end/panels/timeline/components/LiveMetricsView.ts +65 -65
- package/front_end/panels/timeline/components/MetricCard.ts +25 -25
- package/front_end/panels/timeline/components/NetworkRequestDetails.ts +22 -22
- package/front_end/panels/timeline/components/NetworkRequestTooltip.ts +9 -9
- package/front_end/panels/timeline/components/OriginMap.ts +7 -7
- package/front_end/panels/timeline/components/RelatedInsightChips.ts +2 -2
- package/front_end/panels/timeline/components/SidebarAnnotationsTab.ts +19 -20
- package/front_end/panels/timeline/components/SidebarSingleInsightSet.ts +1 -1
- package/front_end/panels/timeline/components/TimelineSummary.ts +2 -2
- package/front_end/panels/timeline/components/Utils.ts +2 -6
- package/front_end/panels/timeline/components/breadcrumbsUI.css +3 -3
- package/front_end/panels/timeline/components/exportTraceOptions.css +1 -1
- package/front_end/panels/timeline/components/fieldSettingsDialog.css +13 -13
- package/front_end/panels/timeline/components/ignoreListSetting.css +3 -3
- package/front_end/panels/timeline/components/insights/BaseInsightComponent.ts +6 -9
- package/front_end/panels/timeline/components/insights/Checklist.ts +2 -2
- package/front_end/panels/timeline/components/insights/Table.ts +1 -1
- package/front_end/panels/timeline/components/liveMetricsView.css +39 -39
- package/front_end/panels/timeline/components/metricCard.css +20 -20
- package/front_end/panels/timeline/components/networkRequestDetails.css +9 -9
- package/front_end/panels/timeline/components/networkRequestTooltip.css +14 -14
- package/front_end/panels/timeline/components/networkTrackWidget.css +2 -2
- package/front_end/panels/timeline/components/originMap.css +4 -4
- package/front_end/panels/timeline/components/relatedInsightChips.css +1 -1
- package/front_end/panels/timeline/components/sidebarAnnotationsTab.css +4 -4
- package/front_end/panels/timeline/components/sidebarInsightsTab.css +5 -5
- package/front_end/panels/timeline/components/sidebarSingleInsightSet.css +1 -1
- package/front_end/panels/timeline/components/timelineSummary.css +4 -4
- package/front_end/panels/timeline/overlays/OverlaysImpl.ts +4 -4
- package/front_end/panels/timeline/overlays/components/EntriesLinkOverlay.ts +1 -1
- package/front_end/panels/timeline/overlays/components/EntryLabelOverlay.ts +6 -6
- package/front_end/panels/timeline/overlays/components/TimeRangeOverlay.ts +1 -1
- package/front_end/panels/timeline/thirdPartyTreeView.css +5 -5
- package/front_end/panels/timeline/timeline-meta.ts +0 -6
- package/front_end/panels/timeline/timelineDetailsView.css +11 -11
- package/front_end/panels/timeline/timelinePanel.css +20 -20
- package/front_end/panels/timeline/timelineTreeView.css +8 -8
- package/front_end/panels/webauthn/webauthnPane.css +6 -6
- package/front_end/panels/whats_new/ReleaseNoteText.ts +2 -2
- package/front_end/third_party/chromium/README.chromium +1 -1
- package/front_end/third_party/i18n/i18n-impl.ts +1 -1
- package/front_end/third_party/puppeteer/README.chromium +2 -2
- package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.d.ts +15 -1
- package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +42 -8
- package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Frame.d.ts +4 -0
- package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Frame.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Frame.js +15 -2
- package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Frame.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/WebMCP.d.ts +14 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/WebMCP.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/WebMCP.js +23 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/WebMCP.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/generated/injected.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/generated/injected.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/generated/injected.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/generated/injected.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/injected/Poller.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/injected/Poller.js +77 -6
- package/front_end/third_party/puppeteer/package/lib/puppeteer/injected/Poller.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/revisions.d.ts +3 -3
- package/front_end/third_party/puppeteer/package/lib/puppeteer/revisions.js +3 -3
- package/front_end/third_party/puppeteer/package/lib/puppeteer/revisions.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/util/version.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/puppeteer/util/version.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/types.d.ts +15 -1
- package/front_end/third_party/puppeteer/package/package.json +2 -2
- package/front_end/third_party/puppeteer/package/src/cdp/Frame.ts +16 -2
- package/front_end/third_party/puppeteer/package/src/cdp/WebMCP.ts +36 -1
- package/front_end/third_party/puppeteer/package/src/generated/injected.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/injected/Poller.ts +86 -6
- package/front_end/third_party/puppeteer/package/src/revisions.ts +3 -3
- package/front_end/third_party/puppeteer/package/src/util/version.ts +1 -1
- package/front_end/third_party/web-vitals/README.chromium +2 -2
- package/front_end/third_party/web-vitals/package/README.md +22 -7
- package/front_end/third_party/web-vitals/package/dist/modules/attribution/onINP.js +6 -2
- package/front_end/third_party/web-vitals/package/dist/modules/attribution/onLCP.d.ts +2 -2
- package/front_end/third_party/web-vitals/package/dist/modules/attribution/onLCP.js +30 -3
- package/front_end/third_party/web-vitals/package/dist/modules/lib/InteractionManager.d.ts +14 -0
- package/front_end/third_party/web-vitals/package/dist/modules/lib/InteractionManager.js +19 -13
- package/front_end/third_party/web-vitals/package/dist/modules/lib/bindReporter.d.ts +1 -1
- package/front_end/third_party/web-vitals/package/dist/modules/lib/doubleRAF.js +1 -1
- package/front_end/third_party/web-vitals/package/dist/modules/lib/initMetric.d.ts +3 -3
- package/front_end/third_party/web-vitals/package/dist/modules/lib/softNavs.js +3 -1
- package/front_end/third_party/web-vitals/package/dist/modules/types/lcp.d.ts +15 -1
- package/front_end/third_party/web-vitals/package/package.json +1 -2
- package/front_end/third_party/web-vitals/package/src/attribution/onINP.ts +9 -2
- package/front_end/third_party/web-vitals/package/src/attribution/onLCP.ts +36 -5
- package/front_end/third_party/web-vitals/package/src/lib/InteractionManager.ts +21 -15
- package/front_end/third_party/web-vitals/package/src/lib/doubleRAF.ts +1 -1
- package/front_end/third_party/web-vitals/package/src/lib/softNavs.ts +4 -1
- package/front_end/third_party/web-vitals/package/src/types/lcp.ts +16 -1
- package/front_end/third_party/web-vitals/rebuild.sh +3 -3
- package/front_end/ui/comments/CommentAnchorResolver.ts +109 -4
- package/front_end/ui/comments/CommentOverlayManager.ts +16 -32
- package/front_end/ui/comments/commentsOverlay.css +6 -5
- package/front_end/ui/components/adorners/Adorner.ts +1 -1
- package/front_end/ui/components/adorners/adorner.css +6 -6
- package/front_end/ui/components/buttons/FloatingButton.ts +1 -1
- package/front_end/ui/components/buttons/button.css +9 -9
- package/front_end/ui/components/buttons/floatingButton.css +2 -2
- package/front_end/ui/components/buttons/textButton.css +12 -12
- package/front_end/ui/components/dialogs/Dialog.ts +1 -1
- package/front_end/ui/components/dialogs/dialog.css +1 -1
- package/front_end/ui/components/diff_view/diffView.css +3 -3
- package/front_end/ui/components/expandable_list/expandableList.css +9 -9
- package/front_end/ui/components/highlighting/HighlightElement.ts +1 -1
- package/front_end/ui/components/highlighting/HighlightManager.ts +4 -0
- package/front_end/ui/components/icon_button/iconButton.css +2 -2
- package/front_end/ui/components/input/checkbox.css +8 -8
- package/front_end/ui/components/input/textInput.css +3 -3
- package/front_end/ui/components/issue_counter/issueLinkIcon.css +2 -2
- package/front_end/ui/components/linkifier/linkifierImpl.css +1 -1
- package/front_end/ui/components/markdown_view/MarkdownImagesMap.ts +1 -1
- package/front_end/ui/components/markdown_view/MarkdownLinksMap.ts +1 -1
- package/front_end/ui/components/markdown_view/codeBlock.css +2 -2
- package/front_end/ui/components/markdown_view/markdownView.css +7 -7
- package/front_end/ui/components/menus/menuGroup.css +2 -2
- package/front_end/ui/components/menus/menuItem.css +2 -2
- package/front_end/ui/components/menus/selectMenu.css +2 -2
- package/front_end/ui/components/menus/selectMenuButton.css +4 -4
- package/front_end/ui/components/panel_feedback/panelFeedback.css +15 -15
- package/front_end/ui/components/panel_feedback/previewToggle.css +2 -2
- package/front_end/ui/components/panel_introduction_steps/panelIntroductionSteps.css +7 -7
- package/front_end/ui/components/report_view/report.css +3 -3
- package/front_end/ui/components/report_view/reportSectionDivider.css +1 -1
- package/front_end/ui/components/report_view/reportValue.css +1 -1
- package/front_end/ui/components/request_link_icon/requestLinkIcon.css +2 -2
- package/front_end/ui/components/settings/settingCheckbox.css +6 -6
- package/front_end/ui/components/text_editor/TextEditor.ts +3 -1
- package/front_end/ui/components/text_editor/config.ts +16 -4
- package/front_end/ui/kit/icons/icon.css +4 -4
- package/front_end/ui/kit/link/link.css +1 -1
- package/front_end/ui/legacy/ActionRegistration.ts +23 -23
- package/front_end/ui/legacy/Dialog.ts +1 -1
- package/front_end/ui/legacy/DockController.ts +7 -4
- package/front_end/ui/legacy/EmptyWidget.ts +13 -34
- package/front_end/ui/legacy/FilterBar.ts +4 -4
- package/front_end/ui/legacy/Infobar.ts +2 -2
- package/front_end/ui/legacy/InspectorDrawerView.ts +6 -6
- package/front_end/ui/legacy/InspectorView.ts +22 -27
- package/front_end/ui/legacy/KeyboardShortcut.ts +4 -7
- package/front_end/ui/legacy/ListWidget.ts +7 -7
- package/front_end/ui/legacy/PlusButton.ts +1 -3
- package/front_end/ui/legacy/RemoteDebuggingTerminatedScreen.ts +6 -6
- package/front_end/ui/legacy/SearchableView.ts +18 -17
- package/front_end/ui/legacy/ShortcutRegistry.ts +6 -3
- package/front_end/ui/legacy/SoftContextMenu.ts +8 -8
- package/front_end/ui/legacy/SoftDropDown.ts +1 -1
- package/front_end/ui/legacy/SuggestBox.ts +2 -2
- package/front_end/ui/legacy/TabbedPane.ts +10 -10
- package/front_end/ui/legacy/TargetCrashedScreen.ts +2 -2
- package/front_end/ui/legacy/Toolbar.ts +5 -5
- package/front_end/ui/legacy/Treeoutline.ts +1 -1
- package/front_end/ui/legacy/UIUtils.ts +90 -26
- package/front_end/ui/legacy/ViewManager.ts +1 -1
- package/front_end/ui/legacy/ViewRegistration.ts +7 -7
- package/front_end/ui/legacy/Widget.ts +5 -5
- package/front_end/ui/legacy/checkboxTextLabel.css +3 -3
- package/front_end/ui/legacy/components/color_picker/ColorFormatSpec.ts +16 -0
- package/front_end/ui/legacy/components/color_picker/FormatPickerContextMenu.ts +1 -0
- package/front_end/ui/legacy/components/color_picker/spectrum.css +90 -90
- package/front_end/ui/legacy/components/cookie_table/CookiesTable.ts +23 -24
- package/front_end/ui/legacy/components/cookie_table/cookiesTable.css +1 -1
- package/front_end/ui/legacy/components/data_grid/DataGrid.ts +26 -28
- package/front_end/ui/legacy/components/data_grid/ShowMoreDataGridNode.ts +3 -7
- package/front_end/ui/legacy/components/inline_editor/bezierEditor.css +13 -13
- package/front_end/ui/legacy/components/inline_editor/colorSwatch.css +7 -7
- package/front_end/ui/legacy/components/inline_editor/cssAngleEditor.css +5 -5
- package/front_end/ui/legacy/components/inline_editor/cssShadowEditor.css +18 -18
- package/front_end/ui/legacy/components/object_ui/CustomPreviewComponent.ts +104 -86
- package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +8 -6
- package/front_end/ui/legacy/components/object_ui/objectPopover.css +4 -4
- package/front_end/ui/legacy/components/object_ui/objectPropertiesSection.css +6 -6
- package/front_end/ui/legacy/components/perf_ui/BrickBreaker.ts +2 -2
- package/front_end/ui/legacy/components/perf_ui/ChartViewport.ts +28 -11
- package/front_end/ui/legacy/components/perf_ui/FilmStripView.ts +6 -6
- package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +14 -15
- package/front_end/ui/legacy/components/perf_ui/GCActionDelegate.ts +1 -1
- package/front_end/ui/legacy/components/perf_ui/NetworkPriorities.ts +5 -5
- package/front_end/ui/legacy/components/perf_ui/OverviewGrid.ts +5 -5
- package/front_end/ui/legacy/components/perf_ui/PieChart.ts +1 -1
- package/front_end/ui/legacy/components/perf_ui/TimelineOverviewPane.ts +0 -4
- package/front_end/ui/legacy/components/perf_ui/chartViewport.css +4 -4
- package/front_end/ui/legacy/components/perf_ui/filmStripView.css +6 -6
- package/front_end/ui/legacy/components/perf_ui/flameChart.css +7 -7
- package/front_end/ui/legacy/components/perf_ui/overviewGrid.css +11 -11
- package/front_end/ui/legacy/components/perf_ui/perf_ui-meta.ts +4 -6
- package/front_end/ui/legacy/components/perf_ui/pieChart.css +6 -6
- package/front_end/ui/legacy/components/perf_ui/timelineGrid.css +5 -5
- package/front_end/ui/legacy/components/quick_open/filteredListWidget.css +3 -3
- package/front_end/ui/legacy/components/source_frame/FontView.ts +2 -2
- package/front_end/ui/legacy/components/source_frame/ImageView.ts +13 -13
- package/front_end/ui/legacy/components/source_frame/JSONView.ts +1 -1
- package/front_end/ui/legacy/components/source_frame/PreviewFactory.ts +2 -2
- package/front_end/ui/legacy/components/source_frame/ResourceSourceFrame.ts +2 -2
- package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +15 -18
- package/front_end/ui/legacy/components/source_frame/XMLView.ts +1 -1
- package/front_end/ui/legacy/components/source_frame/imageView.css +1 -1
- package/front_end/ui/legacy/components/source_frame/jsonView.css +1 -1
- package/front_end/ui/legacy/components/source_frame/resourceSourceFrame.css +1 -1
- package/front_end/ui/legacy/components/source_frame/source_frame-meta.ts +10 -10
- package/front_end/ui/legacy/components/source_frame/xmlTree.css +3 -3
- package/front_end/ui/legacy/components/utils/imagePreview.css +1 -1
- package/front_end/ui/legacy/components/utils/jsUtils.css +10 -10
- package/front_end/ui/legacy/dropTarget.css +2 -2
- package/front_end/ui/legacy/emptyWidget.css +6 -0
- package/front_end/ui/legacy/filter.css +19 -19
- package/front_end/ui/legacy/infobar.css +2 -2
- package/front_end/ui/legacy/inspectorCommon.css +67 -67
- package/front_end/ui/legacy/inspectorDrawerTabbedPane.css +1 -1
- package/front_end/ui/legacy/listWidget.css +5 -5
- package/front_end/ui/legacy/progressIndicator.css +4 -4
- package/front_end/ui/legacy/reportView.css +7 -7
- package/front_end/ui/legacy/searchableView.css +5 -5
- package/front_end/ui/legacy/smallBubble.css +3 -3
- package/front_end/ui/legacy/softContextMenu.css +4 -4
- package/front_end/ui/legacy/softDropDownButton.css +1 -1
- package/front_end/ui/legacy/splitWidget.css +9 -31
- package/front_end/ui/legacy/suggestBox.css +4 -4
- package/front_end/ui/legacy/tabbedPane.css +17 -17
- package/front_end/ui/legacy/textPrompt.css +2 -2
- package/front_end/ui/legacy/toolbar.css +4 -4
- package/front_end/ui/legacy/treeoutline.css +14 -14
- package/front_end/ui/legacy/viewContainers.css +6 -6
- package/front_end/ui/settings/ConsoleSettings.ts +66 -0
- package/front_end/ui/settings/MainSettings.ts +47 -0
- package/front_end/ui/settings/settings.ts +2 -0
- package/front_end/ui/visual_logging/KnownContextValues.ts +12 -0
- package/inspector_overlay/common.ts +12 -12
- package/inspector_overlay/css_grid_label_helpers.ts +16 -17
- package/inspector_overlay/drag_resize_handler.ts +2 -2
- package/inspector_overlay/highlight_common.ts +11 -13
- package/inspector_overlay/highlight_container_query.ts +2 -2
- package/inspector_overlay/highlight_flex_common.ts +6 -7
- package/inspector_overlay/highlight_grid_common.ts +3 -3
- package/inspector_overlay/highlight_isolated_element.ts +12 -3
- package/inspector_overlay/highlight_scroll_snap.ts +2 -2
- package/inspector_overlay/loadCSS.rollup.js +0 -1
- package/inspector_overlay/testing/InspectorOverlayHelpers.ts +13 -13
- package/inspector_overlay/tool_green_dev_anchors.ts +3 -3
- package/inspector_overlay/tool_highlight.ts +9 -9
- package/inspector_overlay/tool_paused.ts +4 -4
- package/inspector_overlay/tool_persistent.ts +11 -11
- package/inspector_overlay/tool_screenshot.ts +7 -7
- package/inspector_overlay/tool_source_order.ts +4 -4
- package/inspector_overlay/tool_viewport_size.ts +3 -3
- package/inspector_overlay/tool_window_controls.ts +4 -4
- package/mcp/mcp.ts +1 -0
- package/package.json +2 -2
- package/front_end/generated/protocol-tsconfig.json +0 -10
- package/front_end/panels/js_timeline/DIR_METADATA +0 -3
- package/front_end/panels/js_timeline/js_timeline-meta.ts +0 -193
- package/front_end/panels/js_timeline/js_timeline.ts +0 -1
- /package/front_end/entrypoints/{formatter_worker/FormatterActions.ts → formatter_actions/formatter_actions.ts} +0 -0
|
@@ -7,20 +7,20 @@ import * as Common from '../../../../core/common/common.js';
|
|
|
7
7
|
import * as i18n from '../../../../core/i18n/i18n.js';
|
|
8
8
|
import type * as SDK from '../../../../core/sdk/sdk.js';
|
|
9
9
|
import type * as Protocol from '../../../../generated/protocol.js';
|
|
10
|
-
import {
|
|
11
|
-
import {render} from '../../../lit/lit.js';
|
|
10
|
+
import {Directives, html, type LitTemplate, nothing, render} from '../../../lit/lit.js';
|
|
12
11
|
import * as UI from '../../legacy.js';
|
|
13
12
|
|
|
14
13
|
import {sanitizeStyle} from './CSSStyleSanitizer.js';
|
|
15
14
|
import customPreviewComponentStyles from './customPreviewComponent.css.js';
|
|
16
15
|
import {
|
|
17
|
-
defaultObjectPresentation
|
|
16
|
+
defaultObjectPresentation,
|
|
18
17
|
ObjectPropertiesMode,
|
|
19
|
-
|
|
20
|
-
ObjectPropertyTreeElement,
|
|
18
|
+
ObjectPropertiesSectionWidget,
|
|
21
19
|
ObjectTree,
|
|
22
20
|
} from './ObjectPropertiesSection.js';
|
|
23
21
|
|
|
22
|
+
const {widget} = UI.Widget;
|
|
23
|
+
|
|
24
24
|
const UIStrings = {
|
|
25
25
|
/**
|
|
26
26
|
* @description Context menu item to show a custom formatted object as a standard JavaScript object.
|
|
@@ -33,54 +33,76 @@ const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
|
33
33
|
export class CustomPreviewSection {
|
|
34
34
|
private readonly sectionElement: HTMLSpanElement;
|
|
35
35
|
private readonly object: SDK.RemoteObject.RemoteObject;
|
|
36
|
-
private expanded
|
|
37
|
-
private cachedContent
|
|
38
|
-
private
|
|
39
|
-
private readonly expandIcon: Icon|undefined;
|
|
36
|
+
private expanded = false;
|
|
37
|
+
private cachedContent?: unknown|ObjectTree|null;
|
|
38
|
+
private headerJsonML?: unknown;
|
|
40
39
|
constructor(object: SDK.RemoteObject.RemoteObject) {
|
|
41
40
|
this.sectionElement = document.createElement('span');
|
|
42
41
|
this.sectionElement.classList.add('custom-expandable-section');
|
|
43
42
|
this.object = object;
|
|
44
|
-
this.expanded = false;
|
|
45
|
-
this.cachedContent = null;
|
|
46
43
|
const customPreview = object.customPreview();
|
|
47
44
|
|
|
48
45
|
if (!customPreview) {
|
|
49
46
|
return;
|
|
50
47
|
}
|
|
51
48
|
|
|
52
|
-
let headerJSON;
|
|
53
49
|
try {
|
|
54
|
-
|
|
50
|
+
this.headerJsonML = JSON.parse(customPreview.header);
|
|
55
51
|
} catch (e) {
|
|
56
52
|
Common.Console.Console.instance().error('Broken formatter: header is invalid json ' + e);
|
|
57
53
|
return;
|
|
58
54
|
}
|
|
59
|
-
this.
|
|
60
|
-
|
|
61
|
-
|
|
55
|
+
this.render();
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
private render(): void {
|
|
59
|
+
const customPreview = this.object.customPreview();
|
|
60
|
+
if (!customPreview || !this.headerJsonML) {
|
|
62
61
|
return;
|
|
63
62
|
}
|
|
64
63
|
|
|
64
|
+
const headerTemplate = this.renderJSONMLTag(this.headerJsonML);
|
|
65
65
|
if (customPreview.bodyGetterId) {
|
|
66
|
-
|
|
67
|
-
|
|
66
|
+
let bodyContent: LitTemplate|Node|undefined;
|
|
67
|
+
if (this.cachedContent instanceof ObjectTree) {
|
|
68
|
+
bodyContent = html`<devtools-widget class="custom-expandable-section-default-body" ${
|
|
69
|
+
widget(ObjectPropertiesSectionWidget, {
|
|
70
|
+
objectTree: this.cachedContent,
|
|
71
|
+
showOverflow: false,
|
|
72
|
+
})}></devtools-widget>`;
|
|
73
|
+
} else if (this.cachedContent !== undefined) {
|
|
74
|
+
bodyContent = this.renderJSONMLTag(this.cachedContent);
|
|
68
75
|
}
|
|
69
|
-
this.header.addEventListener('click', this.onClick.bind(this), false);
|
|
70
|
-
this.expandIcon = createIcon('triangle-right', 'custom-expand-icon');
|
|
71
|
-
this.header.insertBefore(this.expandIcon, this.header.firstChild);
|
|
72
|
-
}
|
|
73
76
|
|
|
74
|
-
|
|
77
|
+
// eslint-disable-next-line @devtools/no-lit-render-outside-of-view
|
|
78
|
+
render(
|
|
79
|
+
html`
|
|
80
|
+
<span class=${
|
|
81
|
+
Directives.classMap({'custom-expandable-section-header': true,
|
|
82
|
+
expanded: this.expanded})} @click=${(event: Event) => this.onClick(event)}>
|
|
83
|
+
<devtools-icon name=${
|
|
84
|
+
this.expanded ? 'triangle-down' : 'triangle-right'} class="custom-expand-icon"></devtools-icon>
|
|
85
|
+
${headerTemplate}
|
|
86
|
+
</span>
|
|
87
|
+
${
|
|
88
|
+
bodyContent ?
|
|
89
|
+
html`<span class="custom-expandable-section-body" ?hidden=${!this.expanded}>${bodyContent}</span>` :
|
|
90
|
+
nothing}
|
|
91
|
+
`,
|
|
92
|
+
this.sectionElement);
|
|
93
|
+
} else {
|
|
94
|
+
// eslint-disable-next-line @devtools/no-lit-render-outside-of-view
|
|
95
|
+
render(html`${headerTemplate}`, this.sectionElement);
|
|
96
|
+
}
|
|
75
97
|
}
|
|
76
98
|
|
|
77
99
|
element(): Element {
|
|
78
100
|
return this.sectionElement;
|
|
79
101
|
}
|
|
80
102
|
|
|
81
|
-
private renderJSONMLTag(jsonML: unknown):
|
|
103
|
+
private renderJSONMLTag(jsonML: unknown): LitTemplate {
|
|
82
104
|
if (!Array.isArray(jsonML)) {
|
|
83
|
-
return
|
|
105
|
+
return html`${String(jsonML)}`;
|
|
84
106
|
}
|
|
85
107
|
|
|
86
108
|
if (jsonML[0] !== 'object') {
|
|
@@ -88,22 +110,24 @@ export class CustomPreviewSection {
|
|
|
88
110
|
}
|
|
89
111
|
if (jsonML.length !== 2) {
|
|
90
112
|
Common.Console.Console.instance().error('Broken formatter: object reference must contain exactly two elements');
|
|
91
|
-
return
|
|
113
|
+
return html`<span></span>`;
|
|
92
114
|
}
|
|
93
115
|
return this.layoutObjectTag(jsonML);
|
|
94
116
|
}
|
|
95
117
|
|
|
96
|
-
// TODO(crbug.com/1172300) Ignored during the jsdoc to ts migration)
|
|
97
118
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
98
|
-
private renderElement(object: any[]):
|
|
99
|
-
const
|
|
119
|
+
private renderElement(object: any[]): LitTemplate {
|
|
120
|
+
const it = object[Symbol.iterator]();
|
|
121
|
+
const tagName = it.next().value as string;
|
|
100
122
|
if (!ALLOWED_TAGS.includes(tagName)) {
|
|
101
123
|
Common.Console.Console.instance().error('Broken formatter: element ' + tagName + ' is not allowed!');
|
|
102
|
-
return
|
|
124
|
+
return html`<span></span>`;
|
|
103
125
|
}
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
126
|
+
|
|
127
|
+
let next = it.next();
|
|
128
|
+
const stylePropertyMap: Record<string, string> = {};
|
|
129
|
+
if (typeof next.value === 'object' && !Array.isArray(next.value) && next.value !== null) {
|
|
130
|
+
const attributes = next.value as Record<string, string>;
|
|
107
131
|
for (const key in attributes) {
|
|
108
132
|
const value = attributes[key];
|
|
109
133
|
if ((key !== 'style') || (typeof value !== 'string')) {
|
|
@@ -113,37 +137,55 @@ export class CustomPreviewSection {
|
|
|
113
137
|
const sanitizedStyle = new Map<string, {value: string, priority: string}>();
|
|
114
138
|
sanitizeStyle(sanitizedStyle, value);
|
|
115
139
|
for (const [property, {value: propertyValue, priority}] of sanitizedStyle) {
|
|
116
|
-
|
|
140
|
+
stylePropertyMap[property] = priority ? `${propertyValue} !${priority}` : propertyValue;
|
|
117
141
|
}
|
|
118
142
|
}
|
|
143
|
+
next = it.next();
|
|
119
144
|
}
|
|
120
145
|
|
|
121
|
-
|
|
122
|
-
|
|
146
|
+
const children: LitTemplate[] = [];
|
|
147
|
+
while (!next.done) {
|
|
148
|
+
children.push(this.renderJSONMLTag(next.value));
|
|
149
|
+
next = it.next();
|
|
150
|
+
}
|
|
151
|
+
const style = Directives.styleMap(stylePropertyMap);
|
|
152
|
+
|
|
153
|
+
switch (tagName) {
|
|
154
|
+
case 'span':
|
|
155
|
+
return html`<span style=${style}>${children}</span>`;
|
|
156
|
+
case 'div':
|
|
157
|
+
return html`<div style=${style}>${children}</div>`;
|
|
158
|
+
case 'ol':
|
|
159
|
+
return html`<ol style=${style}>${children}</ol>`;
|
|
160
|
+
case 'li':
|
|
161
|
+
return html`<li style=${style}>${children}</li>`;
|
|
162
|
+
case 'table':
|
|
163
|
+
return html`<table style=${style}>${children}</table>`;
|
|
164
|
+
case 'tr':
|
|
165
|
+
return html`<tr style=${style}>${children}</tr>`;
|
|
166
|
+
case 'td':
|
|
167
|
+
return html`<td style=${style}>${children}</td>`;
|
|
168
|
+
default:
|
|
169
|
+
return html`<span>${children}</span>`;
|
|
170
|
+
}
|
|
123
171
|
}
|
|
124
172
|
|
|
125
|
-
private layoutObjectTag(objectTag: unknown[]):
|
|
126
|
-
objectTag.
|
|
127
|
-
|
|
173
|
+
private layoutObjectTag(objectTag: unknown[]): LitTemplate {
|
|
174
|
+
const it = objectTag[Symbol.iterator]();
|
|
175
|
+
it.next(); // skip 'object'
|
|
176
|
+
const attributes = it.next().value;
|
|
128
177
|
const remoteObject = this.object.runtimeModel().createRemoteObject((attributes as Protocol.Runtime.RemoteObject));
|
|
129
178
|
if (remoteObject.customPreview()) {
|
|
130
|
-
return (new CustomPreviewSection(remoteObject)).element()
|
|
179
|
+
return html`${(new CustomPreviewSection(remoteObject)).element()}`;
|
|
131
180
|
}
|
|
132
181
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
return sectionElement;
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
private appendJsonMLTags(parentElement: Node, jsonMLTags: unknown[]): void {
|
|
139
|
-
for (let i = 0; i < jsonMLTags.length; ++i) {
|
|
140
|
-
parentElement.appendChild(this.renderJSONMLTag(jsonMLTags[i]));
|
|
141
|
-
}
|
|
182
|
+
return defaultObjectPresentation(remoteObject, undefined, undefined, undefined,
|
|
183
|
+
{'custom-expandable-section-standard-section': remoteObject.hasChildren});
|
|
142
184
|
}
|
|
143
185
|
|
|
144
186
|
private onClick(event: Event): void {
|
|
145
187
|
event.consume(true);
|
|
146
|
-
if (this.cachedContent) {
|
|
188
|
+
if (this.cachedContent !== undefined) {
|
|
147
189
|
this.toggleExpand();
|
|
148
190
|
} else {
|
|
149
191
|
void this.loadBody();
|
|
@@ -152,21 +194,8 @@ export class CustomPreviewSection {
|
|
|
152
194
|
|
|
153
195
|
private toggleExpand(): void {
|
|
154
196
|
this.expanded = !this.expanded;
|
|
155
|
-
|
|
156
|
-
this.header.classList.toggle('expanded', this.expanded);
|
|
157
|
-
}
|
|
158
|
-
if (this.cachedContent instanceof Element) {
|
|
159
|
-
this.cachedContent.classList.toggle('hidden', !this.expanded);
|
|
160
|
-
}
|
|
161
|
-
if (this.expandIcon) {
|
|
162
|
-
if (this.expanded) {
|
|
163
|
-
this.expandIcon.name = 'triangle-down';
|
|
164
|
-
} else {
|
|
165
|
-
this.expandIcon.name = 'triangle-right';
|
|
166
|
-
}
|
|
167
|
-
}
|
|
197
|
+
this.render();
|
|
168
198
|
}
|
|
169
|
-
private defaultBodyTreeOutline: ObjectPropertiesSectionsTreeOutline|undefined;
|
|
170
199
|
|
|
171
200
|
async loadBody(): Promise<void> {
|
|
172
201
|
const customPreview = this.object.customPreview();
|
|
@@ -181,23 +210,18 @@ export class CustomPreviewSection {
|
|
|
181
210
|
if (bodyJsonML === null) {
|
|
182
211
|
// Per https://firefox-source-docs.mozilla.org/devtools-user/custom_formatters/index.html#custom-formatter-structure
|
|
183
212
|
// we are supposed to fall back to the default format when the `body()` callback returns `null`.
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
propertiesMode: ObjectPropertiesMode.OWN_AND_INTERNAL_AND_INHERITED,
|
|
191
|
-
}),
|
|
192
|
-
false, false);
|
|
193
|
-
|
|
194
|
-
this.cachedContent = this.defaultBodyTreeOutline.element;
|
|
213
|
+
const objectTree = new ObjectTree(this.object, {
|
|
214
|
+
readOnly: true,
|
|
215
|
+
propertiesMode: ObjectPropertiesMode.OWN_AND_INTERNAL_AND_INHERITED,
|
|
216
|
+
});
|
|
217
|
+
objectTree.expanded = true;
|
|
218
|
+
this.cachedContent = objectTree;
|
|
195
219
|
} else {
|
|
196
|
-
this.cachedContent =
|
|
220
|
+
this.cachedContent = bodyJsonML;
|
|
197
221
|
}
|
|
198
222
|
|
|
199
|
-
this.
|
|
200
|
-
this.
|
|
223
|
+
this.expanded = true;
|
|
224
|
+
this.render();
|
|
201
225
|
}
|
|
202
226
|
}
|
|
203
227
|
}
|
|
@@ -240,14 +264,8 @@ export class CustomPreviewComponent {
|
|
|
240
264
|
if (this.element.shadowRoot) {
|
|
241
265
|
this.element.shadowRoot.textContent = '';
|
|
242
266
|
this.customPreviewSection = null;
|
|
243
|
-
|
|
267
|
+
// eslint-disable-next-line @devtools/no-lit-render-outside-of-view
|
|
268
|
+
render(defaultObjectPresentation(this.object), this.element.shadowRoot);
|
|
244
269
|
}
|
|
245
270
|
}
|
|
246
271
|
}
|
|
247
|
-
|
|
248
|
-
function defaultObjectPresentation(object: SDK.RemoteObject.RemoteObject): Element {
|
|
249
|
-
const element = document.createElement('span');
|
|
250
|
-
// eslint-disable-next-line @devtools/no-lit-render-outside-of-view
|
|
251
|
-
render(defaultObjectPresentationTemplate(object), element);
|
|
252
|
-
return element;
|
|
253
|
-
}
|
|
@@ -1638,20 +1638,22 @@ export function renderPropertyValue(value: SDK.RemoteObject.RemoteObject, wasThr
|
|
|
1638
1638
|
|
|
1639
1639
|
export function defaultObjectPresentation(objectOrTree: SDK.RemoteObject.RemoteObject|ObjectTree,
|
|
1640
1640
|
linkifier?: Components.Linkifier.Linkifier, skipProto?: boolean,
|
|
1641
|
-
readOnly?: boolean): LitTemplate {
|
|
1641
|
+
readOnly?: boolean, extraClasses?: Record<string, boolean>): LitTemplate {
|
|
1642
1642
|
const objectTree = objectOrTree instanceof ObjectTree ? objectOrTree : new ObjectTree(objectOrTree, {
|
|
1643
1643
|
readOnly: Boolean(readOnly),
|
|
1644
1644
|
propertiesMode: ObjectPropertiesMode.OWN_AND_INTERNAL_AND_INHERITED,
|
|
1645
1645
|
});
|
|
1646
1646
|
const object = objectTree.object;
|
|
1647
|
-
const title = html`<span class
|
|
1648
|
-
|
|
1647
|
+
const title = html`<span class=${
|
|
1648
|
+
classMap({'source-code': true, ...(!object.hasChildren ? extraClasses : undefined)})}><style>${
|
|
1649
|
+
objectValueStyles}</style>${renderPropertyValue(object, /* wasThrown= */ false, /* showPreview= */ true)}</span>`;
|
|
1649
1650
|
if (!object.hasChildren) {
|
|
1650
1651
|
return title;
|
|
1651
1652
|
}
|
|
1652
|
-
return html
|
|
1653
|
-
widget(
|
|
1654
|
-
|
|
1653
|
+
return html`<devtools-widget class=${classMap(extraClasses ?? {})} ${
|
|
1654
|
+
widget(
|
|
1655
|
+
ObjectPropertiesSectionWidget,
|
|
1656
|
+
{objectTree, title, linkifier, skipProto: Boolean(skipProto), showOverflow: !readOnly})}></devtools-widget>`;
|
|
1655
1657
|
}
|
|
1656
1658
|
|
|
1657
1659
|
/**
|
|
@@ -23,13 +23,13 @@
|
|
|
23
23
|
white-space: nowrap;
|
|
24
24
|
font-weight: bold;
|
|
25
25
|
padding-left: 18px;
|
|
26
|
-
padding-bottom:
|
|
26
|
+
padding-bottom: var(--sys-size-2);
|
|
27
27
|
padding-top: var(--sys-size-3);
|
|
28
28
|
flex-shrink: 0;
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
.object-popover-tree {
|
|
32
|
-
border-top:
|
|
32
|
+
border-top: var(--sys-size-1) solid var(--sys-color-divider);
|
|
33
33
|
overflow: auto;
|
|
34
34
|
width: 100%;
|
|
35
35
|
height: calc(100% - 13px);
|
|
@@ -40,11 +40,11 @@
|
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
.object-popover-description-box {
|
|
43
|
-
padding:
|
|
43
|
+
padding: var(--sys-size-4);
|
|
44
44
|
max-width: 350px;
|
|
45
45
|
line-height: 1.4;
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
.object-popover-footer {
|
|
49
|
-
margin-top:
|
|
49
|
+
margin-top: var(--sys-size-5);
|
|
50
50
|
}
|
|
@@ -27,14 +27,14 @@ li.object-properties-section {
|
|
|
27
27
|
|
|
28
28
|
&::before {
|
|
29
29
|
flex-shrink: 0;
|
|
30
|
-
margin-right:
|
|
30
|
+
margin-right: var(--sys-size-2);
|
|
31
31
|
align-self: flex-start;
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
.object-properties-section li.editing-sub-part {
|
|
36
|
-
padding: 3px
|
|
37
|
-
margin: -
|
|
36
|
+
padding: 3px var(--sys-size-6) var(--sys-size-5) var(--sys-size-4);
|
|
37
|
+
margin: calc(-1 * var(--sys-size-1)) calc(-1 * var(--sys-size-4)) calc(-1 * var(--sys-size-5));
|
|
38
38
|
text-overflow: clip;
|
|
39
39
|
}
|
|
40
40
|
|
|
@@ -69,7 +69,7 @@ li.object-properties-section {
|
|
|
69
69
|
}
|
|
70
70
|
|
|
71
71
|
.name-and-value {
|
|
72
|
-
line-height:
|
|
72
|
+
line-height: var(--sys-size-8);
|
|
73
73
|
display: flex;
|
|
74
74
|
white-space: nowrap;
|
|
75
75
|
}
|
|
@@ -85,7 +85,7 @@ li.object-properties-section {
|
|
|
85
85
|
}
|
|
86
86
|
|
|
87
87
|
.property-prompt {
|
|
88
|
-
margin-left:
|
|
88
|
+
margin-left: var(--sys-size-3);
|
|
89
89
|
}
|
|
90
90
|
|
|
91
91
|
.tree-outline.hide-selection-when-blurred .selected:focus-visible {
|
|
@@ -97,7 +97,7 @@ li.object-properties-section {
|
|
|
97
97
|
.tree-outline.hide-selection-when-blurred .selected:focus-visible .name-and-value,
|
|
98
98
|
.tree-outline.hide-selection-when-blurred .selected:focus-visible .gray-info-message {
|
|
99
99
|
background: var(--sys-color-state-focus-highlight);
|
|
100
|
-
border-radius:
|
|
100
|
+
border-radius: var(--sys-size-2);
|
|
101
101
|
}
|
|
102
102
|
|
|
103
103
|
@media (forced-colors: active) {
|
|
@@ -11,11 +11,11 @@ import type {FlameChart} from './FlameChart.js';
|
|
|
11
11
|
|
|
12
12
|
const UIStrings = {
|
|
13
13
|
/**
|
|
14
|
-
* @description Message congratulating the user for
|
|
14
|
+
* @description Message congratulating the user for winning the brick breaker game.
|
|
15
15
|
*/
|
|
16
16
|
congrats: 'Congrats, you win!',
|
|
17
17
|
/**
|
|
18
|
-
* @description
|
|
18
|
+
* @description Postscript message explaining how to open the brick breaker game using a keyboard shortcut.
|
|
19
19
|
*/
|
|
20
20
|
ps: 'PS: You can also open the game by typing `fixme`',
|
|
21
21
|
} as const;
|
|
@@ -504,31 +504,48 @@ export class ChartViewport extends UI.Widget.VBox {
|
|
|
504
504
|
// that if the view is restored, the time shown is correct.
|
|
505
505
|
if (this.cancelWindowTimesAnimation) {
|
|
506
506
|
this.cancelWindowTimesAnimation();
|
|
507
|
+
this.cancelWindowTimesAnimation = null;
|
|
507
508
|
this.setWindowTimes(this.targetLeftTime, this.targetRightTime, false);
|
|
508
509
|
}
|
|
509
510
|
}
|
|
510
511
|
|
|
511
512
|
setWindowTimes(startTime: number, endTime: number, animate?: boolean): void {
|
|
512
|
-
|
|
513
|
+
// If already animating to the requested target, let the active animation continue.
|
|
514
|
+
if (animate && this.cancelWindowTimesAnimation && this.targetLeftTime === startTime &&
|
|
515
|
+
this.targetRightTime === endTime) {
|
|
513
516
|
return;
|
|
514
517
|
}
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
this.targetLeftTime = startTime;
|
|
519
|
-
this.targetRightTime = endTime;
|
|
520
|
-
this.visibleLeftTime = startTime;
|
|
521
|
-
this.visibleRightTime = endTime;
|
|
522
|
-
this.scheduleUpdate();
|
|
518
|
+
|
|
519
|
+
// If already at rest at the target window with no active animation, nothing to do.
|
|
520
|
+
if (!this.cancelWindowTimesAnimation && this.visibleLeftTime === startTime && this.visibleRightTime === endTime) {
|
|
523
521
|
return;
|
|
524
522
|
}
|
|
523
|
+
|
|
524
|
+
// Cancel any in-flight animation before starting a new transition or snapping.
|
|
525
525
|
if (this.cancelWindowTimesAnimation) {
|
|
526
526
|
this.cancelWindowTimesAnimation();
|
|
527
|
-
this.
|
|
528
|
-
this.visibleRightTime = this.targetRightTime;
|
|
527
|
+
this.cancelWindowTimesAnimation = null;
|
|
529
528
|
}
|
|
529
|
+
|
|
530
530
|
this.targetLeftTime = startTime;
|
|
531
531
|
this.targetRightTime = endTime;
|
|
532
|
+
|
|
533
|
+
// Only animate if requested and both current and target bounds are finite, valid ranges.
|
|
534
|
+
// Initial loads (where visibleLeftTime/RightTime are 0 or uninitialized) and sentinel
|
|
535
|
+
// ranges (like Infinity) snap instantly to prevent animation glitches or NaN calculations.
|
|
536
|
+
const hasInitialWindow = Number.isFinite(this.visibleLeftTime) && Number.isFinite(this.visibleRightTime) &&
|
|
537
|
+
this.visibleRightTime > this.visibleLeftTime;
|
|
538
|
+
const isFiniteTarget = Number.isFinite(startTime) && Number.isFinite(endTime) && endTime > startTime;
|
|
539
|
+
const canAnimate = Boolean(animate) && hasInitialWindow && isFiniteTarget;
|
|
540
|
+
|
|
541
|
+
if (!canAnimate) {
|
|
542
|
+
// Snap instantly.
|
|
543
|
+
this.visibleLeftTime = startTime;
|
|
544
|
+
this.visibleRightTime = endTime;
|
|
545
|
+
this.scheduleUpdate();
|
|
546
|
+
return;
|
|
547
|
+
}
|
|
548
|
+
|
|
532
549
|
this.cancelWindowTimesAnimation = UI.UIUtils.animateFunction(
|
|
533
550
|
this.element.window(), animateWindowTimes.bind(this),
|
|
534
551
|
[{from: this.visibleLeftTime, to: startTime}, {from: this.visibleRightTime, to: endTime}], 100, () => {
|
|
@@ -14,24 +14,24 @@ import filmStripViewStyles from './filmStripView.css.js';
|
|
|
14
14
|
|
|
15
15
|
const UIStrings = {
|
|
16
16
|
/**
|
|
17
|
-
* @description
|
|
17
|
+
* @description Tooltip text for a screenshot frame in the film strip view of the Performance panel.
|
|
18
18
|
*/
|
|
19
|
-
doubleclickToZoomImageClickTo: '
|
|
19
|
+
doubleclickToZoomImageClickTo: 'Double-click to zoom image. Click to view preceding requests.',
|
|
20
20
|
/**
|
|
21
|
-
* @description
|
|
21
|
+
* @description Accessible label for a screenshot frame in the film strip view of the Network panel.
|
|
22
22
|
* @example {3ms} PH1
|
|
23
23
|
*/
|
|
24
24
|
screenshotForSSelectToView: 'Screenshot for {PH1} - select to view preceding requests.',
|
|
25
25
|
/**
|
|
26
|
-
* @description
|
|
26
|
+
* @description Alt text for a screenshot thumbnail image in the film strip view.
|
|
27
27
|
*/
|
|
28
28
|
screenshot: 'Screenshot',
|
|
29
29
|
/**
|
|
30
|
-
* @description
|
|
30
|
+
* @description Tooltip text for the previous frame button in the film strip dialog.
|
|
31
31
|
*/
|
|
32
32
|
previousFrame: 'Previous frame',
|
|
33
33
|
/**
|
|
34
|
-
* @description
|
|
34
|
+
* @description Tooltip text for the next frame button in the film strip dialog.
|
|
35
35
|
*/
|
|
36
36
|
nextFrame: 'Next frame',
|
|
37
37
|
} as const;
|
|
@@ -36,58 +36,57 @@ const SUBTITLE_FONT_SIZE_AND_STYLE = 'italic 10px';
|
|
|
36
36
|
|
|
37
37
|
const UIStrings = {
|
|
38
38
|
/**
|
|
39
|
-
* @description
|
|
39
|
+
* @description Accessible announcement when an event is selected by tabbing into a group in the flame chart.
|
|
40
40
|
* @example {Paint} PH1
|
|
41
41
|
* @example {Main thread} PH2
|
|
42
|
-
*
|
|
43
42
|
*/
|
|
44
|
-
eventSelectedFromGroup: 'Selected a {PH1} event within {PH2}. Press
|
|
43
|
+
eventSelectedFromGroup: 'Selected a {PH1} event within {PH2}. Press Enter to focus this event.',
|
|
45
44
|
/**
|
|
46
|
-
* @description
|
|
45
|
+
* @description Accessible name for the flame chart canvas.
|
|
47
46
|
*/
|
|
48
|
-
flameChart: 'Flame
|
|
47
|
+
flameChart: 'Flame chart',
|
|
49
48
|
/**
|
|
50
|
-
* @description
|
|
49
|
+
* @description Accessible announcement when hovering over a group in the flame chart.
|
|
51
50
|
* @example {Network} PH1
|
|
52
51
|
*/
|
|
53
52
|
sHovered: '{PH1} hovered',
|
|
54
53
|
/**
|
|
55
|
-
* @description
|
|
54
|
+
* @description Accessible announcement when selecting a group in the flame chart.
|
|
56
55
|
* @example {Network} PH1
|
|
57
56
|
*/
|
|
58
57
|
sSelected: '{PH1} selected',
|
|
59
58
|
/**
|
|
60
|
-
* @description
|
|
59
|
+
* @description Accessible announcement when expanding a group in the flame chart.
|
|
61
60
|
* @example {Network} PH1
|
|
62
61
|
*/
|
|
63
62
|
sExpanded: '{PH1} expanded',
|
|
64
63
|
/**
|
|
65
|
-
* @description
|
|
64
|
+
* @description Accessible announcement when collapsing a group in the flame chart.
|
|
66
65
|
* @example {Network} PH1
|
|
67
66
|
*/
|
|
68
67
|
sCollapsed: '{PH1} collapsed',
|
|
69
68
|
/**
|
|
70
|
-
* @description
|
|
69
|
+
* @description Context menu option to add a label annotation to an entry in the flame chart.
|
|
71
70
|
*/
|
|
72
71
|
labelEntry: 'Label entry',
|
|
73
72
|
/**
|
|
74
|
-
* @description
|
|
73
|
+
* @description Context menu option to add a link annotation between entries in the flame chart.
|
|
75
74
|
*/
|
|
76
75
|
linkEntries: 'Link entries',
|
|
77
76
|
/**
|
|
78
|
-
* @description
|
|
77
|
+
* @description Context menu option to enter track configuration mode in the flame chart.
|
|
79
78
|
*/
|
|
80
79
|
enterTrackConfigurationMode: 'Configure tracks',
|
|
81
80
|
/**
|
|
82
|
-
* @description
|
|
81
|
+
* @description Context menu option to exit track configuration mode in the flame chart.
|
|
83
82
|
*/
|
|
84
83
|
exitTrackConfigurationMode: 'Finish configuring tracks',
|
|
85
84
|
/**
|
|
86
|
-
* @description Context menu option to copy the name
|
|
85
|
+
* @description Context menu option to copy the track name in the flame chart.
|
|
87
86
|
*/
|
|
88
87
|
copyTrackName: 'Copy track name',
|
|
89
88
|
/**
|
|
90
|
-
* @description Context menu option to copy the URL
|
|
89
|
+
* @description Context menu option to copy the track URL in the flame chart.
|
|
91
90
|
*/
|
|
92
91
|
copyTrackUrl: 'Copy track URL',
|
|
93
92
|
} as const;
|
|
@@ -9,7 +9,7 @@ import type * as UI from '../../legacy.js';
|
|
|
9
9
|
|
|
10
10
|
const UIStrings = {
|
|
11
11
|
/**
|
|
12
|
-
* @description Notification message shown
|
|
12
|
+
* @description Notification message shown when garbage collection completes.
|
|
13
13
|
*/
|
|
14
14
|
garbageCollectionCompleted: 'Garbage collection completed',
|
|
15
15
|
} as const;
|
|
@@ -7,23 +7,23 @@ import * as Protocol from '../../../../generated/protocol.js';
|
|
|
7
7
|
|
|
8
8
|
const UIStrings = {
|
|
9
9
|
/**
|
|
10
|
-
* @description
|
|
10
|
+
* @description Label for lowest network priority.
|
|
11
11
|
*/
|
|
12
12
|
lowest: 'Lowest',
|
|
13
13
|
/**
|
|
14
|
-
* @description
|
|
14
|
+
* @description Label for low network priority.
|
|
15
15
|
*/
|
|
16
16
|
low: 'Low',
|
|
17
17
|
/**
|
|
18
|
-
* @description
|
|
18
|
+
* @description Label for medium network priority.
|
|
19
19
|
*/
|
|
20
20
|
medium: 'Medium',
|
|
21
21
|
/**
|
|
22
|
-
* @description
|
|
22
|
+
* @description Label for high network priority.
|
|
23
23
|
*/
|
|
24
24
|
high: 'High',
|
|
25
25
|
/**
|
|
26
|
-
* @description
|
|
26
|
+
* @description Label for highest network priority.
|
|
27
27
|
*/
|
|
28
28
|
highest: 'Highest',
|
|
29
29
|
} as const;
|
|
@@ -16,17 +16,17 @@ import {TimelineGrid} from './TimelineGrid.js';
|
|
|
16
16
|
|
|
17
17
|
const UIStrings = {
|
|
18
18
|
/**
|
|
19
|
-
* @description
|
|
19
|
+
* @description Accessible label for the selection window in the overview grid.
|
|
20
20
|
*/
|
|
21
21
|
overviewGridWindow: 'Overview grid window',
|
|
22
22
|
/**
|
|
23
|
-
* @description
|
|
23
|
+
* @description Accessible label for the left window resizer in the overview grid.
|
|
24
24
|
*/
|
|
25
|
-
leftResizer: 'Left
|
|
25
|
+
leftResizer: 'Left resizer',
|
|
26
26
|
/**
|
|
27
|
-
* @description
|
|
27
|
+
* @description Accessible label for the right window resizer in the overview grid.
|
|
28
28
|
*/
|
|
29
|
-
rightResizer: 'Right
|
|
29
|
+
rightResizer: 'Right resizer',
|
|
30
30
|
} as const;
|
|
31
31
|
const str_ = i18n.i18n.registerUIStrings('ui/legacy/components/perf_ui/OverviewGrid.ts', UIStrings);
|
|
32
32
|
const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|