mirror of
https://github.com/servo/servo.git
synced 2025-08-05 05:30:08 +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 node = unsafe { node.get_jsmanaged().get_for_script() };
|
||||||
let window = window_from_node(node);
|
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 let Some(el) = node.downcast::<Element>() {
|
||||||
if &*window.GetComputedStyle(el, None).Display() == "none" {
|
if &*window.GetComputedStyle(el, None).Display() == "none" {
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
|
|
||||||
//! Traversing the DOM tree; the bloom filter.
|
//! Traversing the DOM tree; the bloom filter.
|
||||||
|
|
||||||
use animation;
|
|
||||||
use context::{LocalStyleContext, SharedStyleContext, StyleContext};
|
use context::{LocalStyleContext, SharedStyleContext, StyleContext};
|
||||||
use dom::{OpaqueNode, TNode, UnsafeNode};
|
use dom::{OpaqueNode, TNode, UnsafeNode};
|
||||||
use matching::{ApplicableDeclarations, ElementMatchMethods, MatchMethods, StyleSharingResult};
|
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);
|
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();
|
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