diff --git a/Tests/LibWeb/Ref/reference/scroll-using-mousewheel-event-ref.html b/Tests/LibWeb/Ref/reference/scroll-using-mousewheel-event-ref.html new file mode 100644 index 00000000000..78adc168b59 --- /dev/null +++ b/Tests/LibWeb/Ref/reference/scroll-using-mousewheel-event-ref.html @@ -0,0 +1,12 @@ + + +
2
+
3
+
4
diff --git a/Tests/LibWeb/Ref/scroll-using-mousewheel-event.html b/Tests/LibWeb/Ref/scroll-using-mousewheel-event.html new file mode 100644 index 00000000000..f6d2b219e33 --- /dev/null +++ b/Tests/LibWeb/Ref/scroll-using-mousewheel-event.html @@ -0,0 +1,28 @@ + + + +
+
1
+
2
+
3
+
4
+
5
+
6
+
7
+
+ diff --git a/Userland/Libraries/LibWeb/Internals/Internals.cpp b/Userland/Libraries/LibWeb/Internals/Internals.cpp index 1c97951c8f5..c856b615b6d 100644 --- a/Userland/Libraries/LibWeb/Internals/Internals.cpp +++ b/Userland/Libraries/LibWeb/Internals/Internals.cpp @@ -83,6 +83,12 @@ void Internals::click(double x, double y) page.handle_mouseup({ x, y }, { x, y }, 1, 0, 0); } +void Internals::wheel(double x, double y, double delta_x, double delta_y) +{ + auto& page = global_object().browsing_context()->page(); + page.handle_mousewheel({ x, y }, { x, y }, 0, 0, 0, delta_x, delta_y); +} + WebIDL::ExceptionOr Internals::dispatch_user_activated_event(DOM::EventTarget& target, DOM::Event& event) { event.set_is_trusted(true); diff --git a/Userland/Libraries/LibWeb/Internals/Internals.h b/Userland/Libraries/LibWeb/Internals/Internals.h index 7372d84e7c9..3ebe5d19c9e 100644 --- a/Userland/Libraries/LibWeb/Internals/Internals.h +++ b/Userland/Libraries/LibWeb/Internals/Internals.h @@ -26,6 +26,7 @@ public: void commit_text(); void click(double x, double y); + void wheel(double x, double y, double delta_x, double delta_y); WebIDL::ExceptionOr dispatch_user_activated_event(DOM::EventTarget&, DOM::Event& event); diff --git a/Userland/Libraries/LibWeb/Internals/Internals.idl b/Userland/Libraries/LibWeb/Internals/Internals.idl index 1842ae14766..c3d13f3c0f6 100644 --- a/Userland/Libraries/LibWeb/Internals/Internals.idl +++ b/Userland/Libraries/LibWeb/Internals/Internals.idl @@ -11,6 +11,7 @@ undefined commitText(); undefined click(double x, double y); + undefined wheel(double x, double y, double deltaX, double deltaY); boolean dispatchUserActivatedEvent(EventTarget target, Event event);