diff --git a/Userland/Libraries/LibWeb/Internals/Internals.cpp b/Userland/Libraries/LibWeb/Internals/Internals.cpp index c3bde66a92..1c97951c8f 100644 --- a/Userland/Libraries/LibWeb/Internals/Internals.cpp +++ b/Userland/Libraries/LibWeb/Internals/Internals.cpp @@ -52,9 +52,6 @@ JS::Object* Internals::hit_test(double x, double y) // for stacking context traversal, might not exist if this call occurs between the tear_down_layout_tree() // and update_layout() calls active_document->update_layout(); - HashMap scroll_frames; - // NOTE: Make sure that paintables have updated scroll offsets - active_document->paintable()->assign_scroll_frame_ids(scroll_frames); auto result = active_document->paintable_box()->hit_test({ x, y }, Painting::HitTestType::Exact); if (result.has_value()) { auto hit_tеsting_result = JS::Object::create(realm(), nullptr); diff --git a/Userland/Libraries/LibWeb/Painting/PaintableBox.cpp b/Userland/Libraries/LibWeb/Painting/PaintableBox.cpp index eb2f4f5456..9f7213389e 100644 --- a/Userland/Libraries/LibWeb/Painting/PaintableBox.cpp +++ b/Userland/Libraries/LibWeb/Painting/PaintableBox.cpp @@ -684,7 +684,11 @@ Optional PaintableBox::hit_test(CSSPixelPoint position, HitTestTy return {}; if (layout_box().is_viewport()) { - const_cast(static_cast(*this)).build_stacking_context_tree_if_needed(); + auto& viewport_paintable = const_cast(static_cast(*this)); + viewport_paintable.build_stacking_context_tree_if_needed(); + HashMap scroll_frames; + viewport_paintable.assign_scroll_frame_ids(scroll_frames); + viewport_paintable.assign_clip_rectangles(); return stacking_context()->hit_test(position, type); }