summaryrefslogtreecommitdiff
path: root/js/globals.ts
diff options
context:
space:
mode:
Diffstat (limited to 'js/globals.ts')
-rw-r--r--js/globals.ts9
1 files changed, 8 insertions, 1 deletions
diff --git a/js/globals.ts b/js/globals.ts
index 56956b4ad..93fe6dbe7 100644
--- a/js/globals.ts
+++ b/js/globals.ts
@@ -46,13 +46,20 @@ window.window = window;
window.Deno = deno;
Object.freeze(window.Deno);
+// ref https://console.spec.whatwg.org/#console-namespace
+// For historical web-compatibility reasons, the namespace object for
+// console must have as its [[Prototype]] an empty object, created as if
+// by ObjectCreate(%ObjectPrototype%), instead of %ObjectPrototype%.
+let console = Object.create({}) as consoleTypes.Console;
+Object.assign(console, new consoleTypes.Console(core.print));
+
// Globally available functions and object instances.
window.atob = textEncoding.atob;
window.btoa = textEncoding.btoa;
window.fetch = fetchTypes.fetch;
window.clearTimeout = timers.clearTimer;
window.clearInterval = timers.clearTimer;
-window.console = new consoleTypes.Console(core.print);
+window.console = console;
window.setTimeout = timers.setTimeout;
window.setInterval = timers.setInterval;
window.location = (undefined as unknown) as domTypes.Location;