chrome-devtools-frontend 1.0.1625079 → 1.0.1625854
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/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 +0 -8
- package/front_end/core/sdk/CSSProperty.ts +1 -5
- package/front_end/core/sdk/CSSPropertyParserMatchers.ts +0 -30
- 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_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/workspace/IgnoreListManager.ts +1 -1
- package/front_end/models/workspace/UISourceCode.ts +10 -5
- 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/application.ts +0 -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/StylePropertiesSection.ts +0 -61
- package/front_end/panels/elements/StylePropertyTreeElement.ts +1 -21
- package/front_end/panels/elements/StylesAiCodeCompletionProvider.ts +6 -4
- package/front_end/panels/elements/StylesSidebarPane.ts +2 -3
- 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 +203 -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/SourcesNavigator.ts +1 -1
- package/front_end/panels/sources/UISourceCodeFrame.ts +1 -3
- package/front_end/panels/timeline/TimelinePanel.ts +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/{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 +1 -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
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
import * as Common from '../../core/common/common.js';
|
|
6
6
|
import * as SDK from '../../core/sdk/sdk.js';
|
|
7
7
|
|
|
8
|
-
import {CookieIssue, CookieIssueSubCategory} from './CookieIssue.js';
|
|
9
8
|
import type {Issue, IssueCategory} from './Issue.js';
|
|
10
9
|
import {IssuesManager} from './IssuesManager.js';
|
|
11
10
|
|
|
@@ -56,19 +55,6 @@ export function hasIssueOfCategory(obj: IssuesAssociatable, category: IssueCateg
|
|
|
56
55
|
return issuesAssociatedWith(issues, obj).some(issue => issue.getCategory() === category);
|
|
57
56
|
}
|
|
58
57
|
|
|
59
|
-
export function hasThirdPartyPhaseoutCookieIssue(obj: IssuesAssociatable): boolean {
|
|
60
|
-
const issues = Array.from(IssuesManager.instance().issues());
|
|
61
|
-
return issuesAssociatedWith(issues, obj)
|
|
62
|
-
.some(issue => CookieIssue.getSubCategory(issue.code()) === CookieIssueSubCategory.THIRD_PARTY_PHASEOUT_COOKIE);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
export function hasThirdPartyPhaseoutCookieIssueForDomain(domain: string): boolean {
|
|
66
|
-
const issues = Array.from(IssuesManager.instance().issues());
|
|
67
|
-
const issuesForDomain = issues.filter(issue => Array.from(issue.cookies()).some(cookie => cookie.domain === domain));
|
|
68
|
-
return issuesForDomain.some(
|
|
69
|
-
issue => CookieIssue.getSubCategory(issue.code()) === CookieIssueSubCategory.THIRD_PARTY_PHASEOUT_COOKIE);
|
|
70
|
-
}
|
|
71
|
-
|
|
72
58
|
export async function reveal(obj: IssuesAssociatable, category?: IssueCategory): Promise<void|undefined> {
|
|
73
59
|
if (typeof obj === 'string') {
|
|
74
60
|
const issue = IssuesManager.instance().getIssueById(obj);
|
|
@@ -419,7 +419,7 @@ export class IgnoreListManager extends Common.ObjectWrapper.ObjectWrapper<EventT
|
|
|
419
419
|
}
|
|
420
420
|
|
|
421
421
|
let regexPatterns = this.getSkipStackFramesPatternSetting().getAsArray();
|
|
422
|
-
const regexValue =
|
|
422
|
+
const regexValue = this.urlToRegExpString(url);
|
|
423
423
|
if (!regexValue) {
|
|
424
424
|
return;
|
|
425
425
|
}
|
|
@@ -214,7 +214,7 @@ export class UISourceCode extends Common.ObjectWrapper.ObjectWrapper<EventTypes>
|
|
|
214
214
|
if (!content) {
|
|
215
215
|
return null;
|
|
216
216
|
}
|
|
217
|
-
return content.isEncoded && content.content ?
|
|
217
|
+
return content.isEncoded && content.content ? atob(content.content) : content.content;
|
|
218
218
|
}
|
|
219
219
|
|
|
220
220
|
/** Only used to compare whether content changed */
|
|
@@ -222,7 +222,7 @@ export class UISourceCode extends Common.ObjectWrapper.ObjectWrapper<EventTypes>
|
|
|
222
222
|
if (!content || TextUtils.ContentData.ContentData.isError(content)) {
|
|
223
223
|
return null;
|
|
224
224
|
}
|
|
225
|
-
return content.createdFromBase64 ?
|
|
225
|
+
return content.createdFromBase64 ? atob(content.base64) : content.text;
|
|
226
226
|
}
|
|
227
227
|
|
|
228
228
|
async checkContentUpdated(): Promise<void> {
|
|
@@ -264,9 +264,14 @@ export class UISourceCode extends Common.ObjectWrapper.ObjectWrapper<EventTypes>
|
|
|
264
264
|
await Common.Revealer.reveal(this);
|
|
265
265
|
|
|
266
266
|
// Make sure we are in the next frame before stopping the world with confirm
|
|
267
|
-
await new Promise(resolve =>
|
|
268
|
-
|
|
269
|
-
|
|
267
|
+
await new Promise(resolve => setTimeout(resolve, 0));
|
|
268
|
+
|
|
269
|
+
// FIXME: we should not call confirm() from the models.
|
|
270
|
+
const shouldUpdate = typeof (globalThis as unknown as {confirm: (msg: string) => boolean}).confirm === 'function' ?
|
|
271
|
+
(globalThis as unknown as {
|
|
272
|
+
confirm: (msg: string) => boolean,
|
|
273
|
+
}).confirm(i18nString(UIStrings.thisFileWasChangedExternally)) :
|
|
274
|
+
true;
|
|
270
275
|
if (shouldUpdate) {
|
|
271
276
|
this.#contentCommitted(updatedContent.content, false);
|
|
272
277
|
} else {
|
|
@@ -1974,21 +1974,38 @@ async function makeTimelineRangeSummaryWidget(widgetData: TimelineRangeSummaryAi
|
|
|
1974
1974
|
Promise<WidgetMakerResponse|null> {
|
|
1975
1975
|
const {bounds, parsedTrace, track} = widgetData.data;
|
|
1976
1976
|
let events: readonly Trace.Types.Events.Event[] = [];
|
|
1977
|
+
|
|
1978
|
+
// Note: right now "main" is the only track we support, but in the future we
|
|
1979
|
+
// can imagine supporting more.
|
|
1977
1980
|
if (track === 'main') {
|
|
1978
|
-
|
|
1979
|
-
|
|
1980
|
-
|
|
1981
|
-
|
|
1982
|
-
|
|
1983
|
-
|
|
1981
|
+
// To find the main thread, we first find the navigationId that is "active"
|
|
1982
|
+
// for the given bounds. We do this because the "main" thread can change on
|
|
1983
|
+
// navigations, so this is the most accurate way to find the main thread at
|
|
1984
|
+
// the timespan we are interested in.
|
|
1985
|
+
let navigationId: string|undefined;
|
|
1986
|
+
for (const nav of parsedTrace.data.Meta.mainFrameNavigations) {
|
|
1987
|
+
if (nav.ts <= bounds.min) {
|
|
1988
|
+
navigationId = nav.args.data?.navigationId;
|
|
1989
|
+
} else {
|
|
1990
|
+
break;
|
|
1991
|
+
}
|
|
1984
1992
|
}
|
|
1993
|
+
const mainThread = AiAssistanceModel.AIQueries.AIQueries.findMainThread(navigationId, parsedTrace);
|
|
1994
|
+
if (mainThread) {
|
|
1995
|
+
events = mainThread.entries;
|
|
1996
|
+
AiAssistanceModel.Debug.debugLog(
|
|
1997
|
+
`TimelineRangeSummaryAiWidget found main thread. PID:`, mainThread.pid, 'TID:', mainThread.tid,
|
|
1998
|
+
'Number of entries:', mainThread.entries.length);
|
|
1999
|
+
}
|
|
2000
|
+
}
|
|
2001
|
+
if (!events) {
|
|
2002
|
+
AiAssistanceModel.Debug.debugLog(`Warning: could not find events for TimelineRangeSummaryAiWidget`, widgetData);
|
|
2003
|
+
return null;
|
|
1985
2004
|
}
|
|
1986
|
-
const eventsArray = Array.from(events);
|
|
1987
|
-
eventsArray.sort((a, b) => a.ts - b.ts);
|
|
1988
2005
|
|
|
1989
2006
|
const thirdPartyTree = new Timeline.ThirdPartyTreeView.ThirdPartyTreeViewWidget();
|
|
1990
2007
|
const mapper = Trace.EntityMapper.EntityMapper.getOrCreate(parsedTrace);
|
|
1991
|
-
thirdPartyTree.model = {selectedEvents:
|
|
2008
|
+
thirdPartyTree.model = {selectedEvents: events as Trace.Types.Events.Event[], parsedTrace, entityMapper: mapper};
|
|
1992
2009
|
thirdPartyTree.activeSelection = Timeline.TimelineSelection.selectionFromRangeMicroSeconds(bounds.min, bounds.max);
|
|
1993
2010
|
thirdPartyTree.refreshTree(true);
|
|
1994
2011
|
|
|
@@ -40,7 +40,6 @@ import * as Platform from '../../core/platform/platform.js';
|
|
|
40
40
|
import * as Root from '../../core/root/root.js';
|
|
41
41
|
import * as SDK from '../../core/sdk/sdk.js';
|
|
42
42
|
import * as Protocol from '../../generated/protocol.js';
|
|
43
|
-
import * as IssuesManager from '../../models/issues_manager/issues_manager.js';
|
|
44
43
|
import * as LegacyWrapper from '../../ui/components/legacy_wrapper/legacy_wrapper.js';
|
|
45
44
|
import {createIcon} from '../../ui/kit/kit.js';
|
|
46
45
|
import * as SourceFrame from '../../ui/legacy/components/source_frame/source_frame.js';
|
|
@@ -54,7 +53,6 @@ import {BackgroundServiceView} from './BackgroundServiceView.js';
|
|
|
54
53
|
import {BounceTrackingMitigationsTreeElement} from './BounceTrackingMitigationsTreeElement.js';
|
|
55
54
|
import {DeviceBoundSessionsModel} from './DeviceBoundSessionsModel.js';
|
|
56
55
|
import {RootTreeElement as DeviceBoundSessionsRootTreeElement} from './DeviceBoundSessionsTreeElement.js';
|
|
57
|
-
import {type DOMStorage, DOMStorageModel, Events as DOMStorageModelEvents} from './DOMStorageModel.js';
|
|
58
56
|
import {
|
|
59
57
|
Events as ExtensionStorageModelEvents,
|
|
60
58
|
type ExtensionStorage,
|
|
@@ -275,11 +273,6 @@ const UIStrings = {
|
|
|
275
273
|
* @description Application sidebar panel
|
|
276
274
|
*/
|
|
277
275
|
applicationSidebarPanel: 'Application panel sidebar',
|
|
278
|
-
/**
|
|
279
|
-
* @description Tooltip in Application Panel Sidebar of the Application panel
|
|
280
|
-
* @example {https://example.com} PH1
|
|
281
|
-
*/
|
|
282
|
-
thirdPartyPhaseout: 'Cookies from {PH1} may have been blocked due to third-party cookie phaseout.',
|
|
283
276
|
/**
|
|
284
277
|
* @description Description text in the Application Panel describing a frame's resources
|
|
285
278
|
*/
|
|
@@ -352,7 +345,7 @@ export class ApplicationPanelSidebar extends UI.Widget.VBox implements SDK.Targe
|
|
|
352
345
|
deviceBoundSessionsModel: DeviceBoundSessionsModel|undefined;
|
|
353
346
|
preloadingSummaryTreeElement: PreloadingSummaryTreeElement|undefined;
|
|
354
347
|
private readonly resourcesSection: ResourcesSection;
|
|
355
|
-
private domStorageTreeElements: Map<DOMStorage, DOMStorageTreeElement>;
|
|
348
|
+
private domStorageTreeElements: Map<SDK.DOMStorageModel.DOMStorage, DOMStorageTreeElement>;
|
|
356
349
|
private extensionIdToStorageTreeParentElement: Map<string, ExtensionStorageTreeParentElement>;
|
|
357
350
|
private extensionStorageModels: ExtensionStorageModel[];
|
|
358
351
|
private extensionStorageTreeElements: Map<string, ExtensionStorageTreeElement>;
|
|
@@ -524,9 +517,9 @@ export class ApplicationPanelSidebar extends UI.Widget.VBox implements SDK.Targe
|
|
|
524
517
|
}
|
|
525
518
|
|
|
526
519
|
SDK.TargetManager.TargetManager.instance().observeModels(
|
|
527
|
-
DOMStorageModel, {
|
|
528
|
-
modelAdded: (model: DOMStorageModel) => this.domStorageModelAdded(model),
|
|
529
|
-
modelRemoved: (model: DOMStorageModel) => this.domStorageModelRemoved(model),
|
|
520
|
+
SDK.DOMStorageModel.DOMStorageModel, {
|
|
521
|
+
modelAdded: (model: SDK.DOMStorageModel.DOMStorageModel) => this.domStorageModelAdded(model),
|
|
522
|
+
modelRemoved: (model: SDK.DOMStorageModel.DOMStorageModel) => this.domStorageModelRemoved(model),
|
|
530
523
|
},
|
|
531
524
|
{scoped: true});
|
|
532
525
|
|
|
@@ -659,17 +652,17 @@ export class ApplicationPanelSidebar extends UI.Widget.VBox implements SDK.Targe
|
|
|
659
652
|
}
|
|
660
653
|
}
|
|
661
654
|
|
|
662
|
-
private domStorageModelAdded(model: DOMStorageModel): void {
|
|
655
|
+
private domStorageModelAdded(model: SDK.DOMStorageModel.DOMStorageModel): void {
|
|
663
656
|
model.enable();
|
|
664
657
|
model.storages().forEach(this.addDOMStorage.bind(this));
|
|
665
|
-
model.addEventListener(
|
|
666
|
-
model.addEventListener(
|
|
658
|
+
model.addEventListener(SDK.DOMStorageModel.Events.DOM_STORAGE_ADDED, this.domStorageAdded, this);
|
|
659
|
+
model.addEventListener(SDK.DOMStorageModel.Events.DOM_STORAGE_REMOVED, this.domStorageRemoved, this);
|
|
667
660
|
}
|
|
668
661
|
|
|
669
|
-
private domStorageModelRemoved(model: DOMStorageModel): void {
|
|
662
|
+
private domStorageModelRemoved(model: SDK.DOMStorageModel.DOMStorageModel): void {
|
|
670
663
|
model.storages().forEach(this.removeDOMStorage.bind(this));
|
|
671
|
-
model.removeEventListener(
|
|
672
|
-
model.removeEventListener(
|
|
664
|
+
model.removeEventListener(SDK.DOMStorageModel.Events.DOM_STORAGE_ADDED, this.domStorageAdded, this);
|
|
665
|
+
model.removeEventListener(SDK.DOMStorageModel.Events.DOM_STORAGE_REMOVED, this.domStorageRemoved, this);
|
|
673
666
|
}
|
|
674
667
|
|
|
675
668
|
private extensionStorageModelAdded(model: ExtensionStorageModel): void {
|
|
@@ -829,12 +822,12 @@ export class ApplicationPanelSidebar extends UI.Widget.VBox implements SDK.Targe
|
|
|
829
822
|
}
|
|
830
823
|
}
|
|
831
824
|
|
|
832
|
-
private domStorageAdded(event: Common.EventTarget.EventTargetEvent<DOMStorage>): void {
|
|
825
|
+
private domStorageAdded(event: Common.EventTarget.EventTargetEvent<SDK.DOMStorageModel.DOMStorage>): void {
|
|
833
826
|
const domStorage = (event.data);
|
|
834
827
|
this.addDOMStorage(domStorage);
|
|
835
828
|
}
|
|
836
829
|
|
|
837
|
-
private addDOMStorage(domStorage: DOMStorage): void {
|
|
830
|
+
private addDOMStorage(domStorage: SDK.DOMStorageModel.DOMStorage): void {
|
|
838
831
|
console.assert(!this.domStorageTreeElements.get(domStorage));
|
|
839
832
|
console.assert(Boolean(domStorage.storageKey));
|
|
840
833
|
|
|
@@ -853,12 +846,12 @@ export class ApplicationPanelSidebar extends UI.Widget.VBox implements SDK.Targe
|
|
|
853
846
|
}
|
|
854
847
|
}
|
|
855
848
|
|
|
856
|
-
private domStorageRemoved(event: Common.EventTarget.EventTargetEvent<DOMStorage>): void {
|
|
849
|
+
private domStorageRemoved(event: Common.EventTarget.EventTargetEvent<SDK.DOMStorageModel.DOMStorage>): void {
|
|
857
850
|
const domStorage = (event.data);
|
|
858
851
|
this.removeDOMStorage(domStorage);
|
|
859
852
|
}
|
|
860
853
|
|
|
861
|
-
private removeDOMStorage(domStorage: DOMStorage): void {
|
|
854
|
+
private removeDOMStorage(domStorage: SDK.DOMStorageModel.DOMStorage): void {
|
|
862
855
|
const treeElement = this.domStorageTreeElements.get(domStorage);
|
|
863
856
|
if (!treeElement) {
|
|
864
857
|
return;
|
|
@@ -1150,7 +1143,7 @@ export class BackgroundServiceTreeElement extends ApplicationPanelTreeElement {
|
|
|
1150
1143
|
}
|
|
1151
1144
|
this.showView(this.view);
|
|
1152
1145
|
UI.Context.Context.instance().setFlavor(BackgroundServiceView, this.view);
|
|
1153
|
-
|
|
1146
|
+
UI.UIUserMetrics.UIUserMetrics.instance().panelShown('background_service_' + this.serviceName);
|
|
1154
1147
|
return false;
|
|
1155
1148
|
}
|
|
1156
1149
|
}
|
|
@@ -1174,7 +1167,7 @@ export class ServiceWorkersTreeElement extends ApplicationPanelTreeElement {
|
|
|
1174
1167
|
this.view = new ServiceWorkersView();
|
|
1175
1168
|
}
|
|
1176
1169
|
this.showView(this.view);
|
|
1177
|
-
|
|
1170
|
+
UI.UIUserMetrics.UIUserMetrics.instance().panelShown('service-workers');
|
|
1178
1171
|
return false;
|
|
1179
1172
|
}
|
|
1180
1173
|
}
|
|
@@ -1201,7 +1194,7 @@ export class AppManifestTreeElement extends ApplicationPanelTreeElement {
|
|
|
1201
1194
|
override onselect(selectedByUser?: boolean): boolean {
|
|
1202
1195
|
super.onselect(selectedByUser);
|
|
1203
1196
|
this.showView(this.view);
|
|
1204
|
-
|
|
1197
|
+
UI.UIUserMetrics.UIUserMetrics.instance().panelShown('app-manifest');
|
|
1205
1198
|
return false;
|
|
1206
1199
|
}
|
|
1207
1200
|
|
|
@@ -1260,7 +1253,8 @@ export class ClearStorageTreeElement extends ApplicationPanelTreeElement {
|
|
|
1260
1253
|
this.view = new StorageView();
|
|
1261
1254
|
}
|
|
1262
1255
|
this.showView(this.view);
|
|
1263
|
-
|
|
1256
|
+
UI.UIUserMetrics.UIUserMetrics.instance().panelShown(
|
|
1257
|
+
Host.UserMetrics.PanelCodes[Host.UserMetrics.PanelCodes.storage]);
|
|
1264
1258
|
return false;
|
|
1265
1259
|
}
|
|
1266
1260
|
}
|
|
@@ -1505,7 +1499,7 @@ export class IDBDatabaseTreeElement extends ApplicationPanelTreeElement {
|
|
|
1505
1499
|
}
|
|
1506
1500
|
|
|
1507
1501
|
this.showView(this.view);
|
|
1508
|
-
|
|
1502
|
+
UI.UIUserMetrics.UIUserMetrics.instance().panelShown('indexed-db');
|
|
1509
1503
|
return false;
|
|
1510
1504
|
}
|
|
1511
1505
|
|
|
@@ -1641,7 +1635,7 @@ export class IDBObjectStoreTreeElement extends ApplicationPanelTreeElement {
|
|
|
1641
1635
|
}
|
|
1642
1636
|
|
|
1643
1637
|
this.showView(this.view);
|
|
1644
|
-
|
|
1638
|
+
UI.UIUserMetrics.UIUserMetrics.instance().panelShown('indexed-db');
|
|
1645
1639
|
return false;
|
|
1646
1640
|
}
|
|
1647
1641
|
|
|
@@ -1732,7 +1726,7 @@ export class IDBIndexTreeElement extends ApplicationPanelTreeElement {
|
|
|
1732
1726
|
}
|
|
1733
1727
|
|
|
1734
1728
|
this.showView(this.view);
|
|
1735
|
-
|
|
1729
|
+
UI.UIUserMetrics.UIUserMetrics.instance().panelShown('indexed-db');
|
|
1736
1730
|
return false;
|
|
1737
1731
|
}
|
|
1738
1732
|
|
|
@@ -1744,8 +1738,8 @@ export class IDBIndexTreeElement extends ApplicationPanelTreeElement {
|
|
|
1744
1738
|
}
|
|
1745
1739
|
|
|
1746
1740
|
export class DOMStorageTreeElement extends ApplicationPanelTreeElement {
|
|
1747
|
-
private readonly domStorage: DOMStorage;
|
|
1748
|
-
constructor(storagePanel: ResourcesPanel, domStorage: DOMStorage) {
|
|
1741
|
+
private readonly domStorage: SDK.DOMStorageModel.DOMStorage;
|
|
1742
|
+
constructor(storagePanel: ResourcesPanel, domStorage: SDK.DOMStorageModel.DOMStorage) {
|
|
1749
1743
|
super(
|
|
1750
1744
|
storagePanel,
|
|
1751
1745
|
domStorage.storageKey ? SDK.StorageKeyManager.parseStorageKey(domStorage.storageKey).origin :
|
|
@@ -1763,7 +1757,7 @@ export class DOMStorageTreeElement extends ApplicationPanelTreeElement {
|
|
|
1763
1757
|
|
|
1764
1758
|
override onselect(selectedByUser?: boolean): boolean {
|
|
1765
1759
|
super.onselect(selectedByUser);
|
|
1766
|
-
|
|
1760
|
+
UI.UIUserMetrics.UIUserMetrics.instance().panelShown('dom-storage');
|
|
1767
1761
|
this.resourcesPanel.showDOMStorage(this.domStorage);
|
|
1768
1762
|
return false;
|
|
1769
1763
|
}
|
|
@@ -1803,7 +1797,7 @@ export class ExtensionStorageTreeElement extends ApplicationPanelTreeElement {
|
|
|
1803
1797
|
override onselect(selectedByUser?: boolean): boolean {
|
|
1804
1798
|
super.onselect(selectedByUser);
|
|
1805
1799
|
this.resourcesPanel.showExtensionStorage(this.extensionStorage);
|
|
1806
|
-
|
|
1800
|
+
UI.UIUserMetrics.UIUserMetrics.instance().panelShown('extension-storage');
|
|
1807
1801
|
return false;
|
|
1808
1802
|
}
|
|
1809
1803
|
|
|
@@ -1846,11 +1840,6 @@ export class CookieTreeElement extends ApplicationPanelTreeElement {
|
|
|
1846
1840
|
this.#cookieDomain = cookieUrl.securityOrigin();
|
|
1847
1841
|
this.tooltip = i18nString(UIStrings.cookiesUsedByFramesFromS, {PH1: this.#cookieDomain});
|
|
1848
1842
|
const icon = createIcon('cookie');
|
|
1849
|
-
// Note that we cannot use `cookieDomainInternal` here since it contains scheme.
|
|
1850
|
-
if (IssuesManager.RelatedIssue.hasThirdPartyPhaseoutCookieIssueForDomain(cookieUrl.domain())) {
|
|
1851
|
-
icon.name = 'warning-filled';
|
|
1852
|
-
this.tooltip = i18nString(UIStrings.thirdPartyPhaseout, {PH1: this.#cookieDomain});
|
|
1853
|
-
}
|
|
1854
1843
|
this.setLeadingIcons([icon]);
|
|
1855
1844
|
}
|
|
1856
1845
|
|
|
@@ -1878,7 +1867,8 @@ export class CookieTreeElement extends ApplicationPanelTreeElement {
|
|
|
1878
1867
|
override onselect(selectedByUser?: boolean): boolean {
|
|
1879
1868
|
super.onselect(selectedByUser);
|
|
1880
1869
|
this.resourcesPanel.showCookies(this.target, this.#cookieDomain);
|
|
1881
|
-
|
|
1870
|
+
UI.UIUserMetrics.UIUserMetrics.instance().panelShown(
|
|
1871
|
+
Host.UserMetrics.PanelCodes[Host.UserMetrics.PanelCodes.cookies]);
|
|
1882
1872
|
return false;
|
|
1883
1873
|
}
|
|
1884
1874
|
}
|
|
@@ -2231,7 +2221,7 @@ export class FrameTreeElement extends ApplicationPanelTreeElement {
|
|
|
2231
2221
|
this.view = new FrameDetailsReportView();
|
|
2232
2222
|
this.view.frame = this.frame;
|
|
2233
2223
|
}
|
|
2234
|
-
|
|
2224
|
+
UI.UIUserMetrics.UIUserMetrics.instance().panelShown('frame-details');
|
|
2235
2225
|
this.showView(this.view);
|
|
2236
2226
|
|
|
2237
2227
|
this.listItemElement.classList.remove('hovered');
|
|
@@ -2405,7 +2395,7 @@ export class FrameResourceTreeElement extends ApplicationPanelTreeElement {
|
|
|
2405
2395
|
} else {
|
|
2406
2396
|
void this.panel.scheduleShowView(this.preparePreview());
|
|
2407
2397
|
}
|
|
2408
|
-
|
|
2398
|
+
UI.UIUserMetrics.UIUserMetrics.instance().panelShown('frame-resource');
|
|
2409
2399
|
return false;
|
|
2410
2400
|
}
|
|
2411
2401
|
|
|
@@ -2493,7 +2483,7 @@ class FrameWindowTreeElement extends ApplicationPanelTreeElement {
|
|
|
2493
2483
|
this.view.requestUpdate();
|
|
2494
2484
|
}
|
|
2495
2485
|
this.showView(this.view);
|
|
2496
|
-
|
|
2486
|
+
UI.UIUserMetrics.UIUserMetrics.instance().panelShown('frame-window');
|
|
2497
2487
|
return false;
|
|
2498
2488
|
}
|
|
2499
2489
|
|
|
@@ -2522,7 +2512,7 @@ class WorkerTreeElement extends ApplicationPanelTreeElement {
|
|
|
2522
2512
|
this.view.requestUpdate();
|
|
2523
2513
|
}
|
|
2524
2514
|
this.showView(this.view);
|
|
2525
|
-
|
|
2515
|
+
UI.UIUserMetrics.UIUserMetrics.instance().panelShown('frame-worker');
|
|
2526
2516
|
return false;
|
|
2527
2517
|
}
|
|
2528
2518
|
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
// Use of this source code is governed by a BSD-style license that can be
|
|
3
3
|
// found in the LICENSE file.
|
|
4
4
|
|
|
5
|
-
import * as Host from '../../core/host/host.js';
|
|
6
5
|
import * as i18n from '../../core/i18n/i18n.js';
|
|
7
6
|
import type * as Platform from '../../core/platform/platform.js';
|
|
8
7
|
import {createIcon} from '../../ui/kit/kit.js';
|
|
8
|
+
import * as UI from '../../ui/legacy/legacy.js';
|
|
9
9
|
|
|
10
10
|
import {ApplicationPanelTreeElement} from './ApplicationPanelTreeElement.js';
|
|
11
11
|
import * as ApplicationComponents from './components/components.js';
|
|
@@ -39,7 +39,7 @@ export class BackForwardCacheTreeElement extends ApplicationPanelTreeElement {
|
|
|
39
39
|
this.view = new ApplicationComponents.BackForwardCacheView.BackForwardCacheView();
|
|
40
40
|
}
|
|
41
41
|
this.showView(this.view);
|
|
42
|
-
|
|
42
|
+
UI.UIUserMetrics.UIUserMetrics.instance().panelShown('back-forward-cache');
|
|
43
43
|
|
|
44
44
|
return false;
|
|
45
45
|
}
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
// Use of this source code is governed by a BSD-style license that can be
|
|
3
3
|
// found in the LICENSE file.
|
|
4
4
|
|
|
5
|
-
import * as Host from '../../core/host/host.js';
|
|
6
5
|
import * as i18n from '../../core/i18n/i18n.js';
|
|
7
6
|
import type * as Platform from '../../core/platform/platform.js';
|
|
8
7
|
import {createIcon} from '../../ui/kit/kit.js';
|
|
8
|
+
import * as UI from '../../ui/legacy/legacy.js';
|
|
9
9
|
|
|
10
10
|
import {ApplicationPanelTreeElement} from './ApplicationPanelTreeElement.js';
|
|
11
11
|
import * as ApplicationComponents from './components/components.js';
|
|
@@ -39,7 +39,7 @@ export class BounceTrackingMitigationsTreeElement extends ApplicationPanelTreeEl
|
|
|
39
39
|
this.view = new ApplicationComponents.BounceTrackingMitigationsView.BounceTrackingMitigationsView();
|
|
40
40
|
}
|
|
41
41
|
this.showView(this.view);
|
|
42
|
-
|
|
42
|
+
UI.UIUserMetrics.UIUserMetrics.instance().panelShown('bounce-tracking-mitigations');
|
|
43
43
|
return false;
|
|
44
44
|
}
|
|
45
45
|
}
|
|
@@ -32,12 +32,12 @@
|
|
|
32
32
|
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
|
+
import * as SDK from '../../core/sdk/sdk.js';
|
|
35
36
|
import * as TextUtils from '../../models/text_utils/text_utils.js';
|
|
36
37
|
import * as SourceFrame from '../../ui/legacy/components/source_frame/source_frame.js';
|
|
37
38
|
import * as UI from '../../ui/legacy/legacy.js';
|
|
38
39
|
import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
|
|
39
40
|
|
|
40
|
-
import {DOMStorage} from './DOMStorageModel.js';
|
|
41
41
|
import {KeyValueStorageItemsView} from './KeyValueStorageItemsView.js';
|
|
42
42
|
|
|
43
43
|
const UIStrings = {
|
|
@@ -58,10 +58,10 @@ const UIStrings = {
|
|
|
58
58
|
const str_ = i18n.i18n.registerUIStrings('panels/application/DOMStorageItemsView.ts', UIStrings);
|
|
59
59
|
const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
60
60
|
export class DOMStorageItemsView extends KeyValueStorageItemsView {
|
|
61
|
-
private domStorage: DOMStorage;
|
|
61
|
+
private domStorage: SDK.DOMStorageModel.DOMStorage;
|
|
62
62
|
private eventListeners: Common.EventTarget.EventDescriptor[];
|
|
63
63
|
|
|
64
|
-
constructor(domStorage: DOMStorage) {
|
|
64
|
+
constructor(domStorage: SDK.DOMStorageModel.DOMStorage) {
|
|
65
65
|
super(
|
|
66
66
|
i18nString(UIStrings.domStorageItems), 'dom-storage', true, /* view=*/ undefined, /* metadataView=*/ undefined,
|
|
67
67
|
/* jslog=*/ undefined, ['storage-view', 'table']);
|
|
@@ -91,7 +91,7 @@ export class DOMStorageItemsView extends KeyValueStorageItemsView {
|
|
|
91
91
|
);
|
|
92
92
|
}
|
|
93
93
|
|
|
94
|
-
setStorage(domStorage: DOMStorage): void {
|
|
94
|
+
setStorage(domStorage: SDK.DOMStorageModel.DOMStorage): void {
|
|
95
95
|
Common.EventTarget.removeEventListeners(this.eventListeners);
|
|
96
96
|
this.domStorage = domStorage;
|
|
97
97
|
const storageKind = domStorage.isLocalStorage ? 'local-storage-data' : 'session-storage-data';
|
|
@@ -100,10 +100,14 @@ export class DOMStorageItemsView extends KeyValueStorageItemsView {
|
|
|
100
100
|
this.toolbar?.setStorageKey(domStorage.storageKey);
|
|
101
101
|
}
|
|
102
102
|
this.eventListeners = [
|
|
103
|
-
this.domStorage.addEventListener(
|
|
104
|
-
|
|
105
|
-
this.domStorage.addEventListener(
|
|
106
|
-
|
|
103
|
+
this.domStorage.addEventListener(
|
|
104
|
+
SDK.DOMStorageModel.DOMStorage.Events.DOM_STORAGE_ITEMS_CLEARED, this.domStorageItemsCleared, this),
|
|
105
|
+
this.domStorage.addEventListener(
|
|
106
|
+
SDK.DOMStorageModel.DOMStorage.Events.DOM_STORAGE_ITEM_REMOVED, this.domStorageItemRemoved, this),
|
|
107
|
+
this.domStorage.addEventListener(
|
|
108
|
+
SDK.DOMStorageModel.DOMStorage.Events.DOM_STORAGE_ITEM_ADDED, this.domStorageItemAdded, this),
|
|
109
|
+
this.domStorage.addEventListener(
|
|
110
|
+
SDK.DOMStorageModel.DOMStorage.Events.DOM_STORAGE_ITEM_UPDATED, this.domStorageItemUpdated, this),
|
|
107
111
|
];
|
|
108
112
|
this.refreshItems();
|
|
109
113
|
}
|
|
@@ -121,8 +125,8 @@ export class DOMStorageItemsView extends KeyValueStorageItemsView {
|
|
|
121
125
|
UI.ARIAUtils.LiveAnnouncer.alert(i18nString(UIStrings.domStorageItemsCleared));
|
|
122
126
|
}
|
|
123
127
|
|
|
124
|
-
private domStorageItemRemoved(
|
|
125
|
-
void {
|
|
128
|
+
private domStorageItemRemoved(
|
|
129
|
+
event: Common.EventTarget.EventTargetEvent<SDK.DOMStorageModel.DOMStorage.DOMStorageItemRemovedEvent>): void {
|
|
126
130
|
if (!this.isShowing()) {
|
|
127
131
|
return;
|
|
128
132
|
}
|
|
@@ -135,7 +139,8 @@ export class DOMStorageItemsView extends KeyValueStorageItemsView {
|
|
|
135
139
|
UI.ARIAUtils.LiveAnnouncer.alert(i18nString(UIStrings.domStorageItemDeleted));
|
|
136
140
|
}
|
|
137
141
|
|
|
138
|
-
private domStorageItemAdded(
|
|
142
|
+
private domStorageItemAdded(
|
|
143
|
+
event: Common.EventTarget.EventTargetEvent<SDK.DOMStorageModel.DOMStorage.DOMStorageItemAddedEvent>): void {
|
|
139
144
|
if (!this.isShowing()) {
|
|
140
145
|
return;
|
|
141
146
|
}
|
|
@@ -143,8 +148,8 @@ export class DOMStorageItemsView extends KeyValueStorageItemsView {
|
|
|
143
148
|
this.itemAdded(event.data.key, event.data.value);
|
|
144
149
|
}
|
|
145
150
|
|
|
146
|
-
private domStorageItemUpdated(
|
|
147
|
-
void {
|
|
151
|
+
private domStorageItemUpdated(
|
|
152
|
+
event: Common.EventTarget.EventTargetEvent<SDK.DOMStorageModel.DOMStorage.DOMStorageItemUpdatedEvent>): void {
|
|
148
153
|
if (!this.isShowing()) {
|
|
149
154
|
return;
|
|
150
155
|
}
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
// Use of this source code is governed by a BSD-style license that can be
|
|
3
3
|
// found in the LICENSE file.
|
|
4
4
|
|
|
5
|
-
import * as Host from '../../core/host/host.js';
|
|
6
5
|
import * as i18n from '../../core/i18n/i18n.js';
|
|
7
6
|
import type * as Platform from '../../core/platform/platform.js';
|
|
8
7
|
import * as SDK from '../../core/sdk/sdk.js';
|
|
9
8
|
import type * as Protocol from '../../generated/protocol.js';
|
|
10
9
|
import {createIcon} from '../../ui/kit/kit.js';
|
|
10
|
+
import * as UI from '../../ui/legacy/legacy.js';
|
|
11
11
|
|
|
12
12
|
import {ApplicationPanelTreeElement} from './ApplicationPanelTreeElement.js';
|
|
13
13
|
import {InterestGroupStorageView} from './InterestGroupStorageView.js';
|
|
@@ -51,7 +51,7 @@ export class InterestGroupTreeElement extends ApplicationPanelTreeElement {
|
|
|
51
51
|
override onselect(selectedByUser?: boolean): boolean {
|
|
52
52
|
super.onselect(selectedByUser);
|
|
53
53
|
this.showView(this.view);
|
|
54
|
-
|
|
54
|
+
UI.UIUserMetrics.UIUserMetrics.instance().panelShown('interest-groups');
|
|
55
55
|
return false;
|
|
56
56
|
}
|
|
57
57
|
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
// Use of this source code is governed by a BSD-style license that can be
|
|
3
3
|
// found in the LICENSE file.
|
|
4
4
|
|
|
5
|
-
import * as Host from '../../core/host/host.js';
|
|
6
5
|
import * as i18n from '../../core/i18n/i18n.js';
|
|
7
6
|
import type * as Platform from '../../core/platform/platform.js';
|
|
8
7
|
import {createIcon} from '../../ui/kit/kit.js';
|
|
8
|
+
import * as UI from '../../ui/legacy/legacy.js';
|
|
9
9
|
|
|
10
10
|
import {ApplicationPanelTreeElement} from './ApplicationPanelTreeElement.js';
|
|
11
11
|
import {CrashReportContextView} from './CrashReportContextView.js';
|
|
@@ -53,7 +53,7 @@ export class ReportingApiTreeElement extends ApplicationPanelTreeElement {
|
|
|
53
53
|
this.view = new ReportingApiView();
|
|
54
54
|
}
|
|
55
55
|
this.showView(this.view);
|
|
56
|
-
|
|
56
|
+
UI.UIUserMetrics.UIUserMetrics.instance().panelShown('reporting-api');
|
|
57
57
|
return false;
|
|
58
58
|
}
|
|
59
59
|
}
|
|
@@ -78,7 +78,7 @@ export class CrashReportContextTreeElement extends ApplicationPanelTreeElement {
|
|
|
78
78
|
}
|
|
79
79
|
this.view.requestUpdate();
|
|
80
80
|
this.showView(this.view);
|
|
81
|
-
|
|
81
|
+
UI.UIUserMetrics.UIUserMetrics.instance().panelShown('crash-report-context');
|
|
82
82
|
return false;
|
|
83
83
|
}
|
|
84
84
|
}
|
|
@@ -17,7 +17,6 @@ import {CookieItemsView} from './CookieItemsView.js';
|
|
|
17
17
|
import type {DeviceBoundSessionsModel} from './DeviceBoundSessionsModel.js';
|
|
18
18
|
import {DeviceBoundSessionsView} from './DeviceBoundSessionsView.js';
|
|
19
19
|
import {DOMStorageItemsView} from './DOMStorageItemsView.js';
|
|
20
|
-
import type {DOMStorage} from './DOMStorageModel.js';
|
|
21
20
|
import {ExtensionStorageItemsView} from './ExtensionStorageItemsView.js';
|
|
22
21
|
import type {ExtensionStorage} from './ExtensionStorageModel.js';
|
|
23
22
|
import type * as PreloadingHelper from './preloading/helper/helper.js';
|
|
@@ -166,7 +165,7 @@ export class ResourcesPanel extends UI.Panel.PanelWithSidebar {
|
|
|
166
165
|
this.showView(this.categoryView);
|
|
167
166
|
}
|
|
168
167
|
|
|
169
|
-
showDOMStorage(domStorage: DOMStorage): void {
|
|
168
|
+
showDOMStorage(domStorage: SDK.DOMStorageModel.DOMStorage): void {
|
|
170
169
|
if (!domStorage) {
|
|
171
170
|
return;
|
|
172
171
|
}
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
// found in the LICENSE file.
|
|
4
4
|
|
|
5
5
|
import type * as Common from '../../core/common/common.js';
|
|
6
|
-
import * as Host from '../../core/host/host.js';
|
|
7
6
|
import * as i18n from '../../core/i18n/i18n.js';
|
|
8
7
|
import type * as Platform from '../../core/platform/platform.js';
|
|
9
8
|
import * as SDK from '../../core/sdk/sdk.js';
|
|
@@ -214,7 +213,7 @@ export class SWCacheTreeElement extends ApplicationPanelTreeElement {
|
|
|
214
213
|
}
|
|
215
214
|
|
|
216
215
|
this.showView(this.view);
|
|
217
|
-
|
|
216
|
+
UI.UIUserMetrics.UIUserMetrics.instance().panelShown('service-worker-cache');
|
|
218
217
|
return false;
|
|
219
218
|
}
|
|
220
219
|
|
|
@@ -16,7 +16,6 @@ import * as SettingsUI from '../../ui/legacy/components/settings_ui/settings_ui.
|
|
|
16
16
|
import * as UI from '../../ui/legacy/legacy.js';
|
|
17
17
|
import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
|
|
18
18
|
|
|
19
|
-
import {DOMStorageModel} from './DOMStorageModel.js';
|
|
20
19
|
import {IndexedDBModel} from './IndexedDBModel.js';
|
|
21
20
|
import storageViewStyles from './storageView.css.js';
|
|
22
21
|
|
|
@@ -459,7 +458,7 @@ export class StorageView extends UI.Widget.VBox {
|
|
|
459
458
|
const hasAll = set.has(Protocol.Storage.StorageType.All);
|
|
460
459
|
|
|
461
460
|
if (set.has(Protocol.Storage.StorageType.Local_storage) || hasAll) {
|
|
462
|
-
const storageModel = target.model(DOMStorageModel);
|
|
461
|
+
const storageModel = target.model(SDK.DOMStorageModel.DOMStorageModel);
|
|
463
462
|
if (storageModel) {
|
|
464
463
|
storageModel.clearForStorageKey(storageKey);
|
|
465
464
|
}
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
// Use of this source code is governed by a BSD-style license that can be
|
|
3
3
|
// found in the LICENSE file.
|
|
4
4
|
|
|
5
|
-
import * as Host from '../../core/host/host.js';
|
|
6
5
|
import * as i18n from '../../core/i18n/i18n.js';
|
|
7
6
|
import type * as Platform from '../../core/platform/platform.js';
|
|
8
7
|
import {createIcon} from '../../ui/kit/kit.js';
|
|
8
|
+
import * as UI from '../../ui/legacy/legacy.js';
|
|
9
9
|
|
|
10
10
|
import {ApplicationPanelTreeElement} from './ApplicationPanelTreeElement.js';
|
|
11
11
|
import * as ApplicationComponents from './components/components.js';
|
|
@@ -40,7 +40,7 @@ export class TrustTokensTreeElement extends ApplicationPanelTreeElement {
|
|
|
40
40
|
this.view = new ApplicationComponents.TrustTokensView.TrustTokensView();
|
|
41
41
|
}
|
|
42
42
|
this.showView(this.view);
|
|
43
|
-
|
|
43
|
+
UI.UIUserMetrics.UIUserMetrics.instance().panelShown('trust-tokens');
|
|
44
44
|
return false;
|
|
45
45
|
}
|
|
46
46
|
}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
// Use of this source code is governed by a BSD-style license that can be
|
|
3
3
|
// found in the LICENSE file.
|
|
4
4
|
|
|
5
|
-
import * as Host from '../../core/host/host.js';
|
|
6
5
|
import type * as Platform from '../../core/platform/platform.js';
|
|
7
6
|
import {createIcon} from '../../ui/kit/kit.js';
|
|
7
|
+
import * as UI from '../../ui/legacy/legacy.js';
|
|
8
8
|
|
|
9
9
|
import {ApplicationPanelTreeElement} from './ApplicationPanelTreeElement.js';
|
|
10
10
|
import type {ResourcesPanel} from './ResourcesPanel.js';
|
|
@@ -29,7 +29,7 @@ export class WebMCPTreeElement extends ApplicationPanelTreeElement {
|
|
|
29
29
|
this.#view = new WebMCPView();
|
|
30
30
|
}
|
|
31
31
|
this.showView(this.#view);
|
|
32
|
-
|
|
32
|
+
UI.UIUserMetrics.UIUserMetrics.instance().panelShown('web-mcp');
|
|
33
33
|
return false;
|
|
34
34
|
}
|
|
35
35
|
}
|