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)