chrome-devtools-frontend 1.0.1662965 → 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-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 +3 -2
- 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/Settings.ts +75 -0
- 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/SourceMap.ts +1 -1
- package/front_end/core/sdk/SourceMapScopesInfo.ts +1 -1
- package/front_end/core/sdk/sdk-meta.ts +3 -3
- 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/main/MainImpl.ts +14 -1
- package/front_end/foundation/Universe.ts +1 -1
- package/front_end/models/ai_assistance/AgentProject.ts +1 -1
- package/front_end/models/ai_assistance/agents/AccessibilityAgent.ts +3 -6
- package/front_end/models/ai_assistance/agents/AiAgent.ts +1 -1
- 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 +2 -3
- 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 +11 -5
- 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/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/EmulatedDevices.ts +3 -2
- package/front_end/models/har/Importer.ts +1 -1
- 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 +1 -1
- package/front_end/models/source_map_scopes/NamesResolver.ts +1 -1
- 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/ServiceWorkerCacheTreeElement.ts +12 -2
- package/front_end/panels/application/ServiceWorkerCacheViews.ts +1 -1
- package/front_end/panels/application/application.ts +2 -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/TrustTokensView.ts +2 -2
- 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 +29 -7
- 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/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/profiler/HeapProfileView.ts +6 -6
- 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/RecorderPanel.ts +493 -381
- 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/search/SearchResultsPane.ts +1 -1
- package/front_end/panels/security/SecurityPanel.ts +3 -3
- package/front_end/panels/settings/AISettingsTab.ts +4 -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/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 +26 -7
- package/front_end/ui/legacy/components/color_picker/Spectrum.ts +1 -1
- package/front_end/ui/legacy/components/data_grid/DataGridElement.ts +1 -1
- 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 +161 -54
- 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 +6 -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/.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
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
// Copyright 2026 The Chromium Authors
|
|
2
|
+
// Use of this source code is governed by a BSD-style license that can be
|
|
3
|
+
// found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
import * as i18n from '../../core/i18n/i18n.js';
|
|
6
|
+
import type * as SDK from '../../core/sdk/sdk.js';
|
|
7
|
+
import * as Protocol from '../../generated/protocol.js';
|
|
8
|
+
|
|
9
|
+
import {type AffectedElement, Issue, IssueCategory, IssueKind} from './Issue.js';
|
|
10
|
+
import type {MarkdownIssueDescription} from './MarkdownIssueDescription.js';
|
|
11
|
+
|
|
12
|
+
const UIStrings = {
|
|
13
|
+
/**
|
|
14
|
+
* @description Link title for the lazy-loaded image with zero size issue in the Issues panel.
|
|
15
|
+
*/
|
|
16
|
+
lazyLoadImageZeroSize: 'Lazy-loaded images should have explicit dimensions',
|
|
17
|
+
} as const;
|
|
18
|
+
const str_ = i18n.i18n.registerUIStrings('models/issues_manager/LazyLoadImageIssue.ts', UIStrings);
|
|
19
|
+
const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
20
|
+
|
|
21
|
+
export class LazyLoadImageIssue extends Issue<Protocol.Audits.LazyLoadImageIssueDetails> {
|
|
22
|
+
constructor(issueDetails: Protocol.Audits.LazyLoadImageIssueDetails, issuesModel: SDK.IssuesModel.IssuesModel|null) {
|
|
23
|
+
const umaCode = [Protocol.Audits.InspectorIssueCode.LazyLoadImageIssue, 'ZeroSize'].join('::');
|
|
24
|
+
super({code: Protocol.Audits.InspectorIssueCode.LazyLoadImageIssue, umaCode}, issueDetails, issuesModel);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
primaryKey(): string {
|
|
28
|
+
return `${this.code()}-(${this.details().nodeId})-(${this.details().url})`;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
getCategory(): IssueCategory {
|
|
32
|
+
return IssueCategory.OTHER;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
getDescription(): MarkdownIssueDescription {
|
|
36
|
+
return {
|
|
37
|
+
file: 'lazyLoadImageZeroSize.md',
|
|
38
|
+
links: [
|
|
39
|
+
{
|
|
40
|
+
link: 'https://web.dev/articles/browser-level-image-lazy-loading/#dimension-attributes',
|
|
41
|
+
linkTitle: i18nString(UIStrings.lazyLoadImageZeroSize),
|
|
42
|
+
},
|
|
43
|
+
],
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
elementCount(): number {
|
|
48
|
+
return this.details().nodeId ? 1 : 0;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
override elements(): Iterable<AffectedElement> {
|
|
52
|
+
if (this.details().nodeId) {
|
|
53
|
+
const target = this.model()?.target();
|
|
54
|
+
return [{
|
|
55
|
+
backendNodeId: this.details().nodeId,
|
|
56
|
+
nodeName: 'img',
|
|
57
|
+
target: target || null,
|
|
58
|
+
}];
|
|
59
|
+
}
|
|
60
|
+
return [];
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
getKind(): IssueKind {
|
|
64
|
+
return IssueKind.IMPROVEMENT;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
static fromInspectorIssue(issuesModel: SDK.IssuesModel.IssuesModel|null,
|
|
68
|
+
inspectorIssue: Protocol.Audits.InspectorIssue): LazyLoadImageIssue[] {
|
|
69
|
+
const details = inspectorIssue.details.lazyLoadImageIssueDetails;
|
|
70
|
+
if (!details) {
|
|
71
|
+
console.warn('Lazy-loaded image issue without details received.');
|
|
72
|
+
return [];
|
|
73
|
+
}
|
|
74
|
+
return [new LazyLoadImageIssue(details, issuesModel)];
|
|
75
|
+
}
|
|
76
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Lazy-loaded images should have explicit dimensions
|
|
2
|
+
|
|
3
|
+
An image on this page specifies `loading="lazy"` without explicit width and height dimensions or aspect ratio styling.
|
|
4
|
+
|
|
5
|
+
When lazy-loaded images lack dimensions, the browser allocates an initial 0x0 bounding box before network loading completes. As the user scrolls and the image loads, its sudden expansion triggers unexpected layout shifts (CLS) and can displace or clip surrounding content.
|
|
6
|
+
|
|
7
|
+
To prevent layout shifts, always include explicit `width` and `height` attributes on lazy-loaded images, or define their aspect ratio using CSS.
|
|
@@ -20,6 +20,7 @@ import * as Issue from './Issue.js';
|
|
|
20
20
|
import * as IssueAggregator from './IssueAggregator.js';
|
|
21
21
|
import * as IssueResolver from './IssueResolver.js';
|
|
22
22
|
import * as IssuesManager from './IssuesManager.js';
|
|
23
|
+
import * as LazyLoadImageIssue from './LazyLoadImageIssue.js';
|
|
23
24
|
import * as MarkdownIssueDescription from './MarkdownIssueDescription.js';
|
|
24
25
|
import * as MixedContentIssue from './MixedContentIssue.js';
|
|
25
26
|
import * as PartitioningBlobURLIssue from './PartitioningBlobURLIssue.js';
|
|
@@ -54,6 +55,7 @@ export {
|
|
|
54
55
|
IssueAggregator,
|
|
55
56
|
IssueResolver,
|
|
56
57
|
IssuesManager,
|
|
58
|
+
LazyLoadImageIssue,
|
|
57
59
|
MarkdownIssueDescription,
|
|
58
60
|
MixedContentIssue,
|
|
59
61
|
PartitioningBlobURLIssue,
|
|
@@ -226,7 +226,7 @@ export const NativeFunctions = [
|
|
|
226
226
|
{
|
|
227
227
|
name: "create",
|
|
228
228
|
signatures: [["?options"]],
|
|
229
|
-
receivers: ["CredentialsContainer","
|
|
229
|
+
receivers: ["CredentialsContainer","SemanticEmbedder"]
|
|
230
230
|
},
|
|
231
231
|
{
|
|
232
232
|
name: "defineProperty",
|
|
@@ -8257,15 +8257,6 @@ export const NativeFunctions = [
|
|
|
8257
8257
|
name: "WorkletAnimation",
|
|
8258
8258
|
signatures: [["animatorName","effects","?timeline","?options"]]
|
|
8259
8259
|
},
|
|
8260
|
-
{
|
|
8261
|
-
name: "availability",
|
|
8262
|
-
signatures: [["?options"]],
|
|
8263
|
-
receivers: ["SemanticEmbedder"]
|
|
8264
|
-
},
|
|
8265
|
-
{
|
|
8266
|
-
name: "classify",
|
|
8267
|
-
signatures: [["input","?options"]]
|
|
8268
|
-
},
|
|
8269
8260
|
{
|
|
8270
8261
|
name: "LanguageModelToolCall",
|
|
8271
8262
|
signatures: [["init"]]
|
|
@@ -8278,6 +8269,10 @@ export const NativeFunctions = [
|
|
|
8278
8269
|
name: "LanguageModelToolError",
|
|
8279
8270
|
signatures: [["init"]]
|
|
8280
8271
|
},
|
|
8272
|
+
{
|
|
8273
|
+
name: "availability",
|
|
8274
|
+
signatures: [["?options"]]
|
|
8275
|
+
},
|
|
8281
8276
|
{
|
|
8282
8277
|
name: "embed",
|
|
8283
8278
|
signatures: [["input","?options"]]
|
|
@@ -8642,6 +8637,10 @@ export const NativeFunctions = [
|
|
|
8642
8637
|
name: "Touch",
|
|
8643
8638
|
signatures: [["initDict"]]
|
|
8644
8639
|
},
|
|
8640
|
+
{
|
|
8641
|
+
name: "InstallResultEvent",
|
|
8642
|
+
signatures: [["type","?eventInitDict"]]
|
|
8643
|
+
},
|
|
8645
8644
|
{
|
|
8646
8645
|
name: "TrackEvent",
|
|
8647
8646
|
signatures: [["type","?eventInitDict"]]
|
|
@@ -17,12 +17,11 @@ const UIStrings = {
|
|
|
17
17
|
/**
|
|
18
18
|
* @description Warning text indicating that the Largest Contentful Paint (LCP) performance metric was affected by the user changing the simulated device.
|
|
19
19
|
*/
|
|
20
|
-
lcpEmulationWarning:
|
|
21
|
-
'Simulating a new device after the page loads can affect LCP. Reload the page after simulating a new device for accurate LCP data.',
|
|
20
|
+
lcpEmulationWarning: 'Simulating a device after the page loads can affect LCP. Reload the page for accurate LCP.',
|
|
22
21
|
/**
|
|
23
22
|
* @description Warning text indicating that the Largest Contentful Paint (LCP) performance metric was affected by the page loading in the background.
|
|
24
23
|
*/
|
|
25
|
-
lcpVisibilityWarning: 'LCP
|
|
24
|
+
lcpVisibilityWarning: 'LCP may be inflated because the page started loading in the background.',
|
|
26
25
|
} as const;
|
|
27
26
|
|
|
28
27
|
const str_ = i18n.i18n.registerUIStrings('models/live-metrics/LiveMetrics.ts', UIStrings);
|
|
@@ -35,8 +35,8 @@ export class NetworkLog extends Common.ObjectWrapper.ObjectWrapper<EventTypes> i
|
|
|
35
35
|
readonly #settings: Common.Settings.Settings;
|
|
36
36
|
|
|
37
37
|
constructor(
|
|
38
|
-
targetManager: SDK.TargetManager.TargetManager
|
|
39
|
-
settings: Common.Settings.Settings
|
|
38
|
+
targetManager: SDK.TargetManager.TargetManager,
|
|
39
|
+
settings: Common.Settings.Settings,
|
|
40
40
|
) {
|
|
41
41
|
super();
|
|
42
42
|
this.#targetManager = targetManager;
|
|
@@ -55,7 +55,8 @@ export class NetworkLog extends Common.ObjectWrapper.ObjectWrapper<EventTypes> i
|
|
|
55
55
|
|
|
56
56
|
static instance(): NetworkLog {
|
|
57
57
|
if (!Root.DevToolsContext.globalInstance().has(NetworkLog)) {
|
|
58
|
-
Root.DevToolsContext.globalInstance().set(
|
|
58
|
+
Root.DevToolsContext.globalInstance().set(
|
|
59
|
+
NetworkLog, new NetworkLog(SDK.TargetManager.TargetManager.instance(), Common.Settings.Settings.instance()));
|
|
59
60
|
}
|
|
60
61
|
|
|
61
62
|
return Root.DevToolsContext.globalInstance().get(NetworkLog);
|
|
@@ -9,7 +9,7 @@ const UIStrings = {
|
|
|
9
9
|
/**
|
|
10
10
|
* @description Text to preserve the log after refreshing
|
|
11
11
|
*/
|
|
12
|
-
preserveLog: '
|
|
12
|
+
preserveLog: 'Keep log',
|
|
13
13
|
/**
|
|
14
14
|
* @description A term that can be used to search in the command menu, and will find the search
|
|
15
15
|
* result 'Preserve log on page reload / navigation'. This is an additional search term to help
|
|
@@ -31,11 +31,11 @@ const UIStrings = {
|
|
|
31
31
|
/**
|
|
32
32
|
* @description Title of a setting under the Network category that can be invoked through the Command Menu
|
|
33
33
|
*/
|
|
34
|
-
preserveLogOnPageReload: '
|
|
34
|
+
preserveLogOnPageReload: 'Keep log on page reload / navigation',
|
|
35
35
|
/**
|
|
36
36
|
* @description Title of a setting under the Network category that can be invoked through the Command Menu
|
|
37
37
|
*/
|
|
38
|
-
doNotPreserveLogOnPageReload: '
|
|
38
|
+
doNotPreserveLogOnPageReload: 'Don’t keep log on page reload / navigation',
|
|
39
39
|
/**
|
|
40
40
|
* @description Title of an action in the network tool to toggle recording
|
|
41
41
|
*/
|
|
@@ -40,14 +40,14 @@ import type {Calculator} from './Calculator.js';
|
|
|
40
40
|
|
|
41
41
|
const UIStrings = {
|
|
42
42
|
/**
|
|
43
|
-
* @description Latency download total format in Network Time Calculator of the Network panel
|
|
43
|
+
* @description Latency download total format in Network Time Calculator of the Network panel.
|
|
44
44
|
* @example {20ms} PH1
|
|
45
45
|
* @example {20ms} PH2
|
|
46
46
|
* @example {40ms} PH3
|
|
47
47
|
*/
|
|
48
48
|
sLatencySDownloadSTotal: '{PH1} latency, {PH2} download ({PH3} total)',
|
|
49
49
|
/**
|
|
50
|
-
* @description Latency format in Network Time Calculator of the Network panel
|
|
50
|
+
* @description Latency format in Network Time Calculator of the Network panel.
|
|
51
51
|
* @example {20ms} PH1
|
|
52
52
|
*/
|
|
53
53
|
sLatency: '{PH1} latency',
|
|
@@ -57,12 +57,12 @@ const UIStrings = {
|
|
|
57
57
|
*/
|
|
58
58
|
sDownload: '{PH1} download',
|
|
59
59
|
/**
|
|
60
|
-
* @description From service worker format in Network Time Calculator of the Network panel
|
|
60
|
+
* @description From service worker format in Network Time Calculator of the Network panel.
|
|
61
61
|
* @example {20ms latency} PH1
|
|
62
62
|
*/
|
|
63
63
|
sFromServiceworker: '{PH1} (from `ServiceWorker`)',
|
|
64
64
|
/**
|
|
65
|
-
* @description From cache format in Network Time Calculator of the Network panel
|
|
65
|
+
* @description From cache format in Network Time Calculator of the Network panel.
|
|
66
66
|
* @example {20ms latency} PH1
|
|
67
67
|
*/
|
|
68
68
|
sFromCache: '{PH1} (from cache)',
|
|
@@ -6,8 +6,8 @@ import * as Common from '../../core/common/common.js';
|
|
|
6
6
|
import * as Host from '../../core/host/host.js';
|
|
7
7
|
import type * as Platform from '../../core/platform/platform.js';
|
|
8
8
|
import * as SDK from '../../core/sdk/sdk.js';
|
|
9
|
+
import * as TextUtils from '../../core/text_utils/text_utils.js';
|
|
9
10
|
import * as Bindings from '../bindings/bindings.js';
|
|
10
|
-
import * as TextUtils from '../text_utils/text_utils.js';
|
|
11
11
|
import * as Workspace from '../workspace/workspace.js';
|
|
12
12
|
|
|
13
13
|
import {type FileSystem, FileSystemWorkspaceBinding} from './FileSystemWorkspaceBinding.js';
|
|
@@ -6,8 +6,8 @@ import * as Common from '../../core/common/common.js';
|
|
|
6
6
|
import * as Host from '../../core/host/host.js';
|
|
7
7
|
import type * as Platform from '../../core/platform/platform.js';
|
|
8
8
|
import * as Root from '../../core/root/root.js';
|
|
9
|
-
import type {ContentDataOrError} from '
|
|
10
|
-
import type {SearchMatch} from '
|
|
9
|
+
import type {ContentDataOrError} from '../../core/text_utils/ContentData.js';
|
|
10
|
+
import type {SearchMatch} from '../../core/text_utils/ContentProvider.js';
|
|
11
11
|
import * as Workspace from '../workspace/workspace.js';
|
|
12
12
|
|
|
13
13
|
import {
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import * as Common from '../../core/common/common.js';
|
|
6
6
|
import * as Host from '../../core/host/host.js';
|
|
7
7
|
import * as Platform from '../../core/platform/platform.js';
|
|
8
|
-
import * as TextUtils from '
|
|
8
|
+
import * as TextUtils from '../../core/text_utils/text_utils.js';
|
|
9
9
|
import * as Workspace from '../workspace/workspace.js';
|
|
10
10
|
|
|
11
11
|
import type {IsolatedFileSystem} from './IsolatedFileSystem.js';
|
|
@@ -6,7 +6,7 @@ import * as Common from '../../core/common/common.js';
|
|
|
6
6
|
import * as Host from '../../core/host/host.js';
|
|
7
7
|
import * as i18n from '../../core/i18n/i18n.js';
|
|
8
8
|
import * as Platform from '../../core/platform/platform.js';
|
|
9
|
-
import * as TextUtils from '
|
|
9
|
+
import * as TextUtils from '../../core/text_utils/text_utils.js';
|
|
10
10
|
|
|
11
11
|
import {Events, type IsolatedFileSystemManager} from './IsolatedFileSystemManager.js';
|
|
12
12
|
import {Events as PlatformFileSystemEvents, PlatformFileSystem, PlatformFileSystemType} from './PlatformFileSystem.js';
|
|
@@ -26,7 +26,7 @@ const UIStrings = {
|
|
|
26
26
|
* @example {c:\dir\file.js} PH1
|
|
27
27
|
* @example {Underlying error} PH2
|
|
28
28
|
*/
|
|
29
|
-
cantReadFileSS: 'Can
|
|
29
|
+
cantReadFileSS: 'Can’t read file: {PH1}: {PH2}',
|
|
30
30
|
/**
|
|
31
31
|
* @description Text to show something is linked to another
|
|
32
32
|
* @example {example.url} PH1
|
|
@@ -7,9 +7,9 @@ import * as Host from '../../core/host/host.js';
|
|
|
7
7
|
import * as Platform from '../../core/platform/platform.js';
|
|
8
8
|
import * as Root from '../../core/root/root.js';
|
|
9
9
|
import * as SDK from '../../core/sdk/sdk.js';
|
|
10
|
+
import * as TextUtils from '../../core/text_utils/text_utils.js';
|
|
10
11
|
import * as Protocol from '../../generated/protocol.js';
|
|
11
12
|
import * as Breakpoints from '../breakpoints/breakpoints.js';
|
|
12
|
-
import * as TextUtils from '../text_utils/text_utils.js';
|
|
13
13
|
import * as Workspace from '../workspace/workspace.js';
|
|
14
14
|
|
|
15
15
|
import {type FileSystem, FileSystemWorkspaceBinding} from './FileSystemWorkspaceBinding.js';
|
|
@@ -7,9 +7,9 @@ import * as Host from '../../core/host/host.js';
|
|
|
7
7
|
import * as Platform from '../../core/platform/platform.js';
|
|
8
8
|
import * as Root from '../../core/root/root.js';
|
|
9
9
|
import * as SDK from '../../core/sdk/sdk.js';
|
|
10
|
+
import * as TextUtils from '../../core/text_utils/text_utils.js';
|
|
10
11
|
import * as Bindings from '../bindings/bindings.js';
|
|
11
12
|
import * as BreakpointManager from '../breakpoints/breakpoints.js';
|
|
12
|
-
import * as TextUtils from '../text_utils/text_utils.js';
|
|
13
13
|
import * as Workspace from '../workspace/workspace.js';
|
|
14
14
|
|
|
15
15
|
import {Automapping, type AutomappingStatus} from './Automapping.js';
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import * as Common from '../../core/common/common.js';
|
|
6
6
|
import * as i18n from '../../core/i18n/i18n.js';
|
|
7
7
|
import type * as Platform from '../../core/platform/platform.js';
|
|
8
|
-
import type * as TextUtils from '
|
|
8
|
+
import type * as TextUtils from '../../core/text_utils/text_utils.js';
|
|
9
9
|
|
|
10
10
|
const UIStrings = {
|
|
11
11
|
/**
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
import type * as Common from '../../core/common/common.js';
|
|
6
6
|
import type * as Platform from '../../core/platform/platform.js';
|
|
7
7
|
import * as SDK from '../../core/sdk/sdk.js';
|
|
8
|
+
import * as TextUtils from '../../core/text_utils/text_utils.js';
|
|
8
9
|
import * as Bindings from '../bindings/bindings.js';
|
|
9
10
|
import * as Formatter from '../formatter/formatter.js';
|
|
10
|
-
import * as TextUtils from '../text_utils/text_utils.js';
|
|
11
11
|
import * as Workspace from '../workspace/workspace.js';
|
|
12
12
|
|
|
13
13
|
/** Represents the source code for a given function, including additional context of surrounding lines. */
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
// found in the LICENSE file.
|
|
4
4
|
|
|
5
5
|
import * as SDK from '../../core/sdk/sdk.js';
|
|
6
|
+
import * as TextUtils from '../../core/text_utils/text_utils.js';
|
|
6
7
|
import * as Protocol from '../../generated/protocol.js';
|
|
7
8
|
import * as Bindings from '../bindings/bindings.js';
|
|
8
9
|
import * as Formatter from '../formatter/formatter.js';
|
|
9
|
-
import * as TextUtils from '../text_utils/text_utils.js';
|
|
10
10
|
|
|
11
11
|
interface CachedScopeMap {
|
|
12
12
|
sourceMap: SDK.SourceMap.SourceMap|undefined;
|
|
@@ -1,27 +1,5 @@
|
|
|
1
|
-
// Copyright 2019 The Chromium Authors
|
|
1
|
+
// Copyright 2019 The Chromium Authors. All rights reserved.
|
|
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
|
-
|
|
6
|
-
import * as ContentData from './ContentData.js';
|
|
7
|
-
import * as ContentProvider from './ContentProvider.js';
|
|
8
|
-
import * as StaticContentProvider from './StaticContentProvider.js';
|
|
9
|
-
import * as StreamingContentData from './StreamingContentData.js';
|
|
10
|
-
import * as Text from './Text.js';
|
|
11
|
-
import * as TextCursor from './TextCursor.js';
|
|
12
|
-
import * as TextRange from './TextRange.js';
|
|
13
|
-
import * as TextUtils from './TextUtils.js';
|
|
14
|
-
import * as WasmDisassembly from './WasmDisassembly.js';
|
|
15
|
-
|
|
16
|
-
export {
|
|
17
|
-
CodeMirrorUtils,
|
|
18
|
-
ContentData,
|
|
19
|
-
ContentProvider,
|
|
20
|
-
StaticContentProvider,
|
|
21
|
-
StreamingContentData,
|
|
22
|
-
Text,
|
|
23
|
-
TextCursor,
|
|
24
|
-
TextRange,
|
|
25
|
-
TextUtils,
|
|
26
|
-
WasmDisassembly,
|
|
27
|
-
};
|
|
5
|
+
export * from '../../core/text_utils/text_utils.js';
|
|
@@ -29,12 +29,12 @@ export const UIStrings = {
|
|
|
29
29
|
/**
|
|
30
30
|
* @description Message displayed in a chip explaining that an image file size is large for the # of pixels it has and recommends possible adjustments to improve the image size.
|
|
31
31
|
*/
|
|
32
|
-
useCompression: 'Increasing the image compression factor could improve this image
|
|
32
|
+
useCompression: 'Increasing the image compression factor could improve this image’s download size.',
|
|
33
33
|
/**
|
|
34
34
|
* @description Message displayed in a chip explaining that an image file size is large for the # of pixels it has and recommends possible adjustments to improve the image size.
|
|
35
35
|
*/
|
|
36
36
|
useModernFormat:
|
|
37
|
-
'Using a modern image format (WebP, AVIF) or increasing the image compression could improve this image
|
|
37
|
+
'Using a modern image format (WebP, AVIF) or increasing the image compression could improve this image’s download size.',
|
|
38
38
|
/**
|
|
39
39
|
* @description Message displayed in a chip advising the user to use video formats instead of GIFs because videos generally have smaller file sizes.
|
|
40
40
|
*/
|
|
@@ -28,7 +28,7 @@ export const UIStrings = {
|
|
|
28
28
|
* @description Description of an insight that identifies polyfills for modern JavaScript features, and recommends their removal.
|
|
29
29
|
*/
|
|
30
30
|
description:
|
|
31
|
-
'Polyfills and transforms enable older browsers to use new JavaScript features. However, many aren
|
|
31
|
+
'Polyfills and transforms enable older browsers to use new JavaScript features. However, many aren’t necessary for modern browsers. Consider modifying your JavaScript build process to not transpile [Baseline](https://web.dev/articles/baseline-and-polyfills) features, unless you know you must support older browsers. [Learn why most sites can deploy ES6+ code without transpiling](https://developer.chrome.com/docs/performance/insights/legacy-javascript)',
|
|
32
32
|
/** Label for a column in a data table; entries will be the individual JavaScript scripts. */
|
|
33
33
|
columnScript: 'Script',
|
|
34
34
|
/** Label for a column in a data table; entries will be the number of wasted bytes (aka the estimated savings in terms of bytes). */
|
|
@@ -28,7 +28,7 @@ export const UIStrings = {
|
|
|
28
28
|
/**
|
|
29
29
|
* @description Text to describe that there are requests blocking rendering, which may affect LCP.
|
|
30
30
|
*/
|
|
31
|
-
description: 'Requests are blocking the page
|
|
31
|
+
description: 'Requests are blocking the page’s initial render, which may delay LCP. ' +
|
|
32
32
|
'[Deferring or inlining](https://developer.chrome.com/docs/performance/insights/render-blocking) ' +
|
|
33
33
|
'can move these network requests out of the critical path.',
|
|
34
34
|
/**
|
|
@@ -24,7 +24,7 @@ export const UIStrings = {
|
|
|
24
24
|
* This is displayed after a user expands the section to see more. No character length limits.
|
|
25
25
|
*/
|
|
26
26
|
description: '3rd party code can significantly impact load performance. ' +
|
|
27
|
-
'[Reduce and defer loading of 3rd party code](https://developer.chrome.com/docs/performance/insights/third-parties) to prioritize your page
|
|
27
|
+
'[Reduce and defer loading of 3rd party code](https://developer.chrome.com/docs/performance/insights/third-parties) to prioritize your page’s content.',
|
|
28
28
|
/** Label for a table column that displays the name of a third-party provider. */
|
|
29
29
|
columnThirdParty: '3rd party',
|
|
30
30
|
/** Label for a column in a data table; entries will be the download size of a web resource in kilobytes. */
|
|
@@ -6,7 +6,7 @@ import * as Common from '../../core/common/common.js';
|
|
|
6
6
|
import * as Host from '../../core/host/host.js';
|
|
7
7
|
import type * as Platform from '../../core/platform/platform.js';
|
|
8
8
|
import * as Root from '../../core/root/root.js';
|
|
9
|
-
import type * as TextUtils from '
|
|
9
|
+
import type * as TextUtils from '../../core/text_utils/text_utils.js';
|
|
10
10
|
|
|
11
11
|
export interface SaveCallbackParam {
|
|
12
12
|
fileSystemPath?: Platform.DevToolsPath.RawPathString|Platform.DevToolsPath.UrlString;
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
import * as Common from '../../core/common/common.js';
|
|
8
8
|
import * as i18n from '../../core/i18n/i18n.js';
|
|
9
9
|
import * as Platform from '../../core/platform/platform.js';
|
|
10
|
-
import * as TextUtils from '
|
|
10
|
+
import * as TextUtils from '../../core/text_utils/text_utils.js';
|
|
11
11
|
|
|
12
12
|
import {IgnoreListManager} from './IgnoreListManager.js';
|
|
13
13
|
import {Events as WorkspaceImplEvents, type Project} from './WorkspaceImpl.js';
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import * as Common from '../../core/common/common.js';
|
|
6
6
|
import type * as Platform from '../../core/platform/platform.js';
|
|
7
7
|
import * as Root from '../../core/root/root.js';
|
|
8
|
-
import type * as TextUtils from '
|
|
8
|
+
import type * as TextUtils from '../../core/text_utils/text_utils.js';
|
|
9
9
|
|
|
10
10
|
import type {SearchConfig} from './SearchConfig.js';
|
|
11
11
|
import {UISourceCode, type UISourceCodeMetadata} from './UISourceCode.js';
|
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
import * as Common from '../../core/common/common.js';
|
|
6
6
|
import * as Host from '../../core/host/host.js';
|
|
7
7
|
import * as Root from '../../core/root/root.js';
|
|
8
|
+
import * as TextUtils from '../../core/text_utils/text_utils.js';
|
|
8
9
|
import * as Diff from '../../third_party/diff/diff.js';
|
|
9
10
|
import * as FormatterModule from '../formatter/formatter.js';
|
|
10
11
|
import * as Persistence from '../persistence/persistence.js';
|
|
11
|
-
import * as TextUtils from '../text_utils/text_utils.js';
|
|
12
12
|
import * as Workspace from '../workspace/workspace.js';
|
|
13
13
|
|
|
14
14
|
interface DiffResponse {
|
|
@@ -54,7 +54,7 @@ const UIStrings = {
|
|
|
54
54
|
/**
|
|
55
55
|
* @description Reason element in Accessibility Node View of the Accessibility panel
|
|
56
56
|
*/
|
|
57
|
-
ancestorChildrenAreAll: 'Ancestor
|
|
57
|
+
ancestorChildrenAreAll: 'Ancestor’s children are all presentational:\xA0',
|
|
58
58
|
/**
|
|
59
59
|
* @description Reason element in Accessibility Node View of the Accessibility panel
|
|
60
60
|
* @example {aria-hidden} PH1
|
|
@@ -20,7 +20,7 @@ const UIStrings = {
|
|
|
20
20
|
* @description Tooltip text that appears when hovering over the 'Invalid user entry' attribute name under the Computed Properties section in the Accessibility pane of the Elements pane
|
|
21
21
|
*/
|
|
22
22
|
ifTrueThisElementsUserentered:
|
|
23
|
-
'If true, this element
|
|
23
|
+
'If true, this element’s user-entered value does not conform to validation requirement.',
|
|
24
24
|
/**
|
|
25
25
|
* @description Accessibility attribute name that appears under the Computed Properties section in the Accessibility pane of the Elements pane
|
|
26
26
|
*/
|
|
@@ -153,7 +153,7 @@ const UIStrings = {
|
|
|
153
153
|
/**
|
|
154
154
|
* @description Tooltip text that appears when hovering over the 'Orientation' attribute name under the Computed Properties section in the Accessibility pane of the Elements pane
|
|
155
155
|
*/
|
|
156
|
-
whetherThisLinearElements: 'Whether this linear element
|
|
156
|
+
whetherThisLinearElements: 'Whether this linear element’s orientation is horizontal or vertical.',
|
|
157
157
|
/**
|
|
158
158
|
* @description Accessibility attribute name that appears under the Computed Properties section in the Accessibility pane of the Elements pane
|
|
159
159
|
*/
|
|
@@ -110,7 +110,7 @@ const UIStrings = {
|
|
|
110
110
|
*/
|
|
111
111
|
noPastConversations: 'No past conversations',
|
|
112
112
|
/**
|
|
113
|
-
* @description Placeholder text for an inactive text field. When active, it
|
|
113
|
+
* @description Placeholder text for an inactive text field. When active, it's used for the user's input to AI assistance.
|
|
114
114
|
*/
|
|
115
115
|
followTheSteps: 'Follow the steps above to ask a question',
|
|
116
116
|
/**
|
|
@@ -2,8 +2,8 @@
|
|
|
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
|
import * as Platform from '../../core/platform/platform.js';
|
|
5
|
+
import * as TextUtils from '../../core/text_utils/text_utils.js';
|
|
5
6
|
import type * as AiAssistanceModel from '../../models/ai_assistance/ai_assistance.js';
|
|
6
|
-
import * as TextUtils from '../../models/text_utils/text_utils.js';
|
|
7
7
|
import * as Workspace from '../../models/workspace/workspace.js';
|
|
8
8
|
|
|
9
9
|
export async function saveToDisk(conversation: AiAssistanceModel.AiConversation.AiConversation): Promise<void> {
|
|
@@ -56,7 +56,7 @@ const UIStrings = {
|
|
|
56
56
|
*/
|
|
57
57
|
wrongLocale: 'To use this feature, set your language preference to English in DevTools settings.',
|
|
58
58
|
/**
|
|
59
|
-
* @description Message shown to the user if the user
|
|
59
|
+
* @description Message shown to the user if the user's region is not
|
|
60
60
|
* supported.
|
|
61
61
|
*/
|
|
62
62
|
geoRestricted: 'This feature is unavailable in your region.',
|
|
@@ -11,6 +11,7 @@ import * as i18n from '../../../core/i18n/i18n.js';
|
|
|
11
11
|
import * as Platform from '../../../core/platform/platform.js';
|
|
12
12
|
import * as Root from '../../../core/root/root.js';
|
|
13
13
|
import * as SDK from '../../../core/sdk/sdk.js';
|
|
14
|
+
import * as TextUtils from '../../../core/text_utils/text_utils.js';
|
|
14
15
|
import type * as Protocol from '../../../generated/protocol.js';
|
|
15
16
|
import type {
|
|
16
17
|
AiWidget, BottomUpTreeAiWidget, ComputedStyleAiWidget, CoreVitalsAiWidget, DomTreeAiWidget, LighthouseReportAiWidget,
|
|
@@ -20,7 +21,6 @@ import type {
|
|
|
20
21
|
import * as AiAssistanceModel from '../../../models/ai_assistance/ai_assistance.js';
|
|
21
22
|
import * as ComputedStyle from '../../../models/computed_style/computed_style.js';
|
|
22
23
|
import * as Formatter from '../../../models/formatter/formatter.js';
|
|
23
|
-
import * as TextUtils from '../../../models/text_utils/text_utils.js';
|
|
24
24
|
import * as Trace from '../../../models/trace/trace.js';
|
|
25
25
|
import * as Workspace from '../../../models/workspace/workspace.js';
|
|
26
26
|
import * as PanelsCommon from '../../../panels/common/common.js';
|
|
@@ -387,13 +387,13 @@ const UIStrings = {
|
|
|
387
387
|
* @example {Image} PH1
|
|
388
388
|
* @example {https://example.com/image.png} PH2
|
|
389
389
|
*/
|
|
390
|
-
sSWidthDoesNotComplyWithRatioRequirement: '{PH1} {PH2} width can
|
|
390
|
+
sSWidthDoesNotComplyWithRatioRequirement: '{PH1} {PH2} width can’t be more than 2.3 times as long as the height',
|
|
391
391
|
/**
|
|
392
392
|
* @description Warning message for image resources from the manifest
|
|
393
393
|
* @example {Image} PH1
|
|
394
394
|
* @example {https://example.com/image.png} PH2
|
|
395
395
|
*/
|
|
396
|
-
sSHeightDoesNotComplyWithRatioRequirement: '{PH1} {PH2} height can
|
|
396
|
+
sSHeightDoesNotComplyWithRatioRequirement: '{PH1} {PH2} height can’t be more than 2.3 times as long as the width',
|
|
397
397
|
/**
|
|
398
398
|
* @description Manifest installability error in the Application panel
|
|
399
399
|
* @example {https://example.com/image.png} url
|
|
@@ -435,11 +435,11 @@ const UIStrings = {
|
|
|
435
435
|
* @example {https://developer.mozilla.org/en-US/docs/Web/Manifest/display_override} PH1
|
|
436
436
|
*/
|
|
437
437
|
wcoNotFound:
|
|
438
|
-
'Define {PH1} in the manifest to use the Window Controls Overlay API and customize your app
|
|
438
|
+
'Define {PH1} in the manifest to use the Window Controls Overlay API and customize your app’s title bar.',
|
|
439
439
|
/**
|
|
440
440
|
* @description Link text for more information on customizing Window Controls Overlay title bar in the Application panel
|
|
441
441
|
*/
|
|
442
|
-
customizePwaTitleBar: 'Customize the window controls overlay of your PWA
|
|
442
|
+
customizePwaTitleBar: 'Customize the window controls overlay of your PWA’s title bar',
|
|
443
443
|
/**
|
|
444
444
|
* @description Text wrapping link to documentation on how to customize WCO title bar
|
|
445
445
|
* @example {https://learn.microsoft.com/en-us/microsoft-edge/progressive-web-apps-chromium/how-to/window-controls-overlay} PH1
|
|
@@ -296,7 +296,7 @@ const UIStrings = {
|
|
|
296
296
|
/**
|
|
297
297
|
* @description Description text in the Application Panel describing a frame's resources
|
|
298
298
|
*/
|
|
299
|
-
resourceDescription: 'On this page you can view the frame
|
|
299
|
+
resourceDescription: 'On this page you can view the frame’s resources.'
|
|
300
300
|
} as const;
|
|
301
301
|
const str_ = i18n.i18n.registerUIStrings('panels/application/ApplicationPanelSidebar.ts', UIStrings);
|
|
302
302
|
const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
@@ -655,7 +655,6 @@ export class ApplicationPanelSidebar extends UI.Widget.VBox implements SDK.Targe
|
|
|
655
655
|
this.addCookieDocument(frame);
|
|
656
656
|
}
|
|
657
657
|
|
|
658
|
-
this.cacheStorageListTreeElement.initialize();
|
|
659
658
|
const backgroundServiceModel = this.target?.model(BackgroundServiceModel) || null;
|
|
660
659
|
this.backgroundFetchTreeElement.initialize(backgroundServiceModel);
|
|
661
660
|
this.backgroundSyncTreeElement.initialize(backgroundServiceModel);
|
|
@@ -7,8 +7,8 @@ import '../../ui/legacy/legacy.js';
|
|
|
7
7
|
import * as i18n from '../../core/i18n/i18n.js';
|
|
8
8
|
import * as Platform from '../../core/platform/platform.js';
|
|
9
9
|
import * as SDK from '../../core/sdk/sdk.js';
|
|
10
|
+
import type * as TextUtils from '../../core/text_utils/text_utils.js';
|
|
10
11
|
import type * as Protocol from '../../generated/protocol.js';
|
|
11
|
-
import type * as TextUtils from '../../models/text_utils/text_utils.js';
|
|
12
12
|
import * as Buttons from '../../ui/components/buttons/buttons.js';
|
|
13
13
|
import * as UI from '../../ui/legacy/legacy.js';
|
|
14
14
|
import {html, render} from '../../ui/lit/lit.js';
|
|
@@ -33,8 +33,8 @@ import * as Common from '../../core/common/common.js';
|
|
|
33
33
|
import * as i18n from '../../core/i18n/i18n.js';
|
|
34
34
|
import type * as Platform from '../../core/platform/platform.js';
|
|
35
35
|
import * as SDK from '../../core/sdk/sdk.js';
|
|
36
|
+
import * as TextUtils from '../../core/text_utils/text_utils.js';
|
|
36
37
|
import * as AiAssistanceModel from '../../models/ai_assistance/ai_assistance.js';
|
|
37
|
-
import * as TextUtils from '../../models/text_utils/text_utils.js';
|
|
38
38
|
import * as SourceFrame from '../../ui/legacy/components/source_frame/source_frame.js';
|
|
39
39
|
import * as UI from '../../ui/legacy/legacy.js';
|
|
40
40
|
import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
|