[overrides] Add "Has overrides" column and filter autocomplete in the Network panel
screenshot: https://crbug.com/1472952#c1
Bug: 1472952
Change-Id: Ic78b58f8cf77e24681093732059542e92fceb895
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/4777909
Reviewed-by: Wolfgang Beyer <[email protected]>
Commit-Queue: Jecelyn Yeen <[email protected]>
diff --git a/front_end/panels/network/NetworkLogView.ts b/front_end/panels/network/NetworkLogView.ts
index 3bf3b06..f2cc8ca 100644
--- a/front_end/panels/network/NetworkLogView.ts
+++ b/front_end/panels/network/NetworkLogView.ts
@@ -741,6 +741,30 @@
return (String(request.statusCode)) === value;
}
+ private static hasOverridesFilter(value: string, request: SDK.NetworkRequest.NetworkRequest): boolean {
+ if (!value) {
+ return false;
+ }
+
+ if (value === overrideFilter.no) {
+ return request.overrideTypes.length === 0;
+ }
+
+ if (value === overrideFilter.yes) {
+ return request.overrideTypes.length > 0;
+ }
+
+ if (value === overrideFilter.content) {
+ return request.overrideTypes.includes('content');
+ }
+
+ if (value === overrideFilter.headers) {
+ return request.overrideTypes.includes('headers');
+ }
+
+ return request.overrideTypes.join(',').includes(value);
+ }
+
static getHTTPRequestsFilter(request: SDK.NetworkRequest.NetworkRequest): boolean {
return request.parsedURL.isValid && (request.scheme in HTTPSchemas);
}
@@ -923,6 +947,10 @@
this.suggestionBuilder.addItem(NetworkForward.UIFilter.FilterType.LargerThan, '10k');
this.suggestionBuilder.addItem(NetworkForward.UIFilter.FilterType.LargerThan, '1M');
this.textFilterUI.setSuggestionProvider(this.suggestionBuilder.completions.bind(this.suggestionBuilder));
+ this.suggestionBuilder.addItem(NetworkForward.UIFilter.FilterType.HasOverrides, overrideFilter.yes);
+ this.suggestionBuilder.addItem(NetworkForward.UIFilter.FilterType.HasOverrides, overrideFilter.no);
+ this.suggestionBuilder.addItem(NetworkForward.UIFilter.FilterType.HasOverrides, overrideFilter.content);
+ this.suggestionBuilder.addItem(NetworkForward.UIFilter.FilterType.HasOverrides, overrideFilter.headers);
}
private filterChanged(): void {
@@ -1942,6 +1970,9 @@
case NetworkForward.UIFilter.FilterType.StatusCode:
return NetworkLogView.statusCodeFilter.bind(null, value);
+ case NetworkForward.UIFilter.FilterType.HasOverrides:
+ return NetworkLogView.hasOverridesFilter.bind(null, value);
+
case NetworkForward.UIFilter.FilterType.ResourceType:
return NetworkLogView.resourceTypeFilter.bind(null, value);
@@ -2414,4 +2445,11 @@
reset(): void;
}
+export const overrideFilter = {
+ yes: 'yes',
+ no: 'no',
+ content: 'content',
+ headers: 'headers',
+};
+
export type Filter = (request: SDK.NetworkRequest.NetworkRequest) => boolean;