From 32fe7db69f0464e6456533de16cba6ba31698930 Mon Sep 17 00:00:00 2001 From: Andrew Kaster Date: Thu, 18 Jan 2024 12:54:28 -0700 Subject: [PATCH] LibWeb: Make UIEvents from the chrome the only default trusted Events --- Userland/Libraries/LibWeb/DOM/Event.h | 2 +- Userland/Libraries/LibWeb/UIEvents/KeyboardEvent.cpp | 4 +++- Userland/Libraries/LibWeb/UIEvents/MouseEvent.cpp | 4 +++- Userland/Libraries/LibWeb/UIEvents/WheelEvent.cpp | 4 +++- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/Userland/Libraries/LibWeb/DOM/Event.h b/Userland/Libraries/LibWeb/DOM/Event.h index 3dd77c7eb4..eeb9784c4f 100644 --- a/Userland/Libraries/LibWeb/DOM/Event.h +++ b/Userland/Libraries/LibWeb/DOM/Event.h @@ -169,7 +169,7 @@ private: bool m_initialized { false }; bool m_dispatch { false }; - bool m_is_trusted { true }; + bool m_is_trusted { false }; Path m_path; TouchTargetList m_touch_target_list; diff --git a/Userland/Libraries/LibWeb/UIEvents/KeyboardEvent.cpp b/Userland/Libraries/LibWeb/UIEvents/KeyboardEvent.cpp index 13b7712fb7..19aac20a26 100644 --- a/Userland/Libraries/LibWeb/UIEvents/KeyboardEvent.cpp +++ b/Userland/Libraries/LibWeb/UIEvents/KeyboardEvent.cpp @@ -648,7 +648,9 @@ JS::NonnullGCPtr KeyboardEvent::create_from_platform_event(JS::Re event_init.bubbles = true; event_init.cancelable = true; event_init.composed = true; - return KeyboardEvent::create(realm, event_name, event_init); + auto event = KeyboardEvent::create(realm, event_name, event_init); + event->set_is_trusted(true); + return event; } bool KeyboardEvent::get_modifier_state(String const& key_arg) diff --git a/Userland/Libraries/LibWeb/UIEvents/MouseEvent.cpp b/Userland/Libraries/LibWeb/UIEvents/MouseEvent.cpp index 0bea80cb59..3b5fccad14 100644 --- a/Userland/Libraries/LibWeb/UIEvents/MouseEvent.cpp +++ b/Userland/Libraries/LibWeb/UIEvents/MouseEvent.cpp @@ -83,7 +83,9 @@ WebIDL::ExceptionOr> MouseEvent::create_from_platfo } event_init.button = determine_button(button); event_init.buttons = buttons; - return MouseEvent::create(realm, event_name, event_init, page.x().to_double(), page.y().to_double(), offset.x().to_double(), offset.y().to_double(), modifiers); + auto event = MouseEvent::create(realm, event_name, event_init, page.x().to_double(), page.y().to_double(), offset.x().to_double(), offset.y().to_double(), modifiers); + event->set_is_trusted(true); + return event; } void MouseEvent::set_event_characteristics() diff --git a/Userland/Libraries/LibWeb/UIEvents/WheelEvent.cpp b/Userland/Libraries/LibWeb/UIEvents/WheelEvent.cpp index c962b46504..5c9a7564e9 100644 --- a/Userland/Libraries/LibWeb/UIEvents/WheelEvent.cpp +++ b/Userland/Libraries/LibWeb/UIEvents/WheelEvent.cpp @@ -48,7 +48,9 @@ WebIDL::ExceptionOr> WheelEvent::create_from_platfo event_init.delta_x = delta_x; event_init.delta_y = delta_y; event_init.delta_mode = WheelDeltaMode::DOM_DELTA_PIXEL; - return WheelEvent::create(realm, event_name, event_init, page.x().to_double(), page.y().to_double(), offset.x().to_double(), offset.y().to_double(), modifiers); + auto event = WheelEvent::create(realm, event_name, event_init, page.x().to_double(), page.y().to_double(), offset.x().to_double(), offset.y().to_double(), modifiers); + event->set_is_trusted(true); + return event; } void WheelEvent::set_event_characteristics()