chrome-devtools-frontend 1.0.1662289 → 1.0.1664496
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/{creating-a-model → devtools-model-management}/SKILL.md +0 -1
- package/.agents/skills/devtools-unicode-escaping/SKILL.md +64 -0
- package/.agents/skills/devtools-ux-writing-refactor/SKILL.md +2 -1
- package/.agents/skills/fixing-skipped-tests/SKILL.md +3 -3
- package/.agents/skills/merging-devtools-module/SKILL.md +1 -1
- package/.agents/skills/migrate-chromium-test/SKILL.md +32 -6
- package/.agents/skills/repro-flaky-tests/SKILL.md +71 -31
- package/.agents/skills/ui-eng-vision-widget-promoter/SKILL.md +1 -0
- package/docs/ui_engineering.md +2 -0
- package/eslint.config.mjs +1 -0
- package/front_end/core/common/SettingRegistration.ts +0 -5
- package/front_end/core/common/Settings.ts +144 -3
- package/front_end/core/platform/StringUtilities.ts +38 -6
- package/front_end/core/protocol_client/PuppeteerDevToolsConnection.ts +112 -0
- package/front_end/core/sdk/CPUProfilerModel.ts +21 -13
- package/front_end/core/sdk/CSSContainerQuery.ts +1 -1
- package/front_end/core/sdk/CSSLayer.ts +1 -1
- package/front_end/core/sdk/CSSMedia.ts +1 -1
- package/front_end/core/sdk/CSSModel.ts +1 -1
- package/front_end/core/sdk/CSSNavigation.ts +1 -1
- package/front_end/core/sdk/CSSProperty.ts +1 -1
- package/front_end/core/sdk/CSSQuery.ts +1 -1
- package/front_end/core/sdk/CSSRule.ts +1 -1
- package/front_end/core/sdk/CSSScope.ts +1 -1
- package/front_end/core/sdk/CSSStartingStyle.ts +1 -1
- package/front_end/core/sdk/CSSStyleDeclaration.ts +1 -1
- package/front_end/core/sdk/CSSStyleSheetHeader.ts +1 -1
- package/front_end/core/sdk/CSSSupports.ts +1 -1
- package/front_end/core/sdk/CompilerSourceMappingContentProvider.ts +1 -1
- package/front_end/core/sdk/NetworkManager.ts +1 -1
- package/front_end/core/sdk/NetworkRequest.ts +7 -7
- package/front_end/core/sdk/Resource.ts +1 -1
- package/front_end/core/sdk/ScopeTreeCache.ts +1 -1
- package/front_end/core/sdk/Script.ts +1 -1
- package/front_end/core/sdk/ServerSentEvents.ts +1 -1
- package/front_end/core/sdk/ServiceWorkerCacheModel.ts +0 -10
- package/front_end/core/sdk/SourceMap.ts +1 -1
- package/front_end/core/sdk/SourceMapScopesInfo.ts +1 -1
- package/front_end/core/sdk/StorageBucketsModel.ts +0 -10
- package/front_end/core/sdk/sdk-meta.ts +3 -4
- package/front_end/{models → core}/text_utils/ContentProvider.ts +4 -6
- package/front_end/{models → core}/text_utils/StaticContentProvider.ts +4 -6
- package/front_end/{models → core}/text_utils/StreamingContentData.ts +1 -2
- package/front_end/{models → core}/text_utils/TextRange.ts +6 -3
- package/front_end/{models → core}/text_utils/TextUtils.ts +7 -7
- package/front_end/{models → core}/text_utils/WasmDisassembly.ts +2 -2
- package/front_end/core/text_utils/text_utils.ts +27 -0
- package/front_end/entrypoints/formatter_worker/AcornTokenizer.ts +1 -1
- package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshotLoader.ts +1 -1
- package/front_end/entrypoints/inspector_main/OutermostTargetSelector.ts +0 -13
- package/front_end/entrypoints/inspector_main/RenderingOptions.ts +8 -3
- package/front_end/entrypoints/inspector_main/inspector_main-meta.ts +3 -3
- package/front_end/entrypoints/main/MainImpl.ts +21 -3
- package/front_end/foundation/Universe.ts +16 -0
- package/front_end/generated/InspectorBackendCommands.ts +2 -14
- package/front_end/generated/protocol-mapping.d.ts +0 -53
- package/front_end/generated/protocol-proxy-api.d.ts +0 -46
- package/front_end/generated/protocol.ts +0 -148
- package/front_end/models/ai_assistance/AgentProject.ts +1 -1
- package/front_end/models/ai_assistance/AiAgent2.ts +3 -3
- package/front_end/models/ai_assistance/AiConversation.ts +21 -10
- package/front_end/models/ai_assistance/AiHistoryStorage.ts +21 -10
- package/front_end/models/ai_assistance/ChangeManager.ts +2 -2
- package/front_end/models/ai_assistance/ExtensionScope.ts +6 -2
- package/front_end/models/ai_assistance/agents/AccessibilityAgent.ts +4 -7
- package/front_end/models/ai_assistance/agents/AiAgent.ts +9 -2
- package/front_end/models/ai_assistance/agents/ContextSelectionAgent.ts +19 -11
- package/front_end/models/ai_assistance/agents/PerformanceAgent.snapshot.txt +2 -2
- package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +23 -10
- package/front_end/models/ai_assistance/agents/StorageAgent.ts +19 -18
- package/front_end/models/ai_assistance/agents/StylingAgent.ts +3 -4
- package/front_end/models/ai_assistance/contexts/FileContext.ts +7 -3
- package/front_end/models/ai_assistance/contexts/PerformanceTraceContext.ts +39 -11
- package/front_end/models/ai_assistance/data_formatters/FileFormatter.ts +6 -3
- package/front_end/models/ai_assistance/data_formatters/NetworkRequestFormatter.ts +1 -1
- package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.snapshot.txt +4 -4
- package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.snapshot.txt +8 -8
- package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.ts +76 -3
- package/front_end/models/ai_assistance/tools/ListNetworkRequests.ts +11 -1
- package/front_end/models/badges/AiExplorerBadge.ts +8 -3
- package/front_end/models/badges/Badge.ts +1 -0
- package/front_end/models/badges/UserBadges.ts +43 -23
- package/front_end/models/bindings/CompilerScriptMapping.ts +1 -1
- package/front_end/models/bindings/ContentProviderBasedProject.ts +1 -1
- package/front_end/models/bindings/DebuggerLanguagePlugins.ts +2 -2
- package/front_end/models/bindings/DebuggerWorkspaceBinding.ts +1 -1
- package/front_end/models/bindings/DefaultScriptMapping.ts +1 -1
- package/front_end/models/bindings/FileUtils.ts +1 -1
- package/front_end/models/bindings/NetworkProject.ts +16 -4
- package/front_end/models/bindings/PresentationConsoleMessageHelper.ts +7 -10
- package/front_end/models/bindings/ResourceMapping.ts +1 -1
- package/front_end/models/bindings/ResourceScriptMapping.ts +1 -1
- package/front_end/models/bindings/SASSSourceMapping.ts +1 -1
- package/front_end/models/bindings/StylesSourceMapping.ts +1 -1
- package/front_end/models/breakpoints/BreakpointManager.ts +1 -1
- package/front_end/models/crux-manager/CrUXManager.ts +1 -1
- package/front_end/models/emulation/DeviceModeModel.ts +67 -5
- package/front_end/models/emulation/EmulatedDevices.ts +3 -2
- package/front_end/models/extensions/RecorderPluginManager.ts +10 -6
- package/front_end/models/har/Importer.ts +1 -1
- package/front_end/models/har/Log.snapshot.txt +193 -0
- package/front_end/models/har/Log.ts +3 -2
- package/front_end/models/har/Writer.ts +1 -1
- package/front_end/models/issues_manager/IssueAggregator.ts +9 -0
- package/front_end/models/issues_manager/IssuesManager.ts +5 -0
- package/front_end/models/issues_manager/LazyLoadImageIssue.ts +76 -0
- package/front_end/models/issues_manager/descriptions/lazyLoadImageZeroSize.md +7 -0
- package/front_end/models/issues_manager/issues_manager.ts +2 -0
- package/front_end/models/javascript_metadata/NativeFunctions.js +9 -10
- package/front_end/models/live-metrics/LiveMetrics.ts +2 -3
- package/front_end/models/logs/NetworkLog.ts +4 -3
- package/front_end/models/logs/logs-meta.ts +3 -3
- package/front_end/models/network_time_calculator/NetworkTimeCalculator.ts +4 -4
- package/front_end/models/persistence/Automapping.ts +1 -1
- package/front_end/models/persistence/AutomaticFileSystemWorkspaceBinding.ts +2 -2
- package/front_end/models/persistence/FileSystemWorkspaceBinding.ts +1 -1
- package/front_end/models/persistence/IsolatedFileSystem.ts +2 -2
- package/front_end/models/persistence/NetworkPersistenceManager.ts +1 -1
- package/front_end/models/persistence/PersistenceImpl.ts +1 -1
- package/front_end/models/persistence/PlatformFileSystem.ts +1 -1
- package/front_end/models/source_map_scopes/FunctionCodeResolver.ts +8 -6
- package/front_end/models/source_map_scopes/NamesResolver.ts +37 -31
- package/front_end/models/stack_trace/StackTrace.ts +17 -0
- package/front_end/models/text_utils/text_utils.ts +2 -24
- package/front_end/models/trace/insights/ImageDelivery.ts +2 -2
- package/front_end/models/trace/insights/LegacyJavaScript.ts +1 -1
- package/front_end/models/trace/insights/RenderBlocking.ts +1 -1
- package/front_end/models/trace/insights/ThirdParties.ts +1 -1
- package/front_end/models/workspace/FileManager.ts +1 -1
- package/front_end/models/workspace/UISourceCode.ts +1 -1
- package/front_end/models/workspace/WorkspaceImpl.ts +1 -1
- package/front_end/models/workspace_diff/WorkspaceDiff.ts +1 -1
- package/front_end/panels/accessibility/AccessibilityNodeView.ts +1 -1
- package/front_end/panels/accessibility/AccessibilityStrings.ts +2 -2
- package/front_end/panels/ai_assistance/AiAssistancePanel.ts +1 -1
- package/front_end/panels/ai_assistance/ExportConversation.ts +1 -1
- package/front_end/panels/ai_assistance/ai_assistance-meta.ts +1 -1
- package/front_end/panels/ai_assistance/components/ChatMessage.ts +1 -1
- package/front_end/panels/application/AppManifestView.ts +4 -4
- package/front_end/panels/application/ApplicationPanelSidebar.ts +1 -2
- package/front_end/panels/application/CrashReportContextView.ts +1 -1
- package/front_end/panels/application/DOMStorageItemsView.ts +1 -1
- package/front_end/panels/application/DeviceBoundSessionsView.ts +4 -4
- package/front_end/panels/application/ExtensionStorageItemsView.ts +1 -1
- package/front_end/panels/application/FrameDetailsView.ts +1 -1
- package/front_end/panels/application/IndexedDBModel.ts +0 -10
- package/front_end/panels/application/IndexedDBViews.ts +240 -164
- package/front_end/panels/application/ServiceWorkerCacheTreeElement.ts +12 -2
- package/front_end/panels/application/ServiceWorkerCacheViews.ts +1 -1
- package/front_end/panels/application/SharedStorageModel.ts +0 -10
- package/front_end/panels/application/application.ts +2 -0
- package/front_end/panels/application/components/AdsView.ts +23 -0
- package/front_end/panels/application/components/BackForwardCacheView.ts +21 -5
- package/front_end/panels/application/components/CrashReportContextGrid.ts +1 -1
- package/front_end/panels/application/components/SharedStorageAccessGrid.ts +1 -1
- package/front_end/panels/application/components/TrustTokensView.ts +2 -2
- package/front_end/panels/application/components/adsView.css +21 -1
- package/front_end/panels/application/indexedDBViews.css +1 -1
- package/front_end/panels/application/preloading/PreloadingView.ts +1 -1
- package/front_end/panels/application/preloading/components/PreloadingDisabledInfobar.ts +2 -2
- package/front_end/panels/application/preloading/components/PreloadingString.ts +2 -2
- package/front_end/panels/application/preloading/components/UsedPreloadingView.ts +4 -4
- package/front_end/panels/autofill/AutofillView.ts +1 -1
- package/front_end/panels/common/AiCodeCompletionTeaser.ts +1 -1
- package/front_end/panels/common/ExtensionServer.ts +1 -1
- package/front_end/panels/console/ConsoleFilter.ts +1 -1
- package/front_end/panels/console/ConsoleSidebar.ts +1 -1
- package/front_end/panels/console/ConsoleView.ts +1 -1
- package/front_end/panels/console/ConsoleViewMessage.ts +1 -1
- package/front_end/panels/console/PromptBuilder.ts +1 -1
- package/front_end/panels/coverage/CoverageDecorationManager.ts +9 -1
- package/front_end/panels/coverage/CoverageModel.ts +1 -1
- package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +1 -1
- package/front_end/panels/developer_resources/DeveloperResourcesListView.ts +1 -1
- package/front_end/panels/developer_resources/DeveloperResourcesView.ts +1 -1
- package/front_end/panels/elements/AccessibilityTreeView.ts +38 -3
- package/front_end/panels/elements/AdoptedStyleSheetTreeElement.ts +1 -1
- package/front_end/panels/elements/ElementIssueUtils.ts +2 -2
- package/front_end/panels/elements/ElementsTreeElement.ts +10 -3
- package/front_end/panels/elements/StandaloneStylesContainer.ts +1 -1
- package/front_end/panels/elements/StylePropertiesSection.ts +1 -1
- package/front_end/panels/elements/StylePropertyTreeElement.ts +1 -1
- package/front_end/panels/elements/StylesAiCodeCompletionProvider.ts +1 -1
- package/front_end/panels/elements/StylesContainer.ts +1 -1
- package/front_end/panels/elements/StylesSidebarPane.ts +1 -1
- package/front_end/panels/elements/components/CSSPropertyDocsView.ts +1 -1
- package/front_end/panels/explain/components/ConsoleInsight.ts +2 -2
- package/front_end/panels/issues/AffectedLazyLoadImagesView.ts +76 -0
- package/front_end/panels/issues/AffectedResourcesView.ts +1 -1
- package/front_end/panels/issues/CorsIssueDetailsView.ts +1 -1
- package/front_end/panels/issues/IssueView.ts +2 -0
- package/front_end/panels/issues/issues.ts +2 -0
- package/front_end/panels/layer_viewer/Layers3DView.ts +1 -1
- package/front_end/panels/lighthouse/LighthouseController.ts +5 -0
- package/front_end/panels/lighthouse/LighthouseReportRenderer.ts +1 -1
- package/front_end/panels/network/BinaryResourceView.ts +1 -1
- package/front_end/panels/network/NetworkDataGridNode.ts +72 -8
- package/front_end/panels/network/NetworkLogView.ts +1 -1
- package/front_end/panels/network/NetworkLogViewColumns.ts +6 -6
- package/front_end/panels/network/NetworkPanel.ts +4 -4
- package/front_end/panels/network/NetworkSearchScope.ts +1 -1
- package/front_end/panels/network/RequestConditionsDrawer.ts +1 -1
- package/front_end/panels/network/RequestHTMLView.ts +1 -1
- package/front_end/panels/network/RequestInitiatorView.ts +24 -2
- package/front_end/panels/network/RequestPayloadView.ts +1 -1
- package/front_end/panels/network/RequestPreviewView.ts +1 -1
- package/front_end/panels/network/RequestResponseView.ts +1 -1
- package/front_end/panels/network/ResourceChunkView.ts +1 -1
- package/front_end/panels/network/ResourceDirectSocketChunkView.ts +1 -1
- package/front_end/panels/network/ResourceWebSocketFrameView.ts +1 -1
- package/front_end/panels/network/components/ResponseHeaderSection.ts +1 -1
- package/front_end/panels/network/forward/UIRequestLocation.ts +1 -1
- package/front_end/panels/network/network-meta.ts +3 -3
- package/front_end/panels/network/networkLogView.css +5 -0
- package/front_end/panels/network/requestInitiatorViewTree.css +5 -0
- package/front_end/panels/profiler/HeapProfileView.ts +200 -81
- package/front_end/panels/profiler/HeapSnapshotView.ts +1 -1
- package/front_end/panels/profiler/ProfileDataGrid.ts +12 -8
- package/front_end/panels/protocol_monitor/ProtocolMonitor.ts +1 -1
- package/front_end/panels/recorder/README.md +1 -2
- package/front_end/panels/recorder/RecorderPanel.ts +1861 -17
- package/front_end/panels/recorder/RecordingListView.ts +8 -37
- package/front_end/panels/recorder/RecordingView.ts +54 -27
- package/front_end/panels/recorder/SelectorPicker.ts +0 -13
- package/front_end/panels/recorder/StepEditor.ts +6 -14
- package/front_end/panels/recorder/StepView.ts +36 -105
- package/front_end/panels/recorder/recorder.ts +0 -2
- package/front_end/panels/search/SearchResultsPane.ts +1 -1
- package/front_end/panels/security/SecurityPanel.ts +3 -3
- package/front_end/panels/settings/AISettingsTab.ts +17 -4
- package/front_end/panels/settings/components/SyncSection.ts +4 -4
- package/front_end/panels/settings/emulation/components/UserAgentClientHintsForm.ts +3 -3
- package/front_end/panels/snippets/ScriptSnippetFileSystem.ts +1 -1
- package/front_end/panels/sources/BreakpointsView.ts +1 -1
- package/front_end/panels/sources/CoveragePlugin.ts +1 -1
- package/front_end/panels/sources/DebuggerPlugin.ts +4 -4
- package/front_end/panels/sources/FilteredUISourceCodeListProvider.ts +27 -3
- package/front_end/panels/sources/NavigatorView.ts +1 -1
- package/front_end/panels/sources/PersistenceActions.ts +1 -1
- package/front_end/panels/sources/SourcesNavigator.ts +1 -1
- package/front_end/panels/sources/SourcesSearchScope.ts +1 -1
- package/front_end/panels/sources/TabbedEditorContainer.ts +3 -3
- package/front_end/panels/sources/UISourceCodeFrame.ts +1 -1
- package/front_end/panels/sources/components/HeadersView.ts +1 -1
- package/front_end/panels/sources/filteredUISourceCodeListProvider.css +12 -1
- package/front_end/panels/sources/sources-meta.ts +1 -1
- package/front_end/panels/timeline/StatusDialog.ts +1 -1
- package/front_end/panels/timeline/TimelineController.ts +24 -3
- package/front_end/panels/timeline/TimelinePanel.ts +116 -25
- package/front_end/panels/timeline/TimelineSelectorStatsView.ts +2 -2
- package/front_end/panels/timeline/TimelineUIUtils.ts +1 -1
- package/front_end/panels/timeline/components/CWVMetrics.ts +1 -1
- package/front_end/panels/timeline/components/IgnoreListSetting.ts +1 -1
- package/front_end/panels/timeline/overlays/components/EntryLabelOverlay.ts +2 -2
- package/front_end/panels/timeline/timeline-meta.ts +13 -0
- package/front_end/services/tracing/TracingManager.ts +27 -2
- package/front_end/third_party/chromium/README.chromium +1 -1
- package/front_end/third_party/lighthouse/README.chromium +2 -2
- package/front_end/third_party/lighthouse/lighthouse-dt-bundle.js +1418 -1413
- package/front_end/third_party/lighthouse/locales/en-US.json +12 -6
- package/front_end/third_party/lighthouse/locales/en-XL.json +12 -6
- package/front_end/third_party/lighthouse/report-assets/report-generator.mjs +1 -1
- package/front_end/third_party/puppeteer/puppeteer.ts +20 -1
- package/front_end/ui/components/highlighting/HighlightElement.ts +4 -1
- package/front_end/ui/components/highlighting/HighlightManager.ts +1 -1
- package/front_end/ui/components/highlighting/MarkupHighlight.ts +1 -1
- package/front_end/ui/components/markdown_view/MarkdownView.ts +46 -2
- package/front_end/ui/components/markdown_view/markdownView.css +23 -0
- package/front_end/ui/components/spinners/Spinner.ts +29 -32
- package/front_end/ui/components/spinners/spinner.css +32 -84
- package/front_end/ui/components/text_editor/config.ts +1 -1
- package/front_end/ui/components/tree_outline/TreeOutline.ts +7 -1
- package/front_end/ui/legacy/Infobar.ts +1 -1
- package/front_end/ui/legacy/InspectorView.ts +12 -7
- package/front_end/ui/legacy/SuggestBox.ts +1 -1
- package/front_end/ui/legacy/TextPrompt.ts +1 -1
- package/front_end/ui/legacy/Toolbar.ts +5 -2
- package/front_end/ui/legacy/Treeoutline.ts +40 -13
- package/front_end/ui/legacy/UIUtils.ts +25 -10
- package/front_end/ui/legacy/Widget.ts +17 -10
- package/front_end/ui/legacy/components/color_picker/Spectrum.ts +1 -1
- package/front_end/ui/legacy/components/data_grid/DataGridElement.ts +37 -8
- package/front_end/ui/legacy/components/data_grid/ViewportDataGrid.ts +1 -1
- package/front_end/ui/legacy/components/data_grid/dataGrid.css +1 -1
- package/front_end/ui/legacy/components/inline_editor/AnimationTimingUI.ts +27 -13
- package/front_end/ui/legacy/components/inline_editor/BezierEditor.ts +5 -2
- package/front_end/ui/legacy/components/inline_editor/CSSLinearEasingModel.ts +23 -0
- package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +223 -121
- package/front_end/ui/legacy/components/object_ui/RemoteObjectPreviewFormatter.ts +1 -1
- package/front_end/ui/legacy/components/object_ui/objectValue.css +2 -1
- package/front_end/ui/legacy/components/quick_open/FilteredListWidget.ts +1 -1
- package/front_end/ui/legacy/components/source_frame/BinaryResourceViewFactory.ts +1 -1
- package/front_end/ui/legacy/components/source_frame/FontView.ts +1 -1
- package/front_end/ui/legacy/components/source_frame/ImageView.ts +1 -1
- package/front_end/ui/legacy/components/source_frame/JSONView.ts +105 -115
- package/front_end/ui/legacy/components/source_frame/PreviewFactory.ts +1 -1
- package/front_end/ui/legacy/components/source_frame/ResourceSourceFrame.ts +1 -1
- package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +3 -3
- package/front_end/ui/legacy/components/source_frame/StreamingContentHexView.ts +1 -1
- package/front_end/ui/legacy/components/source_frame/XMLView.ts +5 -1
- package/front_end/ui/legacy/components/source_frame/jsonView.css +4 -0
- package/front_end/ui/legacy/components/utils/Linkifier.ts +1 -1
- package/front_end/ui/legacy/inspectorCommon.css +10 -6
- package/front_end/ui/lit/lit.ts +1 -0
- package/front_end/ui/lit/render.ts +44 -10
- package/front_end/ui/lit/strip-whitespace.ts +23 -2
- package/front_end/ui/settings/SettingUIRegistration.ts +105 -0
- package/front_end/ui/settings/settings.ts +9 -0
- package/front_end/ui/visual_logging/KnownContextValues.ts +13 -0
- package/mcp/mcp.ts +1 -0
- package/package.json +1 -1
- package/front_end/panels/recorder/RecorderController.ts +0 -1759
- /package/.agents/skills/{verification → devtools-verification}/SKILL.md +0 -0
- /package/front_end/{models → core}/text_utils/CodeMirrorUtils.ts +0 -0
- /package/front_end/{models → core}/text_utils/ContentData.ts +0 -0
- /package/front_end/{models → core}/text_utils/Text.ts +0 -0
- /package/front_end/{models → core}/text_utils/TextCursor.ts +0 -0
- /package/front_end/{models → core}/text_utils/TextUtils.snapshot.txt +0 -0
- /package/front_end/panels/recorder/{recorderController.css → recorderPanel.css} +0 -0
|
@@ -603,7 +603,7 @@
|
|
|
603
603
|
"message": "Failing Rule"
|
|
604
604
|
},
|
|
605
605
|
"core/audits/agentic/agent-accessibility-tree.js | description": {
|
|
606
|
-
"message": "A well-formed [accessibility tree](
|
|
606
|
+
"message": "A well-formed [accessibility tree](https://developer.chrome.com/docs/lighthouse/agentic-browsing/accessibility-for-agents) helps AI agents to navigate and interact with the page."
|
|
607
607
|
},
|
|
608
608
|
"core/audits/agentic/agent-accessibility-tree.js | displayValuePassed": {
|
|
609
609
|
"message": "All audits passed"
|
|
@@ -618,7 +618,7 @@
|
|
|
618
618
|
"message": "Accessibility tree is well-formed"
|
|
619
619
|
},
|
|
620
620
|
"core/audits/agentic/llms-txt.js | description": {
|
|
621
|
-
"message": "If your llms.txt file does not follow recommendations, large language models may not be able to understand how you want your website to be crawled or used for training. The [llms.txt](https://llmstxt.org/) file should be a Markdown file containing at least one H1 header."
|
|
621
|
+
"message": "If your llms.txt file does not follow recommendations, large language models may not be able to understand how you want your website to be crawled or used for training. The [llms.txt](https://llmstxt.org/) file should be a Markdown file containing at least one H1 header. [Learn more about the llms.txt audit](https://developer.chrome.com/docs/lighthouse/agentic-browsing/llms-txt)."
|
|
622
622
|
},
|
|
623
623
|
"core/audits/agentic/llms-txt.js | displayValueHttpBadCode": {
|
|
624
624
|
"message": "Failed with HTTP status {statusCode}"
|
|
@@ -626,6 +626,9 @@
|
|
|
626
626
|
"core/audits/agentic/llms-txt.js | explanation": {
|
|
627
627
|
"message": "Fetch of llms.txt failed"
|
|
628
628
|
},
|
|
629
|
+
"core/audits/agentic/llms-txt.js | explanationWithError": {
|
|
630
|
+
"message": "Fetch of llms.txt failed: {error}"
|
|
631
|
+
},
|
|
629
632
|
"core/audits/agentic/llms-txt.js | failureTitle": {
|
|
630
633
|
"message": "llms.txt does not follow recommendations"
|
|
631
634
|
},
|
|
@@ -1263,7 +1266,10 @@
|
|
|
1263
1266
|
"message": "{itemCount, plural,\n =1 {1 error found}\n other {# errors found}\n }"
|
|
1264
1267
|
},
|
|
1265
1268
|
"core/audits/seo/robots-txt.js | explanation": {
|
|
1266
|
-
"message": "
|
|
1269
|
+
"message": "Fetch of robots.txt failed"
|
|
1270
|
+
},
|
|
1271
|
+
"core/audits/seo/robots-txt.js | explanationWithError": {
|
|
1272
|
+
"message": "Fetch of robots.txt failed: {error}"
|
|
1267
1273
|
},
|
|
1268
1274
|
"core/audits/seo/robots-txt.js | failureTitle": {
|
|
1269
1275
|
"message": "robots.txt is not valid"
|
|
@@ -1350,7 +1356,7 @@
|
|
|
1350
1356
|
"message": "Form"
|
|
1351
1357
|
},
|
|
1352
1358
|
"core/audits/webmcp-form-coverage.js | description": {
|
|
1353
|
-
"message": "Consider adding [WebMCP](
|
|
1359
|
+
"message": "Consider adding [WebMCP](https://developer.chrome.com/docs/ai/webmcp) annotations to the forms listed below. This helps AI agents identify and interact with these forms more reliably."
|
|
1354
1360
|
},
|
|
1355
1361
|
"core/audits/webmcp-form-coverage.js | displayValue": {
|
|
1356
1362
|
"message": "{itemCount, plural,\n =1 {1 form missing annotations}\n other {# forms missing annotations}\n }"
|
|
@@ -1374,7 +1380,7 @@
|
|
|
1374
1380
|
"message": "Tool name"
|
|
1375
1381
|
},
|
|
1376
1382
|
"core/audits/webmcp-registered-tools.js | description": {
|
|
1377
|
-
"message": "Lists the [WebMCP tools](
|
|
1383
|
+
"message": "Lists the [WebMCP tools](https://developer.chrome.com/docs/ai/webmcp) registered at the time of analysis."
|
|
1378
1384
|
},
|
|
1379
1385
|
"core/audits/webmcp-registered-tools.js | title": {
|
|
1380
1386
|
"message": "WebMCP tools registered"
|
|
@@ -1392,7 +1398,7 @@
|
|
|
1392
1398
|
"message": "Issue"
|
|
1393
1399
|
},
|
|
1394
1400
|
"core/audits/webmcp-schema-validity.js | description": {
|
|
1395
|
-
"message": "Valid [WebMCP schemas](
|
|
1401
|
+
"message": "Valid [WebMCP schemas](https://developer.chrome.com/docs/ai/webmcp) are required for AI agents to understand and interact with tools correctly. Please fix any errors or warnings reported by the browser."
|
|
1396
1402
|
},
|
|
1397
1403
|
"core/audits/webmcp-schema-validity.js | failureTitle": {
|
|
1398
1404
|
"message": "WebMCP schemas are invalid"
|
|
@@ -603,7 +603,7 @@
|
|
|
603
603
|
"message": "F̂áîĺîńĝ Ŕûĺê"
|
|
604
604
|
},
|
|
605
605
|
"core/audits/agentic/agent-accessibility-tree.js | description": {
|
|
606
|
-
"message": "Â ẃêĺl̂-f́ôŕm̂éd̂ [áĉćêśŝíb̂íl̂ít̂ý t̂ŕêé](
|
|
606
|
+
"message": "Â ẃêĺl̂-f́ôŕm̂éd̂ [áĉćêśŝíb̂íl̂ít̂ý t̂ŕêé](https://developer.chrome.com/docs/lighthouse/agentic-browsing/accessibility-for-agents) ĥél̂ṕŝ ÁÎ áĝén̂t́ŝ t́ô ńâv́îǵât́ê án̂d́ îńt̂ér̂áĉt́ ŵít̂h́ t̂h́ê ṕâǵê."
|
|
607
607
|
},
|
|
608
608
|
"core/audits/agentic/agent-accessibility-tree.js | displayValuePassed": {
|
|
609
609
|
"message": "Âĺl̂ áûd́ît́ŝ ṕâśŝéd̂"
|
|
@@ -618,7 +618,7 @@
|
|
|
618
618
|
"message": "Âćĉéŝśîb́îĺît́ŷ t́r̂éê íŝ ẃêĺl̂-f́ôŕm̂éd̂"
|
|
619
619
|
},
|
|
620
620
|
"core/audits/agentic/llms-txt.js | description": {
|
|
621
|
-
"message": "Îf́ ŷóûŕ l̂ĺm̂ś.t̂x́t̂ f́îĺê d́ôéŝ ńôt́ f̂ól̂ĺôẃ r̂éĉóm̂ḿêńd̂át̂íôńŝ, ĺâŕĝé l̂án̂ǵûáĝé m̂ód̂él̂ś m̂áŷ ńôt́ b̂é âb́l̂é t̂ó ûńd̂ér̂śt̂án̂d́ ĥóŵ ýôú ŵán̂t́ ŷóûŕ ŵéb̂śît́ê t́ô b́ê ćr̂áŵĺêd́ ôŕ ûśêd́ f̂ór̂ t́r̂áîńîńĝ. T́ĥé [l̂ĺm̂ś.t̂x́t̂](https://llmstxt.org/) f́îĺê śĥóûĺd̂ b́ê á M̂ár̂ḱd̂óŵń f̂íl̂é ĉón̂t́âín̂ín̂ǵ ât́ l̂éâśt̂ ón̂é Ĥ1 h́êád̂ér̂."
|
|
621
|
+
"message": "Îf́ ŷóûŕ l̂ĺm̂ś.t̂x́t̂ f́îĺê d́ôéŝ ńôt́ f̂ól̂ĺôẃ r̂éĉóm̂ḿêńd̂át̂íôńŝ, ĺâŕĝé l̂án̂ǵûáĝé m̂ód̂él̂ś m̂áŷ ńôt́ b̂é âb́l̂é t̂ó ûńd̂ér̂śt̂án̂d́ ĥóŵ ýôú ŵán̂t́ ŷóûŕ ŵéb̂śît́ê t́ô b́ê ćr̂áŵĺêd́ ôŕ ûśêd́ f̂ór̂ t́r̂áîńîńĝ. T́ĥé [l̂ĺm̂ś.t̂x́t̂](https://llmstxt.org/) f́îĺê śĥóûĺd̂ b́ê á M̂ár̂ḱd̂óŵń f̂íl̂é ĉón̂t́âín̂ín̂ǵ ât́ l̂éâśt̂ ón̂é Ĥ1 h́êád̂ér̂. [Ĺêár̂ń m̂ór̂é âb́ôút̂ t́ĥé l̂ĺm̂ś.t̂x́t̂ áûd́ît́](https://developer.chrome.com/docs/lighthouse/agentic-browsing/llms-txt)."
|
|
622
622
|
},
|
|
623
623
|
"core/audits/agentic/llms-txt.js | displayValueHttpBadCode": {
|
|
624
624
|
"message": "F̂áîĺêd́ ŵít̂h́ ĤT́T̂Ṕ ŝt́ât́ûś {statusCode}"
|
|
@@ -626,6 +626,9 @@
|
|
|
626
626
|
"core/audits/agentic/llms-txt.js | explanation": {
|
|
627
627
|
"message": "F̂ét̂ćĥ óf̂ ĺl̂ḿŝ.t́x̂t́ f̂áîĺêd́"
|
|
628
628
|
},
|
|
629
|
+
"core/audits/agentic/llms-txt.js | explanationWithError": {
|
|
630
|
+
"message": "F̂ét̂ćĥ óf̂ ĺl̂ḿŝ.t́x̂t́ f̂áîĺêd́: {error}"
|
|
631
|
+
},
|
|
629
632
|
"core/audits/agentic/llms-txt.js | failureTitle": {
|
|
630
633
|
"message": "l̂ĺm̂ś.t̂x́t̂ d́ôéŝ ńôt́ f̂ól̂ĺôẃ r̂éĉóm̂ḿêńd̂át̂íôńŝ"
|
|
631
634
|
},
|
|
@@ -1263,7 +1266,10 @@
|
|
|
1263
1266
|
"message": "{itemCount, plural,\n =1 {1 êŕr̂ór̂ f́ôún̂d́}\n other {# êŕr̂ór̂ś f̂óûńd̂}\n }"
|
|
1264
1267
|
},
|
|
1265
1268
|
"core/audits/seo/robots-txt.js | explanation": {
|
|
1266
|
-
"message": "
|
|
1269
|
+
"message": "F̂ét̂ćĥ óf̂ ŕôb́ôt́ŝ.t́x̂t́ f̂áîĺêd́"
|
|
1270
|
+
},
|
|
1271
|
+
"core/audits/seo/robots-txt.js | explanationWithError": {
|
|
1272
|
+
"message": "F̂ét̂ćĥ óf̂ ŕôb́ôt́ŝ.t́x̂t́ f̂áîĺêd́: {error}"
|
|
1267
1273
|
},
|
|
1268
1274
|
"core/audits/seo/robots-txt.js | failureTitle": {
|
|
1269
1275
|
"message": "r̂ób̂ót̂ś.t̂x́t̂ íŝ ńôt́ v̂ál̂íd̂"
|
|
@@ -1350,7 +1356,7 @@
|
|
|
1350
1356
|
"message": "F̂ór̂ḿ"
|
|
1351
1357
|
},
|
|
1352
1358
|
"core/audits/webmcp-form-coverage.js | description": {
|
|
1353
|
-
"message": "Ĉón̂śîd́êŕ âd́d̂ín̂ǵ [Ŵéb̂ḾĈṔ](
|
|
1359
|
+
"message": "Ĉón̂śîd́êŕ âd́d̂ín̂ǵ [Ŵéb̂ḾĈṔ](https://developer.chrome.com/docs/ai/webmcp) âńn̂ót̂át̂íôńŝ t́ô t́ĥé f̂ór̂ḿŝ ĺîśt̂éd̂ b́êĺôẃ. T̂h́îś ĥél̂ṕŝ ÁÎ áĝén̂t́ŝ íd̂én̂t́îf́ŷ án̂d́ îńt̂ér̂áĉt́ ŵít̂h́ t̂h́êśê f́ôŕm̂ś m̂ór̂é r̂él̂íâb́l̂ý."
|
|
1354
1360
|
},
|
|
1355
1361
|
"core/audits/webmcp-form-coverage.js | displayValue": {
|
|
1356
1362
|
"message": "{itemCount, plural,\n =1 {1 f̂ór̂ḿ m̂íŝśîńĝ án̂ńôt́ât́îón̂ś}\n other {# f̂ór̂ḿŝ ḿîśŝín̂ǵ âńn̂ót̂át̂íôńŝ}\n }"
|
|
@@ -1374,7 +1380,7 @@
|
|
|
1374
1380
|
"message": "T̂óôĺ n̂ám̂é"
|
|
1375
1381
|
},
|
|
1376
1382
|
"core/audits/webmcp-registered-tools.js | description": {
|
|
1377
|
-
"message": "L̂íŝt́ŝ t́ĥé [Ŵéb̂ḾĈṔ t̂óôĺŝ](
|
|
1383
|
+
"message": "L̂íŝt́ŝ t́ĥé [Ŵéb̂ḾĈṔ t̂óôĺŝ](https://developer.chrome.com/docs/ai/webmcp) ŕêǵîśt̂ér̂éd̂ át̂ t́ĥé t̂ím̂é ôf́ âńâĺŷśîś."
|
|
1378
1384
|
},
|
|
1379
1385
|
"core/audits/webmcp-registered-tools.js | title": {
|
|
1380
1386
|
"message": "Ŵéb̂ḾĈṔ t̂óôĺŝ ŕêǵîśt̂ér̂éd̂"
|
|
@@ -1392,7 +1398,7 @@
|
|
|
1392
1398
|
"message": "Îśŝúê"
|
|
1393
1399
|
},
|
|
1394
1400
|
"core/audits/webmcp-schema-validity.js | description": {
|
|
1395
|
-
"message": "V̂ál̂íd̂ [Ẃêb́M̂ĆP̂ śĉh́êḿâś](
|
|
1401
|
+
"message": "V̂ál̂íd̂ [Ẃêb́M̂ĆP̂ śĉh́êḿâś](https://developer.chrome.com/docs/ai/webmcp) âŕê ŕêq́ûír̂éd̂ f́ôŕ ÂÍ âǵêńt̂ś t̂ó ûńd̂ér̂śt̂án̂d́ âńd̂ ín̂t́êŕâćt̂ ẃît́ĥ t́ôól̂ś ĉór̂ŕêćt̂ĺŷ. Ṕl̂éâśê f́îx́ âńŷ ér̂ŕôŕŝ ór̂ ẃâŕn̂ín̂ǵŝ ŕêṕôŕt̂éd̂ b́ŷ t́ĥé b̂ŕôẃŝér̂."
|
|
1396
1402
|
},
|
|
1397
1403
|
"core/audits/webmcp-schema-validity.js | failureTitle": {
|
|
1398
1404
|
"message": "Ŵéb̂ḾĈṔ ŝćĥém̂áŝ ár̂é îńv̂ál̂íd̂"
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
ReportGenerator: () => ReportGenerator
|
|
36
36
|
});
|
|
37
37
|
|
|
38
|
-
// replace-modules:/
|
|
38
|
+
// replace-modules:/usr/local/google/home/lusazhan/Git/lighthouse/report/generator/flow-report-assets.js
|
|
39
39
|
var flowReportAssets = {};
|
|
40
40
|
|
|
41
41
|
// report/generator/report-assets.js
|
|
@@ -9,5 +9,24 @@ import { CdpFrame } from './package/lib/puppeteer/cdp/Frame.js';
|
|
|
9
9
|
import { CdpElementHandle } from './package/lib/puppeteer/cdp/ElementHandle.js';
|
|
10
10
|
import { CdpPage } from './package/lib/puppeteer/cdp/Page.js';
|
|
11
11
|
import { CdpTarget } from './package/lib/puppeteer/cdp/Target.js';
|
|
12
|
+
import { CDPSession, CDPSessionEvent } from './package/lib/puppeteer/api/CDPSession.js';
|
|
13
|
+
import type { Handler } from './package/lib/puppeteer/common/EventEmitter.js';
|
|
14
|
+
|
|
15
|
+
type CDPSessionEventSessionAttached = typeof CDPSessionEvent.SessionAttached;
|
|
16
|
+
type CDPSessionEventSessionDetached = typeof CDPSessionEvent.SessionDetached;
|
|
17
|
+
|
|
18
|
+
export {
|
|
19
|
+
CdpBrowser as Browser,
|
|
20
|
+
CdpTarget as Target,
|
|
21
|
+
Connection,
|
|
22
|
+
ConnectionTransport,
|
|
23
|
+
CdpElementHandle as ElementHandle,
|
|
24
|
+
CdpFrame as Frame,
|
|
25
|
+
CdpPage as Page,
|
|
26
|
+
CDPSession,
|
|
27
|
+
CDPSessionEvent,
|
|
28
|
+
type Handler,
|
|
29
|
+
type CDPSessionEventSessionAttached,
|
|
30
|
+
type CDPSessionEventSessionDetached,
|
|
31
|
+
};
|
|
12
32
|
|
|
13
|
-
export { CdpBrowser as Browser, CdpTarget as Target, Connection, ConnectionTransport, CdpElementHandle as ElementHandle, CdpFrame as Frame, CdpPage as Page };
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// found in the LICENSE file.
|
|
4
4
|
/* eslint-disable @devtools/enforce-custom-element-definitions-location */
|
|
5
5
|
|
|
6
|
-
import * as TextUtils from '../../../
|
|
6
|
+
import * as TextUtils from '../../../core/text_utils/text_utils.js';
|
|
7
7
|
|
|
8
8
|
import {HighlightManager} from './HighlightManager.js';
|
|
9
9
|
import {type HighlightChange, highlightRangesWithStyleClass, revertDomChanges} from './MarkupHighlight.js';
|
|
@@ -25,6 +25,9 @@ export class HighlightElement extends HTMLElement {
|
|
|
25
25
|
break;
|
|
26
26
|
case 'current-range':
|
|
27
27
|
this.#currentRange = parseRanges(newValue)[0];
|
|
28
|
+
if (this.#currentRange && oldValue !== newValue) {
|
|
29
|
+
queueMicrotask(() => this.scrollIntoView({block: 'nearest'}));
|
|
30
|
+
}
|
|
28
31
|
break;
|
|
29
32
|
case 'type':
|
|
30
33
|
this.#type = newValue || 'css';
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Use of this source code is governed by a BSD-style license that can be
|
|
3
3
|
// found in the LICENSE file.
|
|
4
4
|
|
|
5
|
-
import type * as TextUtils from '../../../
|
|
5
|
+
import type * as TextUtils from '../../../core/text_utils/text_utils.js';
|
|
6
6
|
|
|
7
7
|
export class RangeWalker {
|
|
8
8
|
#offset = 0;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Use of this source code is governed by a BSD-style license that can be
|
|
3
3
|
// found in the LICENSE file.
|
|
4
4
|
|
|
5
|
-
import * as TextUtils from '../../../
|
|
5
|
+
import * as TextUtils from '../../../core/text_utils/text_utils.js';
|
|
6
6
|
|
|
7
7
|
export const highlightedSearchResultClassName = 'highlighted-search-result';
|
|
8
8
|
export const highlightedCurrentSearchResultClassName = 'current-search-result';
|
|
@@ -130,6 +130,22 @@ declare global {
|
|
|
130
130
|
'devtools-markdown-view': MarkdownView;
|
|
131
131
|
}
|
|
132
132
|
}
|
|
133
|
+
const BLOCK_TOKEN_TYPES = new Set<Marked.Marked.Token['type']>([
|
|
134
|
+
'list',
|
|
135
|
+
'code',
|
|
136
|
+
'table',
|
|
137
|
+
'heading',
|
|
138
|
+
'paragraph',
|
|
139
|
+
'blockquote',
|
|
140
|
+
]);
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* Identifies block-level tokens (such as nested lists, headings, or tables)
|
|
144
|
+
* that should be rendered outside of the inline typing animation spans.
|
|
145
|
+
*/
|
|
146
|
+
function isBlockToken(token: Marked.Marked.Token): boolean {
|
|
147
|
+
return BLOCK_TOKEN_TYPES.has(token.type);
|
|
148
|
+
}
|
|
133
149
|
|
|
134
150
|
/**
|
|
135
151
|
* Default renderer is used for the IssuesPanel and allows only well-known images and links to be embedded.
|
|
@@ -231,8 +247,36 @@ export class MarkdownLitRenderer {
|
|
|
231
247
|
return html`<ul class=${this.customClassMapForToken('list')}>${token.items.map(token => {
|
|
232
248
|
return this.renderToken(token);
|
|
233
249
|
})}</ul>`;
|
|
234
|
-
case 'list_item':
|
|
235
|
-
|
|
250
|
+
case 'list_item': {
|
|
251
|
+
// Group consecutive inline tokens into a `.markdown-list-item-content` span
|
|
252
|
+
// so that the typing animation (requiring `overflow: hidden`) applies to the text
|
|
253
|
+
// instead of the parent `<li>` element. This keeps the list marker (bullet point)
|
|
254
|
+
// visible immediately. Block-level children (like nested lists) are kept outside
|
|
255
|
+
// of this span to prevent nesting layout issues.
|
|
256
|
+
const childTokens = (token as Marked.Marked.Tokens.ListItem).tokens || [];
|
|
257
|
+
const renderedParts: Lit.TemplateResult[] = [];
|
|
258
|
+
let currentInline: Marked.Marked.Token[] = [];
|
|
259
|
+
|
|
260
|
+
const flushInline = (): void => {
|
|
261
|
+
if (currentInline.length > 0) {
|
|
262
|
+
renderedParts.push(
|
|
263
|
+
html`<span class="markdown-list-item-content">${currentInline.map(t => this.renderToken(t))}</span>`);
|
|
264
|
+
currentInline = [];
|
|
265
|
+
}
|
|
266
|
+
};
|
|
267
|
+
|
|
268
|
+
for (const child of childTokens) {
|
|
269
|
+
if (isBlockToken(child)) {
|
|
270
|
+
flushInline();
|
|
271
|
+
renderedParts.push(html`${this.renderToken(child)}`);
|
|
272
|
+
} else {
|
|
273
|
+
currentInline.push(child);
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
flushInline();
|
|
277
|
+
|
|
278
|
+
return html`<li class=${this.customClassMapForToken('list_item')}>${renderedParts}</li>`;
|
|
279
|
+
}
|
|
236
280
|
case 'text':
|
|
237
281
|
return this.renderText(token);
|
|
238
282
|
case 'codespan':
|
|
@@ -72,6 +72,29 @@ devtools-code-block.animating {
|
|
|
72
72
|
list-style-type: disc;
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
+
.message li.animating {
|
|
76
|
+
/*
|
|
77
|
+
* The JS animation controller applies the `pending` and `animating` classes to the <li>.
|
|
78
|
+
* We need `pending` (which is `display: none`) on the <li> to hide the bullet point
|
|
79
|
+
* before it starts animating.
|
|
80
|
+
*
|
|
81
|
+
* Once animating, we must override the default `.animating` styles on the <li> itself
|
|
82
|
+
* to prevent the bullet point from being clipped by `overflow: hidden`.
|
|
83
|
+
* Instead, we apply the typing animation to the inner `.markdown-list-item-content` span.
|
|
84
|
+
*/
|
|
85
|
+
overflow: visible;
|
|
86
|
+
white-space: normal;
|
|
87
|
+
animation: none;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.message li.animating > .markdown-list-item-content {
|
|
91
|
+
display: inline-block;
|
|
92
|
+
vertical-align: top;
|
|
93
|
+
overflow: hidden;
|
|
94
|
+
white-space: nowrap;
|
|
95
|
+
animation: typing 0.4s steps(40, end);
|
|
96
|
+
}
|
|
97
|
+
|
|
75
98
|
.message code {
|
|
76
99
|
color: var(--sys-color-on-surface);
|
|
77
100
|
font-family: var(--monospace-font-family);
|
|
@@ -3,10 +3,12 @@
|
|
|
3
3
|
// found in the LICENSE file.
|
|
4
4
|
/* eslint-disable @devtools/no-lit-render-outside-of-view, @devtools/enforce-custom-element-definitions-location */
|
|
5
5
|
|
|
6
|
-
import {html, render} from '../../lit/lit.js';
|
|
6
|
+
import {Directives, html, render} from '../../lit/lit.js';
|
|
7
7
|
|
|
8
8
|
import spinnerStyles from './spinner.css.js';
|
|
9
9
|
|
|
10
|
+
const {classMap} = Directives;
|
|
11
|
+
|
|
10
12
|
export interface SpinnerProperties {
|
|
11
13
|
active: boolean;
|
|
12
14
|
}
|
|
@@ -48,39 +50,34 @@ export class Spinner extends HTMLElement {
|
|
|
48
50
|
}
|
|
49
51
|
|
|
50
52
|
#render(): void {
|
|
51
|
-
// The radius
|
|
52
|
-
//
|
|
53
|
-
// https://github.com/material-components/material-components-web/tree/master/packages/mdc-circular-progress.
|
|
54
|
-
// Changing the value of the radius will cause errors in animation.
|
|
53
|
+
// The radius is set to 40 to allow for stroke width padding, and
|
|
54
|
+
// pathLength=100 is used for scalable, unitless animation length.
|
|
55
55
|
// clang-format off
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
</
|
|
66
|
-
<
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
56
|
+
const spinnerClasses = {
|
|
57
|
+
indeterminate: this.active,
|
|
58
|
+
spinner: true,
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
render(
|
|
62
|
+
html`
|
|
63
|
+
<style>
|
|
64
|
+
${spinnerStyles}
|
|
65
|
+
</style>
|
|
66
|
+
<svg
|
|
67
|
+
class=${classMap(spinnerClasses)}
|
|
68
|
+
viewBox="0 0 100 100"
|
|
69
|
+
>
|
|
70
|
+
<circle
|
|
71
|
+
cx="50"
|
|
72
|
+
cy="50"
|
|
73
|
+
r="44"
|
|
74
|
+
pathLength="100"
|
|
75
|
+
></circle>
|
|
75
76
|
</svg>
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
${spinnerStyles}
|
|
81
|
-
</style>
|
|
82
|
-
${content}
|
|
83
|
-
`, this.#shadow, {host: this});
|
|
77
|
+
`,
|
|
78
|
+
this.#shadow,
|
|
79
|
+
{host: this},
|
|
80
|
+
);
|
|
84
81
|
// clang-format on
|
|
85
82
|
}
|
|
86
83
|
}
|
|
@@ -18,87 +18,43 @@
|
|
|
18
18
|
animation: spinner-container-animation 1.5s linear infinite;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
.
|
|
21
|
+
.spinner {
|
|
22
|
+
height: 100%;
|
|
23
|
+
width: 100%;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.spinner.indeterminate {
|
|
22
27
|
/*
|
|
23
28
|
* The value for animation duration has been obtained by plugging in values defined
|
|
24
29
|
* in packages/mdc-circular-progress/_circular-progress-theme.scss to
|
|
25
30
|
* functions defined in packages/mdc-circular-progress/_circular-progress.scss.
|
|
26
31
|
* https://github.com/material-components/material-components-web
|
|
27
32
|
*/
|
|
28
|
-
animation: indeterminate-spinner-animation 5332ms cubic-bezier(0.4, 0, 0.2, 1)
|
|
29
|
-
|
|
30
|
-
width: 100%;
|
|
31
|
-
|
|
32
|
-
.left-circle {
|
|
33
|
-
height: 100%;
|
|
34
|
-
width: 50%;
|
|
35
|
-
display: inline-block;
|
|
36
|
-
position: relative;
|
|
37
|
-
overflow: hidden;
|
|
38
|
-
|
|
39
|
-
& > svg {
|
|
40
|
-
position: absolute;
|
|
41
|
-
width: 200%;
|
|
42
|
-
/*
|
|
43
|
-
* The value for animation duration has been obtained from values defined
|
|
44
|
-
* in packages/mdc-circular-progress/_circular-progress-theme.scss
|
|
45
|
-
* https://github.com/material-components/material-components-web
|
|
46
|
-
*/
|
|
47
|
-
animation: indeterminate-left-circle-spinner-animation 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
.center-circle {
|
|
52
|
-
height: 100%;
|
|
53
|
-
width: 5%;
|
|
54
|
-
display: inline-block;
|
|
55
|
-
position: absolute;
|
|
56
|
-
overflow: hidden;
|
|
57
|
-
top: 0;
|
|
58
|
-
left: 47.5%;
|
|
59
|
-
box-sizing: border-box;
|
|
60
|
-
|
|
61
|
-
& > svg {
|
|
62
|
-
position: absolute;
|
|
63
|
-
width: 2000%;
|
|
64
|
-
left: -900%;
|
|
65
|
-
transform: rotate(180deg);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
33
|
+
animation: indeterminate-spinner-animation 5332ms cubic-bezier(0.4, 0, 0.2, 1)
|
|
34
|
+
infinite both;
|
|
68
35
|
|
|
69
|
-
.right-circle {
|
|
70
|
-
height: 100%;
|
|
71
|
-
width: 50%;
|
|
72
|
-
display: inline-block;
|
|
73
|
-
position: relative;
|
|
74
|
-
overflow: hidden;
|
|
75
|
-
|
|
76
|
-
& > svg {
|
|
77
|
-
position: absolute;
|
|
78
|
-
width: 200%;
|
|
79
|
-
left: -100%;
|
|
80
|
-
/*
|
|
81
|
-
* The value for animation duration has been obtained from values defined
|
|
82
|
-
* in packages/mdc-circular-progress/_circular-progress-theme.scss
|
|
83
|
-
* https://github.com/material-components/material-components-web
|
|
84
|
-
*/
|
|
85
|
-
animation: indeterminate-right-circle-spinner-animation 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
36
|
}
|
|
89
37
|
|
|
90
|
-
.
|
|
38
|
+
.spinner circle {
|
|
91
39
|
stroke: var(--sys-color-state-disabled);
|
|
92
40
|
stroke-width: var(--sys-size-6);
|
|
93
41
|
fill: transparent;
|
|
42
|
+
transform-origin: 50% 50%;
|
|
43
|
+
transform: rotate(-90deg);
|
|
94
44
|
}
|
|
95
45
|
|
|
96
|
-
|
|
46
|
+
|
|
47
|
+
.spinner.indeterminate circle {
|
|
97
48
|
stroke: var(--sys-color-primary);
|
|
98
|
-
stroke-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
49
|
+
stroke-dasharray: 100, 100;
|
|
50
|
+
stroke-dashoffset: 0;
|
|
51
|
+
/*
|
|
52
|
+
* The value for animation duration has been obtained from values defined
|
|
53
|
+
* in packages/mdc-circular-progress/_circular-progress-theme.scss
|
|
54
|
+
* https://github.com/material-components/material-components-web
|
|
55
|
+
*/
|
|
56
|
+
animation: indeterminate-spinner-circle-animation 1333ms
|
|
57
|
+
cubic-bezier(0.4, 0, 0.2, 1) infinite both;
|
|
102
58
|
}
|
|
103
59
|
|
|
104
60
|
@keyframes spinner-container-animation {
|
|
@@ -141,30 +97,22 @@
|
|
|
141
97
|
}
|
|
142
98
|
}
|
|
143
99
|
|
|
144
|
-
@keyframes indeterminate-
|
|
145
|
-
0% {
|
|
146
|
-
transform: rotate(265deg);
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
50% {
|
|
150
|
-
transform: rotate(130deg);
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
100% {
|
|
154
|
-
transform: rotate(265deg);
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
@keyframes indeterminate-right-circle-spinner-animation {
|
|
100
|
+
@keyframes indeterminate-spinner-circle-animation {
|
|
159
101
|
0% {
|
|
160
|
-
|
|
102
|
+
stroke-dasharray: 5, 100;
|
|
103
|
+
stroke-dashoffset: 0;
|
|
104
|
+
transform: rotate(-90deg);
|
|
161
105
|
}
|
|
162
106
|
|
|
163
107
|
50% {
|
|
164
|
-
|
|
108
|
+
stroke-dasharray: 75, 100;
|
|
109
|
+
stroke-dashoffset: 0;
|
|
110
|
+
transform: rotate(-225deg);
|
|
165
111
|
}
|
|
166
112
|
|
|
167
113
|
100% {
|
|
168
|
-
|
|
114
|
+
stroke-dasharray: 5, 100;
|
|
115
|
+
stroke-dashoffset: 0;
|
|
116
|
+
transform: rotate(-90deg);
|
|
169
117
|
}
|
|
170
118
|
}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import * as Common from '../../../core/common/common.js';
|
|
7
7
|
import type * as Host from '../../../core/host/host.js';
|
|
8
8
|
import * as i18n from '../../../core/i18n/i18n.js';
|
|
9
|
-
import * as TextUtils from '../../../
|
|
9
|
+
import * as TextUtils from '../../../core/text_utils/text_utils.js';
|
|
10
10
|
import * as CM from '../../../third_party/codemirror.next/codemirror.next.js';
|
|
11
11
|
import {Icon} from '../../kit/kit.js';
|
|
12
12
|
import * as UI from '../../legacy/legacy.js';
|
|
@@ -74,9 +74,15 @@ export class ItemContextMenuEvent<TreeNodeDataType> extends Event {
|
|
|
74
74
|
};
|
|
75
75
|
|
|
76
76
|
constructor(node: TreeNode<TreeNodeDataType>, originalEvent: MouseEvent) {
|
|
77
|
-
super(ItemContextMenuEvent.eventName, {bubbles: true, composed: true});
|
|
77
|
+
super(ItemContextMenuEvent.eventName, {bubbles: true, composed: true, cancelable: true});
|
|
78
78
|
this.data = {node, originalEvent};
|
|
79
79
|
}
|
|
80
|
+
|
|
81
|
+
createContextMenu(): UI.ContextMenu.ContextMenu {
|
|
82
|
+
this.preventDefault();
|
|
83
|
+
this.stopPropagation();
|
|
84
|
+
return new UI.ContextMenu.ContextMenu(this.data.originalEvent);
|
|
85
|
+
}
|
|
80
86
|
}
|
|
81
87
|
|
|
82
88
|
export class ItemMouseOutEvent<TreeNodeDataType> extends Event {
|
|
@@ -19,7 +19,7 @@ const UIStrings = {
|
|
|
19
19
|
/**
|
|
20
20
|
* @description Text on a button to close the infobar and never show the infobar in the future
|
|
21
21
|
*/
|
|
22
|
-
dontShowAgain: 'Don
|
|
22
|
+
dontShowAgain: 'Don’t show again',
|
|
23
23
|
/**
|
|
24
24
|
* @description Text to close something
|
|
25
25
|
*/
|
|
@@ -81,7 +81,7 @@ const UIStrings = {
|
|
|
81
81
|
* is configured with a different locale than Chrome. This option means DevTools will
|
|
82
82
|
* always try and display the DevTools UI in the same language as Chrome.
|
|
83
83
|
*/
|
|
84
|
-
setToBrowserLanguage: 'Always match Chrome
|
|
84
|
+
setToBrowserLanguage: 'Always match Chrome’s language',
|
|
85
85
|
/**
|
|
86
86
|
* @description An option the user can select when DevTools notices that DevTools
|
|
87
87
|
* is configured with a different locale than Chrome. This option means DevTools UI
|
|
@@ -365,12 +365,17 @@ export class InspectorView extends VBox implements ViewLocationResolver {
|
|
|
365
365
|
|
|
366
366
|
#observedResize(): void {
|
|
367
367
|
const rect = this.element.getBoundingClientRect();
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
this.element.
|
|
373
|
-
|
|
368
|
+
// Set custom properties on the root element so top-layer elements
|
|
369
|
+
// (such as native popovers inside Shadow DOM) can inherit them.
|
|
370
|
+
// Top-layer popovers inside Shadow DOM roots inherit CSS custom properties
|
|
371
|
+
// from documentElement rather than local parent elements or shadow hosts.
|
|
372
|
+
const root = this.element.ownerDocument.documentElement;
|
|
373
|
+
root.style.setProperty('--devtools-window-left', `${rect.left}px`);
|
|
374
|
+
root.style.setProperty('--devtools-window-right', `${window.innerWidth - rect.right}px`);
|
|
375
|
+
root.style.setProperty('--devtools-window-width', `${rect.width}px`);
|
|
376
|
+
root.style.setProperty('--devtools-window-top', `${rect.top}px`);
|
|
377
|
+
root.style.setProperty('--devtools-window-bottom', `${window.innerHeight - rect.bottom}px`);
|
|
378
|
+
root.style.setProperty('--devtools-window-height', `${rect.height}px`);
|
|
374
379
|
}
|
|
375
380
|
|
|
376
381
|
override wasShown(): void {
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
|
|
7
7
|
import * as i18n from '../../core/i18n/i18n.js';
|
|
8
8
|
import * as Platform from '../../core/platform/platform.js';
|
|
9
|
+
import type * as TextUtils from '../../core/text_utils/text_utils.js';
|
|
9
10
|
import * as Geometry from '../../models/geometry/geometry.js';
|
|
10
|
-
import type * as TextUtils from '../../models/text_utils/text_utils.js';
|
|
11
11
|
import * as VisualLogging from '../visual_logging/visual_logging.js';
|
|
12
12
|
|
|
13
13
|
import * as ARIAUtils from './ARIAUtils.js';
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
|
|
35
35
|
import * as Common from '../../core/common/common.js';
|
|
36
36
|
import * as Platform from '../../core/platform/platform.js';
|
|
37
|
-
import * as TextUtils from '../../
|
|
37
|
+
import * as TextUtils from '../../core/text_utils/text_utils.js';
|
|
38
38
|
import * as VisualLogging from '../visual_logging/visual_logging.js';
|
|
39
39
|
|
|
40
40
|
import * as ARIAUtils from './ARIAUtils.js';
|