1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-28 15:37:46 +00:00

LibWeb: Use cached_web_prototype() as much as possible

Unlike ensure_web_prototype<T>(), the cached version doesn't require the
prototype type to be fully formed, so we can use it without including
the FooPrototype.h header. It's also a bit less verbose. :^)
This commit is contained in:
Andreas Kling 2022-09-03 18:43:24 +02:00
parent a85542958c
commit ffad902c07
165 changed files with 176 additions and 325 deletions

View file

@ -4,7 +4,6 @@
* SPDX-License-Identifier: BSD-2-Clause
*/
#include <LibWeb/Bindings/FocusEventPrototype.h>
#include <LibWeb/HTML/Window.h>
#include <LibWeb/UIEvents/FocusEvent.h>
@ -18,7 +17,7 @@ FocusEvent* FocusEvent::create_with_global_object(HTML::Window& window_object, F
FocusEvent::FocusEvent(HTML::Window& window_object, FlyString const& event_name, FocusEventInit const& event_init)
: UIEvent(window_object, event_name)
{
set_prototype(&window_object.ensure_web_prototype<Bindings::FocusEventPrototype>("FocusEvent"));
set_prototype(&window_object.cached_web_prototype("FocusEvent"));
set_related_target(const_cast<DOM::EventTarget*>(event_init.related_target.ptr()));
}

View file

@ -5,7 +5,6 @@
*/
#include <AK/CharacterTypes.h>
#include <LibWeb/Bindings/KeyboardEventPrototype.h>
#include <LibWeb/HTML/Window.h>
#include <LibWeb/UIEvents/KeyboardEvent.h>
@ -129,7 +128,7 @@ KeyboardEvent::KeyboardEvent(HTML::Window& window_object, FlyString const& event
, m_key_code(event_init.key_code)
, m_char_code(event_init.char_code)
{
set_prototype(&window_object.ensure_web_prototype<Bindings::KeyboardEventPrototype>("KeyboardEvent"));
set_prototype(&window_object.cached_web_prototype("KeyboardEvent"));
}
KeyboardEvent::~KeyboardEvent() = default;

View file

@ -6,7 +6,6 @@
*/
#include <LibGUI/Event.h>
#include <LibWeb/Bindings/MouseEventPrototype.h>
#include <LibWeb/HTML/EventNames.h>
#include <LibWeb/HTML/Window.h>
#include <LibWeb/UIEvents/EventNames.h>
@ -22,7 +21,7 @@ MouseEvent::MouseEvent(HTML::Window& window_object, FlyString const& event_name,
, m_client_y(event_init.client_y)
, m_button(event_init.button)
{
set_prototype(&window_object.ensure_web_prototype<Bindings::MouseEventPrototype>("MouseEvent"));
set_prototype(&window_object.cached_web_prototype("MouseEvent"));
set_event_characteristics();
}

View file

@ -4,7 +4,6 @@
* SPDX-License-Identifier: BSD-2-Clause
*/
#include <LibWeb/Bindings/UIEventPrototype.h>
#include <LibWeb/HTML/Window.h>
#include <LibWeb/UIEvents/UIEvent.h>
@ -23,7 +22,7 @@ UIEvent* UIEvent::create_with_global_object(HTML::Window& window_object, FlyStri
UIEvent::UIEvent(HTML::Window& window_object, FlyString const& event_name)
: Event(window_object, event_name)
{
set_prototype(&window_object.ensure_web_prototype<Bindings::UIEventPrototype>("UIEvent"));
set_prototype(&window_object.cached_web_prototype("UIEvent"));
}
UIEvent::UIEvent(HTML::Window& window_object, FlyString const& event_name, UIEventInit const& event_init)
@ -31,7 +30,7 @@ UIEvent::UIEvent(HTML::Window& window_object, FlyString const& event_name, UIEve
, m_view(event_init.view)
, m_detail(event_init.detail)
{
set_prototype(&window_object.ensure_web_prototype<Bindings::UIEventPrototype>("UIEvent"));
set_prototype(&window_object.cached_web_prototype("UIEvent"));
}
UIEvent::~UIEvent() = default;