mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-10-19 15:43:20 +00:00
LibWeb: Prevent StackingContext from hit testing when not visible
It exits if not visible, then hit tests children, then hit tests itself if it's `visible_for_hit_testing()`.
This commit is contained in:
parent
e2eb8716e5
commit
4e892b8b67
Notes:
github-actions[bot]
2025-09-08 13:37:34 +00:00
Author: https://github.com/zacoons
Commit: 4e892b8b67
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/6125
3 changed files with 37 additions and 0 deletions
|
@ -388,6 +388,9 @@ void StackingContext::paint(DisplayListRecordingContext& context) const
|
|||
|
||||
TraversalDecision StackingContext::hit_test(CSSPixelPoint position, HitTestType type, Function<TraversalDecision(HitTestResult)> const& callback) const
|
||||
{
|
||||
if (paintable_box().computed_values().visibility() != CSS::Visibility::Visible)
|
||||
return TraversalDecision::Continue;
|
||||
|
||||
auto const inverse_transform = affine_transform_matrix().inverse().value_or({});
|
||||
auto const transform_origin = paintable_box().transform_origin();
|
||||
// NOTE: This CSSPixels -> Float -> CSSPixels conversion is because we can't AffineTransform::map() a CSSPixelPoint.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue