mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
Stop ticking animations on non-dirty nodes during traversal.
This commit is contained in:
parent
99ad3678fa
commit
b493565cc1
3 changed files with 5 additions and 12 deletions
|
@ -1536,6 +1536,9 @@ impl ScriptThread {
|
|||
let node = unsafe { node.get_jsmanaged().get_for_script() };
|
||||
let window = window_from_node(node);
|
||||
|
||||
// Not quite the right thing - see #13865.
|
||||
node.dirty(NodeDamage::NodeStyleDamaged);
|
||||
|
||||
if let Some(el) = node.downcast::<Element>() {
|
||||
if &*window.GetComputedStyle(el, None).Display() == "none" {
|
||||
return;
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
|
||||
//! Traversing the DOM tree; the bloom filter.
|
||||
|
||||
use animation;
|
||||
use context::{LocalStyleContext, SharedStyleContext, StyleContext};
|
||||
use dom::{OpaqueNode, TNode, UnsafeNode};
|
||||
use matching::{ApplicableDeclarations, ElementMatchMethods, MatchMethods, StyleSharingResult};
|
||||
|
@ -367,17 +366,6 @@ pub fn recalc_style_at<'a, N, C>(context: &'a C,
|
|||
node.set_restyle_damage(damage);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// Finish any expired transitions.
|
||||
let mut existing_style = node.get_existing_style().unwrap();
|
||||
let had_animations_to_expire = animation::complete_expired_transitions(
|
||||
node.opaque(),
|
||||
&mut existing_style,
|
||||
context.shared_context()
|
||||
);
|
||||
if had_animations_to_expire {
|
||||
node.set_style(existing_style);
|
||||
}
|
||||
}
|
||||
|
||||
let unsafe_layout_node = node.to_unsafe();
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
[basic-transition.html]
|
||||
disabled: https://github.com/servo/servo/issues/13865
|
Loading…
Add table
Add a link
Reference in a new issue