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
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import * as Common from '../../../core/common/common.js';
|
|
6
6
|
import * as Host from '../../../core/host/host.js';
|
|
7
7
|
import * as i18n from '../../../core/i18n/i18n.js';
|
|
8
|
+
import * as Platform from '../../../core/platform/platform.js';
|
|
8
9
|
import * as SDK from '../../../core/sdk/sdk.js';
|
|
9
10
|
import type {FunctionHandlerOptions} from '../agents/AiAgent.js';
|
|
10
11
|
import {areOriginsEquivalent, extractContextOrigin, isOpaqueOrigin} from '../AiOrigins.js';
|
|
@@ -45,10 +46,11 @@ export interface GetStorageValuesResult {
|
|
|
45
46
|
|
|
46
47
|
export class GetStorageValuesTool implements DataTool<GetStorageValuesArgs, GetStorageValuesResult,
|
|
47
48
|
BaseToolCapability&OriginLockCapability&ServerLoggingCapability> {
|
|
48
|
-
readonly name = ToolName.GET_STORAGE_VALUES;
|
|
49
|
-
readonly description
|
|
49
|
+
readonly name: ToolName = ToolName.GET_STORAGE_VALUES;
|
|
50
|
+
readonly description: string =
|
|
51
|
+
'Retrieve specific string values from storage partitions for requested keys across origins.';
|
|
50
52
|
|
|
51
|
-
readonly annotations = [ToolAnnotation.REDACT_FROM_HISTORY];
|
|
53
|
+
readonly annotations: ToolAnnotation[] = [ToolAnnotation.REDACT_FROM_HISTORY];
|
|
52
54
|
|
|
53
55
|
readonly parameters: Host.AidaClient.FunctionObjectParam<keyof GetStorageValuesArgs> = {
|
|
54
56
|
type: Host.AidaClient.ParametersTypes.OBJECT,
|
|
@@ -86,8 +88,19 @@ export class GetStorageValuesTool implements DataTool<GetStorageValuesArgs, GetS
|
|
|
86
88
|
title: string,
|
|
87
89
|
action: string,
|
|
88
90
|
} {
|
|
91
|
+
let title: string;
|
|
92
|
+
switch (args.type) {
|
|
93
|
+
case 'localStorage':
|
|
94
|
+
title = lockedString('Reading local storage values');
|
|
95
|
+
break;
|
|
96
|
+
case 'sessionStorage':
|
|
97
|
+
title = lockedString('Reading session storage values');
|
|
98
|
+
break;
|
|
99
|
+
default:
|
|
100
|
+
Platform.TypeScriptUtilities.assertNever(args.type, `Unknown storage type: ${args.type}`);
|
|
101
|
+
}
|
|
89
102
|
return {
|
|
90
|
-
title
|
|
103
|
+
title,
|
|
91
104
|
action: `getStorageValues('${args.type}', ${JSON.stringify(args.keys)}, ${JSON.stringify(args.origins)})`,
|
|
92
105
|
};
|
|
93
106
|
}
|
|
@@ -97,7 +110,7 @@ export class GetStorageValuesTool implements DataTool<GetStorageValuesArgs, GetS
|
|
|
97
110
|
context: BaseToolCapability&OriginLockCapability&ServerLoggingCapability,
|
|
98
111
|
options?: FunctionHandlerOptions,
|
|
99
112
|
): Promise<DataHandlerResult<GetStorageValuesResult>> {
|
|
100
|
-
context.
|
|
113
|
+
context.disableLogging();
|
|
101
114
|
|
|
102
115
|
// eslint-disable-next-line @devtools/no-instance-of-migrated-singletons
|
|
103
116
|
const targetManager = SDK.TargetManager.TargetManager.instance();
|
|
@@ -26,9 +26,9 @@ export interface GetStylesArgs extends ToolArgs {
|
|
|
26
26
|
|
|
27
27
|
export class GetStylesTool implements
|
|
28
28
|
DataTool<GetStylesArgs, unknown, BaseToolCapability&TargetCapability&OriginLockCapability> {
|
|
29
|
-
readonly name = ToolName.GET_STYLES;
|
|
30
|
-
readonly description =
|
|
31
|
-
`
|
|
29
|
+
readonly name: ToolName = ToolName.GET_STYLES;
|
|
30
|
+
readonly description: string =
|
|
31
|
+
`Retrieves computed and authored CSS styles for one or more elements by their backend node IDs (uids).
|
|
32
32
|
|
|
33
33
|
**CRITICAL** An element uid is a number, not a selector.
|
|
34
34
|
**CRITICAL** Use selectors to refer to elements in the text output. Do not use uids.
|
|
@@ -4,13 +4,13 @@
|
|
|
4
4
|
|
|
5
5
|
import * as Host from '../../../core/host/host.js';
|
|
6
6
|
import * as i18n from '../../../core/i18n/i18n.js';
|
|
7
|
-
import {PerformanceTraceContext} from '../contexts/PerformanceTraceContext.js';
|
|
8
7
|
import {formatEventForAI} from '../data_formatters/PerformanceTraceFormatter.js';
|
|
9
8
|
|
|
10
9
|
import {
|
|
11
10
|
type BaseToolCapability,
|
|
12
11
|
type DataHandlerResult,
|
|
13
12
|
type DataTool,
|
|
13
|
+
type PerformanceTraceCapability,
|
|
14
14
|
type ToolArgs,
|
|
15
15
|
ToolName,
|
|
16
16
|
} from './Tool.js';
|
|
@@ -25,9 +25,10 @@ export interface GetTraceEventByKeyArgs extends ToolArgs {
|
|
|
25
25
|
eventKey: string;
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
export class GetTraceEventByKeyTool implements
|
|
29
|
-
|
|
30
|
-
readonly
|
|
28
|
+
export class GetTraceEventByKeyTool implements
|
|
29
|
+
DataTool<GetTraceEventByKeyArgs, string, BaseToolCapability&PerformanceTraceCapability> {
|
|
30
|
+
readonly name: ToolName = ToolName.GET_TRACE_EVENT_BY_KEY;
|
|
31
|
+
readonly description: string = 'Retrieves details for a specific trace event by its event key.';
|
|
31
32
|
|
|
32
33
|
readonly parameters: Host.AidaClient.FunctionObjectParam<keyof GetTraceEventByKeyArgs> = {
|
|
33
34
|
type: Host.AidaClient.ParametersTypes.OBJECT,
|
|
@@ -55,14 +56,14 @@ export class GetTraceEventByKeyTool implements DataTool<GetTraceEventByKeyArgs,
|
|
|
55
56
|
|
|
56
57
|
async handler(
|
|
57
58
|
params: GetTraceEventByKeyArgs,
|
|
58
|
-
capabilities: BaseToolCapability,
|
|
59
|
+
capabilities: BaseToolCapability&PerformanceTraceCapability,
|
|
59
60
|
): Promise<DataHandlerResult<string>> {
|
|
60
|
-
const
|
|
61
|
-
if (!
|
|
61
|
+
const performanceTraceContext = capabilities.getPerformanceTraceContext();
|
|
62
|
+
if (!performanceTraceContext) {
|
|
62
63
|
return {error: 'Performance trace context is not available.'};
|
|
63
64
|
}
|
|
64
65
|
|
|
65
|
-
const focus =
|
|
66
|
+
const focus = performanceTraceContext.getItem();
|
|
66
67
|
const event = focus.lookupEvent(params.eventKey);
|
|
67
68
|
if (!event) {
|
|
68
69
|
return {error: `Could not find event with key "${params.eventKey}".`};
|
|
@@ -4,16 +4,14 @@
|
|
|
4
4
|
|
|
5
5
|
import * as Host from '../../../core/host/host.js';
|
|
6
6
|
import * as i18n from '../../../core/i18n/i18n.js';
|
|
7
|
-
import {
|
|
8
|
-
type MainThreadSectionLabel,
|
|
9
|
-
PerformanceTraceContext,
|
|
10
|
-
} from '../contexts/PerformanceTraceContext.js';
|
|
7
|
+
import type {MainThreadSectionLabel} from '../contexts/PerformanceTraceContext.js';
|
|
11
8
|
|
|
12
9
|
import {
|
|
13
10
|
type BaseToolCapability,
|
|
14
11
|
type DataHandlerResult,
|
|
15
12
|
type DataTool,
|
|
16
13
|
MAX_FUNCTION_RESULT_BYTE_LENGTH,
|
|
14
|
+
type PerformanceTraceCapability,
|
|
17
15
|
type ToolArgs,
|
|
18
16
|
ToolName,
|
|
19
17
|
} from './Tool.js';
|
|
@@ -29,9 +27,10 @@ export interface GetTraceMainThreadSummaryArgs extends ToolArgs {
|
|
|
29
27
|
}
|
|
30
28
|
|
|
31
29
|
export class GetTraceMainThreadSummaryTool implements
|
|
32
|
-
DataTool<GetTraceMainThreadSummaryArgs, string, BaseToolCapability> {
|
|
33
|
-
readonly name = ToolName.GET_TRACE_MAIN_THREAD_SUMMARY;
|
|
34
|
-
readonly description =
|
|
30
|
+
DataTool<GetTraceMainThreadSummaryArgs, string, BaseToolCapability&PerformanceTraceCapability> {
|
|
31
|
+
readonly name: ToolName = ToolName.GET_TRACE_MAIN_THREAD_SUMMARY;
|
|
32
|
+
readonly description: string =
|
|
33
|
+
'Retrieves a focused, bottom-up summary of main thread activity for a predefined labeled period (e.g. \'nav-to-lcp\', \'lcp-ttfb\', \'lcp-render-delay\', \'trace-bounds\', or insight names).';
|
|
35
34
|
|
|
36
35
|
readonly parameters: Host.AidaClient.FunctionObjectParam<keyof GetTraceMainThreadSummaryArgs> = {
|
|
37
36
|
type: Host.AidaClient.ParametersTypes.OBJECT,
|
|
@@ -41,7 +40,7 @@ export class GetTraceMainThreadSummaryTool implements
|
|
|
41
40
|
label: {
|
|
42
41
|
type: Host.AidaClient.ParametersTypes.STRING,
|
|
43
42
|
description:
|
|
44
|
-
'The label of the period to investigate (e.g., \'LCPBreakdown\', \'CLSCulprits\', \'nav-to-lcp\').',
|
|
43
|
+
'The label of the period to investigate (e.g., \'LCPBreakdown\', \'CLSCulprits\', \'nav-to-lcp\', \'lcp-render-delay\', \'trace-bounds\').',
|
|
45
44
|
nullable: false,
|
|
46
45
|
},
|
|
47
46
|
},
|
|
@@ -60,20 +59,20 @@ export class GetTraceMainThreadSummaryTool implements
|
|
|
60
59
|
|
|
61
60
|
async handler(
|
|
62
61
|
params: GetTraceMainThreadSummaryArgs,
|
|
63
|
-
capabilities: BaseToolCapability,
|
|
62
|
+
capabilities: BaseToolCapability&PerformanceTraceCapability,
|
|
64
63
|
): Promise<DataHandlerResult<string>> {
|
|
65
|
-
const
|
|
66
|
-
if (!
|
|
64
|
+
const performanceTraceContext = capabilities.getPerformanceTraceContext();
|
|
65
|
+
if (!performanceTraceContext) {
|
|
67
66
|
return {error: 'Performance trace context is not available.'};
|
|
68
67
|
}
|
|
69
68
|
|
|
70
|
-
const focus =
|
|
71
|
-
const bounds =
|
|
69
|
+
const focus = performanceTraceContext.getItem();
|
|
70
|
+
const bounds = performanceTraceContext.getBoundsForLabel(params.label);
|
|
72
71
|
if (!bounds) {
|
|
73
72
|
return {error: `Invalid label: ${params.label}`};
|
|
74
73
|
}
|
|
75
74
|
|
|
76
|
-
const formatter =
|
|
75
|
+
const formatter = performanceTraceContext.createFormatter();
|
|
77
76
|
const summary = await formatter.formatMainThreadTrackSummary(bounds);
|
|
78
77
|
if (summary.length > MAX_FUNCTION_RESULT_BYTE_LENGTH) {
|
|
79
78
|
return {
|
|
@@ -4,13 +4,13 @@
|
|
|
4
4
|
|
|
5
5
|
import * as Host from '../../../core/host/host.js';
|
|
6
6
|
import * as i18n from '../../../core/i18n/i18n.js';
|
|
7
|
-
import {PerformanceTraceContext} from '../contexts/PerformanceTraceContext.js';
|
|
8
7
|
|
|
9
8
|
import {
|
|
10
9
|
type BaseToolCapability,
|
|
11
10
|
type DataHandlerResult,
|
|
12
11
|
type DataTool,
|
|
13
12
|
MAX_FUNCTION_RESULT_BYTE_LENGTH,
|
|
13
|
+
type PerformanceTraceCapability,
|
|
14
14
|
type ToolArgs,
|
|
15
15
|
ToolName,
|
|
16
16
|
} from './Tool.js';
|
|
@@ -26,9 +26,11 @@ export interface GetTraceNetworkSummaryArgs extends ToolArgs {
|
|
|
26
26
|
max?: number;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
export class GetTraceNetworkSummaryTool implements
|
|
30
|
-
|
|
31
|
-
readonly
|
|
29
|
+
export class GetTraceNetworkSummaryTool implements
|
|
30
|
+
DataTool<GetTraceNetworkSummaryArgs, string, BaseToolCapability&PerformanceTraceCapability> {
|
|
31
|
+
readonly name: ToolName = ToolName.GET_TRACE_NETWORK_SUMMARY;
|
|
32
|
+
readonly description: string =
|
|
33
|
+
'Retrieves a summary of network requests recorded in the trace within the given time bounds.';
|
|
32
34
|
|
|
33
35
|
readonly parameters: Host.AidaClient.FunctionObjectParam<keyof GetTraceNetworkSummaryArgs> = {
|
|
34
36
|
type: Host.AidaClient.ParametersTypes.OBJECT,
|
|
@@ -68,20 +70,20 @@ export class GetTraceNetworkSummaryTool implements DataTool<GetTraceNetworkSumma
|
|
|
68
70
|
|
|
69
71
|
async handler(
|
|
70
72
|
params: GetTraceNetworkSummaryArgs,
|
|
71
|
-
capabilities: BaseToolCapability,
|
|
73
|
+
capabilities: BaseToolCapability&PerformanceTraceCapability,
|
|
72
74
|
): Promise<DataHandlerResult<string>> {
|
|
73
|
-
const
|
|
74
|
-
if (!
|
|
75
|
+
const performanceTraceContext = capabilities.getPerformanceTraceContext();
|
|
76
|
+
if (!performanceTraceContext) {
|
|
75
77
|
return {error: 'Performance trace context is not available.'};
|
|
76
78
|
}
|
|
77
79
|
|
|
78
|
-
const focus =
|
|
79
|
-
const bounds =
|
|
80
|
+
const focus = performanceTraceContext.getItem();
|
|
81
|
+
const bounds = performanceTraceContext.createBounds(params.min, params.max);
|
|
80
82
|
if (!bounds) {
|
|
81
83
|
return {error: 'Invalid bounds.'};
|
|
82
84
|
}
|
|
83
85
|
|
|
84
|
-
const formatter =
|
|
86
|
+
const formatter = performanceTraceContext.createFormatter();
|
|
85
87
|
const summary = formatter.formatNetworkTrackSummary(bounds);
|
|
86
88
|
if (summary.length > MAX_FUNCTION_RESULT_BYTE_LENGTH) {
|
|
87
89
|
return {
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
// Copyright 2026 The Chromium Authors
|
|
2
|
+
// Use of this source code is governed by a BSD-style license that can be
|
|
3
|
+
// found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
import * as Host from '../../../core/host/host.js';
|
|
6
|
+
import * as i18n from '../../../core/i18n/i18n.js';
|
|
7
|
+
import * as SDK from '../../../core/sdk/sdk.js';
|
|
8
|
+
|
|
9
|
+
import {getCookiesForOrigin, resolveAllowedTargetOrigins} from './CookieUtils.js';
|
|
10
|
+
import {
|
|
11
|
+
type BaseToolCapability,
|
|
12
|
+
type DataHandlerResult,
|
|
13
|
+
type DataTool,
|
|
14
|
+
type OriginLockCapability,
|
|
15
|
+
type ServerLoggingCapability,
|
|
16
|
+
ToolAnnotation,
|
|
17
|
+
type ToolArgs,
|
|
18
|
+
ToolName,
|
|
19
|
+
} from './Tool.js';
|
|
20
|
+
|
|
21
|
+
const lockedString = i18n.i18n.lockedString;
|
|
22
|
+
|
|
23
|
+
export interface ListCookiesArgs extends ToolArgs {
|
|
24
|
+
origins?: string[];
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export interface ListCookiesResult {
|
|
28
|
+
cookieNamesByOrigin: Record<string, {cookies: string[]}|{error: string}>;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export class ListCookiesTool implements
|
|
32
|
+
DataTool<ListCookiesArgs, ListCookiesResult, BaseToolCapability&OriginLockCapability&ServerLoggingCapability> {
|
|
33
|
+
readonly name: ToolName = ToolName.LIST_COOKIES;
|
|
34
|
+
readonly description: string =
|
|
35
|
+
'Lists all cookie names for requested origins (or the current page origin if omitted), strictly excluding their values.';
|
|
36
|
+
|
|
37
|
+
readonly annotations: ToolAnnotation[] = [ToolAnnotation.REDACT_FROM_HISTORY];
|
|
38
|
+
|
|
39
|
+
readonly parameters: Host.AidaClient.FunctionObjectParam<keyof ListCookiesArgs> = {
|
|
40
|
+
type: Host.AidaClient.ParametersTypes.OBJECT,
|
|
41
|
+
description: '',
|
|
42
|
+
nullable: false,
|
|
43
|
+
properties: {
|
|
44
|
+
origins: {
|
|
45
|
+
type: Host.AidaClient.ParametersTypes.ARRAY,
|
|
46
|
+
description: 'Optional list of origins to list cookies for. Defaults to the current page origin if omitted.',
|
|
47
|
+
items: {type: Host.AidaClient.ParametersTypes.STRING, description: 'An origin URL.'},
|
|
48
|
+
nullable: true,
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
required: [],
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
displayInfoFromArgs(args: ListCookiesArgs): {
|
|
55
|
+
title: string,
|
|
56
|
+
action: string,
|
|
57
|
+
} {
|
|
58
|
+
return {
|
|
59
|
+
title: lockedString('Reading cookies'),
|
|
60
|
+
action: `listCookies(${JSON.stringify(args?.origins ?? [])})`,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
async handler(
|
|
65
|
+
args: ListCookiesArgs,
|
|
66
|
+
context: BaseToolCapability&OriginLockCapability&ServerLoggingCapability,
|
|
67
|
+
): Promise<DataHandlerResult<ListCookiesResult>> {
|
|
68
|
+
context.disableLogging();
|
|
69
|
+
|
|
70
|
+
// eslint-disable-next-line @devtools/no-instance-of-migrated-singletons
|
|
71
|
+
const targetManager = SDK.TargetManager.TargetManager.instance();
|
|
72
|
+
const targetOriginsResult = resolveAllowedTargetOrigins(args?.origins, context, targetManager);
|
|
73
|
+
if ('error' in targetOriginsResult) {
|
|
74
|
+
return {error: targetOriginsResult.error};
|
|
75
|
+
}
|
|
76
|
+
const {targetOrigins, primaryPageTarget} = targetOriginsResult;
|
|
77
|
+
|
|
78
|
+
const cookieNamesByOrigin: ListCookiesResult['cookieNamesByOrigin'] = {};
|
|
79
|
+
|
|
80
|
+
await Promise.all(targetOrigins.map(async origin => {
|
|
81
|
+
const result = await getCookiesForOrigin(origin, targetManager, primaryPageTarget);
|
|
82
|
+
if ('error' in result) {
|
|
83
|
+
cookieNamesByOrigin[origin] = {error: result.error};
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
const uniqueNames = Array.from(new Set(result.cookies.map(c => c.name())));
|
|
88
|
+
cookieNamesByOrigin[origin] = {cookies: uniqueNames};
|
|
89
|
+
}));
|
|
90
|
+
|
|
91
|
+
return {result: {cookieNamesByOrigin}};
|
|
92
|
+
}
|
|
93
|
+
}
|
|
@@ -38,8 +38,9 @@ interface NetworkRequestSummary {
|
|
|
38
38
|
*/
|
|
39
39
|
export class ListNetworkRequestsTool implements
|
|
40
40
|
DataTool<Record<string, never>, unknown, BaseToolCapability&OriginLockCapability> {
|
|
41
|
-
readonly name = ToolName.LIST_NETWORK_REQUESTS;
|
|
42
|
-
readonly description =
|
|
41
|
+
readonly name: ToolName = ToolName.LIST_NETWORK_REQUESTS;
|
|
42
|
+
readonly description: string =
|
|
43
|
+
'Lists recorded network requests for the active origin, including request ID, URL, HTTP status code, duration, and transfer size.';
|
|
43
44
|
|
|
44
45
|
readonly #networkLog?: Logs.NetworkLog.NetworkLog;
|
|
45
46
|
|
|
@@ -112,11 +113,19 @@ export class ListNetworkRequestsTool implements
|
|
|
112
113
|
}
|
|
113
114
|
|
|
114
115
|
if (requests.length === 0) {
|
|
116
|
+
if (hasCrossOriginRequest) {
|
|
117
|
+
return {
|
|
118
|
+
error: `No requests showing with origin ${origin}. Tell the user to start a new chat`,
|
|
119
|
+
};
|
|
120
|
+
}
|
|
115
121
|
return {
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
122
|
+
result: JSON.stringify([]),
|
|
123
|
+
widgets: [{
|
|
124
|
+
name: 'NETWORK_REQUESTS_LIST',
|
|
125
|
+
data: {
|
|
126
|
+
requests: [],
|
|
127
|
+
},
|
|
128
|
+
}],
|
|
120
129
|
};
|
|
121
130
|
}
|
|
122
131
|
|
|
@@ -20,9 +20,9 @@ const lockedString = i18n.i18n.lockedString;
|
|
|
20
20
|
|
|
21
21
|
export class ListPageOriginsTool implements
|
|
22
22
|
DataTool<Record<string, never>, {origins: string[]}, BaseToolCapability&OriginLockCapability> {
|
|
23
|
-
readonly name = ToolName.LIST_PAGE_ORIGINS;
|
|
24
|
-
readonly description =
|
|
25
|
-
'Lists all active, non-empty frame origins loaded by the page.
|
|
23
|
+
readonly name: ToolName = ToolName.LIST_PAGE_ORIGINS;
|
|
24
|
+
readonly description: string =
|
|
25
|
+
'Lists all active, non-empty frame origins loaded by the page. Call this first to discover all page origins before calling listCookies or listStorageKeys, unless the user\'s explicit request focuses only on the primary page.';
|
|
26
26
|
|
|
27
27
|
readonly parameters: Host.AidaClient.FunctionObjectParam<never> = {
|
|
28
28
|
type: Host.AidaClient.ParametersTypes.OBJECT,
|
|
@@ -33,11 +33,13 @@ interface SourceSummary {
|
|
|
33
33
|
*/
|
|
34
34
|
export class ListSourcesTool implements
|
|
35
35
|
DataTool<Record<string, never>, {files: SourceSummary[]}, BaseToolCapability&OriginLockCapability> {
|
|
36
|
-
readonly name = ToolName.LIST_SOURCES;
|
|
37
|
-
readonly description =
|
|
36
|
+
readonly name: ToolName = ToolName.LIST_SOURCES;
|
|
37
|
+
readonly description: string =
|
|
38
|
+
'Lists deployed and authored source files in the workspace (including source-mapped files) with their display name and unique numeric ID.';
|
|
38
39
|
|
|
39
40
|
static lastSourceId = 0;
|
|
40
|
-
static uiSourceCodeId
|
|
41
|
+
static uiSourceCodeId: WeakMap<Workspace.UISourceCode.UISourceCode, number> =
|
|
42
|
+
new WeakMap<Workspace.UISourceCode.UISourceCode, number>();
|
|
41
43
|
|
|
42
44
|
static reset(): void {
|
|
43
45
|
ListSourcesTool.lastSourceId = 0;
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import * as Common from '../../../core/common/common.js';
|
|
6
6
|
import * as Host from '../../../core/host/host.js';
|
|
7
7
|
import * as i18n from '../../../core/i18n/i18n.js';
|
|
8
|
+
import * as Platform from '../../../core/platform/platform.js';
|
|
8
9
|
import * as SDK from '../../../core/sdk/sdk.js';
|
|
9
10
|
import {areOriginsEquivalent, extractContextOrigin, isOpaqueOrigin} from '../AiOrigins.js';
|
|
10
11
|
|
|
@@ -39,11 +40,11 @@ export interface ListStorageKeysResult {
|
|
|
39
40
|
|
|
40
41
|
export class ListStorageKeysTool implements DataTool<ListStorageKeysArgs, ListStorageKeysResult,
|
|
41
42
|
BaseToolCapability&OriginLockCapability&ServerLoggingCapability> {
|
|
42
|
-
readonly name = ToolName.LIST_STORAGE_KEYS;
|
|
43
|
-
readonly description =
|
|
43
|
+
readonly name: ToolName = ToolName.LIST_STORAGE_KEYS;
|
|
44
|
+
readonly description: string =
|
|
44
45
|
'Lists all keys for a given storage type for requested origins. Returns keys grouped by storage partition under their origin.';
|
|
45
46
|
|
|
46
|
-
readonly annotations = [ToolAnnotation.REDACT_FROM_HISTORY];
|
|
47
|
+
readonly annotations: ToolAnnotation[] = [ToolAnnotation.REDACT_FROM_HISTORY];
|
|
47
48
|
|
|
48
49
|
readonly parameters: Host.AidaClient.FunctionObjectParam<keyof ListStorageKeysArgs> = {
|
|
49
50
|
type: Host.AidaClient.ParametersTypes.OBJECT,
|
|
@@ -74,8 +75,19 @@ export class ListStorageKeysTool implements DataTool<ListStorageKeysArgs, ListSt
|
|
|
74
75
|
title: string,
|
|
75
76
|
action: string,
|
|
76
77
|
} {
|
|
78
|
+
let title: string;
|
|
79
|
+
switch (args.type) {
|
|
80
|
+
case 'localStorage':
|
|
81
|
+
title = lockedString('Reading local storage keys');
|
|
82
|
+
break;
|
|
83
|
+
case 'sessionStorage':
|
|
84
|
+
title = lockedString('Reading session storage keys');
|
|
85
|
+
break;
|
|
86
|
+
default:
|
|
87
|
+
Platform.TypeScriptUtilities.assertNever(args.type, `Unknown storage type: ${args.type}`);
|
|
88
|
+
}
|
|
77
89
|
return {
|
|
78
|
-
title
|
|
90
|
+
title,
|
|
79
91
|
action: `listStorageKeys('${args.type}', ${JSON.stringify(args.origins)})`,
|
|
80
92
|
};
|
|
81
93
|
}
|
|
@@ -84,7 +96,7 @@ export class ListStorageKeysTool implements DataTool<ListStorageKeysArgs, ListSt
|
|
|
84
96
|
args: ListStorageKeysArgs,
|
|
85
97
|
context: BaseToolCapability&OriginLockCapability&ServerLoggingCapability,
|
|
86
98
|
): Promise<DataHandlerResult<ListStorageKeysResult>> {
|
|
87
|
-
context.
|
|
99
|
+
context.disableLogging();
|
|
88
100
|
|
|
89
101
|
// eslint-disable-next-line @devtools/no-instance-of-migrated-singletons
|
|
90
102
|
const targetManager = SDK.TargetManager.TargetManager.instance();
|
|
@@ -23,8 +23,9 @@ const lockedString = i18n.i18n.lockedString;
|
|
|
23
23
|
|
|
24
24
|
export class RecordPerformanceTraceTool implements
|
|
25
25
|
ContextTool<Record<string, never>, AgentFocus, BaseToolCapability&PerformanceRecordingCapability> {
|
|
26
|
-
readonly name = ToolName.RECORD_PERFORMANCE_TRACE;
|
|
27
|
-
readonly description =
|
|
26
|
+
readonly name: ToolName = ToolName.RECORD_PERFORMANCE_TRACE;
|
|
27
|
+
readonly description: string =
|
|
28
|
+
'Reloads the page and records a new performance trace to measure, analyze, and debug page performance.';
|
|
28
29
|
|
|
29
30
|
readonly parameters: Host.AidaClient.FunctionObjectParam<never> = {
|
|
30
31
|
type: Host.AidaClient.ParametersTypes.OBJECT,
|
|
@@ -38,8 +38,9 @@ export interface ResolveDevtoolsNodePathArgs extends ToolArgs {
|
|
|
38
38
|
*/
|
|
39
39
|
export class ResolveDevtoolsNodePathTool implements DataTool<ResolveDevtoolsNodePathArgs, {backendNodeId: number},
|
|
40
40
|
BaseToolCapability&TargetCapability&OriginLockCapability> {
|
|
41
|
-
readonly name = ToolName.RESOLVE_DEVTOOLS_NODE_PATH;
|
|
42
|
-
readonly description =
|
|
41
|
+
readonly name: ToolName = ToolName.RESOLVE_DEVTOOLS_NODE_PATH;
|
|
42
|
+
readonly description: string =
|
|
43
|
+
'Resolves a DevTools node path (e.g. from a Lighthouse audit snippet) to an element backend node ID for further DOM, style, or accessibility inspection.';
|
|
43
44
|
|
|
44
45
|
readonly parameters: Host.AidaClient.FunctionObjectParam<keyof ResolveDevtoolsNodePathArgs> = {
|
|
45
46
|
type: Host.AidaClient.ParametersTypes.OBJECT,
|
|
@@ -53,7 +54,7 @@ export class ResolveDevtoolsNodePathTool implements DataTool<ResolveDevtoolsNode
|
|
|
53
54
|
},
|
|
54
55
|
path: {
|
|
55
56
|
type: Host.AidaClient.ParametersTypes.STRING,
|
|
56
|
-
description: 'DevTools node path string.',
|
|
57
|
+
description: 'DevTools node path string (e.g. "1,HTML,1,BODY,2,DIV").',
|
|
57
58
|
nullable: false,
|
|
58
59
|
},
|
|
59
60
|
},
|
|
@@ -10,21 +10,21 @@ import {
|
|
|
10
10
|
type BaseToolCapability,
|
|
11
11
|
type DataHandlerResult,
|
|
12
12
|
type DataTool,
|
|
13
|
-
type
|
|
13
|
+
type LighthouseRecordingCapability,
|
|
14
14
|
type ToolArgs,
|
|
15
15
|
ToolName,
|
|
16
16
|
} from './Tool.js';
|
|
17
17
|
|
|
18
18
|
export interface RunLighthouseArgs extends ToolArgs {
|
|
19
19
|
explanation: string;
|
|
20
|
-
|
|
20
|
+
categoryId: LHModel.RunTypes.CategoryId;
|
|
21
21
|
mode?: LHModel.RunTypes.RunMode;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
export class RunLighthouseTool implements
|
|
25
|
-
DataTool<RunLighthouseArgs, {audits: string}, BaseToolCapability&
|
|
26
|
-
readonly name = ToolName.RUN_LIGHTHOUSE;
|
|
27
|
-
readonly description =
|
|
25
|
+
DataTool<RunLighthouseArgs, {audits: string}, BaseToolCapability&LighthouseRecordingCapability> {
|
|
26
|
+
readonly name: ToolName = ToolName.RUN_LIGHTHOUSE;
|
|
27
|
+
readonly description: string =
|
|
28
28
|
'Runs Lighthouse audits on the active page. Supports "navigation" (for full initial page load audits), "snapshot" (for inspecting live in-page modifications without reload), and "timespan" (for interactions).';
|
|
29
29
|
|
|
30
30
|
readonly parameters: Host.AidaClient.FunctionObjectParam<keyof RunLighthouseArgs> = {
|
|
@@ -37,7 +37,7 @@ export class RunLighthouseTool implements
|
|
|
37
37
|
description: 'Reason for running new audits.',
|
|
38
38
|
nullable: false,
|
|
39
39
|
},
|
|
40
|
-
|
|
40
|
+
categoryId: {
|
|
41
41
|
type: Host.AidaClient.ParametersTypes.STRING,
|
|
42
42
|
description: 'Lighthouse category. E.g. "accessibility", "performance".',
|
|
43
43
|
nullable: false,
|
|
@@ -49,34 +49,31 @@ export class RunLighthouseTool implements
|
|
|
49
49
|
nullable: true,
|
|
50
50
|
},
|
|
51
51
|
},
|
|
52
|
-
required: ['explanation', '
|
|
52
|
+
required: ['explanation', 'categoryId'],
|
|
53
53
|
};
|
|
54
54
|
|
|
55
55
|
displayInfoFromArgs(params: RunLighthouseArgs): {title: string, thought: string, action: string} {
|
|
56
56
|
return {
|
|
57
|
-
title: `Running Lighthouse audits: ${params.
|
|
57
|
+
title: `Running Lighthouse audits: ${params.categoryId} (${params.mode ?? 'snapshot'})`,
|
|
58
58
|
thought: params.explanation,
|
|
59
|
-
action: `runLighthouse('${params.
|
|
59
|
+
action: `runLighthouse('${params.categoryId}', '${params.mode ?? 'snapshot'}')`,
|
|
60
60
|
};
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
-
async handler(params: RunLighthouseArgs,
|
|
64
|
-
|
|
65
|
-
if (!context.lighthouseRecording) {
|
|
66
|
-
return {error: 'Error: Lighthouse recording capability is not available.'};
|
|
67
|
-
}
|
|
63
|
+
async handler(params: RunLighthouseArgs, context: BaseToolCapability&LighthouseRecordingCapability):
|
|
64
|
+
Promise<DataHandlerResult<{audits: string}>> {
|
|
68
65
|
const mode = params.mode ?? 'snapshot';
|
|
69
66
|
try {
|
|
70
|
-
const report = await context.
|
|
67
|
+
const report = await context.runLighthouse({
|
|
71
68
|
mode,
|
|
72
|
-
categoryIds: [params.
|
|
69
|
+
categoryIds: [params.categoryId],
|
|
73
70
|
isAIControlled: true,
|
|
74
71
|
});
|
|
75
72
|
if (!report) {
|
|
76
73
|
return {error: 'Error: Failed to record new audits.'};
|
|
77
74
|
}
|
|
78
75
|
|
|
79
|
-
const audits = new LighthouseFormatter().audits(report, params.
|
|
76
|
+
const audits = new LighthouseFormatter().audits(report, params.categoryId);
|
|
80
77
|
const isSnapshot = mode === 'snapshot';
|
|
81
78
|
return {
|
|
82
79
|
result: {audits},
|
|
@@ -6,12 +6,12 @@ import * as Common from '../../../core/common/common.js';
|
|
|
6
6
|
import * as Host from '../../../core/host/host.js';
|
|
7
7
|
import * as i18n from '../../../core/i18n/i18n.js';
|
|
8
8
|
import * as SDK from '../../../core/sdk/sdk.js';
|
|
9
|
-
import {PerformanceTraceContext} from '../contexts/PerformanceTraceContext.js';
|
|
10
9
|
|
|
11
10
|
import {
|
|
12
11
|
type BaseToolCapability,
|
|
13
12
|
type DataHandlerResult,
|
|
14
13
|
type DataTool,
|
|
14
|
+
type PerformanceTraceCapability,
|
|
15
15
|
type ToolArgs,
|
|
16
16
|
ToolName,
|
|
17
17
|
} from './Tool.js';
|
|
@@ -26,9 +26,10 @@ export interface SelectTraceEventByKeyArgs extends ToolArgs {
|
|
|
26
26
|
eventKey: string;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
export class SelectTraceEventByKeyTool implements
|
|
30
|
-
|
|
31
|
-
readonly
|
|
29
|
+
export class SelectTraceEventByKeyTool implements
|
|
30
|
+
DataTool<SelectTraceEventByKeyArgs, string, BaseToolCapability&PerformanceTraceCapability> {
|
|
31
|
+
readonly name: ToolName = ToolName.SELECT_TRACE_EVENT_BY_KEY;
|
|
32
|
+
readonly description: string = 'Selects and reveals a specific event by its key in the Performance panel Flamechart.';
|
|
32
33
|
|
|
33
34
|
readonly parameters: Host.AidaClient.FunctionObjectParam<keyof SelectTraceEventByKeyArgs> = {
|
|
34
35
|
type: Host.AidaClient.ParametersTypes.OBJECT,
|
|
@@ -56,14 +57,14 @@ export class SelectTraceEventByKeyTool implements DataTool<SelectTraceEventByKey
|
|
|
56
57
|
|
|
57
58
|
async handler(
|
|
58
59
|
params: SelectTraceEventByKeyArgs,
|
|
59
|
-
capabilities: BaseToolCapability,
|
|
60
|
+
capabilities: BaseToolCapability&PerformanceTraceCapability,
|
|
60
61
|
): Promise<DataHandlerResult<string>> {
|
|
61
|
-
const
|
|
62
|
-
if (!
|
|
62
|
+
const performanceTraceContext = capabilities.getPerformanceTraceContext();
|
|
63
|
+
if (!performanceTraceContext) {
|
|
63
64
|
return {error: 'Performance trace context is not available.'};
|
|
64
65
|
}
|
|
65
66
|
|
|
66
|
-
const focus =
|
|
67
|
+
const focus = performanceTraceContext.getItem();
|
|
67
68
|
const event = focus.lookupEvent(params.eventKey);
|
|
68
69
|
if (!event) {
|
|
69
70
|
return {error: `Could not find event with key "${params.eventKey}".`};
|