LibWeb: Ignore non-painting layout nodes when hit testing

We currently have to check this because the paint tree hangs from the
layout tree and has no independent means of traversal.
This commit is contained in:
Andreas Kling 2022-04-07 15:29:58 +02:00
commit 3c4bdd7cfa
Notes: sideshowbarker 2024-07-17 14:18:02 +09:00

View file

@ -341,6 +341,8 @@ Optional<HitTestResult> StackingContext::hit_test(Gfx::FloatPoint const& positio
if (!m_box.children_are_inline()) {
m_box.for_each_in_subtree_of_type<Layout::Box>([&](Layout::Box const& box) {
if (!box.is_absolutely_positioned() && !box.is_floating()) {
if (!box.paint_box())
return IterationDecision::Continue;
if (auto candidate = box.paint_box()->hit_test(transformed_position, type); candidate.has_value())
result = move(candidate);
}