diff --git a/Libraries/LibWeb/DOM/EventTarget.cpp b/Libraries/LibWeb/DOM/EventTarget.cpp index 740f4cbd9df..ef4c48ea069 100644 --- a/Libraries/LibWeb/DOM/EventTarget.cpp +++ b/Libraries/LibWeb/DOM/EventTarget.cpp @@ -3,6 +3,7 @@ * Copyright (c) 2022, Luke Wilde * Copyright (c) 2024, Glenn Skrzypczak * Copyright (c) 2025, Felipe Muñoz Mazur + * Copyright (c) 2025, Simon Farre * * SPDX-License-Identifier: BSD-2-Clause */ @@ -39,6 +40,7 @@ #include #include #include +#include #include namespace Web::DOM { @@ -822,10 +824,19 @@ bool EventTarget::dispatch_event(Event& event) if (event.type() == UIEvents::EventNames::mousedown) return true; - // FIXME: // pointerdown, provided the event's pointerType is "mouse". + if (event.type() == UIEvents::EventNames::pointerdown) { + if (auto* pointer_event = as_if(&event)) + return pointer_event->pointer_type() == "mouse"sv; + } + // pointerup, provided the event's pointerType is not "mouse". - // touchend. + if (event.type() == UIEvents::EventNames::pointerup) { + if (auto* pointer_event = as_if(&event)) + return pointer_event->pointer_type() != "mouse"sv; + } + + // FIXME: touchend return false; };