summaryrefslogtreecommitdiff
path: root/runtime/js/99_main.js
diff options
context:
space:
mode:
authorNayeem Rahman <nayeemrmn99@gmail.com>2021-01-07 18:06:08 +0000
committerGitHub <noreply@github.com>2021-01-07 19:06:08 +0100
commite61e81eb57351782862aa50775ce4348f10b1856 (patch)
tree6099aa60857f586774a195034f18ac1fb10ca519 /runtime/js/99_main.js
parentc347dfcd565c3a396ae84dff46e7374851913462 (diff)
feat: add --location=<href> and globalThis.location (#7369)
Diffstat (limited to 'runtime/js/99_main.js')
-rw-r--r--runtime/js/99_main.js22
1 files changed, 20 insertions, 2 deletions
diff --git a/runtime/js/99_main.js b/runtime/js/99_main.js
index f38d51936..284bef48c 100644
--- a/runtime/js/99_main.js
+++ b/runtime/js/99_main.js
@@ -9,6 +9,7 @@ delete Object.prototype.__proto__;
const util = window.__bootstrap.util;
const eventTarget = window.__bootstrap.eventTarget;
const globalInterfaces = window.__bootstrap.globalInterfaces;
+ const location = window.__bootstrap.location;
const dispatchMinimal = window.__bootstrap.dispatchMinimal;
const build = window.__bootstrap.build;
const version = window.__bootstrap.version;
@@ -196,6 +197,8 @@ delete Object.prototype.__proto__;
// https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope
const windowOrWorkerGlobalScope = {
+ Location: location.locationConstructorDescriptor,
+ location: location.locationDescriptor,
Blob: util.nonEnumerable(fetch.Blob),
ByteLengthQueuingStrategy: util.nonEnumerable(
streams.ByteLengthQueuingStrategy,
@@ -290,7 +293,19 @@ delete Object.prototype.__proto__;
defineEventHandler(window, "unload", null);
runtimeStart(runtimeOptions);
- const { args, noColor, pid, ppid, unstableFlag } = runtimeOptions;
+ const {
+ args,
+ location: locationHref,
+ noColor,
+ pid,
+ ppid,
+ unstableFlag,
+ } = runtimeOptions;
+
+ if (locationHref != null) {
+ location.setLocationHref(locationHref);
+ fetch.setBaseUrl(locationHref);
+ }
registerErrors();
@@ -349,8 +364,11 @@ delete Object.prototype.__proto__;
runtimeOptions,
internalName ?? name,
);
- const { unstableFlag, pid, noColor, args } = runtimeOptions;
+ const { unstableFlag, pid, noColor, args, location: locationHref } =
+ runtimeOptions;
+ location.setLocationHref(locationHref);
+ fetch.setBaseUrl(locationHref);
registerErrors();
const finalDenoNs = {