Skip to content

Commit

Permalink
Drop AnimatedProperty for stylo.
Browse files Browse the repository at this point in the history
set_list_style_type() for gecko needs an additional argument 'Device' [1], and
making list-style-type animtable makes AnimatedProperty::update() call the
set_list_style_type(). To avoid introducing the Device argument to the setter in
servo, this patch makes simply PropertyAnimation conditional build.
(Whereas in stylo, we don't use the setter for animation, we use clone_xx()
instead.)

[1] https://hg.mozilla.org/mozilla-central/file/1d042bcb2632/servo/components/style/properties/properties.mako.rs#l2667
  • Loading branch information
Hiroyuki Ikezoe committed Aug 9, 2017
1 parent 8997191 commit 17eba0d
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 2 deletions.
14 changes: 13 additions & 1 deletion components/style/context.rs
Expand Up @@ -5,7 +5,7 @@
//! The context within which style is calculated.

#[cfg(feature = "servo")] use animation::Animation;
use animation::PropertyAnimation;
#[cfg(feature = "servo")] use animation::PropertyAnimation;
use app_units::Au;
use bloom::StyleBloom;
use cache::LRUCache;
Expand Down Expand Up @@ -293,6 +293,7 @@ pub struct CurrentElementInfo {
is_initial_style: bool,
/// A Vec of possibly expired animations. Used only by Servo.
#[allow(dead_code)]
#[cfg(feature = "servo")]
pub possibly_expired_animations: Vec<PropertyAnimation>,
}

Expand Down Expand Up @@ -668,6 +669,17 @@ impl<E: TElement> ThreadLocalStyleContext<E> {
}
}

#[cfg(feature = "gecko")]
/// Notes when the style system starts traversing an element.
pub fn begin_element(&mut self, element: E, data: &ElementData) {
debug_assert!(self.current_element_info.is_none());
self.current_element_info = Some(CurrentElementInfo {
element: element.as_node().opaque(),
is_initial_style: !data.has_styles(),
});
}

#[cfg(feature = "servo")]
/// Notes when the style system starts traversing an element.
pub fn begin_element(&mut self, element: E, data: &ElementData) {
debug_assert!(self.current_element_info.is_none());
Expand Down
2 changes: 1 addition & 1 deletion components/style/lib.rs
Expand Up @@ -92,7 +92,7 @@ extern crate unicode_segmentation;
#[macro_use]
mod macros;

pub mod animation;
#[cfg(feature = "servo")] pub mod animation;
pub mod applicable_declarations;
#[allow(missing_docs)] // TODO.
#[cfg(feature = "servo")] pub mod attr;
Expand Down
Expand Up @@ -387,6 +387,7 @@ pub fn nscsspropertyid_is_transitionable(property: nsCSSPropertyID) -> bool {

/// An animated property interpolation between two computed values for that
/// property.
#[cfg(feature = "servo")]
#[derive(Clone, Debug, PartialEq)]
#[cfg_attr(feature = "servo", derive(HeapSizeOf))]
pub enum AnimatedProperty {
Expand All @@ -404,6 +405,7 @@ pub enum AnimatedProperty {
% endfor
}

#[cfg(feature = "servo")]
impl AnimatedProperty {
/// Get the name of this property.
pub fn name(&self) -> &'static str {
Expand Down

0 comments on commit 17eba0d

Please sign in to comment.