mirror of
https://github.com/servo/servo.git
synced 2025-07-22 23:03:42 +01:00
style: Add a temporary workaround for geckolib animations.
With needs_borrow we will be able to remove this, though we'll have to implement clone_ and borrow_ methods for a bunch of properties.
This commit is contained in:
parent
2faaf952c7
commit
bc4e670c5a
3 changed files with 11 additions and 0 deletions
|
@ -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);
|
||||
|
|
|
@ -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>>,
|
||||
|
|
|
@ -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!() }
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue