chrome-devtools-frontend 1.0.1625079 → 1.0.1626437
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/front_end/core/common/VersionController.ts +9 -7
- package/front_end/core/common/common.ts +0 -4
- package/front_end/core/host/AidaClient.ts +1 -1
- package/front_end/core/host/AidaClientTypes.ts +2 -0
- package/front_end/core/host/AidaGcaTranslation.ts +2 -2
- package/front_end/core/host/Platform.ts +0 -9
- package/front_end/core/host/UserMetrics.ts +0 -55
- package/front_end/core/root/ExperimentNames.ts +0 -1
- package/front_end/core/sdk/CPUThrottlingManager.ts +1 -1
- package/front_end/core/sdk/CSSMetadata.ts +60 -63
- package/front_end/core/sdk/CSSProperty.ts +1 -5
- package/front_end/core/sdk/CSSPropertyParserMatchers.ts +11 -32
- package/front_end/{panels/application → core/sdk}/DOMStorageModel.ts +12 -10
- package/front_end/core/sdk/sdk.ts +2 -0
- package/front_end/entrypoints/main/MainImpl.ts +12 -8
- package/front_end/entrypoints/main/SimpleApp.ts +3 -4
- package/front_end/entrypoints/main/main-meta.ts +1 -1
- package/front_end/generated/InspectorBackendCommands.ts +3 -3
- package/front_end/generated/SupportedCSSProperties.js +21 -21
- package/front_end/generated/protocol.ts +4 -1
- package/front_end/models/ai_assistance/StorageItem.ts +16 -0
- package/front_end/models/ai_assistance/agents/StorageAgent.ts +82 -0
- package/front_end/models/ai_assistance/ai_assistance.ts +4 -0
- package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.snapshot.txt +9 -37
- package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.ts +26 -3
- package/front_end/models/ai_code_completion/AiCodeCompletion.ts +10 -2
- package/front_end/models/ai_code_generation/AiCodeGeneration.ts +5 -1
- package/front_end/models/issues_manager/CookieIssue.ts +0 -4
- package/front_end/models/issues_manager/RelatedIssue.ts +0 -14
- package/front_end/models/javascript_metadata/NativeFunctions.js +0 -4
- package/front_end/models/web_mcp/WebMCPModel.ts +11 -2
- package/front_end/models/workspace/IgnoreListManager.ts +1 -1
- package/front_end/models/workspace/UISourceCode.ts +10 -5
- package/front_end/panels/ai_assistance/ai_assistance-meta.ts +6 -1
- package/front_end/panels/ai_assistance/components/ChatMessage.ts +26 -9
- package/front_end/panels/application/ApplicationPanelSidebar.ts +32 -42
- package/front_end/panels/application/BackForwardCacheTreeElement.ts +2 -2
- package/front_end/panels/application/BounceTrackingMitigationsTreeElement.ts +2 -2
- package/front_end/panels/application/DOMStorageItemsView.ts +18 -13
- package/front_end/panels/application/InterestGroupTreeElement.ts +2 -2
- package/front_end/panels/application/ReportingApiTreeElement.ts +3 -3
- package/front_end/panels/application/ResourcesPanel.ts +1 -2
- package/front_end/panels/application/ServiceWorkerCacheTreeElement.ts +1 -2
- package/front_end/panels/application/StorageView.ts +1 -2
- package/front_end/panels/application/TrustTokensTreeElement.ts +2 -2
- package/front_end/panels/application/WebMCPTreeElement.ts +2 -2
- package/front_end/panels/application/WebMCPView.ts +74 -16
- package/front_end/panels/application/application.ts +0 -2
- package/front_end/panels/application/webMCPView.css +13 -2
- package/front_end/panels/console/ConsolePrompt.ts +1 -1
- package/front_end/panels/console/ConsoleView.ts +3 -4
- package/front_end/panels/elements/ColorSwatchPopoverIcon.ts +0 -152
- package/front_end/panels/elements/ElementsTreeElement.ts +4 -9
- package/front_end/panels/elements/StandaloneStylesContainer.ts +3 -0
- package/front_end/panels/elements/StylePropertiesSection.ts +0 -61
- package/front_end/panels/elements/StylePropertyTreeElement.ts +36 -23
- package/front_end/panels/elements/StylesAiCodeCompletionProvider.ts +6 -4
- package/front_end/panels/elements/StylesContainer.ts +1 -0
- package/front_end/panels/elements/StylesSidebarPane.ts +12 -7
- package/front_end/panels/elements/stylesSidebarPane.css +0 -8
- package/front_end/panels/emulation/AdvancedApp.ts +3 -3
- package/front_end/panels/emulation/DeviceModeToolbar.ts +207 -377
- package/front_end/panels/emulation/emulation-meta.ts +1 -1
- package/front_end/panels/network/NetworkPanel.ts +1 -1
- package/front_end/panels/profiler/HeapProfilerPanel.ts +1 -2
- package/front_end/panels/screencast/ScreencastApp.ts +3 -3
- package/front_end/panels/screencast/screencast-meta.ts +1 -2
- package/front_end/panels/settings/SettingsScreen.ts +2 -2
- package/front_end/panels/sources/AiCodeCompletionPlugin.ts +2 -4
- package/front_end/panels/sources/ScopeChainSidebarPane.ts +5 -1
- package/front_end/panels/sources/SourcesNavigator.ts +1 -1
- package/front_end/panels/sources/UISourceCodeFrame.ts +1 -3
- package/front_end/panels/sources/WatchExpressionsSidebarPane.ts +179 -145
- package/front_end/panels/timeline/TimelinePanel.ts +2 -2
- package/front_end/panels/timeline/timelineTreeView.css +2 -2
- package/front_end/third_party/chromium/README.chromium +1 -1
- package/front_end/third_party/puppeteer/README.chromium +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/locators/locators.d.ts +3 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/locators/locators.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/locators/locators.js +53 -23
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/locators/locators.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.d.ts +3 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.js +18 -8
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserConnector.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserConnector.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserConnector.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.js +4 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/TargetManager.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/TargetManager.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/TargetManager.js +54 -19
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/TargetManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/WebMCP.d.ts +5 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/WebMCP.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/WebMCP.js +2 -9
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/WebMCP.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.js +3 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConnectOptions.d.ts +37 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConnectOptions.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/injected.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.js +5 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.js +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.d.ts +3 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js +3 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Mutex.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/version.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/version.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.d.ts +47 -65
- package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +143 -55
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/locators/locators.d.ts +3 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/locators/locators.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/locators/locators.js +53 -23
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/locators/locators.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.d.ts +3 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.js +18 -8
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserConnector.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserConnector.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserConnector.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.js +4 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/TargetManager.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/TargetManager.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/TargetManager.js +54 -19
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/TargetManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/WebMCP.d.ts +5 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/WebMCP.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/WebMCP.js +2 -9
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/WebMCP.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.js +3 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectOptions.d.ts +37 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectOptions.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.js +5 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.js +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.d.ts +3 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js +3 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/version.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/version.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/types.d.ts +47 -65
- package/front_end/third_party/puppeteer/package/package.json +6 -6
- package/front_end/third_party/puppeteer/package/src/api/Page.ts +2 -2
- package/front_end/third_party/puppeteer/package/src/api/locators/locators.ts +69 -27
- package/front_end/third_party/puppeteer/package/src/cdp/Browser.ts +27 -8
- package/front_end/third_party/puppeteer/package/src/cdp/BrowserConnector.ts +4 -2
- package/front_end/third_party/puppeteer/package/src/cdp/Page.ts +6 -0
- package/front_end/third_party/puppeteer/package/src/cdp/TargetManager.ts +60 -18
- package/front_end/third_party/puppeteer/package/src/cdp/WebMCP.ts +7 -9
- package/front_end/third_party/puppeteer/package/src/common/BrowserConnector.ts +3 -0
- package/front_end/third_party/puppeteer/package/src/common/ConnectOptions.ts +37 -1
- package/front_end/third_party/puppeteer/package/src/node/BrowserLauncher.ts +7 -2
- package/front_end/third_party/puppeteer/package/src/node/ChromeLauncher.ts +1 -0
- package/front_end/third_party/puppeteer/package/src/revisions.ts +3 -3
- package/front_end/third_party/puppeteer/package/src/util/version.ts +1 -1
- package/front_end/ui/components/text_editor/AiCodeCompletionProvider.ts +19 -14
- package/front_end/ui/components/text_editor/AiCodeGenerationProvider.ts +8 -7
- package/front_end/ui/components/tooltips/Tooltip.ts +3 -3
- package/front_end/{core/common → ui/legacy}/AppProvider.ts +1 -1
- package/front_end/ui/legacy/InspectorView.ts +4 -3
- package/front_end/ui/legacy/TabbedPane.ts +1 -1
- package/front_end/ui/legacy/UIUserMetrics.ts +70 -0
- package/front_end/ui/legacy/components/cookie_table/CookiesTable.ts +1 -8
- package/front_end/ui/legacy/components/inline_editor/inline_editor.ts +0 -6
- package/front_end/ui/legacy/legacy.ts +6 -0
- package/front_end/ui/visual_logging/KnownContextValues.ts +2 -0
- package/package.json +1 -1
- package/front_end/Images/src/custom-typography.svg +0 -3
- package/front_end/ui/legacy/components/inline_editor/FontEditor.ts +0 -798
- package/front_end/ui/legacy/components/inline_editor/FontEditorUnitConverter.ts +0 -250
- package/front_end/ui/legacy/components/inline_editor/FontEditorUtils.ts +0 -204
- package/front_end/ui/legacy/components/inline_editor/fontEditor.css +0 -185
- /package/front_end/{core/common → ui/legacy}/App.ts +0 -0
|
@@ -51,7 +51,6 @@ export interface AiCodeGenerationConfig {
|
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
export class AiCodeGenerationProvider {
|
|
54
|
-
#devtoolsLocale: string;
|
|
55
54
|
// 'ai-code-completion-enabled' setting controls both AI code completion and AI code generation.
|
|
56
55
|
// Since this provider deals with code generation, the field has been named `#aiCodeGenerationEnabledSetting`.
|
|
57
56
|
#aiCodeGenerationEnabledSetting =
|
|
@@ -72,9 +71,8 @@ export class AiCodeGenerationProvider {
|
|
|
72
71
|
#controller = new AbortController();
|
|
73
72
|
|
|
74
73
|
private constructor(aiCodeGenerationConfig: AiCodeGenerationConfig) {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
throw new Error('AI code generation feature is not enabled.');
|
|
74
|
+
if (!AiCodeGeneration.AiCodeGeneration.AiCodeGeneration.isAiCodeGenerationAvailable()) {
|
|
75
|
+
throw new Error('AI code generation feature is not available.');
|
|
78
76
|
}
|
|
79
77
|
this.#generationTeaser = new PanelCommon.AiCodeGenerationTeaser.AiCodeGenerationTeaser();
|
|
80
78
|
this.#generationTeaser.disclaimerTooltipId =
|
|
@@ -142,8 +140,11 @@ export class AiCodeGenerationProvider {
|
|
|
142
140
|
async #updateAiCodeGenerationState(): Promise<void> {
|
|
143
141
|
const aidaAvailability = await Host.AidaClient.AidaClient.checkAccessPreconditions();
|
|
144
142
|
const isAvailable = aidaAvailability === Host.AidaClient.AidaAccessPreconditions.AVAILABLE;
|
|
145
|
-
const
|
|
146
|
-
|
|
143
|
+
const devtoolsLocale = i18n.DevToolsLocale.DevToolsLocale.instance().locale;
|
|
144
|
+
const aiCodeGenerationEnabled =
|
|
145
|
+
AiCodeGeneration.AiCodeGeneration.AiCodeGeneration.isAiCodeGenerationEnabled(devtoolsLocale);
|
|
146
|
+
const isSettingEnabled = this.#aiCodeGenerationEnabledSetting.get();
|
|
147
|
+
if (isAvailable && aiCodeGenerationEnabled && isSettingEnabled) {
|
|
147
148
|
if (!this.#aiCodeGenerationSettingEnabled) {
|
|
148
149
|
// If the user enabled setting when code generation feature is already available,
|
|
149
150
|
// we do not need to show the upgrade dialog.
|
|
@@ -153,7 +154,7 @@ export class AiCodeGenerationProvider {
|
|
|
153
154
|
} else {
|
|
154
155
|
this.#cleanupAiCodeGeneration();
|
|
155
156
|
}
|
|
156
|
-
this.#aiCodeGenerationSettingEnabled =
|
|
157
|
+
this.#aiCodeGenerationSettingEnabled = isSettingEnabled;
|
|
157
158
|
}
|
|
158
159
|
|
|
159
160
|
#editorKeymap(): readonly CodeMirror.KeyBinding[] {
|
|
@@ -627,9 +627,9 @@ export class Tooltip extends HTMLElement {
|
|
|
627
627
|
throw new Error('Anchor must be an HTMLElement.');
|
|
628
628
|
}
|
|
629
629
|
this.#anchor = anchor;
|
|
630
|
-
if (this.variant === 'rich' &&
|
|
631
|
-
console.warn(
|
|
632
|
-
|
|
630
|
+
if (this.variant === 'rich' && !detailsAnchor) {
|
|
631
|
+
console.warn(
|
|
632
|
+
`"aria-details" was not defined for tooltip ${id}. For rich tooltips "aria-details" should be defined.`);
|
|
633
633
|
}
|
|
634
634
|
}
|
|
635
635
|
|
|
@@ -27,6 +27,7 @@ import type {Panel} from './Panel.js';
|
|
|
27
27
|
import {type ShowMode, SplitWidget} from './SplitWidget.js';
|
|
28
28
|
import {type EventData, Events as TabbedPaneEvents, type TabbedPane, type TabbedPaneTabDelegate} from './TabbedPane.js';
|
|
29
29
|
import {Tooltip} from './Tooltip.js';
|
|
30
|
+
import {UIUserMetrics} from './UIUserMetrics.js';
|
|
30
31
|
import type {TabbedViewLocation, View, ViewLocation, ViewLocationResolver} from './View.js';
|
|
31
32
|
import {ViewManager} from './ViewManager.js';
|
|
32
33
|
import {VBox, type Widget, WidgetFocusRestorer} from './Widget.js';
|
|
@@ -243,7 +244,7 @@ export class InspectorView extends VBox implements ViewLocationResolver {
|
|
|
243
244
|
(event: Common.EventTarget.EventTargetEvent<EventData>) => this.tabSelected(event.data.tabId), this);
|
|
244
245
|
const selectedTab = this.tabbedPane.selectedTabId;
|
|
245
246
|
if (selectedTab) {
|
|
246
|
-
|
|
247
|
+
UIUserMetrics.instance().panelShown(selectedTab, true);
|
|
247
248
|
}
|
|
248
249
|
this.tabbedPane.setAccessibleName(i18nString(UIStrings.panels));
|
|
249
250
|
this.tabbedPane.setTabDelegate(this.tabDelegate);
|
|
@@ -257,7 +258,7 @@ export class InspectorView extends VBox implements ViewLocationResolver {
|
|
|
257
258
|
})}`);
|
|
258
259
|
|
|
259
260
|
// Store the initial selected panel for use in launch histograms
|
|
260
|
-
|
|
261
|
+
UIUserMetrics.instance().setLaunchPanel(this.tabbedPane.selectedTabId);
|
|
261
262
|
|
|
262
263
|
if (Host.InspectorFrontendHost.isUnderTest()) {
|
|
263
264
|
this.tabbedPane.setAutoSelectFirstItemOnShow(false);
|
|
@@ -710,7 +711,7 @@ export class InspectorView extends VBox implements ViewLocationResolver {
|
|
|
710
711
|
}
|
|
711
712
|
|
|
712
713
|
private tabSelected(tabId: string): void {
|
|
713
|
-
|
|
714
|
+
UIUserMetrics.instance().panelShown(tabId, false);
|
|
714
715
|
}
|
|
715
716
|
|
|
716
717
|
setOwnerSplit(splitWidget: SplitWidget): void {
|
|
@@ -1384,11 +1384,11 @@ export class TabbedPaneTab {
|
|
|
1384
1384
|
const tabElement = document.createElement('div');
|
|
1385
1385
|
tabElement.classList.add('tabbed-pane-header-tab');
|
|
1386
1386
|
tabElement.id = 'tab-' + this.#id;
|
|
1387
|
+
ARIAUtils.markAsTab(tabElement);
|
|
1387
1388
|
ARIAUtils.setSelected(tabElement, false);
|
|
1388
1389
|
ARIAUtils.setLabel(tabElement, this.title);
|
|
1389
1390
|
|
|
1390
1391
|
const titleElement = tabElement.createChild('span', 'tabbed-pane-header-tab-title');
|
|
1391
|
-
ARIAUtils.markAsTab(titleElement);
|
|
1392
1392
|
titleElement.textContent = this.title;
|
|
1393
1393
|
Tooltip.install(titleElement, this.tooltip || '');
|
|
1394
1394
|
this.createIconElement(tabElement, titleElement, measuring);
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
// Copyright 2026 The Chromium Authors
|
|
2
|
+
// Use of this source code is governed by a BSD-style license that can be
|
|
3
|
+
// found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
import * as Host from '../../core/host/host.js';
|
|
6
|
+
|
|
7
|
+
export class UIUserMetrics {
|
|
8
|
+
#panelChangedSinceLaunch = false;
|
|
9
|
+
#firedLaunchHistogram = false;
|
|
10
|
+
#launchPanelName = '';
|
|
11
|
+
|
|
12
|
+
static #instance: UIUserMetrics|null = null;
|
|
13
|
+
|
|
14
|
+
static instance(): UIUserMetrics {
|
|
15
|
+
if (!this.#instance) {
|
|
16
|
+
this.#instance = new UIUserMetrics();
|
|
17
|
+
}
|
|
18
|
+
return this.#instance;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
panelLoaded(panelName: string, histogramName: string): void {
|
|
22
|
+
if (this.#firedLaunchHistogram || panelName !== this.#launchPanelName) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
this.#firedLaunchHistogram = true;
|
|
27
|
+
// Use rAF and setTimeout to ensure the marker is fired after layout and rendering.
|
|
28
|
+
// This will give the most accurate representation of the tool being ready for a user.
|
|
29
|
+
requestAnimationFrame(() => {
|
|
30
|
+
setTimeout(() => {
|
|
31
|
+
// Mark the load time so that we can pinpoint it more easily in a trace.
|
|
32
|
+
performance.mark(histogramName);
|
|
33
|
+
// If the user has switched panel before we finished loading, ignore the histogram,
|
|
34
|
+
// since the launch timings will have been affected and are no longer valid.
|
|
35
|
+
if (this.#panelChangedSinceLaunch) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
// This fires the event for the appropriate launch histogram.
|
|
39
|
+
// The duration is measured as the time elapsed since the time origin of the document.
|
|
40
|
+
Host.InspectorFrontendHost.InspectorFrontendHostInstance.recordPerformanceHistogram(
|
|
41
|
+
histogramName, performance.now());
|
|
42
|
+
}, 0);
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
setLaunchPanel(panelName: string|null): void {
|
|
47
|
+
this.#launchPanelName = (panelName as string);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
performanceTraceLoad(measure: PerformanceMeasure): void {
|
|
51
|
+
Host.InspectorFrontendHost.InspectorFrontendHostInstance.recordPerformanceHistogram(
|
|
52
|
+
'DevTools.TraceLoad', measure.duration);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
panelShown(panelName: string, isLaunching?: boolean): void {
|
|
56
|
+
const code = Host.UserMetrics.PanelCodes[panelName as keyof typeof Host.UserMetrics.PanelCodes] || 0;
|
|
57
|
+
Host.InspectorFrontendHost.InspectorFrontendHostInstance.recordEnumeratedHistogram(
|
|
58
|
+
Host.InspectorFrontendHostAPI.EnumeratedHistogram.PanelShown, code, Host.UserMetrics.PanelCodes.MAX_VALUE);
|
|
59
|
+
Host.InspectorFrontendHost.InspectorFrontendHostInstance.recordUserMetricsAction(
|
|
60
|
+
'DevTools_PanelShown_' + panelName);
|
|
61
|
+
|
|
62
|
+
if (!isLaunching) {
|
|
63
|
+
this.#panelChangedSinceLaunch = true;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
settingsPanelShown(settingsViewId: string): void {
|
|
68
|
+
this.panelShown('settings-' + settingsViewId);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
@@ -549,14 +549,7 @@ export class CookiesTable extends UI.Widget.VBox {
|
|
|
549
549
|
data.icons = data.icons || {};
|
|
550
550
|
if (!(attribute in data.icons)) {
|
|
551
551
|
data.icons[attribute] = new Icon();
|
|
552
|
-
|
|
553
|
-
IssuesManager.RelatedIssue.hasThirdPartyPhaseoutCookieIssue(cookie)) {
|
|
554
|
-
data.icons[attribute].name = 'warning-filled';
|
|
555
|
-
data.icons[attribute].onclick = () => IssuesManager.RelatedIssue.reveal(cookie);
|
|
556
|
-
data.icons[attribute].style.cursor = 'pointer';
|
|
557
|
-
} else {
|
|
558
|
-
data.icons[attribute].name = 'info';
|
|
559
|
-
}
|
|
552
|
+
data.icons[attribute].name = 'info';
|
|
560
553
|
data.icons[attribute].classList.add('small');
|
|
561
554
|
data.icons[attribute].title = blockedReason.uiString;
|
|
562
555
|
} else if (data.icons[attribute]) {
|
|
@@ -12,9 +12,6 @@ import * as CSSAngle from './CSSAngle.js';
|
|
|
12
12
|
import * as CSSAngleUtils from './CSSAngleUtils.js';
|
|
13
13
|
import * as CSSLinearEasingModel from './CSSLinearEasingModel.js';
|
|
14
14
|
import * as CSSShadowEditor from './CSSShadowEditor.js';
|
|
15
|
-
import * as FontEditor from './FontEditor.js';
|
|
16
|
-
import * as FontEditorUnitConverter from './FontEditorUnitConverter.js';
|
|
17
|
-
import * as FontEditorUtils from './FontEditorUtils.js';
|
|
18
15
|
import * as InlineEditorUtils from './InlineEditorUtils.js';
|
|
19
16
|
import * as LinkSwatch from './LinkSwatch.js';
|
|
20
17
|
import * as Swatches from './Swatches.js';
|
|
@@ -31,9 +28,6 @@ export {
|
|
|
31
28
|
CSSAngleUtils,
|
|
32
29
|
CSSLinearEasingModel,
|
|
33
30
|
CSSShadowEditor,
|
|
34
|
-
FontEditor,
|
|
35
|
-
FontEditorUnitConverter,
|
|
36
|
-
FontEditorUtils,
|
|
37
31
|
InlineEditorUtils,
|
|
38
32
|
LinkSwatch,
|
|
39
33
|
Swatches,
|
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
|
|
5
5
|
import * as ActionRegistration from './ActionRegistration.js';
|
|
6
6
|
import * as ActionRegistry from './ActionRegistry.js';
|
|
7
|
+
import * as App from './App.js';
|
|
8
|
+
import * as AppProvider from './AppProvider.js';
|
|
7
9
|
import * as ARIAUtils from './ARIAUtils.js';
|
|
8
10
|
import * as Context from './Context.js';
|
|
9
11
|
import * as ContextFlavorListener from './ContextFlavorListener.js';
|
|
@@ -45,6 +47,7 @@ import * as TextPrompt from './TextPrompt.js';
|
|
|
45
47
|
import * as Toolbar from './Toolbar.js';
|
|
46
48
|
import * as Tooltip from './Tooltip.js';
|
|
47
49
|
import * as TreeOutline from './Treeoutline.js';
|
|
50
|
+
import * as UIUserMetrics from './UIUserMetrics.js';
|
|
48
51
|
import * as UIUtils from './UIUtils.js';
|
|
49
52
|
import * as View from './View.js';
|
|
50
53
|
import * as ViewManager from './ViewManager.js';
|
|
@@ -54,6 +57,8 @@ import * as ZoomManager from './ZoomManager.js';
|
|
|
54
57
|
export {
|
|
55
58
|
ActionRegistration,
|
|
56
59
|
ActionRegistry,
|
|
60
|
+
App,
|
|
61
|
+
AppProvider,
|
|
57
62
|
ARIAUtils,
|
|
58
63
|
Context,
|
|
59
64
|
ContextFlavorListener,
|
|
@@ -95,6 +100,7 @@ export {
|
|
|
95
100
|
Toolbar,
|
|
96
101
|
Tooltip,
|
|
97
102
|
TreeOutline,
|
|
103
|
+
UIUserMetrics,
|
|
98
104
|
UIUtils,
|
|
99
105
|
View,
|
|
100
106
|
ViewManager,
|
|
@@ -1073,6 +1073,7 @@ export const knownContextValues = new Set([
|
|
|
1073
1073
|
'copy-watch-expression-value',
|
|
1074
1074
|
'copy-xpath',
|
|
1075
1075
|
'core-web-vitals',
|
|
1076
|
+
'corner',
|
|
1076
1077
|
'corner-block-end-shape',
|
|
1077
1078
|
'corner-block-start-shape',
|
|
1078
1079
|
'corner-bottom-left-shape',
|
|
@@ -1135,6 +1136,7 @@ export const knownContextValues = new Set([
|
|
|
1135
1136
|
'css-font-palette',
|
|
1136
1137
|
'css-function',
|
|
1137
1138
|
'css-layers',
|
|
1139
|
+
'css-list-style-type',
|
|
1138
1140
|
'css-location',
|
|
1139
1141
|
'css-overview',
|
|
1140
1142
|
'css-overview.cancel-processing',
|
package/package.json
CHANGED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
-
<path d="M9.5 18V13H11V14.75H17V16.25H11V18H9.5ZM3 16.25V14.75H8.5V16.25H3ZM5.8125 11H7.36875L8.19375 8.70833H11.8125L12.623 11H14.1875L10.7917 2H9.20833L5.8125 11ZM8.66667 7.39583L10.0417 3.66667L11.3542 7.39583H8.66667Z" fill="black"/>
|
|
3
|
-
</svg>
|