From 836955ef572adcf5e12d50f5b7e30f56c6525759 Mon Sep 17 00:00:00 2001 From: AmusedNetwork Date: Sat, 7 Jun 2025 14:03:43 +0100 Subject: [PATCH] LibWeb: Fix incorrect event handling with pseudo-elements When a ::before or ::after pseudo-element covered an anchor element events were not successfully sent to the underlying anchor. This fix allows before and after pseudo-elements to be dispatched correctly. Fixes #5020 --- Libraries/LibWeb/Page/EventHandler.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Libraries/LibWeb/Page/EventHandler.cpp b/Libraries/LibWeb/Page/EventHandler.cpp index a6f01d87a67..a4ceeeb8fc9 100644 --- a/Libraries/LibWeb/Page/EventHandler.cpp +++ b/Libraries/LibWeb/Page/EventHandler.cpp @@ -70,7 +70,9 @@ static DOM::Node* input_control_associated_with_ancestor_label_element(Painting: static bool parent_element_for_event_dispatch(Painting::Paintable& paintable, GC::Ptr& node, Layout::Node*& layout_node) { layout_node = &paintable.layout_node(); - if (layout_node->is_generated_for_backdrop_pseudo_element()) { + if (layout_node->is_generated_for_backdrop_pseudo_element() + || layout_node->is_generated_for_after_pseudo_element() + || layout_node->is_generated_for_before_pseudo_element()) { node = layout_node->pseudo_element_generator(); layout_node = node->layout_node(); }