diff options
Diffstat (limited to 'runtime/js/99_main.js')
-rw-r--r-- | runtime/js/99_main.js | 24 |
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 = { |