diff --git a/Userland/Libraries/LibWeb/HTML/Window.cpp b/Userland/Libraries/LibWeb/HTML/Window.cpp index 65aa384bb44..d7eca709a62 100644 --- a/Userland/Libraries/LibWeb/HTML/Window.cpp +++ b/Userland/Libraries/LibWeb/HTML/Window.cpp @@ -897,7 +897,6 @@ WebIDL::ExceptionOr Window::initialize_web_interfaces(Badge(realm, realm)), 0); - define_native_accessor(realm, "localStorage", local_storage_getter, {}, attr); define_native_accessor(realm, "sessionStorage", session_storage_getter, {}, attr); // FIXME: Implement codegen for readonly properties with [PutForwards] @@ -1619,12 +1618,6 @@ JS_DEFINE_NATIVE_FUNCTION(Window::structured_clone) })); } -JS_DEFINE_NATIVE_FUNCTION(Window::local_storage_getter) -{ - auto* impl = TRY(impl_from(vm)); - return impl->local_storage(); -} - JS_DEFINE_NATIVE_FUNCTION(Window::session_storage_getter) { auto* impl = TRY(impl_from(vm)); diff --git a/Userland/Libraries/LibWeb/HTML/Window.h b/Userland/Libraries/LibWeb/HTML/Window.h index 1b32aafa529..df9f22e31b2 100644 --- a/Userland/Libraries/LibWeb/HTML/Window.h +++ b/Userland/Libraries/LibWeb/HTML/Window.h @@ -253,7 +253,6 @@ private: JS_DECLARE_NATIVE_FUNCTION(structured_clone); - JS_DECLARE_NATIVE_FUNCTION(local_storage_getter); JS_DECLARE_NATIVE_FUNCTION(session_storage_getter); JS_DECLARE_NATIVE_FUNCTION(set_interval); diff --git a/Userland/Libraries/LibWeb/HTML/Window.idl b/Userland/Libraries/LibWeb/HTML/Window.idl index ed2d7997da9..48f42dd438e 100644 --- a/Userland/Libraries/LibWeb/HTML/Window.idl +++ b/Userland/Libraries/LibWeb/HTML/Window.idl @@ -7,6 +7,7 @@ #import #import #import +#import #import #import @@ -96,6 +97,7 @@ interface Window : EventTarget { Window includes AnimationFrameProvider; Window includes GlobalEventHandlers; Window includes WindowEventHandlers; +Window includes WindowLocalStorage; Window includes WindowOrWorkerGlobalScope; enum ScrollBehavior { "auto", "instant", "smooth" }; diff --git a/Userland/Libraries/LibWeb/HTML/WindowLocalStorage.idl b/Userland/Libraries/LibWeb/HTML/WindowLocalStorage.idl new file mode 100644 index 00000000000..8bed5e295ba --- /dev/null +++ b/Userland/Libraries/LibWeb/HTML/WindowLocalStorage.idl @@ -0,0 +1,6 @@ +#import + +// https://html.spec.whatwg.org/multipage/webstorage.html#windowlocalstorage +interface mixin WindowLocalStorage { + readonly attribute Storage localStorage; +};