Matching against full URL in network view filter, but only if the filter
is itself a (partial) URL.
Bug: 1104188
Change-Id: I236d51183e008d4b59fc28384732746f45d1d2f8
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/3157955
Reviewed-by: Simon Zünd <[email protected]>
Commit-Queue: Danil Somsikov <[email protected]>
diff --git a/front_end/panels/network/NetworkLogView.ts b/front_end/panels/network/NetworkLogView.ts
index 9b5be43..8f6651e 100644
--- a/front_end/panels/network/NetworkLogView.ts
+++ b/front_end/panels/network/NetworkLogView.ts
@@ -1717,6 +1717,15 @@
return true;
}
+ private isValidUrl(url: string): boolean {
+ try {
+ new URL(url);
+ return true;
+ } catch (e) {
+ return false;
+ }
+ }
+
private parseFilterQuery(query: string, invert: boolean): void {
// A query string can have multiple filters, some of them regular
// expressions, some not. Each one of those filters can be negated with a
@@ -1734,6 +1743,8 @@
NetworkLogView.requestPathFilter.bind(null, new RegExp(defaultText, 'i'));
} else if (descriptor.regex) {
filter = NetworkLogView.requestPathFilter.bind(null, (regex as RegExp));
+ } else if (this.isValidUrl(text)) {
+ filter = NetworkLogView.requestUrlFilter.bind(null, text);
} else {
filter = NetworkLogView.requestPathFilter.bind(
null, new RegExp(Platform.StringUtilities.escapeForRegExp(text), 'i'));