style: Cleanup a bit the scroll-snap-type properties.

Still not perfect, but at least a bit more consistent.
This commit is contained in:
Emilio Cobos Álvarez 2017-10-25 20:12:37 +02:00
parent 05beeee268
commit 328f142f38
No known key found for this signature in database
GPG key ID: 056B727BB9C1027C
6 changed files with 24 additions and 20 deletions

View file

@ -2698,7 +2698,7 @@ fn static_assert() {
transition-timing-function transition-property transition-timing-function transition-property
page-break-before page-break-after page-break-before page-break-after
scroll-snap-points-x scroll-snap-points-y transform scroll-snap-points-x scroll-snap-points-y transform
scroll-snap-type-y scroll-snap-coordinate scroll-snap-type-x scroll-snap-type-y scroll-snap-coordinate
perspective-origin transform-origin -moz-binding will-change perspective-origin transform-origin -moz-binding will-change
shape-outside contain touch-action""" %> shape-outside contain touch-action""" %>
<%self:impl_trait style_struct_name="Box" skip_longhands="${skip_box_longhands}"> <%self:impl_trait style_struct_name="Box" skip_longhands="${skip_box_longhands}">
@ -3301,9 +3301,9 @@ fn static_assert() {
${impl_animation_timing_function()} ${impl_animation_timing_function()}
<% scroll_snap_type_keyword = Keyword("scroll-snap-type", "none mandatory proximity") %> <% scroll_snap_type_keyword = Keyword("scroll-snap-type", "None Mandatory Proximity") %>
${impl_keyword('scroll_snap_type_y', 'mScrollSnapTypeY', scroll_snap_type_keyword)} ${impl_keyword('scroll_snap_type_y', 'mScrollSnapTypeY', scroll_snap_type_keyword)}
${impl_keyword('scroll_snap_type_x', 'mScrollSnapTypeX', scroll_snap_type_keyword)}
pub fn set_perspective_origin(&mut self, v: longhands::perspective_origin::computed_value::T) { pub fn set_perspective_origin(&mut self, v: longhands::perspective_origin::computed_value::T) {
self.gecko.mPerspectiveOrigin[0].set(v.horizontal); self.gecko.mPerspectiveOrigin[0].set(v.horizontal);

View file

@ -1451,20 +1451,17 @@ ${helpers.single_keyword("scroll-behavior",
spec="https://drafts.csswg.org/cssom-view/#propdef-scroll-behavior", spec="https://drafts.csswg.org/cssom-view/#propdef-scroll-behavior",
animation_value_type="discrete")} animation_value_type="discrete")}
${helpers.single_keyword("scroll-snap-type-x", % for axis in ["x", "y"]:
"none mandatory proximity", ${helpers.predefined_type(
products="gecko", "scroll-snap-type-" + axis,
gecko_constant_prefix="NS_STYLE_SCROLL_SNAP_TYPE", "ScrollSnapType",
spec="Nonstandard (https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-snap-type-x)", "computed::ScrollSnapType::None",
animation_value_type="discrete")} products="gecko",
needs_context=False,
<%helpers:longhand products="gecko" name="scroll-snap-type-y" animation_value_type="discrete" spec="Nonstandard (https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-snap-type-x)",
spec="Nonstandard (https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-snap-type-x)"> animation_value_type="discrete"
pub use super::scroll_snap_type_x::SpecifiedValue; )}
pub use super::scroll_snap_type_x::computed_value; % endfor
pub use super::scroll_snap_type_x::get_initial_value;
pub use super::scroll_snap_type_x::parse;
</%helpers:longhand>
// Compositing and Blending Level 1 // Compositing and Blending Level 1
// http://www.w3.org/TR/compositing-1/ // http://www.w3.org/TR/compositing-1/

View file

@ -9,7 +9,7 @@ use values::computed::length::LengthOrPercentage;
use values::generics::box_::AnimationIterationCount as GenericAnimationIterationCount; use values::generics::box_::AnimationIterationCount as GenericAnimationIterationCount;
use values::generics::box_::VerticalAlign as GenericVerticalAlign; use values::generics::box_::VerticalAlign as GenericVerticalAlign;
pub use values::specified::box_::AnimationName; pub use values::specified::box_::{AnimationName, ScrollSnapType};
/// A computed value for the `vertical-align` property. /// A computed value for the `vertical-align` property.
pub type VerticalAlign = GenericVerticalAlign<LengthOrPercentage>; pub type VerticalAlign = GenericVerticalAlign<LengthOrPercentage>;

View file

@ -36,7 +36,7 @@ pub use self::angle::Angle;
pub use self::background::{BackgroundSize, BackgroundRepeat}; pub use self::background::{BackgroundSize, BackgroundRepeat};
pub use self::border::{BorderImageSlice, BorderImageWidth, BorderImageSideWidth}; pub use self::border::{BorderImageSlice, BorderImageWidth, BorderImageSideWidth};
pub use self::border::{BorderRadius, BorderCornerRadius, BorderSpacing}; pub use self::border::{BorderRadius, BorderCornerRadius, BorderSpacing};
pub use self::box_::{AnimationIterationCount, AnimationName, VerticalAlign}; pub use self::box_::{AnimationIterationCount, AnimationName, ScrollSnapType, VerticalAlign};
pub use self::color::{Color, ColorPropertyValue, RGBAColor}; pub use self::color::{Color, ColorPropertyValue, RGBAColor};
pub use self::effects::{BoxShadow, Filter, SimpleShadow}; pub use self::effects::{BoxShadow, Filter, SimpleShadow};
pub use self::flex::FlexBasis; pub use self::flex::FlexBasis;

View file

@ -110,3 +110,10 @@ impl Parse for AnimationName {
Ok(AnimationName(None)) Ok(AnimationName(None))
} }
} }
define_css_keyword_enum! { ScrollSnapType:
"none" => None,
"mandatory" => Mandatory,
"proximity" => Proximity,
}
add_impls_for_keyword_enum!(ScrollSnapType);

View file

@ -30,7 +30,7 @@ pub use self::align::{AlignItems, AlignJustifyContent, AlignJustifySelf, Justify
pub use self::background::{BackgroundRepeat, BackgroundSize}; pub use self::background::{BackgroundRepeat, BackgroundSize};
pub use self::border::{BorderCornerRadius, BorderImageSlice, BorderImageWidth}; pub use self::border::{BorderCornerRadius, BorderImageSlice, BorderImageWidth};
pub use self::border::{BorderImageSideWidth, BorderRadius, BorderSideWidth, BorderSpacing}; pub use self::border::{BorderImageSideWidth, BorderRadius, BorderSideWidth, BorderSpacing};
pub use self::box_::{AnimationIterationCount, AnimationName, VerticalAlign}; pub use self::box_::{AnimationIterationCount, AnimationName, ScrollSnapType, VerticalAlign};
pub use self::color::{Color, ColorPropertyValue, RGBAColor}; pub use self::color::{Color, ColorPropertyValue, RGBAColor};
pub use self::effects::{BoxShadow, Filter, SimpleShadow}; pub use self::effects::{BoxShadow, Filter, SimpleShadow};
pub use self::flex::FlexBasis; pub use self::flex::FlexBasis;