diff --git a/components/style/animation.rs b/components/style/animation.rs index 68316f8ed5f..f7f639532f8 100644 --- a/components/style/animation.rs +++ b/components/style/animation.rs @@ -12,10 +12,12 @@ use crate::bezier::Bezier; use crate::context::SharedStyleContext; use crate::dom::{OpaqueNode, TElement}; use crate::font_metrics::FontMetricsProvider; -use crate::properties::animated_properties::{AnimatedProperty, TransitionPropertyIteration}; +use crate::properties::animated_properties::AnimatedProperty; use crate::properties::longhands::animation_direction::computed_value::single_value::T as AnimationDirection; use crate::properties::longhands::animation_play_state::computed_value::single_value::T as AnimationPlayState; -use crate::properties::{self, CascadeMode, ComputedValues, LonghandId, LonghandIdSet}; +#[cfg(feature = "servo")] +use crate::properties::LonghandIdSet; +use crate::properties::{self, CascadeMode, ComputedValues, LonghandId}; use crate::stylesheets::keyframes_rule::{KeyframesAnimation, KeyframesStep, KeyframesStepValue}; use crate::stylesheets::Origin; use crate::timer::Timer; @@ -432,6 +434,8 @@ pub fn start_transitions_if_applicable( expired_transitions: &[PropertyAnimation], running_animations: &[Animation], ) -> LonghandIdSet { + use crate::properties::animated_properties::TransitionPropertyIteration; + // If the style of this element is display:none, then we don't start any transitions // and we cancel any currently running transitions by returning an empty LonghandIdSet. if new_style.get_box().clone_display().is_none() { diff --git a/components/style/rule_tree/core.rs b/components/style/rule_tree/core.rs index d1c8bda5379..ae1ba7bed94 100644 --- a/components/style/rule_tree/core.rs +++ b/components/style/rule_tree/core.rs @@ -202,6 +202,9 @@ impl RuleTree { /// where it likely did not result from a rigorous performance analysis.) const RULE_TREE_GC_INTERVAL: usize = 300; +/// Used for some size assertions. +pub const RULE_NODE_SIZE: usize = std::mem::size_of::(); + /// A node in the rule tree. struct RuleNode { /// The root node. Only the root has no root pointer, for obvious reasons. diff --git a/components/style/rule_tree/mod.rs b/components/style/rule_tree/mod.rs index ab5273db781..e50382255ca 100644 --- a/components/style/rule_tree/mod.rs +++ b/components/style/rule_tree/mod.rs @@ -19,7 +19,7 @@ mod map; mod source; mod unsafe_box; -pub use self::core::{RuleTree, StrongRuleNode}; +pub use self::core::{RuleTree, StrongRuleNode, RULE_NODE_SIZE}; pub use self::level::{CascadeLevel, ShadowCascadeOrder}; pub use self::source::StyleSource;