LibWeb: Don't look for animations to activate in disconnected subtrees
Some checks are pending
CI / Lagom (arm64, Sanitizer_CI, false, macos-15, macOS, Clang) (push) Waiting to run
CI / Lagom (x86_64, Fuzzers_CI, false, ubuntu-24.04, Linux, Clang) (push) Waiting to run
CI / Lagom (x86_64, Sanitizer_CI, false, ubuntu-24.04, Linux, GNU) (push) Waiting to run
CI / Lagom (x86_64, Sanitizer_CI, true, ubuntu-24.04, Linux, Clang) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (arm64, macos-15, macOS, macOS-universal2) (push) Waiting to run
Package the js repl as a binary artifact / build-and-package (x86_64, ubuntu-24.04, Linux, Linux-x86_64) (push) Waiting to run
Run test262 and test-wasm / run_and_update_results (push) Waiting to run
Lint Code / lint (push) Waiting to run
Label PRs with merge conflicts / auto-labeler (push) Waiting to run
Push notes / build (push) Waiting to run

Knocks down a 3.3% profile item to 1.6% on Speedometer 3.
This commit is contained in:
Andreas Kling 2025-04-20 16:30:19 +02:00 committed by Andreas Kling
commit a122685896
Notes: github-actions[bot] 2025-04-20 16:44:09 +00:00

View file

@ -2937,6 +2937,10 @@ bool Node::has_inclusive_ancestor_with_display_none()
void Node::play_or_cancel_animations_after_display_property_change()
{
// OPTIMIZATION: We don't care about animations in disconnected subtrees.
if (!is_connected())
return;
// https://www.w3.org/TR/css-animations-1/#animations
// Setting the display property to none will terminate any running animation applied to the element and its descendants.
// If an element has a display of none, updating display to a value other than none will start all animations applied to