diff --git a/Userland/Libraries/LibWeb/HTML/WindowOrWorkerGlobalScope.idl b/Userland/Libraries/LibWeb/HTML/WindowOrWorkerGlobalScope.idl new file mode 100644 index 0000000000..82e66c92bf --- /dev/null +++ b/Userland/Libraries/LibWeb/HTML/WindowOrWorkerGlobalScope.idl @@ -0,0 +1,28 @@ +// https://html.spec.whatwg.org/multipage/webappapis.html#windoworworkerglobalscope +interface mixin WindowOrWorkerGlobalScope { + [Replaceable] readonly attribute USVString origin; + readonly attribute boolean isSecureContext; + readonly attribute boolean crossOriginIsolated; + + // FIXME: undefined reportError(any e); + + // base64 utility methods + DOMString btoa(DOMString data); + ByteString atob(DOMString data); + + // timers + // FIXME: long setTimeout(TimerHandler handler, optional long timeout = 0, any... arguments); + // FIXME: undefined clearTimeout(optional long id = 0); + // FIXME: long setInterval(TimerHandler handler, optional long timeout = 0, any... arguments); + // FIXME: undefined clearInterval(optional long id = 0); + + // microtask queuing + // FIXME: undefined queueMicrotask(VoidFunction callback); + + // ImageBitmap + // FIXME: Promise createImageBitmap(ImageBitmapSource image, optional ImageBitmapOptions options = {}); + // FIXME: Promise createImageBitmap(ImageBitmapSource image, long sx, long sy, long sw, long sh, optional ImageBitmapOptions options = {}); + + // structured cloning + // FIXME: any structuredClone(any value, optional StructuredSerializeOptions options = {}); +}; diff --git a/Userland/Libraries/LibWeb/HTML/WorkerGlobalScope.idl b/Userland/Libraries/LibWeb/HTML/WorkerGlobalScope.idl index 136a48536f..a595badd04 100644 --- a/Userland/Libraries/LibWeb/HTML/WorkerGlobalScope.idl +++ b/Userland/Libraries/LibWeb/HTML/WorkerGlobalScope.idl @@ -1,8 +1,10 @@ #import #import +#import #import #import +// https://html.spec.whatwg.org/multipage/workers.html#workerglobalscope [Exposed=Worker] interface WorkerGlobalScope : EventTarget { readonly attribute WorkerGlobalScope self; @@ -16,13 +18,6 @@ interface WorkerGlobalScope : EventTarget { attribute EventHandler ononline; attribute EventHandler onrejectionhandled; attribute EventHandler onunhandledrejection; - - // FIXME: These should all come from a WindowOrWorkerGlobalScope mixin - [Replaceable] readonly attribute USVString origin; - readonly attribute boolean isSecureContext; - readonly attribute boolean crossOriginIsolated; - - // base64 utility methods - DOMString btoa(DOMString data); - ByteString atob(DOMString data); }; + +WorkerGlobalScope includes WindowOrWorkerGlobalScope;