summaryrefslogtreecommitdiff
path: root/runtime/js
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/js')
-rw-r--r--runtime/js/99_main.js24
1 files changed, 24 insertions, 0 deletions
diff --git a/runtime/js/99_main.js b/runtime/js/99_main.js
index fee7cd2d7..d2926bb1f 100644
--- a/runtime/js/99_main.js
+++ b/runtime/js/99_main.js
@@ -28,6 +28,7 @@ delete Object.prototype.__proto__;
const fileReader = window.__bootstrap.fileReader;
const webgpu = window.__bootstrap.webgpu;
const webSocket = window.__bootstrap.webSocket;
+ const webStorage = window.__bootstrap.webStorage;
const file = window.__bootstrap.file;
const formData = window.__bootstrap.formData;
const fetch = window.__bootstrap.fetch;
@@ -190,6 +191,18 @@ delete Object.prototype.__proto__;
return new DOMException(msg, "OperationError");
},
);
+ core.registerErrorBuilder(
+ "DOMExceptionQuotaExceededError",
+ function DOMExceptionQuotaExceededError(msg) {
+ return new DOMException(msg, "QuotaExceededError");
+ },
+ );
+ core.registerErrorBuilder(
+ "DOMExceptionNotSupportedError",
+ function DOMExceptionNotSupportedError(msg) {
+ return new DOMException(msg, "NotSupported");
+ },
+ );
}
class Navigator {
@@ -351,6 +364,17 @@ delete Object.prototype.__proto__;
alert: util.writable(prompt.alert),
confirm: util.writable(prompt.confirm),
prompt: util.writable(prompt.prompt),
+ localStorage: {
+ configurable: true,
+ enumerable: true,
+ get: webStorage.localStorage,
+ },
+ sessionStorage: {
+ configurable: true,
+ enumerable: true,
+ get: webStorage.sessionStorage,
+ },
+ Storage: util.nonEnumerable(webStorage.Storage),
};
const workerRuntimeGlobalProperties = {