chrome-devtools-frontend 1.0.1664496 → 1.0.1665921
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/devtools-testing-guidance/SKILL.md +48 -0
- package/.agents/skills/devtools-ux-writing-refactor/SKILL.md +3 -3
- package/.agents/skills/repro-flaky-tests/SKILL.md +2 -2
- package/.agents/skills/ui-eng-vision-local-lit-renderer/SKILL.md +7 -1
- package/.agents/skills/ui-eng-vision-widget-promoter/SKILL.md +2 -0
- package/.agents/skills/version-control/SKILL.md +4 -3
- package/docs/ui_engineering.md +89 -0
- package/eslint.config.mjs +9 -2
- package/front_end/Images/rollup.config.mjs +1 -1
- package/front_end/Tests.js +15 -16
- package/front_end/core/common/Gzip.ts +2 -2
- package/front_end/core/common/Settings.ts +4 -20
- package/front_end/core/common/Srcset.ts +1 -1
- package/front_end/core/common/VersionController.ts +1 -1
- package/front_end/core/host/AidaClient.ts +19 -4
- package/front_end/core/host/AidaGcaTranslation.ts +2 -2
- package/front_end/core/host/GcaClient.ts +2 -2
- package/front_end/core/host/GdpClient.ts +3 -3
- package/front_end/core/host/InspectorFrontendHostStub.ts +1 -1
- package/front_end/core/host/ResourceLoader.ts +15 -15
- package/front_end/core/protocol_client/DevToolsCDPConnection.ts +2 -2
- package/front_end/core/protocol_client/InspectorBackend.ts +1 -1
- package/front_end/core/root/Runtime.ts +0 -1
- package/front_end/core/sdk/CSSMatchedStyles.ts +78 -3
- package/front_end/core/sdk/CSSMetadata.ts +17 -12
- package/front_end/core/sdk/CSSProperty.ts +1 -1
- package/front_end/core/sdk/CSSPropertyParserMatchers.ts +2 -2
- package/front_end/core/sdk/CSSRule.ts +3 -3
- package/front_end/core/sdk/CSSStyleSheetHeader.ts +3 -3
- package/front_end/core/sdk/CompilerSourceMappingContentProvider.ts +1 -1
- package/front_end/core/sdk/Connections.ts +1 -1
- package/front_end/core/sdk/DebuggerModel.ts +13 -13
- package/front_end/core/sdk/NetworkManager.ts +19 -19
- package/front_end/core/sdk/NetworkRequest.ts +57 -57
- package/front_end/core/sdk/OverlayModel.ts +1 -1
- package/front_end/core/sdk/PageResourceLoader.ts +2 -2
- package/front_end/core/sdk/RehydratingConnection.ts +5 -5
- package/front_end/core/sdk/ScreenCaptureModel.ts +1 -1
- package/front_end/core/sdk/Script.ts +2 -2
- package/front_end/core/sdk/ServerTiming.ts +7 -7
- package/front_end/core/sdk/ServiceWorkerCacheModel.ts +1 -1
- package/front_end/core/sdk/ServiceWorkerManager.ts +11 -11
- package/front_end/core/sdk/SourceMapScopeChainEntry.ts +2 -2
- package/front_end/core/sdk/SourceMapScopesInfo.ts +1 -1
- package/front_end/core/sdk/StorageKeyManager.ts +1 -1
- package/front_end/core/sdk/sdk-meta.ts +98 -98
- package/front_end/devtools_compatibility.js +15 -13
- package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshot.ts +4 -8
- package/front_end/entrypoints/main/MainImpl.ts +2 -3
- package/front_end/entrypoints/main/main-meta.ts +1 -16
- package/front_end/entrypoints/shell/shell.ts +1 -0
- package/front_end/entrypoints/trace_app/trace_app.ts +1 -0
- package/front_end/foundation/README.md +1 -1
- package/front_end/foundation/Universe.test.api.ts +73 -0
- package/front_end/foundation/Universe.ts +22 -0
- package/front_end/generated/InspectorBackendCommands.ts +2 -2
- package/front_end/generated/SupportedCSSProperties.js +1 -1
- package/front_end/generated/protocol.ts +19 -0
- package/front_end/models/ai_assistance/AiAgent2.ts +1 -1
- package/front_end/models/ai_assistance/AiConversation.ts +1 -1
- package/front_end/models/ai_assistance/BuiltInAi.ts +1 -1
- package/front_end/models/ai_assistance/ChangeManager.ts +0 -70
- package/front_end/models/ai_assistance/ExtensionScope.ts +2 -36
- package/front_end/models/ai_assistance/agents/AccessibilityAgent.ts +9 -9
- package/front_end/models/ai_assistance/agents/AiAgent.ts +10 -2
- package/front_end/models/ai_assistance/agents/ContextSelectionAgent.ts +4 -4
- package/front_end/models/ai_assistance/agents/ExecuteJavascript.ts +1 -1
- package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +21 -21
- package/front_end/models/ai_assistance/agents/StorageAgent.ts +4 -4
- package/front_end/models/ai_assistance/agents/StylingAgent.ts +1 -1
- package/front_end/models/ai_assistance/ai_assistance.ts +0 -5
- package/front_end/models/ai_assistance/data_formatters/FileFormatter.ts +11 -4
- package/front_end/models/ai_assistance/data_formatters/NetworkRequestFormatter.ts +8 -2
- package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.ts +14 -11
- package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.ts +2 -2
- package/front_end/models/ai_assistance/performance/AICallTree.ts +2 -2
- package/front_end/models/ai_assistance/tools/ExecuteJavaScript.ts +1 -1
- package/front_end/models/ai_assistance/tools/GetNetworkRequestDetails.ts +9 -2
- package/front_end/models/ai_assistance/tools/GetStyles.ts +4 -4
- package/front_end/models/ai_assistance/tools/ListNetworkRequests.ts +2 -5
- package/front_end/models/ai_code_completion/AiCodeCompletion.ts +2 -2
- package/front_end/models/ai_code_generation/AiCodeGeneration.ts +2 -2
- package/front_end/models/badges/badges-meta.ts +27 -0
- package/front_end/models/bindings/CSSWorkspaceBinding.ts +4 -3
- package/front_end/models/bindings/ContentProviderBasedProject.ts +1 -1
- package/front_end/models/bindings/DebuggerLanguagePlugins.ts +6 -7
- package/front_end/models/bindings/DebuggerWorkspaceBinding.ts +5 -4
- package/front_end/models/bindings/PresentationConsoleMessageHelper.ts +72 -29
- package/front_end/models/bindings/ResourceMapping.ts +38 -32
- package/front_end/models/bindings/ResourceScriptMapping.ts +5 -7
- package/front_end/models/breakpoints/BreakpointManager.ts +2 -1
- package/front_end/models/har/Writer.ts +2 -2
- package/front_end/models/issues_manager/ElementAccessibilityIssue.ts +1 -1
- package/front_end/models/issues_manager/GenericIssue.ts +1 -1
- package/front_end/models/issues_manager/IssuesManager.ts +14 -5
- package/front_end/models/issues_manager/PartitioningBlobURLIssue.ts +1 -1
- package/front_end/models/issues_manager/SRIMessageSignatureIssue.ts +2 -2
- package/front_end/models/issues_manager/SourceFrameIssuesManager.ts +13 -2
- package/front_end/models/issues_manager/issues_manager.ts +0 -2
- package/front_end/models/live-metrics/LiveMetrics.ts +22 -5
- package/front_end/models/live-metrics/web-vitals-injected/rollup.config.mjs +1 -1
- package/front_end/models/live-metrics/web-vitals-injected/spec/spec.ts +10 -4
- package/front_end/models/logs/logs-meta.ts +23 -16
- package/front_end/models/persistence/AutomaticFileSystemWorkspaceBinding.ts +2 -2
- package/front_end/models/persistence/IsolatedFileSystem.ts +1 -1
- package/front_end/models/persistence/IsolatedFileSystemManager.ts +1 -1
- package/front_end/models/source_map_scopes/NamesResolver.ts +104 -86
- package/front_end/models/source_map_scopes/ScopeChainModel.ts +6 -2
- package/front_end/models/stack_trace/StackTraceModel.ts +1 -1
- package/front_end/models/trace/handlers/ExtensionTraceDataHandler.ts +1 -1
- package/front_end/models/trace/handlers/UserTimingsHandler.ts +17 -6
- package/front_end/models/trace/helpers/SamplesIntegrator.ts +1 -1
- package/front_end/models/trace/helpers/Timing.ts +1 -1
- package/front_end/models/trace/insights/Common.ts +1 -1
- package/front_end/models/trace/insights/DocumentLatency.ts +3 -3
- package/front_end/models/trace/insights/LCPDiscovery.ts +1 -1
- package/front_end/models/trace/insights/ModernHTTP.ts +1 -1
- package/front_end/models/trace_source_maps_resolver/SourceMapsResolver.ts +2 -2
- package/front_end/models/workspace_diff/WorkspaceDiff.ts +14 -9
- package/front_end/panels/ai_assistance/AiAssistancePanel.ts +2 -15
- package/front_end/panels/ai_assistance/ai_assistance.ts +1 -2
- package/front_end/panels/ai_assistance/components/ChatInput.ts +23 -19
- package/front_end/panels/ai_assistance/components/ChatMessage.ts +9 -18
- package/front_end/panels/ai_assistance/components/ChatView.ts +2 -35
- package/front_end/panels/ai_assistance/components/DisabledWidget.ts +1 -1
- package/front_end/panels/ai_assistance/components/ExploreWidget.ts +4 -4
- package/front_end/panels/ai_assistance/components/ImageResize.ts +74 -0
- package/front_end/panels/ai_assistance/components/WalkthroughView.ts +2 -2
- package/front_end/panels/animation/AnimationGroupPreviewUI.ts +28 -29
- package/front_end/panels/animation/AnimationTimeline.ts +3 -3
- package/front_end/panels/animation/animationTimeline.css +0 -2
- package/front_end/panels/application/AppManifestView.ts +1 -1
- package/front_end/panels/application/ApplicationPanelSidebar.ts +1 -1
- package/front_end/panels/application/CookieItemsView.ts +1 -1
- package/front_end/panels/application/CrashReportContextView.ts +3 -3
- package/front_end/panels/application/DeviceBoundSessionsModel.ts +1 -1
- package/front_end/panels/application/DeviceBoundSessionsTreeElement.ts +1 -1
- package/front_end/panels/application/DeviceBoundSessionsView.ts +1 -1
- package/front_end/panels/application/IndexedDBViews.ts +1 -1
- package/front_end/panels/application/KeyValueStorageItemsView.ts +1 -1
- package/front_end/panels/application/OriginTrialTreeView.ts +1 -1
- package/front_end/panels/application/ServiceWorkersView.ts +6 -6
- package/front_end/panels/application/StorageBucketsTreeElement.ts +1 -1
- package/front_end/panels/application/StorageItemsToolbar.ts +3 -3
- package/front_end/panels/application/WebMCPView.ts +7 -5
- package/front_end/panels/application/components/AdsView.ts +21 -6
- package/front_end/panels/application/components/BackForwardCacheView.ts +2 -2
- package/front_end/panels/application/components/ProtocolHandlersView.ts +1 -1
- package/front_end/panels/application/components/StorageMetadataView.ts +1 -1
- package/front_end/panels/application/preloading/components/MismatchedPreloadingGrid.ts +2 -2
- package/front_end/panels/application/preloading/components/PreloadingDetailsReportView.ts +2 -1
- package/front_end/panels/application/preloading/components/PreloadingString.ts +3 -3
- package/front_end/panels/application/preloading/components/UsedPreloadingView.ts +2 -1
- package/front_end/panels/autofill/AutofillView.ts +1 -1
- package/front_end/panels/browser_debugger/DOMBreakpointsSidebarPane.ts +1 -1
- package/front_end/panels/browser_debugger/XHRBreakpointsSidebarPane.ts +2 -2
- package/front_end/panels/changes/ChangesSidebar.ts +2 -2
- package/front_end/panels/changes/ChangesView.ts +4 -5
- package/front_end/panels/changes/CombinedDiffView.ts +3 -3
- package/front_end/panels/changes/changes-meta.ts +2 -2
- package/front_end/panels/common/AiCodeCompletionTeaser.ts +1 -1
- package/front_end/panels/common/AiCodeGenerationTeaser.ts +3 -3
- package/front_end/panels/common/BadgeNotification.ts +8 -8
- package/front_end/panels/common/DOMLinkifier.ts +1 -1
- package/front_end/panels/common/GdpSignUpDialog.ts +2 -2
- package/front_end/panels/common/GeminiRebrandPromoDialog.ts +1 -1
- package/front_end/panels/common/aiCodeCompletionDisclaimer.css +0 -1
- package/front_end/panels/console/ConsoleInsightTeaser.ts +1 -1
- package/front_end/panels/console/ConsolePinPane.ts +3 -3
- package/front_end/panels/console/ConsolePrompt.ts +6 -4
- package/front_end/panels/console/ConsoleSidebar.ts +8 -10
- package/front_end/panels/console_counters/WarningErrorCounter.ts +10 -11
- package/front_end/panels/coverage/CoverageView.ts +2 -2
- package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +3 -3
- package/front_end/panels/css_overview/CSSOverviewSidebarPanel.ts +1 -1
- package/front_end/panels/developer_resources/DeveloperResourcesView.ts +1 -1
- package/front_end/panels/elements/CSSRuleValidator.ts +1 -1
- package/front_end/panels/elements/ComputedStyleWidget.ts +3 -2
- package/front_end/panels/elements/ElementsTreeElement.ts +3 -3
- package/front_end/panels/elements/EventListenersWidget.ts +1 -3
- package/front_end/panels/elements/LayoutPane.ts +23 -13
- package/front_end/panels/elements/StandaloneStylesContainer.ts +7 -7
- package/front_end/panels/elements/StylePropertiesSection.ts +33 -5
- package/front_end/panels/elements/StylePropertyTreeElement.ts +5 -5
- package/front_end/panels/elements/StylesAiCodeCompletionProvider.ts +6 -6
- package/front_end/panels/elements/StylesSidebarPane.ts +4 -3
- package/front_end/panels/elements/elements-meta.ts +18 -2
- package/front_end/panels/emulation/DeviceModeToolbar.ts +100 -40
- package/front_end/panels/emulation/DeviceModeView.ts +5 -4
- package/front_end/panels/emulation/MediaQueryInspector.ts +35 -19
- package/front_end/panels/event_listeners/EventListenersView.ts +4 -4
- package/front_end/panels/explain/components/ConsoleInsight.ts +8 -9
- package/front_end/panels/explain/explain-meta.ts +3 -3
- package/front_end/panels/layer_viewer/LayerTreeOutline.ts +135 -167
- package/front_end/panels/layer_viewer/Layers3DView.ts +10 -23
- package/front_end/panels/layer_viewer/layer_viewer-meta.ts +27 -0
- package/front_end/panels/lighthouse/LighthouseController.ts +44 -55
- package/front_end/panels/lighthouse/LighthousePanel.ts +9 -9
- package/front_end/panels/lighthouse/LighthouseReportSelector.ts +2 -2
- package/front_end/panels/lighthouse/LighthouseStartView.ts +9 -12
- package/front_end/panels/lighthouse/LighthouseStatusView.ts +33 -33
- package/front_end/panels/lighthouse/RadioSetting.ts +1 -1
- package/front_end/panels/lighthouse/lighthouse-meta.ts +131 -1
- package/front_end/panels/media/EventDisplayTable.ts +67 -94
- package/front_end/panels/media/PlayerListView.ts +1 -1
- package/front_end/panels/media/eventDisplayTable.css +9 -4
- package/front_end/panels/mobile_throttling/NetworkThrottlingSelector.ts +5 -5
- package/front_end/panels/mobile_throttling/ThrottlingSettingsTab.ts +1 -1
- package/front_end/panels/network/EventSourceMessagesView.ts +98 -107
- package/front_end/panels/network/NetworkLogViewColumns.ts +1 -1
- package/front_end/panels/network/NetworkWaterfallColumn.ts +1 -1
- package/front_end/panels/network/RequestConditionsDrawer.ts +2 -2
- package/front_end/panels/network/RequestCookiesView.ts +2 -2
- package/front_end/panels/network/RequestHeadersView.ts +5 -5
- package/front_end/panels/network/RequestPayloadView.ts +4 -4
- package/front_end/panels/network/RequestTimingView.ts +2 -2
- package/front_end/panels/network/components/DirectSocketConnectionView.ts +1 -1
- package/front_end/panels/network/eventSourceMessagesView.css +12 -3
- package/front_end/panels/network/networkTimingTable.css +2 -2
- package/front_end/panels/performance_monitor/PerformanceMonitor.ts +1 -1
- package/front_end/panels/profiler/BottomUpProfileDataGrid.ts +25 -29
- package/front_end/panels/profiler/HeapProfileView.ts +308 -247
- package/front_end/panels/profiler/HeapSnapshotDataGrids.ts +13 -3
- package/front_end/panels/profiler/HeapSnapshotView.ts +30 -10
- package/front_end/panels/profiler/HeapTimelineOverview.ts +5 -2
- package/front_end/panels/profiler/ProfileDataGrid.ts +128 -157
- package/front_end/panels/profiler/ProfileFlameChartDataProvider.ts +17 -5
- package/front_end/panels/profiler/ProfilesPanel.ts +2 -2
- package/front_end/panels/profiler/TopDownProfileDataGrid.ts +17 -21
- package/front_end/panels/profiler/profilesPanel.css +9 -13
- package/front_end/panels/protocol_monitor/ProtocolMonitor.ts +2 -2
- package/front_end/panels/recorder/CreateRecordingView.ts +4 -4
- package/front_end/panels/recorder/RecorderPanel.ts +6 -6
- package/front_end/panels/recorder/RecordingView.ts +1 -1
- package/front_end/panels/recorder/ReplaySection.ts +1 -1
- package/front_end/panels/recorder/StepView.ts +1 -1
- package/front_end/panels/recorder/injected/rollup.config.mjs +1 -1
- package/front_end/panels/search/SearchView.ts +1 -1
- package/front_end/panels/security/SecurityPanel.ts +54 -41
- package/front_end/panels/sensors/LocationsSettingsTab.ts +246 -233
- package/front_end/panels/sensors/SensorsView.ts +1 -1
- package/front_end/panels/settings/AISettingsTab.ts +11 -10
- package/front_end/panels/settings/SettingsScreen.ts +29 -24
- package/front_end/panels/settings/emulation/components/UserAgentClientHintsForm.ts +2 -2
- package/front_end/panels/sources/AiCodeCompletionPlugin.ts +5 -5
- package/front_end/panels/sources/BreakpointEditDialog.ts +2 -2
- package/front_end/panels/sources/BreakpointsView.ts +1 -1
- package/front_end/panels/sources/CallStackSidebarPane.ts +2 -2
- package/front_end/panels/sources/DebuggerPausedMessage.ts +2 -2
- package/front_end/panels/sources/DebuggerPlugin.ts +25 -22
- package/front_end/panels/sources/ScopeChainSidebarPane.ts +3 -1
- package/front_end/panels/sources/WatchExpressionsSidebarPane.ts +7 -5
- package/front_end/panels/sources/sources-meta.ts +1 -1
- package/front_end/panels/timeline/CountersGraph.ts +1 -2
- package/front_end/panels/timeline/ExtensionTrackAppender.ts +1 -1
- package/front_end/panels/timeline/TimelineDetailsView.ts +2 -2
- package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +2 -2
- package/front_end/panels/timeline/TimelineFlameChartView.ts +4 -4
- package/front_end/panels/timeline/TimelinePaintProfilerView.ts +1 -1
- package/front_end/panels/timeline/TimelinePanel.ts +53 -81
- package/front_end/panels/timeline/TimelineSelectorStatsView.ts +10 -3
- package/front_end/panels/timeline/TimelineUIUtils.ts +18 -4
- package/front_end/panels/timeline/TrackConfigBanner.ts +1 -1
- package/front_end/panels/timeline/components/ExportTraceOptions.ts +1 -1
- package/front_end/panels/timeline/components/LayoutShiftDetails.ts +8 -9
- package/front_end/panels/timeline/components/NetworkRequestTooltip.ts +1 -1
- package/front_end/panels/timeline/components/TimelineRangeSummaryView.ts +1 -1
- package/front_end/panels/timeline/components/insights/DuplicatedJavaScript.ts +2 -2
- package/front_end/panels/timeline/components/insights/LCPBreakdown.ts +1 -1
- package/front_end/panels/timeline/components/insights/LegacyJavaScript.ts +1 -1
- package/front_end/panels/timeline/components/insights/SlowCSSSelector.ts +2 -2
- package/front_end/panels/timeline/overlays/OverlaysImpl.ts +5 -0
- package/front_end/panels/timeline/overlays/components/TimespanBreakdownOverlay.ts +13 -8
- package/front_end/panels/timeline/overlays/components/timespanBreakdownOverlay.css +1 -0
- package/front_end/panels/timeline/timeline-meta.ts +169 -0
- package/front_end/panels/timeline/timelineFlameChartView.css +5 -0
- package/front_end/panels/webauthn/WebauthnPane.ts +1 -1
- package/front_end/panels/whats_new/ReleaseNoteText.ts +9 -9
- package/front_end/panels/whats_new/resources/WNDT.md +7 -8
- package/front_end/third_party/chromium/README.chromium +1 -1
- package/front_end/third_party/web-vitals/README.chromium +2 -2
- package/front_end/third_party/web-vitals/package/README.md +120 -19
- package/front_end/third_party/web-vitals/package/attribution.d.ts +16 -0
- package/front_end/third_party/web-vitals/package/attribution.js +18 -0
- package/front_end/third_party/web-vitals/package/dist/modules/attribution/onCLS.d.ts +1 -1
- package/front_end/third_party/web-vitals/package/dist/modules/attribution/onFCP.d.ts +1 -7
- package/front_end/third_party/web-vitals/package/dist/modules/attribution/onFCP.js +53 -32
- package/front_end/third_party/web-vitals/package/dist/modules/attribution/onINP.d.ts +2 -2
- package/front_end/third_party/web-vitals/package/dist/modules/attribution/onINP.js +43 -12
- package/front_end/third_party/web-vitals/package/dist/modules/attribution/onLCP.d.ts +1 -1
- package/front_end/third_party/web-vitals/package/dist/modules/attribution/onLCP.js +21 -3
- package/front_end/third_party/web-vitals/package/dist/modules/attribution/onTTFB.d.ts +1 -1
- package/front_end/third_party/web-vitals/package/dist/modules/attribution/onTTFB.js +30 -24
- package/front_end/third_party/web-vitals/package/dist/modules/lib/FCPEntryManager.d.ts +3 -0
- package/front_end/third_party/web-vitals/package/dist/modules/lib/FCPEntryManager.js +18 -0
- package/front_end/third_party/web-vitals/package/dist/modules/lib/InteractionManager.d.ts +2 -1
- package/front_end/third_party/web-vitals/package/dist/modules/lib/InteractionManager.js +18 -2
- package/front_end/third_party/web-vitals/package/dist/modules/lib/LCPEntryManager.d.ts +1 -0
- package/front_end/third_party/web-vitals/package/dist/modules/lib/LCPEntryManager.js +1 -0
- 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/generateUniqueID.js +1 -1
- package/front_end/third_party/web-vitals/package/dist/modules/lib/getLoadState.d.ts +1 -1
- package/front_end/third_party/web-vitals/package/dist/modules/lib/getLoadState.js +7 -7
- package/front_end/third_party/web-vitals/package/dist/modules/lib/getSelector.js +1 -1
- package/front_end/third_party/web-vitals/package/dist/modules/lib/getVisibilityWatcher.d.ts +1 -1
- package/front_end/third_party/web-vitals/package/dist/modules/lib/getVisibilityWatcher.js +4 -1
- package/front_end/third_party/web-vitals/package/dist/modules/lib/initMetric.d.ts +7 -3
- package/front_end/third_party/web-vitals/package/dist/modules/lib/initMetric.js +20 -11
- package/front_end/third_party/web-vitals/package/dist/modules/lib/initUnique.js +8 -3
- package/front_end/third_party/web-vitals/package/dist/modules/lib/observe.d.ts +3 -1
- package/front_end/third_party/web-vitals/package/dist/modules/lib/observe.js +19 -4
- package/front_end/third_party/web-vitals/package/dist/modules/lib/polyfills/interactionCountPolyfill.js +1 -1
- package/front_end/third_party/web-vitals/package/dist/modules/lib/softNavs.d.ts +3 -0
- package/front_end/third_party/web-vitals/package/dist/modules/lib/softNavs.js +38 -0
- package/front_end/third_party/web-vitals/package/dist/modules/lib/whenIdleOrHidden.js +5 -1
- package/front_end/third_party/web-vitals/package/dist/modules/onCLS.d.ts +1 -1
- package/front_end/third_party/web-vitals/package/dist/modules/onCLS.js +30 -11
- package/front_end/third_party/web-vitals/package/dist/modules/onFCP.d.ts +1 -1
- package/front_end/third_party/web-vitals/package/dist/modules/onFCP.js +36 -4
- package/front_end/third_party/web-vitals/package/dist/modules/onINP.d.ts +1 -1
- package/front_end/third_party/web-vitals/package/dist/modules/onINP.js +42 -22
- package/front_end/third_party/web-vitals/package/dist/modules/onLCP.d.ts +1 -1
- package/front_end/third_party/web-vitals/package/dist/modules/onLCP.js +109 -30
- package/front_end/third_party/web-vitals/package/dist/modules/onTTFB.d.ts +1 -1
- package/front_end/third_party/web-vitals/package/dist/modules/onTTFB.js +25 -7
- package/front_end/third_party/web-vitals/package/dist/modules/types/base.d.ts +24 -1
- package/front_end/third_party/web-vitals/package/dist/modules/types/fcp.d.ts +1 -1
- package/front_end/third_party/web-vitals/package/dist/modules/types/inp.d.ts +14 -6
- package/front_end/third_party/web-vitals/package/dist/modules/types/lcp.d.ts +1 -1
- package/front_end/third_party/web-vitals/package/dist/modules/types/ttfb.d.ts +2 -2
- package/front_end/third_party/web-vitals/package/dist/modules/types.d.ts +26 -4
- package/front_end/third_party/web-vitals/package/package.json +21 -22
- package/front_end/third_party/web-vitals/package/src/attribution/onCLS.ts +1 -1
- package/front_end/third_party/web-vitals/package/src/attribution/onFCP.ts +62 -39
- package/front_end/third_party/web-vitals/package/src/attribution/onINP.ts +52 -15
- package/front_end/third_party/web-vitals/package/src/attribution/onLCP.ts +25 -7
- package/front_end/third_party/web-vitals/package/src/attribution/onTTFB.ts +43 -37
- package/front_end/third_party/web-vitals/package/src/lib/{polyfills/getFirstHiddenTimePolyfill.ts → FCPEntryManager.ts} +4 -14
- package/front_end/third_party/web-vitals/package/src/lib/InteractionManager.ts +22 -2
- package/front_end/third_party/web-vitals/package/src/lib/LCPEntryManager.ts +1 -0
- package/front_end/third_party/web-vitals/package/src/lib/bindReporter.ts +1 -1
- package/front_end/third_party/web-vitals/package/src/lib/generateUniqueID.ts +1 -1
- package/front_end/third_party/web-vitals/package/src/lib/getLoadState.ts +11 -12
- package/front_end/third_party/web-vitals/package/src/lib/getSelector.ts +1 -1
- package/front_end/third_party/web-vitals/package/src/lib/getVisibilityWatcher.ts +4 -1
- package/front_end/third_party/web-vitals/package/src/lib/initMetric.ts +24 -11
- package/front_end/third_party/web-vitals/package/src/lib/initUnique.ts +12 -4
- package/front_end/third_party/web-vitals/package/src/lib/observe.ts +26 -5
- package/front_end/third_party/web-vitals/package/src/lib/polyfills/interactionCountPolyfill.ts +1 -1
- package/front_end/third_party/web-vitals/package/src/lib/softNavs.ts +48 -0
- package/front_end/third_party/web-vitals/package/src/lib/whenIdleOrHidden.ts +12 -4
- package/front_end/third_party/web-vitals/package/src/onCLS.ts +75 -18
- package/front_end/third_party/web-vitals/package/src/onFCP.ts +66 -7
- package/front_end/third_party/web-vitals/package/src/onINP.ts +100 -39
- package/front_end/third_party/web-vitals/package/src/onLCP.ts +169 -34
- package/front_end/third_party/web-vitals/package/src/onTTFB.ts +50 -13
- package/front_end/third_party/web-vitals/package/src/types/base.ts +31 -10
- package/front_end/third_party/web-vitals/package/src/types/fcp.ts +1 -1
- package/front_end/third_party/web-vitals/package/src/types/inp.ts +14 -6
- package/front_end/third_party/web-vitals/package/src/types/lcp.ts +1 -1
- package/front_end/third_party/web-vitals/package/src/types/ttfb.ts +2 -2
- package/front_end/third_party/web-vitals/package/src/types.ts +32 -9
- package/front_end/third_party/web-vitals/patches/0001-Add-onEachInteraction-to-onINP-options.patch +11 -11
- package/front_end/third_party/web-vitals/rebuild.sh +2 -2
- package/front_end/third_party/web-vitals/web-vitals-tsconfig.json +2 -0
- package/front_end/ui/components/buttons/Button.ts +16 -0
- package/front_end/ui/components/dialogs/Dialog.ts +1 -1
- package/front_end/ui/components/highlighting/HighlightManager.ts +6 -1
- package/front_end/ui/components/highlighting/highlighting.ts +1 -1
- package/front_end/ui/components/icon_button/FileSourceIcon.ts +1 -1
- package/front_end/ui/components/linkifier/LinkifierImpl.ts +1 -1
- package/front_end/ui/components/markdown_view/MarkdownLinksMap.ts +2 -2
- package/front_end/ui/components/settings/SettingCheckbox.ts +12 -7
- package/front_end/ui/components/text_editor/AiCodeCompletionProvider.ts +2 -2
- package/front_end/ui/components/text_editor/AiCodeGenerationProvider.ts +6 -6
- package/front_end/ui/components/text_editor/javascript.ts +3 -1
- package/front_end/ui/components/tooltips/Tooltip.ts +1 -1
- package/front_end/ui/legacy/ContextMenu.ts +12 -2
- package/front_end/ui/legacy/ListControl.ts +1 -1
- package/front_end/ui/legacy/SelectMenu.docs.ts +17 -19
- package/front_end/ui/legacy/Toolbar.ts +4 -1
- package/front_end/ui/legacy/Treeoutline.ts +1 -1
- package/front_end/ui/legacy/components/color_picker/spectrum.css +1 -2
- package/front_end/ui/legacy/components/data_grid/DataGrid.ts +1 -1
- package/front_end/ui/legacy/components/data_grid/DataGridElement.ts +50 -4
- package/front_end/ui/legacy/components/object_ui/JavaScriptREPL.ts +3 -1
- package/front_end/ui/legacy/components/perf_ui/ChartViewport.ts +4 -4
- package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +8 -7
- package/front_end/ui/legacy/components/quick_open/CommandMenu.ts +14 -11
- package/front_end/ui/legacy/components/quick_open/QuickOpen.ts +1 -1
- package/front_end/ui/legacy/components/settings_ui/SettingsUI.ts +15 -5
- package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +4 -4
- package/front_end/ui/legacy/components/utils/Linkifier.ts +5 -1
- package/front_end/ui/lit/render.ts +1 -1
- package/front_end/ui/settings/SettingUIRegistration.ts +8 -3
- package/front_end/ui/visual_logging/KnownContextValues.ts +8 -0
- package/front_end/ui/visual_logging/LoggingEvents.ts +1 -1
- package/inspector_overlay/main.ts +1 -1
- package/mcp/mcp.ts +5 -4
- package/package.json +13 -13
- package/front_end/models/ai_assistance/AgentProject.ts +0 -261
- package/front_end/models/ai_assistance/agents/PatchAgent.ts +0 -306
- package/front_end/models/issues_manager/CheckFormsIssuesTrigger.ts +0 -45
- package/front_end/models/text_utils/text_utils.ts +0 -5
- package/front_end/panels/ai_assistance/PatchWidget.ts +0 -867
- package/front_end/panels/ai_assistance/SelectWorkspaceDialog.ts +0 -368
- package/front_end/panels/ai_assistance/selectWorkspaceDialog.css +0 -92
|
@@ -124,7 +124,7 @@ const DEFAULT_VIEW: View = (input, output, target) => {
|
|
|
124
124
|
{offset: 0.9, width: '100%', opacity: 1},
|
|
125
125
|
{offset: 1, width: '100%', opacity: 0},
|
|
126
126
|
],
|
|
127
|
-
{duration: 200, easing: 'cubic-bezier(0, 0, 0.2, 1)'}
|
|
127
|
+
{duration: 200, easing: 'cubic-bezier(0, 0, 0.2, 1)'},
|
|
128
128
|
);
|
|
129
129
|
};
|
|
130
130
|
}
|
|
@@ -195,34 +195,33 @@ export class AnimationGroupPreviewUI extends UI.Widget.Widget {
|
|
|
195
195
|
}
|
|
196
196
|
|
|
197
197
|
override performUpdate(): void {
|
|
198
|
-
this.#view(
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
this.#viewOutput, this.contentElement);
|
|
198
|
+
this.#view({
|
|
199
|
+
isScrollDrivenAnimationGroup: this.#config.animationGroup.isScrollDriven(),
|
|
200
|
+
isPreviewAnimationDisabled: this.#previewAnimationDisabled,
|
|
201
|
+
isSelected: this.#selected,
|
|
202
|
+
isPaused: this.#paused,
|
|
203
|
+
isFocusable: this.#focusable,
|
|
204
|
+
label: this.#config.label,
|
|
205
|
+
animationGroupDuration: this.#config.animationGroup.groupDuration(),
|
|
206
|
+
animations: this.#config.animationGroup.animations().slice(0, MAX_ANIMATION_LINES_TO_SHOW),
|
|
207
|
+
onPreviewAnimationEnd: () => {
|
|
208
|
+
this.#previewAnimationDisabled = true;
|
|
209
|
+
this.requestUpdate();
|
|
210
|
+
},
|
|
211
|
+
onRemoveAnimationGroup: () => {
|
|
212
|
+
this.#config.onRemoveAnimationGroup();
|
|
213
|
+
},
|
|
214
|
+
onSelectAnimationGroup: () => {
|
|
215
|
+
this.#config.onSelectAnimationGroup();
|
|
216
|
+
},
|
|
217
|
+
onFocusNextGroup: () => {
|
|
218
|
+
this.#config.onFocusNextGroup();
|
|
219
|
+
},
|
|
220
|
+
onFocusPreviousGroup: () => {
|
|
221
|
+
this.#config.onFocusPreviousGroup();
|
|
222
|
+
},
|
|
223
|
+
},
|
|
224
|
+
this.#viewOutput, this.contentElement);
|
|
226
225
|
}
|
|
227
226
|
|
|
228
227
|
override focus(): void {
|
|
@@ -470,7 +470,7 @@ export class AnimationTimeline extends UI.Widget.VBox implements
|
|
|
470
470
|
},
|
|
471
471
|
onSetPlaybackRateClick: (playbackRate: number) => {
|
|
472
472
|
this.setPlaybackRate(playbackRate);
|
|
473
|
-
}
|
|
473
|
+
},
|
|
474
474
|
},
|
|
475
475
|
undefined, this.#toolbarViewContainer);
|
|
476
476
|
}
|
|
@@ -698,7 +698,7 @@ export class AnimationTimeline extends UI.Widget.VBox implements
|
|
|
698
698
|
},
|
|
699
699
|
onFocusPreviousGroup: () => {
|
|
700
700
|
this.focusNextGroup(group, /* focusPrevious */ true);
|
|
701
|
-
}
|
|
701
|
+
},
|
|
702
702
|
});
|
|
703
703
|
|
|
704
704
|
const previewUiContainer = document.createElement('div');
|
|
@@ -1216,7 +1216,7 @@ export class NodeUI {
|
|
|
1216
1216
|
const link = PanelsCommon.DOMLinkifier.Linkifier.instance().linkify(node, {
|
|
1217
1217
|
onClick: () => {
|
|
1218
1218
|
Host.userMetrics.actionTaken(Host.UserMetrics.Action.AnimatedNodeDescriptionClicked);
|
|
1219
|
-
}
|
|
1219
|
+
},
|
|
1220
1220
|
});
|
|
1221
1221
|
render(link, this.#description, {host: this});
|
|
1222
1222
|
if (!node.ownerDocument) {
|
|
@@ -44,13 +44,11 @@
|
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
path.animation-keyframe {
|
|
47
|
-
/* stylelint-disable-next-line declaration-property-value-no-unknown */
|
|
48
47
|
fill-opacity: 20%;
|
|
49
48
|
}
|
|
50
49
|
|
|
51
50
|
.animation-node-selected path.animation-keyframe,
|
|
52
51
|
svg.animation-ui g:first-child:hover path.animation-keyframe {
|
|
53
|
-
/* stylelint-disable-next-line declaration-property-value-no-unknown */
|
|
54
52
|
fill-opacity: 40%;
|
|
55
53
|
}
|
|
56
54
|
|
|
@@ -1098,7 +1098,7 @@ export const DEFAULT_VIEW: View = (input, output, target) => {
|
|
|
1098
1098
|
${isEmpty ? widget(UI.EmptyWidget.EmptyWidget, {
|
|
1099
1099
|
header: i18nString(UIStrings.noManifestDetected),
|
|
1100
1100
|
text: i18nString(UIStrings.manifestDescription),
|
|
1101
|
-
link: 'https://web.dev/add-manifest/' as Platform.DevToolsPath.UrlString
|
|
1101
|
+
link: 'https://web.dev/add-manifest/' as Platform.DevToolsPath.UrlString,
|
|
1102
1102
|
}) : html`
|
|
1103
1103
|
<devtools-report .data=${{reportTitle: i18nString(UIStrings.appManifest), reportUrl: url}}>
|
|
1104
1104
|
${renderErrors(warnings, errors, imageErrors, output)}
|
|
@@ -296,7 +296,7 @@ const UIStrings = {
|
|
|
296
296
|
/**
|
|
297
297
|
* @description Description text in the Application Panel describing a frame's resources
|
|
298
298
|
*/
|
|
299
|
-
resourceDescription: 'On this page you can view the frame’s resources.'
|
|
299
|
+
resourceDescription: 'On this page you can view the frame’s resources.',
|
|
300
300
|
} as const;
|
|
301
301
|
const str_ = i18n.i18n.registerUIStrings('panels/application/ApplicationPanelSidebar.ts', UIStrings);
|
|
302
302
|
const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
@@ -230,7 +230,7 @@ export const DEFAULT_VIEW: View = (input, output, target) => {
|
|
|
230
230
|
</devtools-widget>` :
|
|
231
231
|
html`<devtools-widget ${widget(UI.EmptyWidget.EmptyWidget, {
|
|
232
232
|
header: i18nString(UIStrings.noCookieSelected),
|
|
233
|
-
text: i18nString(UIStrings.selectACookieToPreviewItsValue)
|
|
233
|
+
text: i18nString(UIStrings.selectACookieToPreviewItsValue),
|
|
234
234
|
})}></devtools-widget>`}
|
|
235
235
|
</devtools-widget>
|
|
236
236
|
</devtools-split-view>
|
|
@@ -107,7 +107,7 @@ export const DEFAULT_VIEW = (input: ViewInput, _output: undefined, target: HTMLE
|
|
|
107
107
|
.iconName=${'refresh'}
|
|
108
108
|
.variant=${Buttons.Button.Variant.TOOLBAR}
|
|
109
109
|
jslog=${VisualLogging.action('refresh').track({
|
|
110
|
-
click: true
|
|
110
|
+
click: true,
|
|
111
111
|
})}>
|
|
112
112
|
</devtools-button>
|
|
113
113
|
<devtools-toolbar-input type="filter" placeholder=${i18nString(UIStrings.filterByText)}
|
|
@@ -127,8 +127,8 @@ export const DEFAULT_VIEW = (input: ViewInput, _output: undefined, target: HTMLE
|
|
|
127
127
|
data: {
|
|
128
128
|
entries: frame.entries.map(e => ({key: e.key, value: e.value})),
|
|
129
129
|
selectedKey: input.selectedKey || undefined,
|
|
130
|
-
filters: input.filters
|
|
131
|
-
}
|
|
130
|
+
filters: input.filters,
|
|
131
|
+
},
|
|
132
132
|
})}
|
|
133
133
|
@select=${(e: CustomEvent<string>) => input.onRowSelected(e.detail)}>
|
|
134
134
|
</devtools-widget>
|
|
@@ -155,7 +155,7 @@ export class DeviceBoundSessionsModel extends Common.ObjectWrapper.ObjectWrapper
|
|
|
155
155
|
sessionAndEvent = {
|
|
156
156
|
isSessionTerminated: false,
|
|
157
157
|
hasErrors: false,
|
|
158
|
-
eventsById: new Map<string, EventWithTimestamp>()
|
|
158
|
+
eventsById: new Map<string, EventWithTimestamp>(),
|
|
159
159
|
};
|
|
160
160
|
sessionIdToSessionMap.set(sessionId, sessionAndEvent);
|
|
161
161
|
}
|
|
@@ -12,7 +12,7 @@ import {ApplicationPanelTreeElement} from './ApplicationPanelTreeElement.js';
|
|
|
12
12
|
import {
|
|
13
13
|
DeviceBoundSessionModelEvents,
|
|
14
14
|
type DeviceBoundSessionModelEventTypes,
|
|
15
|
-
type DeviceBoundSessionsModel
|
|
15
|
+
type DeviceBoundSessionsModel,
|
|
16
16
|
} from './DeviceBoundSessionsModel.js';
|
|
17
17
|
import type {ResourcesPanel} from './ResourcesPanel.js';
|
|
18
18
|
|
|
@@ -16,7 +16,7 @@ import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
|
|
|
16
16
|
import {
|
|
17
17
|
DeviceBoundSessionModelEvents,
|
|
18
18
|
type DeviceBoundSessionsModel,
|
|
19
|
-
type SessionAndEvents
|
|
19
|
+
type SessionAndEvents,
|
|
20
20
|
} from './DeviceBoundSessionsModel.js';
|
|
21
21
|
import deviceBoundSessionsViewStyles from './deviceBoundSessionsView.css.js';
|
|
22
22
|
const {widget} = UI.Widget;
|
|
@@ -293,7 +293,7 @@ const renderDataGrid = (input: IndexedDBDataViewInput): LitTemplate => {
|
|
|
293
293
|
<td>${widget(ObjectPropertiesSectionWidget, {value: entry.key})}</td>
|
|
294
294
|
${input.isIndex ? html`<td>${widget(ObjectPropertiesSectionWidget, {value: entry.primaryKey})}</td>` : nothing}
|
|
295
295
|
<td class="value-column">${widget(ObjectPropertiesSectionWidget, {value: entry.value})}</td>
|
|
296
|
-
</tr
|
|
296
|
+
</tr>`,
|
|
297
297
|
)}
|
|
298
298
|
</table>`}>
|
|
299
299
|
</devtools-data-grid>`;
|
|
@@ -238,7 +238,7 @@ export class OriginTrialTokenRows extends UI.Widget.Widget {
|
|
|
238
238
|
name: i18nString(UIStrings.expiryTime),
|
|
239
239
|
value: {
|
|
240
240
|
text: this.#dateFormatter.format(this.#tokenWithStatus.parsedToken.expiryTime * 1000),
|
|
241
|
-
hasError: this.#tokenWithStatus.status === Protocol.Page.OriginTrialTokenStatus.Expired
|
|
241
|
+
hasError: this.#tokenWithStatus.status === Protocol.Page.OriginTrialTokenStatus.Expired,
|
|
242
242
|
},
|
|
243
243
|
},
|
|
244
244
|
{
|
|
@@ -288,9 +288,9 @@ export const DEFAULT_VIEW: View = (input, _output, target): void => {
|
|
|
288
288
|
container: {
|
|
289
289
|
classes: [
|
|
290
290
|
'service-worker-list',
|
|
291
|
-
(input.sections.length > 0 ? 'service-worker-has-current' : 'service-worker-list-empty')
|
|
292
|
-
]
|
|
293
|
-
}
|
|
291
|
+
(input.sections.length > 0 ? 'service-worker-has-current' : 'service-worker-list-empty'),
|
|
292
|
+
],
|
|
293
|
+
},
|
|
294
294
|
});
|
|
295
295
|
// clang-format on
|
|
296
296
|
};
|
|
@@ -502,7 +502,7 @@ function renderHeaderButtons(input: SectionViewInput): LitTemplate {
|
|
|
502
502
|
<devtools-button .data=${{
|
|
503
503
|
variant: Buttons.Button.Variant.TEXT,
|
|
504
504
|
title: i18nString(UIStrings.networkRequests),
|
|
505
|
-
jslogContext: 'show-network-requests'
|
|
505
|
+
jslogContext: 'show-network-requests',
|
|
506
506
|
} as Buttons.Button.ButtonData}
|
|
507
507
|
.disabled=${input.isDeleted}
|
|
508
508
|
@click=${input.onNetworkRequests}>
|
|
@@ -511,7 +511,7 @@ function renderHeaderButtons(input: SectionViewInput): LitTemplate {
|
|
|
511
511
|
<devtools-button .data=${{
|
|
512
512
|
variant: Buttons.Button.Variant.TEXT,
|
|
513
513
|
title: i18nString(UIStrings.update),
|
|
514
|
-
jslogContext: 'update'
|
|
514
|
+
jslogContext: 'update',
|
|
515
515
|
} as Buttons.Button.ButtonData}
|
|
516
516
|
.disabled=${input.isDeleted}
|
|
517
517
|
@click=${input.onUpdate}>
|
|
@@ -520,7 +520,7 @@ function renderHeaderButtons(input: SectionViewInput): LitTemplate {
|
|
|
520
520
|
<devtools-button .data=${{
|
|
521
521
|
variant: Buttons.Button.Variant.TEXT,
|
|
522
522
|
title: i18nString(UIStrings.unregisterServiceWorker),
|
|
523
|
-
jslogContext: 'unregister'
|
|
523
|
+
jslogContext: 'unregister',
|
|
524
524
|
} as Buttons.Button.ButtonData}
|
|
525
525
|
.disabled=${input.isDeleted}
|
|
526
526
|
@click=${input.onUnregister}>
|
|
@@ -37,7 +37,7 @@ const UIStrings = {
|
|
|
37
37
|
* deleted independently. https://developer.chrome.com/docs/web-platform/storage-buckets.
|
|
38
38
|
*/
|
|
39
39
|
storageBucketsDescription:
|
|
40
|
-
'On this page you can view and delete storage buckets, and their associated `Storage APIs`.'
|
|
40
|
+
'On this page you can view and delete storage buckets, and their associated `Storage APIs`.',
|
|
41
41
|
} as const;
|
|
42
42
|
const str_ = i18n.i18n.registerUIStrings('panels/application/StorageBucketsTreeElement.ts', UIStrings);
|
|
43
43
|
export const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
@@ -59,7 +59,7 @@ export const DEFAULT_VIEW = (input: ViewInput, _output: object, target: HTMLElem
|
|
|
59
59
|
jslog=${VisualLogging.toolbar()}>
|
|
60
60
|
<devtools-button title=${i18nString(UIStrings.refresh)}
|
|
61
61
|
jslog=${VisualLogging.action('storage-items-view.refresh').track({
|
|
62
|
-
click: true
|
|
62
|
+
click: true,
|
|
63
63
|
})}
|
|
64
64
|
@click=${input.onRefresh}
|
|
65
65
|
.iconName=${'refresh'}
|
|
@@ -74,7 +74,7 @@ export const DEFAULT_VIEW = (input: ViewInput, _output: object, target: HTMLElem
|
|
|
74
74
|
id=storage-items-delete-all
|
|
75
75
|
?disabled=${!input.deleteAllButtonEnabled}
|
|
76
76
|
jslog=${VisualLogging.action('storage-items-view.clear-all').track({
|
|
77
|
-
click: true
|
|
77
|
+
click: true,
|
|
78
78
|
})}
|
|
79
79
|
.iconName=${input.deleteAllButtonIconName}
|
|
80
80
|
.variant=${Buttons.Button.Variant.TOOLBAR}></devtools-button>
|
|
@@ -82,7 +82,7 @@ export const DEFAULT_VIEW = (input: ViewInput, _output: object, target: HTMLElem
|
|
|
82
82
|
@click=${input.onDeleteSelected}
|
|
83
83
|
?disabled=${!input.deleteSelectedButtonDisabled}
|
|
84
84
|
jslog=${VisualLogging.action('storage-items-view.delete-selected').track({
|
|
85
|
-
click: true
|
|
85
|
+
click: true,
|
|
86
86
|
})}
|
|
87
87
|
.iconName=${'cross'}
|
|
88
88
|
.variant=${Buttons.Button.Variant.TOOLBAR}></devtools-button>
|
|
@@ -338,8 +338,10 @@ function toolStatsIcon(status: Protocol.WebMCP.InvocationStatus|undefined): {ico
|
|
|
338
338
|
function getIconGroupsFromStats(toolStats?: ToolStats):
|
|
339
339
|
Array<IconButton.IconButton.IconWithTextData&{status: Protocol.WebMCP.InvocationStatus | undefined}> {
|
|
340
340
|
const status = [
|
|
341
|
-
Protocol.WebMCP.InvocationStatus.Completed,
|
|
342
|
-
Protocol.WebMCP.InvocationStatus.
|
|
341
|
+
Protocol.WebMCP.InvocationStatus.Completed,
|
|
342
|
+
Protocol.WebMCP.InvocationStatus.Error,
|
|
343
|
+
Protocol.WebMCP.InvocationStatus.Canceled,
|
|
344
|
+
undefined,
|
|
343
345
|
];
|
|
344
346
|
return status
|
|
345
347
|
.map(status => ({
|
|
@@ -691,7 +693,7 @@ export const DEFAULT_VIEW: View = (input, output, target) => {
|
|
|
691
693
|
...getJSONEditorParameters(input.selectedTool.tool),
|
|
692
694
|
commandToDisplay: {
|
|
693
695
|
command: input.selectedTool.tool.name,
|
|
694
|
-
parameters: input.selectedTool.parameters || {}
|
|
696
|
+
parameters: input.selectedTool.parameters || {},
|
|
695
697
|
},
|
|
696
698
|
})}
|
|
697
699
|
${UI.Widget.widgetRef(ProtocolMonitor.JSONEditor.JSONEditor, e => { editorWidget = e; })}
|
|
@@ -709,7 +711,7 @@ export const DEFAULT_VIEW: View = (input, output, target) => {
|
|
|
709
711
|
data: {
|
|
710
712
|
command: input.selectedTool.tool.name,
|
|
711
713
|
parameters: params,
|
|
712
|
-
} as ProtocolMonitor.JSONEditor.Command
|
|
714
|
+
} as ProtocolMonitor.JSONEditor.Command,
|
|
713
715
|
});
|
|
714
716
|
}
|
|
715
717
|
}}>Run tool</devtools-button>
|
|
@@ -1145,7 +1147,7 @@ const TOOL_DETAILS_VIEW = (input: ToolDetailsViewInput, output: undefined, targe
|
|
|
1145
1147
|
<devtools-node-text .data=${{
|
|
1146
1148
|
nodeId: origin.getAttribute('id') || undefined,
|
|
1147
1149
|
nodeTitle: origin.nodeNameInCorrectCase(),
|
|
1148
|
-
nodeClasses: origin.getAttribute('class')?.split(/\s+/).filter(s => Boolean(s))
|
|
1150
|
+
nodeClasses: origin.getAttribute('class')?.split(/\s+/).filter(s => Boolean(s)),
|
|
1149
1151
|
} as NodeText.NodeText.NodeTextData}>
|
|
1150
1152
|
</devtools-node-text>
|
|
1151
1153
|
</span>
|
|
@@ -102,6 +102,7 @@ interface AdFrameNodeData {
|
|
|
102
102
|
initialOrigin: string;
|
|
103
103
|
networkBytes: string;
|
|
104
104
|
cpuTime: string;
|
|
105
|
+
revealFrame: (e: Event) => void;
|
|
105
106
|
}
|
|
106
107
|
|
|
107
108
|
export interface ViewInput {
|
|
@@ -212,7 +213,15 @@ const DEFAULT_VIEW: View = (input, output, target) => {
|
|
|
212
213
|
</tr>
|
|
213
214
|
${input.adFrames.map(frame => html`
|
|
214
215
|
<tr>
|
|
215
|
-
<td title=${frame.elementId}
|
|
216
|
+
<td title=${frame.elementId}>
|
|
217
|
+
${frame.elementId
|
|
218
|
+
? html`
|
|
219
|
+
<button class="text-button link-style devtools-link" @click=${frame.revealFrame}>
|
|
220
|
+
${frame.elementId}
|
|
221
|
+
</button>
|
|
222
|
+
`
|
|
223
|
+
: Lit.nothing}
|
|
224
|
+
</td>
|
|
216
225
|
<td title=${frame.initialOrigin}>${frame.initialOrigin}</td>
|
|
217
226
|
<td title=${frame.cpuTime}>${frame.cpuTime}</td>
|
|
218
227
|
<td title=${frame.networkBytes}>${frame.networkBytes}</td>
|
|
@@ -365,11 +374,7 @@ export class AdsView extends UI.Widget.Widget {
|
|
|
365
374
|
if (!frame) {
|
|
366
375
|
return undefined;
|
|
367
376
|
}
|
|
368
|
-
const
|
|
369
|
-
if (!domModel) {
|
|
370
|
-
return undefined;
|
|
371
|
-
}
|
|
372
|
-
const deferredNode = await domModel.getOwnerNodeForFrame(frameId);
|
|
377
|
+
const deferredNode = await frame.getOwnerDeferredDOMNode();
|
|
373
378
|
if (deferredNode) {
|
|
374
379
|
const node = await deferredNode.resolvePromise();
|
|
375
380
|
return node?.getAttribute('id') || null;
|
|
@@ -403,11 +408,21 @@ export class AdsView extends UI.Widget.Widget {
|
|
|
403
408
|
(this.#adIframeElementIds.get(frameId) || i18nString(UIStrings.unnamed)) :
|
|
404
409
|
'';
|
|
405
410
|
|
|
411
|
+
const revealFrame = (e: Event): void => {
|
|
412
|
+
e.preventDefault();
|
|
413
|
+
e.stopPropagation();
|
|
414
|
+
const frameToReveal = SDK.FrameManager.FrameManager.instance().getFrame(frameId);
|
|
415
|
+
if (frameToReveal) {
|
|
416
|
+
void Common.Revealer.reveal(frameToReveal);
|
|
417
|
+
}
|
|
418
|
+
};
|
|
419
|
+
|
|
406
420
|
adFramesArray.push({
|
|
407
421
|
elementId: elementIdText,
|
|
408
422
|
initialOrigin: frame.initialOrigin || '',
|
|
409
423
|
cpuTime: formatCpu(frame.cpuTime),
|
|
410
424
|
networkBytes: formatNetwork(frame.networkBytes),
|
|
425
|
+
revealFrame,
|
|
411
426
|
});
|
|
412
427
|
}
|
|
413
428
|
|
|
@@ -362,7 +362,7 @@ function renderFramesPerReason(frames: string[]|undefined): LitTemplate {
|
|
|
362
362
|
title: i18nString(UIStrings.framesPerIssue, {n: frames.length}),
|
|
363
363
|
} as ExpandableList.ExpandableList.ExpandableListData}
|
|
364
364
|
jslog=${VisualLogging.treeItem().track({
|
|
365
|
-
resize: true
|
|
365
|
+
resize: true,
|
|
366
366
|
})}></devtools-expandable-list>
|
|
367
367
|
</div>
|
|
368
368
|
`;
|
|
@@ -394,7 +394,7 @@ function maybeRenderJavaScriptDetails(details: Protocol.Page.BackForwardCacheBlo
|
|
|
394
394
|
columnNumber: detail.columnNumber,
|
|
395
395
|
showColumnNumber: true,
|
|
396
396
|
maxLength: maxLengthForDisplayedURLs,
|
|
397
|
-
}
|
|
397
|
+
},
|
|
398
398
|
})}`));
|
|
399
399
|
return html`
|
|
400
400
|
<div class="details-list">
|
|
@@ -244,7 +244,7 @@ export class StorageMetadataView extends LegacyWrapper.LegacyWrapper.WrappableCo
|
|
|
244
244
|
@click=${revealBucket}
|
|
245
245
|
title=${name}
|
|
246
246
|
jslog=${VisualLogging.action('storage-bucket').track({
|
|
247
|
-
click: true
|
|
247
|
+
click: true,
|
|
248
248
|
})}
|
|
249
249
|
>${name}</devtools-link>`;
|
|
250
250
|
};
|
|
@@ -124,7 +124,7 @@ export const DEFAULT_VIEW = (input: ViewInput, _output: Record<string, never>, t
|
|
|
124
124
|
case Diff.Diff.Operation.Insert:
|
|
125
125
|
return html`<span style=${styleMap({
|
|
126
126
|
color: 'var(--sys-color-green)',
|
|
127
|
-
'text-decoration': 'line-through'
|
|
127
|
+
'text-decoration': 'line-through',
|
|
128
128
|
})}
|
|
129
129
|
>${s}</span>`;
|
|
130
130
|
case Diff.Diff.Operation.Delete:
|
|
@@ -132,7 +132,7 @@ export const DEFAULT_VIEW = (input: ViewInput, _output: Record<string, never>, t
|
|
|
132
132
|
case Diff.Diff.Operation.Edit:
|
|
133
133
|
return html`<span style=${styleMap({
|
|
134
134
|
color: 'var(--sys-color-green',
|
|
135
|
-
'text-decoration': 'line-through'
|
|
135
|
+
'text-decoration': 'line-through',
|
|
136
136
|
})}
|
|
137
137
|
>${s}</span>`;
|
|
138
138
|
default:
|
|
@@ -273,7 +273,8 @@ export class PreloadingDetailsReportView extends LegacyWrapper.LegacyWrapper.Wra
|
|
|
273
273
|
|
|
274
274
|
#isPrerenderLike(speculationAction: Protocol.Preload.SpeculationAction): boolean {
|
|
275
275
|
return [
|
|
276
|
-
Protocol.Preload.SpeculationAction.Prerender,
|
|
276
|
+
Protocol.Preload.SpeculationAction.Prerender,
|
|
277
|
+
Protocol.Preload.SpeculationAction.PrerenderUntilScript,
|
|
277
278
|
].includes(speculationAction);
|
|
278
279
|
}
|
|
279
280
|
|
|
@@ -332,7 +332,7 @@ const UIStrings = {
|
|
|
332
332
|
* Description text for PrerenderFinalStatus::kSpeculationRuleRemoved.
|
|
333
333
|
*/
|
|
334
334
|
prerenderFinalStatusSpeculationRuleRemoved:
|
|
335
|
-
'The prerendered page was unloaded because the initiating page removed the corresponding prerender rule from
|
|
335
|
+
'The prerendered page was unloaded because the initiating page removed the corresponding prerender rule from `<script type="speculationrules">`.',
|
|
336
336
|
/**
|
|
337
337
|
* Description text for PrerenderFinalStatus::kActivatedWithAuxiliaryBrowsingContexts.
|
|
338
338
|
*/
|
|
@@ -342,7 +342,7 @@ const UIStrings = {
|
|
|
342
342
|
* Description text for PrerenderFinalStatus::kMaxNumOfRunningEagerPrerendersExceeded.
|
|
343
343
|
*/
|
|
344
344
|
prerenderFinalStatusMaxNumOfRunningEagerPrerendersExceeded:
|
|
345
|
-
'The prerender whose eagerness is "eager" was not performed because the initiating page already has too many prerenders ongoing. Remove other speculation rules with "eager" to enable further prerendering.',
|
|
345
|
+
'The prerender whose eagerness is "`eager`" was not performed because the initiating page already has too many prerenders ongoing. Remove other speculation rules with "`eager`" to enable further prerendering.',
|
|
346
346
|
/**
|
|
347
347
|
* Description text for PrerenderFinalStatus::kMaxNumOfRunningEmbedderPrerendersExceeded.
|
|
348
348
|
*/
|
|
@@ -352,7 +352,7 @@ const UIStrings = {
|
|
|
352
352
|
* Description text for PrerenderFinalStatus::kMaxNumOfRunningNonEagerPrerendersExceeded.
|
|
353
353
|
*/
|
|
354
354
|
prerenderFinalStatusMaxNumOfRunningNonEagerPrerendersExceeded:
|
|
355
|
-
'The old non-eager prerender (with a "moderate" or "conservative" eagerness and triggered by hovering or clicking links) was automatically canceled due to starting a new non-eager prerender. It can be retriggered by interacting with the link again.',
|
|
355
|
+
'The old non-eager prerender (with a "`moderate`" or "`conservative`" eagerness and triggered by hovering or clicking links) was automatically canceled due to starting a new non-eager prerender. It can be retriggered by interacting with the link again.',
|
|
356
356
|
/**
|
|
357
357
|
* Description text for PrenderFinalStatus::kPrerenderingUrlHasEffectiveUrl.
|
|
358
358
|
*/
|
|
@@ -451,7 +451,8 @@ export class UsedPreloadingView extends UI.Widget.VBox {
|
|
|
451
451
|
|
|
452
452
|
#isPrerenderLike(speculationAction: Protocol.Preload.SpeculationAction): boolean {
|
|
453
453
|
return [
|
|
454
|
-
Protocol.Preload.SpeculationAction.Prerender,
|
|
454
|
+
Protocol.Preload.SpeculationAction.Prerender,
|
|
455
|
+
Protocol.Preload.SpeculationAction.PrerenderUntilScript,
|
|
455
456
|
].includes(speculationAction);
|
|
456
457
|
}
|
|
457
458
|
|
|
@@ -170,7 +170,7 @@ export class XHRBreakpointsSidebarPane extends UI.Widget.VBox implements UI.Cont
|
|
|
170
170
|
@cancel=${cancel}>
|
|
171
171
|
</devtools-prompt>
|
|
172
172
|
`,
|
|
173
|
-
inputElementContainer
|
|
173
|
+
inputElementContainer,
|
|
174
174
|
);
|
|
175
175
|
// clang-format on
|
|
176
176
|
}
|
|
@@ -282,7 +282,7 @@ export class XHRBreakpointsSidebarPane extends UI.Widget.VBox implements UI.Cont
|
|
|
282
282
|
</devtools-checkbox>
|
|
283
283
|
</div>
|
|
284
284
|
`,
|
|
285
|
-
listItemElement
|
|
285
|
+
listItemElement,
|
|
286
286
|
);
|
|
287
287
|
// clang-format on
|
|
288
288
|
|
|
@@ -17,7 +17,7 @@ import changesSidebarStyles from './changesSidebar.css.js';
|
|
|
17
17
|
|
|
18
18
|
const UIStrings = {
|
|
19
19
|
/**
|
|
20
|
-
* @description
|
|
20
|
+
* @description Tooltip title for a file item in the Changes sidebar when the file is generated from a source map.
|
|
21
21
|
* @example {compile.html} PH1
|
|
22
22
|
*/
|
|
23
23
|
sFromSourceMap: '{PH1} (from source map)',
|
|
@@ -95,7 +95,7 @@ export class ChangesSidebar extends Common.ObjectWrapper.eventMixin<EventTypes,
|
|
|
95
95
|
const input: ViewInput = {
|
|
96
96
|
onSelect: uiSourceCode => this.#selectionChanged(uiSourceCode),
|
|
97
97
|
sourceCodes: this.#sourceCodes,
|
|
98
|
-
selectedSourceCode: this.#selectedUISourceCode
|
|
98
|
+
selectedSourceCode: this.#selectedUISourceCode,
|
|
99
99
|
};
|
|
100
100
|
this.#view(input, {}, this.contentElement);
|
|
101
101
|
}
|
|
@@ -20,14 +20,13 @@ const CHANGES_VIEW_URL = 'https://developer.chrome.com/docs/devtools/changes' as
|
|
|
20
20
|
|
|
21
21
|
const UIStrings = {
|
|
22
22
|
/**
|
|
23
|
-
* @description
|
|
23
|
+
* @description Title shown in the Changes panel when no code changes have been made.
|
|
24
24
|
*/
|
|
25
25
|
noChanges: 'No changes yet',
|
|
26
26
|
/**
|
|
27
|
-
* @description
|
|
27
|
+
* @description Description text shown in the Changes panel explaining how to track code changes.
|
|
28
28
|
*/
|
|
29
|
-
changesViewDescription: '
|
|
30
|
-
|
|
29
|
+
changesViewDescription: 'Track code changes made within DevTools.',
|
|
31
30
|
} as const;
|
|
32
31
|
const str_ = i18n.i18n.registerUIStrings('panels/changes/ChangesView.ts', UIStrings);
|
|
33
32
|
const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
@@ -58,7 +57,7 @@ export const DEFAULT_VIEW: View = (input, _output, target) => {
|
|
|
58
57
|
<div class=diff-container role=tabpanel ?hidden=${input.workspaceDiff.modifiedUISourceCodes().length === 0}>
|
|
59
58
|
${widget(CombinedDiffView.CombinedDiffView, {
|
|
60
59
|
selectedFileUrl: input.selectedSourceCode?.url(),
|
|
61
|
-
workspaceDiff: input.workspaceDiff
|
|
60
|
+
workspaceDiff: input.workspaceDiff,
|
|
62
61
|
})}
|
|
63
62
|
</div>
|
|
64
63
|
</div>
|
|
@@ -25,11 +25,11 @@ const {html, Directives: {classMap}} = Lit;
|
|
|
25
25
|
|
|
26
26
|
const UIStrings = {
|
|
27
27
|
/**
|
|
28
|
-
* @description
|
|
28
|
+
* @description Text shown after copying code changes to the clipboard.
|
|
29
29
|
*/
|
|
30
30
|
copied: 'Copied to clipboard',
|
|
31
31
|
/**
|
|
32
|
-
* @description
|
|
32
|
+
* @description Title of the button to copy file content to the clipboard.
|
|
33
33
|
* @example {index.css} PH1
|
|
34
34
|
*/
|
|
35
35
|
copyFile: 'Copy file {PH1} to clipboard',
|
|
@@ -242,7 +242,7 @@ export class CombinedDiffView extends UI.Widget.Widget {
|
|
|
242
242
|
if (fileSystemUiSourceCode) {
|
|
243
243
|
displayText = [
|
|
244
244
|
fileSystemUiSourceCode.project().displayName(),
|
|
245
|
-
...Persistence.FileSystemWorkspaceBinding.FileSystemWorkspaceBinding.relativePath(fileSystemUiSourceCode)
|
|
245
|
+
...Persistence.FileSystemWorkspaceBinding.FileSystemWorkspaceBinding.relativePath(fileSystemUiSourceCode),
|
|
246
246
|
].join('/');
|
|
247
247
|
}
|
|
248
248
|
return {
|
|
@@ -11,11 +11,11 @@ let loadedChangesModule: (typeof Changes|undefined);
|
|
|
11
11
|
|
|
12
12
|
const UIStrings = {
|
|
13
13
|
/**
|
|
14
|
-
* @description Title of the
|
|
14
|
+
* @description Title of the Changes panel.
|
|
15
15
|
*/
|
|
16
16
|
changes: 'Changes',
|
|
17
17
|
/**
|
|
18
|
-
* @description Command for showing the
|
|
18
|
+
* @description Command for showing the Changes panel.
|
|
19
19
|
*/
|
|
20
20
|
showChanges: 'Show Changes',
|
|
21
21
|
} as const;
|