diff --git a/front_end/core/sdk/DOMModel.ts b/front_end/core/sdk/DOMModel.ts index c0c1f57907..dcf56ab2a2 100644 --- a/front_end/core/sdk/DOMModel.ts +++ b/front_end/core/sdk/DOMModel.ts @@ -808,9 +808,9 @@ export class DOMNode { traverse(this); } - resolveURL(url: string): string|null { + resolveURL(url: string): Platform.DevToolsPath.UrlString|null { if (!url) { - return url; + return url as Platform.DevToolsPath.UrlString; } for (let frameOwnerCandidate: (DOMNode|null) = (this as DOMNode | null); frameOwnerCandidate; frameOwnerCandidate = frameOwnerCandidate.parentNode) { diff --git a/front_end/panels/coverage/CoverageListView.ts b/front_end/panels/coverage/CoverageListView.ts index 8adaafc212..cceff290b6 100644 --- a/front_end/panels/coverage/CoverageListView.ts +++ b/front_end/panels/coverage/CoverageListView.ts @@ -266,9 +266,7 @@ export class CoverageListView extends UI.Widget.VBox { return; } const coverageInfo = (node as GridNode).coverageInfo; - // TODO(crbug.com/1253323): Cast to UrlString will be removed when migration to branded types is complete. - let sourceCode = Workspace.Workspace.WorkspaceImpl.instance().uiSourceCodeForURL( - coverageInfo.url() as Platform.DevToolsPath.UrlString); + let sourceCode = Workspace.Workspace.WorkspaceImpl.instance().uiSourceCodeForURL(coverageInfo.url()); if (!sourceCode) { return; } @@ -317,7 +315,7 @@ function getPercentageFormatter(): Intl.NumberFormat { export class GridNode extends DataGrid.SortableDataGrid.SortableDataGridNode { coverageInfo: URLCoverageInfo; private lastUsedSize!: number|undefined; - private url: string; + private url: Platform.DevToolsPath.UrlString; private maxSize: number; private highlightRegExp: RegExp|null; diff --git a/front_end/panels/coverage/CoverageModel.ts b/front_end/panels/coverage/CoverageModel.ts index 4dc63bb70d..fe635824e7 100644 --- a/front_end/panels/coverage/CoverageModel.ts +++ b/front_end/panels/coverage/CoverageModel.ts @@ -44,7 +44,7 @@ export class CoverageModel extends SDK.SDKModel.SDKModel { private cpuProfilerModel: SDK.CPUProfilerModel.CPUProfilerModel|null; private cssModel: SDK.CSSModel.CSSModel|null; private debuggerModel: SDK.DebuggerModel.DebuggerModel|null; - private coverageByURL: Map; + private coverageByURL: Map; private coverageByContentProvider: Map; private coverageUpdateTimes: Set; private suspensionState: SuspensionState; @@ -216,7 +216,7 @@ export class CoverageModel extends SDK.SDKModel.SDKModel { return Array.from(this.coverageByURL.values()); } - getCoverageForUrl(url: string): URLCoverageInfo|null { + getCoverageForUrl(url: Platform.DevToolsPath.UrlString): URLCoverageInfo|null { return this.coverageByURL.get(url) || null; } @@ -482,7 +482,7 @@ export class CoverageModel extends SDK.SDKModel.SDKModel { SDK.SDKModel.SDKModel.register(CoverageModel, {capabilities: SDK.Target.Capability.None, autostart: false}); export interface EntryForExport { - url: string; + url: Platform.DevToolsPath.UrlString; ranges: {start: number, end: number}[]; text: string|null; } @@ -495,14 +495,14 @@ function locationCompare(a: string, b: string): number { } export class URLCoverageInfo extends Common.ObjectWrapper.ObjectWrapper { - private readonly urlInternal: string; + private readonly urlInternal: Platform.DevToolsPath.UrlString; private coverageInfoByLocation: Map; private sizeInternal: number; private usedSizeInternal: number; private typeInternal!: CoverageType; private isContentScriptInternal: boolean; - constructor(url: string) { + constructor(url: Platform.DevToolsPath.UrlString) { super(); this.urlInternal = url; @@ -512,7 +512,7 @@ export class URLCoverageInfo extends Common.ObjectWrapper.ObjectWrapper(); +const elementToURLMap = new WeakMap(); diff --git a/front_end/panels/elements/StylesSidebarPane.ts b/front_end/panels/elements/StylesSidebarPane.ts index e2c51c8e20..1b909953a9 100644 --- a/front_end/panels/elements/StylesSidebarPane.ts +++ b/front_end/panels/elements/StylesSidebarPane.ts @@ -31,8 +31,6 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -// TODO(crbug.com/1253323): Casts to UrlString will be removed from this file when migration to branded types is complete. - import * as Common from '../../core/common/common.js'; import * as Host from '../../core/host/host.js'; import * as i18n from '../../core/i18n/i18n.js'; @@ -260,7 +258,7 @@ export class StylesSidebarPane extends Common.ObjectWrapper.eventMixin = new Map(); + #urlToChangeTracker: Map = new Map(); static instance(): StylesSidebarPane { if (!stylesSidebarPaneInstance) { @@ -1087,7 +1085,7 @@ export class StylesSidebarPane extends Common.ObjectWrapper.eventMixin { + async trackURLForChanges(url: Platform.DevToolsPath.UrlString): Promise { const currentTracker = this.#urlToChangeTracker.get(url); if (currentTracker) { WorkspaceDiff.WorkspaceDiff.workspaceDiff().unsubscribeFromDiffChange( @@ -1095,8 +1093,7 @@ export class StylesSidebarPane extends Common.ObjectWrapper.eventMixin => view.state.field(coverageState),