diff --git a/Userland/Libraries/LibWeb/HTML/Window.cpp b/Userland/Libraries/LibWeb/HTML/Window.cpp index 6d3b44fd3b..0df34e76eb 100644 --- a/Userland/Libraries/LibWeb/HTML/Window.cpp +++ b/Userland/Libraries/LibWeb/HTML/Window.cpp @@ -1122,6 +1122,8 @@ WebIDL::ExceptionOr Window::initialize_web_interfaces(Badge(realm, realm)); m_navigator = MUST_OR_THROW_OOM(heap().allocate(realm, realm)); + MUST_OR_THROW_OOM(Bindings::WindowGlobalMixin::initialize(realm, *this)); + // FIXME: These should be native accessors, not properties define_native_accessor(realm, "top", top_getter, nullptr, JS::Attribute::Enumerable); define_native_accessor(realm, "window", window_getter, {}, JS::Attribute::Enumerable); diff --git a/Userland/Libraries/LibWeb/HTML/Window.h b/Userland/Libraries/LibWeb/HTML/Window.h index f849bad84d..102d5a446a 100644 --- a/Userland/Libraries/LibWeb/HTML/Window.h +++ b/Userland/Libraries/LibWeb/HTML/Window.h @@ -23,6 +23,7 @@ #include #include #include +#include namespace Web::HTML { @@ -34,7 +35,8 @@ using TimerHandler = Variant, DeprecatedString> class Window final : public DOM::EventTarget , public HTML::GlobalEventHandlers - , public HTML::WindowEventHandlers { + , public HTML::WindowEventHandlers + , public Bindings::WindowGlobalMixin { WEB_PLATFORM_OBJECT(Window, DOM::EventTarget); public: diff --git a/Userland/Libraries/LibWeb/idl_files.cmake b/Userland/Libraries/LibWeb/idl_files.cmake index f54b19580d..cae18ad006 100644 --- a/Userland/Libraries/LibWeb/idl_files.cmake +++ b/Userland/Libraries/LibWeb/idl_files.cmake @@ -163,7 +163,7 @@ libweb_js_bindings(HTML/PromiseRejectionEvent) libweb_js_bindings(HTML/Storage) libweb_js_bindings(HTML/SubmitEvent) libweb_js_bindings(HTML/TextMetrics) -libweb_js_bindings(HTML/Window) +libweb_js_bindings(HTML/Window GLOBAL) libweb_js_bindings(HTML/Worker) libweb_js_bindings(HTML/WorkerGlobalScope) libweb_js_bindings(HTML/WorkerLocation)