summaryrefslogtreecommitdiff
path: root/lib/internal/url.js
diff options
context:
space:
mode:
authorTimothy Gu <timothygu99@gmail.com>2018-11-19 16:54:03 -0800
committerRich Trott <rtrott@gmail.com>2018-12-01 08:53:06 -0800
commitf0b6b39324815a451d322140aaaa4066eeaa74cf (patch)
treee8c812e50c304995d782387757994b02dedc37c3 /lib/internal/url.js
parentf2be20b7353baacf0094c78693b8b4ffd7e94530 (diff)
downloadandroid-node-v8-f0b6b39324815a451d322140aaaa4066eeaa74cf.tar.gz
android-node-v8-f0b6b39324815a451d322140aaaa4066eeaa74cf.tar.bz2
android-node-v8-f0b6b39324815a451d322140aaaa4066eeaa74cf.zip
url: simplify native URL object construction
Co-authored-by: Joyee Cheung <joyeec9h3@gmail.com> PR-URL: https://github.com/nodejs/node/pull/24495 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com> Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'lib/internal/url.js')
-rw-r--r--lib/internal/url.js16
1 files changed, 7 insertions, 9 deletions
diff --git a/lib/internal/url.js b/lib/internal/url.js
index 3ef8e272f9..440fc0315e 100644
--- a/lib/internal/url.js
+++ b/lib/internal/url.js
@@ -1369,11 +1369,6 @@ function toPathIfFileURL(fileURLOrPath) {
return fileURLToPath(fileURLOrPath);
}
-function NativeURL(ctx) {
- this[context] = ctx;
-}
-NativeURL.prototype = URL.prototype;
-
function constructUrl(flags, protocol, username, password,
host, port, path, query, fragment) {
var ctx = new URLContext();
@@ -1386,10 +1381,13 @@ function constructUrl(flags, protocol, username, password,
ctx.query = query;
ctx.fragment = fragment;
ctx.host = host;
- const url = new NativeURL(ctx);
- url[searchParams] = new URLSearchParams();
- url[searchParams][context] = url;
- initSearchParams(url[searchParams], query);
+
+ const url = Object.create(URL.prototype);
+ url[context] = ctx;
+ const params = new URLSearchParams();
+ url[searchParams] = params;
+ params[context] = url;
+ initSearchParams(params, query);
return url;
}
setURLConstructor(constructUrl);