aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--components/style/animation.rs5
-rw-r--r--components/style/properties/properties.mako.rs5
-rw-r--r--ports/geckolib/properties.mako.rs1
3 files changed, 11 insertions, 0 deletions
diff --git a/components/style/animation.rs b/components/style/animation.rs
index b2a64a5fa5e..ba833937f6b 100644
--- a/components/style/animation.rs
+++ b/components/style/animation.rs
@@ -422,6 +422,11 @@ pub fn maybe_start_animations<Impl: SelectorImplExt>(context: &SharedStyleContex
{
let mut had_animations = false;
+ // FIXME(emilio): Implement animations for geckolib.
+ if !new_style.is_servo() {
+ return false;
+ }
+
let box_style = new_style.as_servo().get_box();
for (i, name) in box_style.animation_name.0.iter().enumerate() {
debug!("maybe_start_animations: name={}", name);
diff --git a/components/style/properties/properties.mako.rs b/components/style/properties/properties.mako.rs
index f73219afe0e..bfdb6cd378f 100644
--- a/components/style/properties/properties.mako.rs
+++ b/components/style/properties/properties.mako.rs
@@ -1259,6 +1259,7 @@ pub trait ComputedValues : Debug + Clone + Send + Sync + 'static {
// yet - panics for non-Servo implementations.
//
// Used only for animations. Don't use it in other places.
+ fn is_servo(&self) -> bool;
fn as_servo<'a>(&'a self) -> &'a ServoComputedValues;
fn as_servo_mut<'a>(&'a mut self) -> &'a mut ServoComputedValues;
@@ -1310,7 +1311,11 @@ impl ComputedValues for ServoComputedValues {
type Concrete${style_struct.trait_name} = style_structs::${style_struct.servo_struct_name};
% endfor
+ #[inline]
+ fn is_servo(&self) -> bool { true }
+ #[inline]
fn as_servo<'a>(&'a self) -> &'a ServoComputedValues { self }
+ #[inline]
fn as_servo_mut<'a>(&'a mut self) -> &'a mut ServoComputedValues { self }
fn new(custom_properties: Option<Arc<::custom_properties::ComputedValuesMap>>,
diff --git a/ports/geckolib/properties.mako.rs b/ports/geckolib/properties.mako.rs
index 94e8f794a89..c66598fa0d3 100644
--- a/ports/geckolib/properties.mako.rs
+++ b/ports/geckolib/properties.mako.rs
@@ -74,6 +74,7 @@ impl ComputedValues for GeckoComputedValues {
% endfor
// These will go away, and we will never implement them.
+ fn is_servo(&self) -> bool { false }
fn as_servo<'a>(&'a self) -> &'a ServoComputedValues { unimplemented!() }
fn as_servo_mut<'a>(&'a mut self) -> &'a mut ServoComputedValues { unimplemented!() }