30 lines
1.2 KiB
Diff
30 lines
1.2 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Shelley Vohr <shelley.vohr@gmail.com>
|
|
Date: Tue, 4 Aug 2020 09:17:06 -0700
|
|
Subject: lib: use non-symbols in isURLInstance check
|
|
|
|
This slightly changes the conditional used to determine whether or
|
|
not something is a URL instance. Since Node.js adds symbols to the URL
|
|
not specified by the WHATWG, those symbols are not present in other
|
|
implementations (like Blink's) and therefore can cause false negatives.
|
|
|
|
This fixes that by slightly changing the check to properties present
|
|
in all URL instances as specified in the WHATWG spec.
|
|
|
|
Upstreamed at: https://github.com/nodejs/node/pull/34622.
|
|
|
|
diff --git a/lib/internal/url.js b/lib/internal/url.js
|
|
index 78f5b32745a0436337233e8a4b57b89263effad6..ace274501f2c1f6bb06f600abb850e737c988338 100644
|
|
--- a/lib/internal/url.js
|
|
+++ b/lib/internal/url.js
|
|
@@ -1394,8 +1394,8 @@ function pathToFileURL(filepath) {
|
|
}
|
|
|
|
function isURLInstance(fileURLOrPath) {
|
|
- return fileURLOrPath != null && fileURLOrPath[searchParams] &&
|
|
- fileURLOrPath[searchParams][searchParams];
|
|
+ return fileURLOrPath != null && fileURLOrPath['href'] &&
|
|
+ fileURLOrPath['origin'];
|
|
}
|
|
|
|
function toPathIfFileURL(fileURLOrPath) {
|