mirror of
https://github.com/servo/servo.git
synced 2025-07-30 02:30:21 +01:00
Drop AnimatedProperty for stylo.
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
This commit is contained in:
parent
89971910cf
commit
17eba0d4d6
3 changed files with 16 additions and 2 deletions
|
@ -5,7 +5,7 @@
|
||||||
//! The context within which style is calculated.
|
//! The context within which style is calculated.
|
||||||
|
|
||||||
#[cfg(feature = "servo")] use animation::Animation;
|
#[cfg(feature = "servo")] use animation::Animation;
|
||||||
use animation::PropertyAnimation;
|
#[cfg(feature = "servo")] use animation::PropertyAnimation;
|
||||||
use app_units::Au;
|
use app_units::Au;
|
||||||
use bloom::StyleBloom;
|
use bloom::StyleBloom;
|
||||||
use cache::LRUCache;
|
use cache::LRUCache;
|
||||||
|
@ -293,6 +293,7 @@ pub struct CurrentElementInfo {
|
||||||
is_initial_style: bool,
|
is_initial_style: bool,
|
||||||
/// A Vec of possibly expired animations. Used only by Servo.
|
/// A Vec of possibly expired animations. Used only by Servo.
|
||||||
#[allow(dead_code)]
|
#[allow(dead_code)]
|
||||||
|
#[cfg(feature = "servo")]
|
||||||
pub possibly_expired_animations: Vec<PropertyAnimation>,
|
pub possibly_expired_animations: Vec<PropertyAnimation>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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.
|
/// Notes when the style system starts traversing an element.
|
||||||
pub fn begin_element(&mut self, element: E, data: &ElementData) {
|
pub fn begin_element(&mut self, element: E, data: &ElementData) {
|
||||||
debug_assert!(self.current_element_info.is_none());
|
debug_assert!(self.current_element_info.is_none());
|
||||||
|
|
|
@ -92,7 +92,7 @@ extern crate unicode_segmentation;
|
||||||
#[macro_use]
|
#[macro_use]
|
||||||
mod macros;
|
mod macros;
|
||||||
|
|
||||||
pub mod animation;
|
#[cfg(feature = "servo")] pub mod animation;
|
||||||
pub mod applicable_declarations;
|
pub mod applicable_declarations;
|
||||||
#[allow(missing_docs)] // TODO.
|
#[allow(missing_docs)] // TODO.
|
||||||
#[cfg(feature = "servo")] pub mod attr;
|
#[cfg(feature = "servo")] pub mod attr;
|
||||||
|
|
|
@ -387,6 +387,7 @@ pub fn nscsspropertyid_is_transitionable(property: nsCSSPropertyID) -> bool {
|
||||||
|
|
||||||
/// An animated property interpolation between two computed values for that
|
/// An animated property interpolation between two computed values for that
|
||||||
/// property.
|
/// property.
|
||||||
|
#[cfg(feature = "servo")]
|
||||||
#[derive(Clone, Debug, PartialEq)]
|
#[derive(Clone, Debug, PartialEq)]
|
||||||
#[cfg_attr(feature = "servo", derive(HeapSizeOf))]
|
#[cfg_attr(feature = "servo", derive(HeapSizeOf))]
|
||||||
pub enum AnimatedProperty {
|
pub enum AnimatedProperty {
|
||||||
|
@ -404,6 +405,7 @@ pub enum AnimatedProperty {
|
||||||
% endfor
|
% endfor
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(feature = "servo")]
|
||||||
impl AnimatedProperty {
|
impl AnimatedProperty {
|
||||||
/// Get the name of this property.
|
/// Get the name of this property.
|
||||||
pub fn name(&self) -> &'static str {
|
pub fn name(&self) -> &'static str {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue