Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: d83537abc7e7901653c42553b3f7d71505f5dbc8
https://github.com/WebKit/WebKit/commit/d83537abc7e7901653c42553b3f7d71505f5dbc8
Author: Antti Koivisto <[email protected]>
Date: 2024-03-13 (Wed, 13 Mar 2024)
Changed paths:
A
LayoutTests/fast/animation/animation-with-DOM-mutation-and-display-none-expected.html
A
LayoutTests/fast/animation/animation-with-DOM-mutation-and-display-none.html
M Source/WebCore/style/StyleTreeResolver.cpp
Log Message:
-----------
REGRESSION (iOS 17.4, macOS 14.4, 270890@main): Animating element with
display: none still remain visible
https://bugs.webkit.org/show_bug.cgi?id=270697
rdar://124289418
Reviewed by Antoine Quint and Darin Adler.
The page sets the root of the overlay containing tree to display:none and
immediately (before style recall) reinserts
it into another position in the document, causing render tree teardown. When we
recompute the style (applying display:none)
we don't consider it a style change since there was no existing style due to
the earlier teardown.
In this case we fail to clear lastStyleChangeEventStyle which has been set by
an animation on the element.
Another animation triggered style recalc comes along, takes the optimized
AnimationOnly code path and picks up
the lastStyleChangeEventStyle (which doesn't have display:none) bringing the
element back alive.
*
LayoutTests/fast/animation/animation-with-DOM-mutation-and-display-none-expected.html:
Added.
* LayoutTests/fast/animation/animation-with-DOM-mutation-and-display-none.html:
Added.
* Source/WebCore/style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::resolveElement):
Fix by clearing lastStyleChangeEventStyle also when we have a style change to
display:none without existing renderer.
Canonical link: https://commits.webkit.org/276035@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes