diff --git a/Userland/Libraries/LibWeb/HTML/Window.cpp b/Userland/Libraries/LibWeb/HTML/Window.cpp
index 695eceb8c8..654e7af867 100644
--- a/Userland/Libraries/LibWeb/HTML/Window.cpp
+++ b/Userland/Libraries/LibWeb/HTML/Window.cpp
@@ -1092,7 +1092,6 @@ WebIDL::ExceptionOr Window::initialize_web_interfaces(Badge impl_from(JS::VM& vm)
return vm.throw_completion(JS::ErrorType::NotAnObjectOfType, "Window");
}
+// https://html.spec.whatwg.org/multipage/window-object.html#dom-window
+JS::NonnullGCPtr Window::window() const
+{
+ // The window, frames, and self getter steps are to return this's relevant realm.[[GlobalEnv]].[[GlobalThisValue]].
+ return verify_cast(relevant_realm(*this).global_environment().global_this_value());
+}
+
// https://html.spec.whatwg.org/multipage/system-state.html#dom-navigator
JS::NonnullGCPtr Window::navigator() const
{
@@ -1532,14 +1538,6 @@ JS_DEFINE_NATIVE_FUNCTION(Window::self_getter)
return &relevant_realm(*impl).global_environment().global_this_value();
}
-// https://html.spec.whatwg.org/multipage/window-object.html#dom-window
-JS_DEFINE_NATIVE_FUNCTION(Window::window_getter)
-{
- auto* impl = TRY(impl_from(vm));
- // The window, frames, and self getter steps are to return this's relevant realm.[[GlobalEnv]].[[GlobalThisValue]].
- return &relevant_realm(*impl).global_environment().global_this_value();
-}
-
// https://html.spec.whatwg.org/multipage/window-object.html#dom-frames
JS_DEFINE_NATIVE_FUNCTION(Window::frames_getter)
{
diff --git a/Userland/Libraries/LibWeb/HTML/Window.h b/Userland/Libraries/LibWeb/HTML/Window.h
index 78fafdcaa4..4aee11c1af 100644
--- a/Userland/Libraries/LibWeb/HTML/Window.h
+++ b/Userland/Libraries/LibWeb/HTML/Window.h
@@ -140,6 +140,8 @@ public:
Vector> pdf_viewer_mime_type_objects();
// JS API functions
+ JS::NonnullGCPtr window() const;
+
JS::NonnullGCPtr navigator() const;
void alert(String const& message = {});
@@ -240,7 +242,6 @@ private:
JS_DECLARE_NATIVE_FUNCTION(inner_width_getter);
JS_DECLARE_NATIVE_FUNCTION(inner_height_getter);
- JS_DECLARE_NATIVE_FUNCTION(window_getter);
JS_DECLARE_NATIVE_FUNCTION(frames_getter);
JS_DECLARE_NATIVE_FUNCTION(self_getter);
diff --git a/Userland/Libraries/LibWeb/HTML/Window.idl b/Userland/Libraries/LibWeb/HTML/Window.idl
index c8cade2f95..cbcb3d5655 100644
--- a/Userland/Libraries/LibWeb/HTML/Window.idl
+++ b/Userland/Libraries/LibWeb/HTML/Window.idl
@@ -5,6 +5,9 @@
// https://html.spec.whatwg.org/multipage/nav-history-apis.html#window
[Global=Window, Exposed=Window, LegacyUnenumerableNamedProperties, UseNewAKString]
interface Window : EventTarget {
+ // the current browsing context
+ [LegacyUnforgeable] readonly attribute WindowProxy window;
+
// the user agent
readonly attribute Navigator navigator;
[ImplementedAs=navigator] readonly attribute Navigator clientInformation; // legacy alias of .navigator