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
|
@@ -42,11 +42,11 @@ import * as i18n from '../../core/i18n/i18n.js';
|
|
|
42
42
|
import * as Platform from '../../core/platform/platform.js';
|
|
43
43
|
import * as Root from '../../core/root/root.js';
|
|
44
44
|
import * as SDK from '../../core/sdk/sdk.js';
|
|
45
|
+
import * as TextUtils from '../../core/text_utils/text_utils.js';
|
|
45
46
|
import * as Protocol from '../../generated/protocol.js';
|
|
46
47
|
import * as AiAssistanceModel from '../../models/ai_assistance/ai_assistance.js';
|
|
47
48
|
import * as Badges from '../../models/badges/badges.js';
|
|
48
49
|
import * as CrUXManager from '../../models/crux-manager/crux-manager.js';
|
|
49
|
-
import * as TextUtils from '../../models/text_utils/text_utils.js';
|
|
50
50
|
import * as Trace from '../../models/trace/trace.js';
|
|
51
51
|
import * as SourceMapsResolver from '../../models/trace_source_maps_resolver/trace_source_maps_resolver.js';
|
|
52
52
|
import * as Workspace from '../../models/workspace/workspace.js';
|
|
@@ -115,6 +115,32 @@ const UIStrings = {
|
|
|
115
115
|
* @description Title of show screenshots setting in timeline panel of the performance panel
|
|
116
116
|
*/
|
|
117
117
|
screenshots: 'Screenshots',
|
|
118
|
+
/**
|
|
119
|
+
* @description Label for the screenshot capture preset dropdown in the performance panel settings pane. The dropdown
|
|
120
|
+
* picks the per-frame resolution and maximum frame count used when capturing screenshots. Every preset is sized to
|
|
121
|
+
* stay within the same per-session memory budget.
|
|
122
|
+
*/
|
|
123
|
+
screenshotCapture: 'Screenshot capture',
|
|
124
|
+
/**
|
|
125
|
+
* @description Dropdown option in the performance panel for the default screenshot capture preset (500 x 500 pixels,
|
|
126
|
+
* up to 450 frames).
|
|
127
|
+
*/
|
|
128
|
+
screenshotPresetDefault: '500 x 500 px, up to 450 frames',
|
|
129
|
+
/**
|
|
130
|
+
* @description Dropdown option in the performance panel for a screenshot capture preset that uses smaller frames so
|
|
131
|
+
* more of them fit in the per-session memory budget (250 x 250 pixels, up to 1800 frames).
|
|
132
|
+
*/
|
|
133
|
+
screenshotPresetMedium: '250 x 250 px, up to 1800 frames',
|
|
134
|
+
/**
|
|
135
|
+
* @description Dropdown option in the performance panel for a screenshot capture preset that uses higher-resolution
|
|
136
|
+
* frames at the cost of capturing fewer of them (1000 x 1000 pixels, up to 100 frames).
|
|
137
|
+
*/
|
|
138
|
+
screenshotPresetLarge: '1000 x 1000 px, up to 100 frames',
|
|
139
|
+
/**
|
|
140
|
+
* @description Dropdown option in the performance panel for a screenshot capture preset that uses very small frames
|
|
141
|
+
* so many of them fit in the per-session memory budget (100 x 100 pixels, up to 11250 frames).
|
|
142
|
+
*/
|
|
143
|
+
screenshotPresetTiny: '100 x 100 px, up to 11250 frames',
|
|
118
144
|
/**
|
|
119
145
|
* @description Text for the memory of the page
|
|
120
146
|
*/
|
|
@@ -314,6 +340,46 @@ const UIStrings = {
|
|
|
314
340
|
const str_ = i18n.i18n.registerUIStrings('panels/timeline/TimelinePanel.ts', UIStrings);
|
|
315
341
|
const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
316
342
|
|
|
343
|
+
/**
|
|
344
|
+
* Screenshot capture presets exposed in the performance panel settings pane.
|
|
345
|
+
* Each entry pairs a maximum per-frame edge length (square frames) with a
|
|
346
|
+
* maximum frame count. All presets are sized to stay within the backend's
|
|
347
|
+
* per-session memory budget (~450 MB at 4 bytes per pixel).
|
|
348
|
+
*/
|
|
349
|
+
const SCREENSHOT_CAPTURE_PRESETS: ReadonlyArray<{
|
|
350
|
+
readonly key: string,
|
|
351
|
+
readonly maxSize: number,
|
|
352
|
+
readonly maxCount: number,
|
|
353
|
+
readonly label: () => Common.UIString.LocalizedString,
|
|
354
|
+
}> =
|
|
355
|
+
[
|
|
356
|
+
{
|
|
357
|
+
key: '500-450',
|
|
358
|
+
maxSize: 500,
|
|
359
|
+
maxCount: 450,
|
|
360
|
+
label: () => i18nString(UIStrings.screenshotPresetDefault),
|
|
361
|
+
},
|
|
362
|
+
{
|
|
363
|
+
key: '250-1800',
|
|
364
|
+
maxSize: 250,
|
|
365
|
+
maxCount: 1800,
|
|
366
|
+
label: () => i18nString(UIStrings.screenshotPresetMedium),
|
|
367
|
+
},
|
|
368
|
+
{
|
|
369
|
+
key: '1000-100',
|
|
370
|
+
maxSize: 1000,
|
|
371
|
+
maxCount: 100,
|
|
372
|
+
label: () => i18nString(UIStrings.screenshotPresetLarge),
|
|
373
|
+
},
|
|
374
|
+
{
|
|
375
|
+
key: '100-11250',
|
|
376
|
+
maxSize: 100,
|
|
377
|
+
maxCount: 11250,
|
|
378
|
+
label: () => i18nString(UIStrings.screenshotPresetTiny),
|
|
379
|
+
},
|
|
380
|
+
];
|
|
381
|
+
const DEFAULT_SCREENSHOT_CAPTURE_PRESET_KEY = SCREENSHOT_CAPTURE_PRESETS[0].key;
|
|
382
|
+
|
|
317
383
|
let timelinePanelInstance: TimelinePanel|undefined;
|
|
318
384
|
|
|
319
385
|
// Total time to wait for source maps to load before giving up so trace processing can proceed.
|
|
@@ -349,6 +415,7 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
|
|
|
349
415
|
private disableCaptureJSProfileSetting: Common.Settings.Setting<boolean>;
|
|
350
416
|
private readonly captureLayersAndPicturesSetting: Common.Settings.Setting<boolean>;
|
|
351
417
|
private readonly captureSelectorStatsSetting: Common.Settings.Setting<boolean>;
|
|
418
|
+
private readonly screenshotCaptureModeSetting: Common.Settings.Setting<string>;
|
|
352
419
|
readonly #thirdPartyTracksSetting: Common.Settings.Setting<boolean>;
|
|
353
420
|
private showScreenshotsSetting: Common.Settings.Setting<boolean>;
|
|
354
421
|
private showMemorySetting: Common.Settings.Setting<boolean>;
|
|
@@ -501,6 +568,10 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
|
|
|
501
568
|
this.captureSelectorStatsSetting = Common.Settings.Settings.instance().createSetting(
|
|
502
569
|
'timeline-capture-selector-stats', false, Common.Settings.SettingStorageType.SESSION);
|
|
503
570
|
this.captureSelectorStatsSetting.setTitle(i18nString(UIStrings.enableSelectorStats));
|
|
571
|
+
this.screenshotCaptureModeSetting = Common.Settings.Settings.instance().createSetting(
|
|
572
|
+
'timeline-screenshot-capture-mode', DEFAULT_SCREENSHOT_CAPTURE_PRESET_KEY,
|
|
573
|
+
Common.Settings.SettingStorageType.SESSION);
|
|
574
|
+
this.screenshotCaptureModeSetting.setTitle(i18nString(UIStrings.screenshotCapture));
|
|
504
575
|
|
|
505
576
|
this.showScreenshotsSetting =
|
|
506
577
|
Common.Settings.Settings.instance().createSetting('timeline-show-screenshots', !this.#isNode);
|
|
@@ -663,24 +734,6 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
|
|
|
663
734
|
|
|
664
735
|
SDK.TargetManager.TargetManager.instance().addEventListener(
|
|
665
736
|
SDK.TargetManager.Events.SUSPEND_STATE_CHANGED, this.onSuspendStateChanged, this);
|
|
666
|
-
const profilerModels = SDK.TargetManager.TargetManager.instance().models(SDK.CPUProfilerModel.CPUProfilerModel);
|
|
667
|
-
for (const model of profilerModels) {
|
|
668
|
-
for (const message of model.registeredConsoleProfileMessages) {
|
|
669
|
-
this.consoleProfileFinished(message);
|
|
670
|
-
}
|
|
671
|
-
}
|
|
672
|
-
SDK.TargetManager.TargetManager.instance().observeModels(
|
|
673
|
-
SDK.CPUProfilerModel.CPUProfilerModel,
|
|
674
|
-
{
|
|
675
|
-
modelAdded: (model: SDK.CPUProfilerModel.CPUProfilerModel) => {
|
|
676
|
-
model.addEventListener(
|
|
677
|
-
SDK.CPUProfilerModel.Events.CONSOLE_PROFILE_FINISHED, event => this.consoleProfileFinished(event.data));
|
|
678
|
-
},
|
|
679
|
-
modelRemoved: (_model: SDK.CPUProfilerModel.CPUProfilerModel) => {
|
|
680
|
-
|
|
681
|
-
},
|
|
682
|
-
},
|
|
683
|
-
);
|
|
684
737
|
}
|
|
685
738
|
|
|
686
739
|
zoomEvent(event: Trace.Types.Events.Event): void {
|
|
@@ -1031,7 +1084,7 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
|
|
|
1031
1084
|
this.#minimapComponent.highlightBounds(bounds, /* withBracket */ false);
|
|
1032
1085
|
}
|
|
1033
1086
|
|
|
1034
|
-
|
|
1087
|
+
loadFromCpuProfile(profile: Protocol.Profiler.Profile|null): void {
|
|
1035
1088
|
if (this.state !== State.IDLE || profile === null) {
|
|
1036
1089
|
return;
|
|
1037
1090
|
}
|
|
@@ -1315,6 +1368,31 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
|
|
|
1315
1368
|
this.disableCaptureJSProfileSetting.title(), this.disableCaptureJSProfileSetting,
|
|
1316
1369
|
i18nString(UIStrings.disablesJavascriptSampling)));
|
|
1317
1370
|
|
|
1371
|
+
const screenshotPresetSelect = new UI.Toolbar.ToolbarComboBox(
|
|
1372
|
+
() =>
|
|
1373
|
+
this.screenshotCaptureModeSetting.set((screenshotPresetSelect.selectedOption() as HTMLOptionElement).value),
|
|
1374
|
+
this.screenshotCaptureModeSetting.title(), '', 'screenshot-capture-mode');
|
|
1375
|
+
let selectedScreenshotPresetIndex = 0;
|
|
1376
|
+
for (let i = 0; i < SCREENSHOT_CAPTURE_PRESETS.length; ++i) {
|
|
1377
|
+
const preset = SCREENSHOT_CAPTURE_PRESETS[i];
|
|
1378
|
+
screenshotPresetSelect.addOption(
|
|
1379
|
+
screenshotPresetSelect.createOption(preset.label(), preset.key, `tracing.screenshot-size.${preset.key}`));
|
|
1380
|
+
if (preset.key === this.screenshotCaptureModeSetting.get()) {
|
|
1381
|
+
selectedScreenshotPresetIndex = i;
|
|
1382
|
+
}
|
|
1383
|
+
}
|
|
1384
|
+
screenshotPresetSelect.setSelectedIndex(selectedScreenshotPresetIndex);
|
|
1385
|
+
const screenshotPresetPane = this.settingsPane.createChild('div');
|
|
1386
|
+
screenshotPresetPane.append(this.screenshotCaptureModeSetting.title());
|
|
1387
|
+
screenshotPresetPane.append(screenshotPresetSelect.element);
|
|
1388
|
+
// Surface the dropdown only when the "Screenshots" checkbox is on, since the
|
|
1389
|
+
// preset only affects the screenshots captured during the recording.
|
|
1390
|
+
const updateScreenshotPresetVisibility = (): void => {
|
|
1391
|
+
screenshotPresetPane.hidden = !this.showScreenshotsSetting.get();
|
|
1392
|
+
};
|
|
1393
|
+
this.showScreenshotsSetting.addChangeListener(updateScreenshotPresetVisibility);
|
|
1394
|
+
updateScreenshotPresetVisibility();
|
|
1395
|
+
|
|
1318
1396
|
const thirdPartyCheckbox =
|
|
1319
1397
|
this.createSettingCheckbox(this.#thirdPartyTracksSetting, i18nString(UIStrings.showDataAddedByExtensions));
|
|
1320
1398
|
|
|
@@ -1916,6 +1994,14 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
|
|
|
1916
1994
|
|
|
1917
1995
|
const urlToTrace = await this.#evaluateInspectedURL();
|
|
1918
1996
|
|
|
1997
|
+
// Resolve the user's screenshot capture preset (resolution x frame count).
|
|
1998
|
+
// All presets are sized to fit within the backend's per-session memory
|
|
1999
|
+
// budget, which the backend additionally enforces. Forward the values
|
|
2000
|
+
// only when screenshots are actually being captured.
|
|
2001
|
+
const screenshotPreset =
|
|
2002
|
+
SCREENSHOT_CAPTURE_PRESETS.find(p => p.key === this.screenshotCaptureModeSetting.get()) ??
|
|
2003
|
+
SCREENSHOT_CAPTURE_PRESETS[0];
|
|
2004
|
+
|
|
1919
2005
|
// Order is important here: we tell the controller to start recording, which enables tracing.
|
|
1920
2006
|
await this.controller.startRecording({
|
|
1921
2007
|
enableJSSampling: !this.disableCaptureJSProfileSetting.get(),
|
|
@@ -1923,6 +2009,9 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
|
|
|
1923
2009
|
captureFilmStrip: this.showScreenshotsSetting.get(),
|
|
1924
2010
|
captureSelectorStats: this.captureSelectorStatsSetting.get(),
|
|
1925
2011
|
navigateToUrl: this.recordingPageReload ? urlToTrace : undefined,
|
|
2012
|
+
...(this.showScreenshotsSetting.get() ?
|
|
2013
|
+
{screenshotMaxSize: screenshotPreset.maxSize, screenshotMaxCount: screenshotPreset.maxCount} :
|
|
2014
|
+
{}),
|
|
1926
2015
|
});
|
|
1927
2016
|
|
|
1928
2017
|
// Once we get here, we know tracing is active.
|
|
@@ -2010,11 +2099,6 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
|
|
|
2010
2099
|
this.updateTimelineControls();
|
|
2011
2100
|
}
|
|
2012
2101
|
|
|
2013
|
-
private consoleProfileFinished(data: SDK.CPUProfilerModel.ProfileFinishedData): void {
|
|
2014
|
-
this.loadFromCpuProfile(data.cpuProfile);
|
|
2015
|
-
void UI.InspectorView.InspectorView.instance().showPanel('timeline');
|
|
2016
|
-
}
|
|
2017
|
-
|
|
2018
2102
|
private updateTimelineControls(): void {
|
|
2019
2103
|
if (this.#viewMode.mode === 'VIEWING_TRACE') {
|
|
2020
2104
|
this.#addSidebarIconToToolbar();
|
|
@@ -3186,6 +3270,13 @@ export class BottomUpProfileRevealer implements Common.Revealer.Revealer<Utils.H
|
|
|
3186
3270
|
}
|
|
3187
3271
|
}
|
|
3188
3272
|
|
|
3273
|
+
export class ProfileFinishedRevealer implements Common.Revealer.Revealer<SDK.CPUProfilerModel.ProfileFinishedData> {
|
|
3274
|
+
async reveal(data: SDK.CPUProfilerModel.ProfileFinishedData): Promise<void> {
|
|
3275
|
+
await UI.ViewManager.ViewManager.instance().showView('timeline');
|
|
3276
|
+
TimelinePanel.instance().loadFromCpuProfile(data.cpuProfile);
|
|
3277
|
+
}
|
|
3278
|
+
}
|
|
3279
|
+
|
|
3189
3280
|
export class ActionDelegate implements UI.ActionRegistration.ActionDelegate {
|
|
3190
3281
|
handleAction(context: UI.Context.Context, actionId: string): boolean {
|
|
3191
3282
|
const panel = context.flavor(TimelinePanel);
|
|
@@ -38,7 +38,7 @@ const UIStrings = {
|
|
|
38
38
|
* @description Tooltip description '% of slow-path non-matches'
|
|
39
39
|
*/
|
|
40
40
|
slowPathNonMatchesExplanation:
|
|
41
|
-
'The percentage of non-matching nodes (Match Attempts - Match Count) that couldn
|
|
41
|
+
'The percentage of non-matching nodes (Match Attempts - Match Count) that couldn’t be quickly ruled out by the bloom filter due to high selector complexity. Lower is better.',
|
|
42
42
|
/**
|
|
43
43
|
* @description Column name for count of elements that the engine attempted to match against a style rule
|
|
44
44
|
*/
|
|
@@ -71,7 +71,7 @@ const UIStrings = {
|
|
|
71
71
|
* @description Tooltip description 'Style Sheet'
|
|
72
72
|
*/
|
|
73
73
|
styleSheetIdExplanation:
|
|
74
|
-
'Links to the selector rule definition in the style sheets. Note that a selector rule could be defined in multiple places in a style sheet or defined in multiple style sheets. Selector rules from browser user-agent style sheet or dynamic style sheets don
|
|
74
|
+
'Links to the selector rule definition in the style sheets. Note that a selector rule could be defined in multiple places in a style sheet or defined in multiple style sheets. Selector rules from browser user-agent style sheet or dynamic style sheets don’t have a link.',
|
|
75
75
|
/**
|
|
76
76
|
* @description A context menu item in data grids to copy entire table to clipboard
|
|
77
77
|
*/
|
|
@@ -42,9 +42,9 @@ import * as i18n from '../../core/i18n/i18n.js';
|
|
|
42
42
|
import * as Platform from '../../core/platform/platform.js';
|
|
43
43
|
import * as Root from '../../core/root/root.js';
|
|
44
44
|
import * as SDK from '../../core/sdk/sdk.js';
|
|
45
|
+
import * as TextUtils from '../../core/text_utils/text_utils.js';
|
|
45
46
|
import type * as Protocol from '../../generated/protocol.js';
|
|
46
47
|
import * as Bindings from '../../models/bindings/bindings.js';
|
|
47
|
-
import * as TextUtils from '../../models/text_utils/text_utils.js';
|
|
48
48
|
import * as Trace from '../../models/trace/trace.js';
|
|
49
49
|
import * as SourceMapsResolver from '../../models/trace_source_maps_resolver/trace_source_maps_resolver.js';
|
|
50
50
|
import * as Workspace from '../../models/workspace/workspace.js';
|
|
@@ -58,7 +58,7 @@ const UIStrings = {
|
|
|
58
58
|
*/
|
|
59
59
|
fieldMismatchNotice:
|
|
60
60
|
'There are many reasons why local and field metrics [may not match](https://web.dev/articles/lab-and-field-data-differences). ' +
|
|
61
|
-
'Adjust [throttling settings and device emulation](https://developer.chrome.com/docs/devtools/device-mode) to analyze traces more similar to the average user
|
|
61
|
+
'Adjust [throttling settings and device emulation](https://developer.chrome.com/docs/devtools/device-mode) to analyze traces more similar to the average user’s environment.',
|
|
62
62
|
} as const;
|
|
63
63
|
|
|
64
64
|
const str_ = i18n.i18n.registerUIStrings('panels/timeline/components/CWVMetrics.ts', UIStrings);
|
|
@@ -45,7 +45,7 @@ const UIStrings = {
|
|
|
45
45
|
* @description Aria accessible name in Ignore List Settings Dialog in Performance panel. It labels the input
|
|
46
46
|
* field used to add new or edit existing regular expressions that match file names to ignore in the debugger.
|
|
47
47
|
*/
|
|
48
|
-
addNewRegex: 'Add a regular expression rule for the script
|
|
48
|
+
addNewRegex: 'Add a regular expression rule for the script’s URL',
|
|
49
49
|
/**
|
|
50
50
|
* @description Aria accessible name in Ignore List Settings Dialog in Performance panel. It labels the checkbox of
|
|
51
51
|
* the input field used to enable the new regular expressions that match file names to ignore in the debugger.
|
|
@@ -65,12 +65,12 @@ const UIStringsNotTranslate = {
|
|
|
65
65
|
* @description Security disclaimer text displayed when the information icon on a button that generates an AI label is hovered.
|
|
66
66
|
*/
|
|
67
67
|
generateLabelSecurityDisclaimer:
|
|
68
|
-
'The selected call stack is sent to Google. This data may be seen by human reviewers to improve this feature. This is an experimental AI feature and won
|
|
68
|
+
'The selected call stack is sent to Google. This data may be seen by human reviewers to improve this feature. This is an experimental AI feature and won’t always get it right.',
|
|
69
69
|
/**
|
|
70
70
|
* @description Enterprise users with logging off - Security disclaimer text displayed when the information icon on a button that generates an AI label is hovered.
|
|
71
71
|
*/
|
|
72
72
|
generateLabelSecurityDisclaimerLoggingOff:
|
|
73
|
-
'The selected call stack is sent to Google. This data will not be used to improve Google
|
|
73
|
+
'The selected call stack is sent to Google. This data will not be used to improve Google’s AI models. Your organization may change these settings at any time. This is an experimental AI feature and won’t always get it right.',
|
|
74
74
|
/**
|
|
75
75
|
* @description The `Generate AI label button` tooltip disclaimer for when the feature is not available and the reason can be checked in settings.
|
|
76
76
|
*/
|
|
@@ -456,3 +456,16 @@ Common.Revealer.registerRevealer({
|
|
|
456
456
|
return new Timeline.TimelinePanel.BottomUpProfileRevealer();
|
|
457
457
|
},
|
|
458
458
|
});
|
|
459
|
+
|
|
460
|
+
Common.Revealer.registerRevealer({
|
|
461
|
+
contextTypes() {
|
|
462
|
+
return [
|
|
463
|
+
SDK.CPUProfilerModel.ProfileFinishedData,
|
|
464
|
+
];
|
|
465
|
+
},
|
|
466
|
+
destination: Common.Revealer.RevealerDestination.TIMELINE_PANEL,
|
|
467
|
+
async loadRevealer() {
|
|
468
|
+
const Timeline = await loadTimelineModule();
|
|
469
|
+
return new Timeline.TimelinePanel.ProfileFinishedRevealer();
|
|
470
|
+
},
|
|
471
|
+
});
|
|
@@ -66,13 +66,14 @@ export class TracingManager extends SDK.SDKModel.SDKModel<void> {
|
|
|
66
66
|
this.#finishing = false;
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
-
async start(client: TracingManagerClient, categoryFilter: string
|
|
69
|
+
async start(client: TracingManagerClient, categoryFilter: string,
|
|
70
|
+
options: TracingStartOptions = {}): Promise<Protocol.ProtocolResponseWithError> {
|
|
70
71
|
if (this.#activeClient) {
|
|
71
72
|
throw new Error('Tracing is already started');
|
|
72
73
|
}
|
|
73
74
|
const bufferUsageReportingIntervalMs = 500;
|
|
74
75
|
this.#activeClient = client;
|
|
75
|
-
const args = {
|
|
76
|
+
const args: Protocol.Tracing.StartRequest = {
|
|
76
77
|
bufferUsageReportingInterval: bufferUsageReportingIntervalMs,
|
|
77
78
|
transferMode: Protocol.Tracing.StartRequestTransferMode.ReportEvents,
|
|
78
79
|
traceConfig: {
|
|
@@ -81,6 +82,12 @@ export class TracingManager extends SDK.SDKModel.SDKModel<void> {
|
|
|
81
82
|
includedCategories: categoryFilter.split(','),
|
|
82
83
|
},
|
|
83
84
|
};
|
|
85
|
+
if (options.screenshotMaxSize !== undefined) {
|
|
86
|
+
args.screenshotMaxSize = options.screenshotMaxSize;
|
|
87
|
+
}
|
|
88
|
+
if (options.screenshotMaxCount !== undefined) {
|
|
89
|
+
args.screenshotMaxCount = options.screenshotMaxCount;
|
|
90
|
+
}
|
|
84
91
|
const response = await this.#tracingAgent.invoke_start(args);
|
|
85
92
|
if (response.getError()) {
|
|
86
93
|
this.#activeClient = null;
|
|
@@ -108,6 +115,24 @@ export interface TracingManagerClient {
|
|
|
108
115
|
eventsRetrievalProgress(progress: number): void;
|
|
109
116
|
}
|
|
110
117
|
|
|
118
|
+
/**
|
|
119
|
+
* Optional knobs that control how the `disabled-by-default-devtools.screenshot`
|
|
120
|
+
* tracing category captures frames. See `Tracing.start` in the protocol for
|
|
121
|
+
* details and per-session memory budget.
|
|
122
|
+
*/
|
|
123
|
+
export interface TracingStartOptions {
|
|
124
|
+
/**
|
|
125
|
+
* Maximum width and height (in pixels) of each captured screenshot.
|
|
126
|
+
* When omitted the backend default (500) is used.
|
|
127
|
+
*/
|
|
128
|
+
screenshotMaxSize?: number;
|
|
129
|
+
/**
|
|
130
|
+
* Maximum number of screenshots captured during a single tracing session.
|
|
131
|
+
* When omitted the backend default (450) is used.
|
|
132
|
+
*/
|
|
133
|
+
screenshotMaxCount?: number;
|
|
134
|
+
}
|
|
135
|
+
|
|
111
136
|
class TracingDispatcher implements ProtocolProxyApi.TracingDispatcher {
|
|
112
137
|
readonly #tracingManager: TracingManager;
|
|
113
138
|
constructor(tracingManager: TracingManager) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Name: Dependencies sourced from the upstream `chromium` repository
|
|
2
2
|
URL: Internal
|
|
3
3
|
Version: N/A
|
|
4
|
-
Revision:
|
|
4
|
+
Revision: 0710d8bfc99da895041ed5684b55ab2f262173b6
|
|
5
5
|
Update Mechanism: Manual (https://crbug.com/428069060)
|
|
6
6
|
License: BSD-3-Clause
|
|
7
7
|
License File: LICENSE
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Name: Lighthouse
|
|
2
2
|
Short Name: lighthouse
|
|
3
|
-
Version: 13.4.
|
|
4
|
-
Revision:
|
|
3
|
+
Version: 13.4.1
|
|
4
|
+
Revision: 1d58f5b06d28e3419b38817a6c7488ec4413c67d
|
|
5
5
|
Update Mechanism: Manual
|
|
6
6
|
URL: https://github.com/GoogleChrome/lighthouse
|
|
7
7
|
License: Apache-2.0
|