Use built-in URL class instead of string comparison in file URL check.

Bug: 1423258
Change-Id: Ie6ea865fbe363c138b372d45d98daf1db6434671
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/4370246
Commit-Queue: Alex Gough <[email protected]>
Reviewed-by: Alex Gough <[email protected]>
Auto-Submit: Danil Somsikov <[email protected]>
diff --git a/front_end/models/extensions/ExtensionAPI.ts b/front_end/models/extensions/ExtensionAPI.ts
index 0709c79..3e64773 100644
--- a/front_end/models/extensions/ExtensionAPI.ts
+++ b/front_end/models/extensions/ExtensionAPI.ts
@@ -1210,7 +1210,11 @@
   }
 
   function canAccessResource(resource: APIImpl.ResourceData): boolean {
-    return extensionInfo.allowFileAccess || !resource.url.toLowerCase().startsWith('file:');
+    try {
+      return extensionInfo.allowFileAccess || (new URL(resource.url)).protocol !== 'file:';
+    } catch (e) {
+      return false;
+    }
   }
 
   function InspectedWindow(this: PublicAPI.Chrome.DevTools.InspectedWindow): void {