diff --git a/Userland/Libraries/LibWeb/Internals/Internals.cpp b/Userland/Libraries/LibWeb/Internals/Internals.cpp index 9293ed9efdb..6e184c022fc 100644 --- a/Userland/Libraries/LibWeb/Internals/Internals.cpp +++ b/Userland/Libraries/LibWeb/Internals/Internals.cpp @@ -100,6 +100,14 @@ void Internals::click(double x, double y) click(x, y, UIEvents::MouseButton::Primary); } +void Internals::doubleclick(double x, double y) +{ + auto& page = internals_page(); + + auto position = page.css_to_device_point({ x, y }); + page.handle_doubleclick(position, position, UIEvents::MouseButton::Primary, 0, 0); +} + void Internals::middle_click(double x, double y) { click(x, y, UIEvents::MouseButton::Middle); diff --git a/Userland/Libraries/LibWeb/Internals/Internals.h b/Userland/Libraries/LibWeb/Internals/Internals.h index b28aa32e5c0..4e9bfe492a9 100644 --- a/Userland/Libraries/LibWeb/Internals/Internals.h +++ b/Userland/Libraries/LibWeb/Internals/Internals.h @@ -30,6 +30,7 @@ public: void commit_text(); void click(double x, double y); + void doubleclick(double x, double y); void middle_click(double x, double y); void move_pointer_to(double x, double y); void wheel(double x, double y, double delta_x, double delta_y); diff --git a/Userland/Libraries/LibWeb/Internals/Internals.idl b/Userland/Libraries/LibWeb/Internals/Internals.idl index 0eb5b56d93e..00f992f4d39 100644 --- a/Userland/Libraries/LibWeb/Internals/Internals.idl +++ b/Userland/Libraries/LibWeb/Internals/Internals.idl @@ -21,6 +21,7 @@ interface Internals { undefined commitText(); undefined click(double x, double y); + undefined doubleclick(double x, double y); undefined middleClick(double x, double y); undefined movePointerTo(double x, double y); undefined wheel(double x, double y, double deltaX, double deltaY);