Skip to content

Commit

Permalink
Introduce AnimatableLonghand type
Browse files Browse the repository at this point in the history
This type, which we will use in the next patch in this series, can
represent only longhands whose animation type is not "none". By
introducing this type, we can later restrict the meaning of
TransitionProperty to only cover properties whose animation type is not
"none" OR "discrete" (since currently CSS transitions should not animate
properties whose animation type is discrete).  Doing so will also mean
that CSS transitions ignore the 'display' property by default.

Furthermore, introducing this type will allow the animation code to
clearly document when a property is allowed to be a shorthand or
unanimatable property and when it is expected to be an animatable
longhand. This, in turn, will allow us to remove a few
no-longer-necessary checks and simplify the code.
  • Loading branch information
birtles committed Jun 15, 2017
1 parent c1bf6d3 commit 9c3c954
Showing 1 changed file with 14 additions and 0 deletions.
14 changes: 14 additions & 0 deletions components/style/properties/helpers/animated_properties.mako.rs
Expand Up @@ -46,6 +46,20 @@ use values::generics::border::BorderCornerRadius as GenericBorderCornerRadius;
use values::generics::position as generic_position;


/// A longhand property whose animation type is not "none".
///
/// NOTE: This includes the 'display' property since it is animatable from SMIL even though it is
/// not animatable from CSS animations or Web Animations. CSS transitions also does not allow
/// animating 'display', but for CSS transitions we have the separate TransitionProperty type.
pub enum AnimatableLonghand {
% for prop in data.longhands:
% if prop.animatable:
/// ${prop.name}
${prop.camel_case},
% endif
% endfor
}

/// A given transition property, that is either `All`, an animatable longhand property,
/// a shorthand with at least one animatable longhand component, or an unsupported property.
// NB: This needs to be here because it needs all the longhands generated
Expand Down

0 comments on commit 9c3c954

Please sign in to comment.