LibWeb: Make DOM::Window into an EventTarget

This will allow us to dispatch window events.
This commit is contained in:
Andreas Kling 2020-10-18 13:43:44 +02:00
parent 77c1957961
commit b92bc9c6e5
Notes: sideshowbarker 2024-07-19 01:59:31 +09:00
2 changed files with 26 additions and 2 deletions

View file

@ -28,6 +28,8 @@
#include <LibGUI/MessageBox.h>
#include <LibJS/Runtime/Function.h>
#include <LibWeb/DOM/Document.h>
#include <LibWeb/DOM/Event.h>
#include <LibWeb/DOM/EventDispatcher.h>
#include <LibWeb/DOM/Timer.h>
#include <LibWeb/DOM/Window.h>
#include <LibWeb/HighResolutionTime/Performance.h>
@ -42,7 +44,8 @@ NonnullRefPtr<Window> Window::create_with_document(Document& document)
}
Window::Window(Document& document)
: m_document(document)
: EventTarget(static_cast<Bindings::ScriptExecutionContext&>(document))
, m_document(document)
, m_performance(make<HighResolutionTime::Performance>(*this))
{
}
@ -157,4 +160,14 @@ void Window::did_call_location_reload(Badge<Bindings::LocationObject>)
frame->loader().load(document().url(), FrameLoader::Type::Reload);
}
void Window::dispatch_event(NonnullRefPtr<Event> event)
{
EventDispatcher::dispatch(*this, event);
}
Bindings::EventTargetWrapper* Window::create_wrapper(JS::GlobalObject&)
{
ASSERT_NOT_REACHED();
}
}