diff --git a/Tests/LibWeb/Text/expected/UIEvents/auxevent.txt b/Tests/LibWeb/Text/expected/UIEvents/auxevent.txt new file mode 100644 index 00000000000..9d7c2ddb982 --- /dev/null +++ b/Tests/LibWeb/Text/expected/UIEvents/auxevent.txt @@ -0,0 +1 @@ +auxclick event fired \ No newline at end of file diff --git a/Tests/LibWeb/Text/input/UIEvents/auxevent.html b/Tests/LibWeb/Text/input/UIEvents/auxevent.html new file mode 100644 index 00000000000..8309f8de690 --- /dev/null +++ b/Tests/LibWeb/Text/input/UIEvents/auxevent.html @@ -0,0 +1,22 @@ + + + + diff --git a/Userland/Libraries/LibWeb/Page/EventHandler.cpp b/Userland/Libraries/LibWeb/Page/EventHandler.cpp index ce7ac244471..0bebc268313 100644 --- a/Userland/Libraries/LibWeb/Page/EventHandler.cpp +++ b/Userland/Libraries/LibWeb/Page/EventHandler.cpp @@ -278,6 +278,8 @@ bool EventHandler::handle_mouseup(CSSPixelPoint viewport_position, CSSPixelPoint if (node.ptr() == m_mousedown_target) { if (button == UIEvents::MouseButton::Primary) { run_activation_behavior = node->dispatch_event(UIEvents::MouseEvent::create_from_platform_event(node->realm(), UIEvents::EventNames::click, screen_position, page_offset, client_offset, offset, {}, 1, button, modifiers).release_value_but_fixme_should_propagate_errors()); + } else if (button == UIEvents::MouseButton::Middle) { + run_activation_behavior = node->dispatch_event(UIEvents::MouseEvent::create_from_platform_event(node->realm(), UIEvents::EventNames::auxclick, screen_position, page_offset, client_offset, offset, {}, 1, button, modifiers).release_value_but_fixme_should_propagate_errors()); } else if (button == UIEvents::MouseButton::Secondary) { // Allow the user to bypass custom context menus by holding shift, like Firefox. if ((modifiers & UIEvents::Mod_Shift) == 0)