Tighten up Protocol.Network.ResourcePriority type usages
While https://crrev.com/c/5494342 fixed an incorrect enum,
there's room to deduplicate our usage.
Bug: 335099340
Change-Id: Icfa74020393ed177b630ad754db6e3fe658de059
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/5498950
Reviewed-by: Jack Franklin <[email protected]>
Auto-Submit: Paul Irish <[email protected]>
Commit-Queue: Jack Franklin <[email protected]>
diff --git a/front_end/models/trace/types/TraceEvents.ts b/front_end/models/trace/types/TraceEvents.ts
index 856acf9..4a9e637 100644
--- a/front_end/models/trace/types/TraceEvents.ts
+++ b/front_end/models/trace/types/TraceEvents.ts
@@ -332,8 +332,8 @@
mimeType: string,
pathname: string,
search: string,
- priority: Priority,
- initialPriority: Priority,
+ priority: Protocol.Network.ResourcePriority,
+ initialPriority: Protocol.Network.ResourcePriority,
protocol: string,
redirects: SyntheticNetworkRedirect[],
renderBlocking: RenderBlocking,
@@ -826,7 +826,6 @@
parsedData: LayoutShiftParsedData;
}
-export type Priority = 'VeryLow'|'Low'|'Medium'|'High'|'VeryHigh';
export type FetchPriorityHint = 'low'|'high'|'auto';
export type RenderBlocking = 'blocking'|'non_blocking'|'in_body_parser_blocking'|'potentially_blocking';
@@ -845,7 +844,7 @@
frame: string,
requestId: string,
url: string,
- priority: Priority,
+ priority: Protocol.Network.ResourcePriority,
resourceType: Protocol.Network.ResourceType,
fetchPriorityHint: FetchPriorityHint,
// TODO(crbug.com/1457985): change requestMethod to enum when confirm in the backend code.
@@ -861,7 +860,7 @@
args: TraceEventArgs&{
data: TraceEventArgsData & {
requestId: string,
- priority: Priority,
+ priority: Protocol.Network.ResourcePriority,
},
};
}
diff --git a/front_end/panels/network/NetworkLogView.ts b/front_end/panels/network/NetworkLogView.ts
index aeb20df..cccabc9 100644
--- a/front_end/panels/network/NetworkLogView.ts
+++ b/front_end/panels/network/NetworkLogView.ts
@@ -676,8 +676,8 @@
private static sortSearchValues(key: string, values: string[]): void {
if (key === NetworkForward.UIFilter.FilterType.Priority) {
values.sort((a, b) => {
- const aPriority = (PerfUI.NetworkPriorities.uiLabelToNetworkPriority(a) as Protocol.Network.ResourcePriority);
- const bPriority = (PerfUI.NetworkPriorities.uiLabelToNetworkPriority(b) as Protocol.Network.ResourcePriority);
+ const aPriority = PerfUI.NetworkPriorities.uiLabelToNetworkPriority(a);
+ const bPriority = PerfUI.NetworkPriorities.uiLabelToNetworkPriority(b);
return PerfUI.NetworkPriorities.networkPriorityWeight(aPriority) -
PerfUI.NetworkPriorities.networkPriorityWeight(bPriority);
});
diff --git a/front_end/panels/timeline/TimelineEventOverview.ts b/front_end/panels/timeline/TimelineEventOverview.ts
index 8b7a97c..7089ff0 100644
--- a/front_end/panels/timeline/TimelineEventOverview.ts
+++ b/front_end/panels/timeline/TimelineEventOverview.ts
@@ -30,6 +30,7 @@
import * as i18n from '../../core/i18n/i18n.js';
import * as Platform from '../../core/platform/platform.js';
+import * as Protocol from '../../generated/protocol.js';
import * as TraceEngine from '../../models/trace/trace.js';
import * as TraceBounds from '../../services/trace_bounds/trace_bounds.js';
import * as PerfUI from '../../ui/legacy/components/perf_ui/perf_ui.js';
@@ -84,10 +85,10 @@
}
}
-const HIGH_NETWORK_PRIORITIES = new Set<TraceEngine.Types.TraceEvents.Priority>([
- 'VeryHigh',
- 'High',
- 'Medium',
+const HIGH_NETWORK_PRIORITIES = new Set<Protocol.Network.ResourcePriority>([
+ Protocol.Network.ResourcePriority.VeryHigh,
+ Protocol.Network.ResourcePriority.High,
+ Protocol.Network.ResourcePriority.Medium,
]);
export class TimelineEventOverviewNetwork extends TimelineEventOverview {
diff --git a/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.ts b/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.ts
index f132e40..ea1ab75 100644
--- a/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.ts
+++ b/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.ts
@@ -5,7 +5,7 @@
import * as Common from '../../core/common/common.js';
import * as i18n from '../../core/i18n/i18n.js';
import * as Platform from '../../core/platform/platform.js';
-import * as Protocol from '../../generated/protocol.js';
+import type * as Protocol from '../../generated/protocol.js';
import * as TraceEngine from '../../models/trace/trace.js';
import * as PerfUI from '../../ui/legacy/components/perf_ui/perf_ui.js';
import * as UI from '../../ui/legacy/legacy.js';
@@ -25,7 +25,6 @@
#timelineDataInternal?: PerfUI.FlameChart.FlameChartTimelineData|null;
#lastSelection?: Selection;
- #priorityToValue?: Map<string, number>;
#traceEngineData: TraceEngine.Handlers.Types.TraceParseData|null;
constructor() {
this.#minimumBoundaryInternal = 0;
@@ -281,24 +280,14 @@
i18n.TimeUtilities.millisToString(duration, true);
}
const div = (contents.createChild('span') as HTMLElement);
- div.textContent = PerfUI.NetworkPriorities.uiLabelForNetworkPriority(
- (event.args.data.priority as Protocol.Network.ResourcePriority));
+ div.textContent = PerfUI.NetworkPriorities.uiLabelForNetworkPriority((event.args.data.priority));
div.style.color = this.#colorForPriority(event.args.data.priority) || 'black';
contents.createChild('span').textContent = Platform.StringUtilities.trimMiddle(event.args.data.url, maxURLChars);
return element;
}
- #colorForPriority(priority: string): string|null {
- if (!this.#priorityToValue) {
- this.#priorityToValue = new Map([
- [Protocol.Network.ResourcePriority.VeryLow, 1],
- [Protocol.Network.ResourcePriority.Low, 2],
- [Protocol.Network.ResourcePriority.Medium, 3],
- [Protocol.Network.ResourcePriority.High, 4],
- [Protocol.Network.ResourcePriority.VeryHigh, 5],
- ]);
- }
- const value = this.#priorityToValue.get(priority);
+ #colorForPriority(priority: Protocol.Network.ResourcePriority): string|null {
+ const value = PerfUI.NetworkPriorities.networkPriorityWeight(priority);
return value ? `hsla(214, 80%, 50%, ${value / 5})` : null;
}
diff --git a/front_end/panels/timeline/TimelineUIUtils.ts b/front_end/panels/timeline/TimelineUIUtils.ts
index 6d4d353..3d57f46 100644
--- a/front_end/panels/timeline/TimelineUIUtils.ts
+++ b/front_end/panels/timeline/TimelineUIUtils.ts
@@ -1858,13 +1858,11 @@
}
if (event.args.data.initialPriority) {
- const initialPriority = PerfUI.NetworkPriorities.uiLabelForNetworkPriority(
- event.args.data.initialPriority as Protocol.Network.ResourcePriority);
+ const initialPriority = PerfUI.NetworkPriorities.uiLabelForNetworkPriority(event.args.data.initialPriority);
contentHelper.appendTextRow(i18nString(UIStrings.initialPriority), initialPriority);
}
- const priority = PerfUI.NetworkPriorities.uiLabelForNetworkPriority(
- event.args.data.priority as Protocol.Network.ResourcePriority);
+ const priority = PerfUI.NetworkPriorities.uiLabelForNetworkPriority(event.args.data.priority);
contentHelper.appendTextRow(i18nString(UIStrings.priority), priority);
diff --git a/front_end/ui/legacy/components/perf_ui/NetworkPriorities.ts b/front_end/ui/legacy/components/perf_ui/NetworkPriorities.ts
index 2c66744..0149d86 100644
--- a/front_end/ui/legacy/components/perf_ui/NetworkPriorities.ts
+++ b/front_end/ui/legacy/components/perf_ui/NetworkPriorities.ts
@@ -35,11 +35,15 @@
const uiLabelToPriorityMapInstance = new Map<string, Protocol.Network.ResourcePriority>();
-export function uiLabelToNetworkPriority(priorityLabel: string): string {
+export function uiLabelToNetworkPriority(priorityLabel: string): Protocol.Network.ResourcePriority {
if (uiLabelToPriorityMapInstance.size === 0) {
priorityUILabelMap().forEach((value, key) => uiLabelToPriorityMapInstance.set(value, key));
}
- return uiLabelToPriorityMapInstance.get(priorityLabel) || '';
+ const priority = uiLabelToPriorityMapInstance.get(priorityLabel);
+ if (priority) {
+ return priority;
+ }
+ throw new Error('Priority not found');
}
const priorityUILabelMapInstance: Map<Protocol.Network.ResourcePriority, string> = new Map();