Skip to content

Commit

Permalink
Implements simple discrete animatable properties
Browse files Browse the repository at this point in the history
  • Loading branch information
daisuke authored and daisuke committed May 29, 2017
1 parent fecfd30 commit 917dbdf
Show file tree
Hide file tree
Showing 17 changed files with 56 additions and 65 deletions.
4 changes: 2 additions & 2 deletions components/style/properties/longhand/border.mako.rs
Expand Up @@ -181,15 +181,15 @@ ${helpers.single_keyword("box-decoration-break", "slice clone",
gecko_enum_prefix="StyleBoxDecorationBreak",
gecko_inexhaustive=True,
spec="https://drafts.csswg.org/css-break/#propdef-box-decoration-break",
products="gecko", animation_value_type="none")}
products="gecko", animation_value_type="discrete")}

${helpers.single_keyword("-moz-float-edge", "content-box margin-box",
gecko_ffi_name="mFloatEdge",
gecko_enum_prefix="StyleFloatEdge",
gecko_inexhaustive=True,
products="gecko",
spec="Nonstandard (https://developer.mozilla.org/en-US/docs/Web/CSS/-moz-float-edge)",
animation_value_type="none")}
animation_value_type="discrete")}

${helpers.predefined_type("border-image-source", "ImageLayer",
initial_value="Either::First(None_)",
Expand Down
26 changes: 12 additions & 14 deletions components/style/properties/longhand/box.mako.rs
Expand Up @@ -152,9 +152,8 @@ ${helpers.single_keyword("-moz-top-layer", "none top",
spec="Internal (not web-exposed)")}

${helpers.single_keyword("position", "static absolute relative fixed",
need_clone="True",
extra_gecko_values="sticky",
animation_value_type="none",
animation_value_type="discrete",
flags="CREATES_STACKING_CONTEXT ABSPOS_CB",
spec="https://drafts.csswg.org/css-position/#position-property")}

Expand All @@ -163,8 +162,7 @@ ${helpers.single_keyword("position", "static absolute relative fixed",
// https://drafts.csswg.org/css-logical-props/#float-clear
extra_specified="inline-start inline-end"
needs_conversion="True"
animation_value_type="none"
need_clone="True"
animation_value_type="discrete"
gecko_enum_prefix="StyleFloat"
gecko_inexhaustive="True"
gecko_ffi_name="mFloat"
Expand Down Expand Up @@ -382,7 +380,7 @@ ${helpers.single_keyword("-servo-overflow-clip-box", "padding-box content-box",
may be standardized in the future (https://developer.mozilla.org/en-US/docs/Web/CSS/overflow-clip-box)")}

${helpers.single_keyword("overflow-clip-box", "padding-box content-box",
products="gecko", animation_value_type="none", internal=True,
products="gecko", animation_value_type="discrete", internal=True,
spec="Internal, not web-exposed, \
may be standardized in the future (https://developer.mozilla.org/en-US/docs/Web/CSS/overflow-clip-box)")}

Expand All @@ -392,14 +390,14 @@ ${helpers.single_keyword("overflow-clip-box", "padding-box content-box",

// FIXME(pcwalton, #2742): Implement scrolling for `scroll` and `auto`.
${helpers.single_keyword("overflow-x", "visible hidden scroll auto",
need_clone=True, animation_value_type="none",
need_clone=True, animation_value_type="discrete",
extra_gecko_values="-moz-hidden-unscrollable",
custom_consts=overflow_custom_consts,
gecko_constant_prefix="NS_STYLE_OVERFLOW",
spec="https://drafts.csswg.org/css-overflow/#propdef-overflow-x")}

// FIXME(pcwalton, #2742): Implement scrolling for `scroll` and `auto`.
<%helpers:longhand name="overflow-y" need_clone="True" animation_value_type="none"
<%helpers:longhand name="overflow-y" need_clone="True" animation_value_type="discrete"
spec="https://drafts.csswg.org/css-overflow/#propdef-overflow-y">
pub use super::overflow_x::{SpecifiedValue, parse, get_initial_value, computed_value};
</%helpers:longhand>
Expand Down Expand Up @@ -2005,14 +2003,14 @@ ${helpers.single_keyword("scroll-behavior",
"auto smooth",
products="gecko",
spec="https://drafts.csswg.org/cssom-view/#propdef-scroll-behavior",
animation_value_type="none")}
animation_value_type="discrete")}

${helpers.single_keyword("scroll-snap-type-x",
"none mandatory proximity",
products="gecko",
gecko_constant_prefix="NS_STYLE_SCROLL_SNAP_TYPE",
spec="Nonstandard (https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-snap-type-x)",
animation_value_type="none")}
animation_value_type="discrete")}

<%helpers:longhand products="gecko" name="scroll-snap-type-y" animation_value_type="none"
spec="Nonstandard (https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-snap-type-x)">
Expand All @@ -2029,7 +2027,7 @@ ${helpers.single_keyword("isolation",
products="gecko",
spec="https://drafts.fxtf.org/compositing/#isolation",
flags="CREATES_STACKING_CONTEXT",
animation_value_type="none")}
animation_value_type="discrete")}

// TODO add support for logical values recto and verso
${helpers.single_keyword("page-break-after",
Expand All @@ -2048,7 +2046,7 @@ ${helpers.single_keyword("page-break-inside",
gecko_ffi_name="mBreakInside",
gecko_constant_prefix="NS_STYLE_PAGE_BREAK",
spec="https://drafts.csswg.org/css2/page.html#propdef-page-break-inside",
animation_value_type="none")}
animation_value_type="discrete")}

// CSS Basic User Interface Module Level 3
// http://dev.w3.org/csswg/css-ui
Expand All @@ -2057,7 +2055,7 @@ ${helpers.single_keyword("resize",
"none both horizontal vertical",
products="gecko",
spec="https://drafts.csswg.org/css-ui/#propdef-resize",
animation_value_type="none")}
animation_value_type="discrete")}


${helpers.predefined_type("perspective",
Expand All @@ -2082,7 +2080,7 @@ ${helpers.single_keyword("backface-visibility",
"visible hidden",
spec="https://drafts.csswg.org/css-transforms/#backface-visibility-property",
extra_prefixes="moz webkit",
animation_value_type="none")}
animation_value_type="discrete")}

${helpers.single_keyword("transform-box",
"border-box fill-box view-box",
Expand All @@ -2098,7 +2096,7 @@ ${helpers.single_keyword("transform-style",
spec="https://drafts.csswg.org/css-transforms/#transform-style-property",
extra_prefixes="moz webkit",
flags="CREATES_STACKING_CONTEXT FIXPOS_CB",
animation_value_type="none")}
animation_value_type="discrete")}

<%helpers:longhand name="transform-origin" animation_value_type="ComputedValue" extra_prefixes="moz webkit" boxed="True"
spec="https://drafts.csswg.org/css-transforms/#transform-origin-property">
Expand Down
6 changes: 3 additions & 3 deletions components/style/properties/longhand/column.mako.rs
Expand Up @@ -37,7 +37,7 @@ ${helpers.predefined_type("column-gap",
spec="https://drafts.csswg.org/css-multicol/#propdef-column-gap")}

${helpers.single_keyword("column-fill", "balance auto", extra_prefixes="moz",
products="gecko", animation_value_type="none",
products="gecko", animation_value_type="discrete",
spec="https://drafts.csswg.org/css-multicol/#propdef-column-fill")}

${helpers.predefined_type("column-rule-width", "BorderWidth", "Au::from_px(3)",
Expand All @@ -55,12 +55,12 @@ ${helpers.predefined_type("column-rule-color", "CSSColor",
spec="https://drafts.csswg.org/css-multicol/#propdef-column-rule-color")}

${helpers.single_keyword("column-span", "none all",
products="gecko", animation_value_type="none",
products="gecko", animation_value_type="discrete",
spec="https://drafts.csswg.org/css-multicol/#propdef-column-span")}

${helpers.single_keyword("column-rule-style",
"none hidden dotted dashed solid double groove ridge inset outset",
products="gecko", extra_prefixes="moz",
gecko_constant_prefix="NS_STYLE_BORDER_STYLE",
animation_value_type="none",
animation_value_type="discrete",
spec="https://drafts.csswg.org/css-multicol/#propdef-column-rule-style")}
2 changes: 1 addition & 1 deletion components/style/properties/longhand/effects.mako.rs
Expand Up @@ -522,6 +522,6 @@ ${helpers.single_keyword("mix-blend-mode",
"""normal multiply screen overlay darken lighten color-dodge
color-burn hard-light soft-light difference exclusion hue
saturation color luminosity""", gecko_constant_prefix="NS_STYLE_BLEND",
animation_value_type="none",
animation_value_type="discrete",
flags="CREATES_STACKING_CONTEXT",
spec="https://drafts.fxtf.org/compositing/#propdef-mix-blend-mode")}
11 changes: 5 additions & 6 deletions components/style/properties/longhand/font.mako.rs
Expand Up @@ -330,7 +330,7 @@ ${helpers.single_keyword_system("font-style",
gecko_constant_prefix="NS_FONT_STYLE",
gecko_ffi_name="mFont.style",
spec="https://drafts.csswg.org/css-fonts/#propdef-font-style",
animation_value_type="none")}
animation_value_type="discrete")}


<% font_variant_caps_custom_consts= { "small-caps": "SMALLCAPS",
Expand All @@ -346,7 +346,7 @@ ${helpers.single_keyword_system("font-variant-caps",
gecko_ffi_name="mFont.variantCaps",
spec="https://drafts.csswg.org/css-fonts/#propdef-font-variant-caps",
custom_consts=font_variant_caps_custom_consts,
animation_value_type="none")}
animation_value_type="discrete")}

<%helpers:longhand name="font-weight" need_clone="True" animation_value_type="ComputedValue"
spec="https://drafts.csswg.org/css-fonts/#propdef-font-weight">
Expand Down Expand Up @@ -1193,7 +1193,7 @@ ${helpers.single_keyword_system("font-kerning",
gecko_ffi_name="mFont.kerning",
gecko_constant_prefix="NS_FONT_KERNING",
spec="https://drafts.csswg.org/css-fonts/#propdef-font-kerning",
animation_value_type="none")}
animation_value_type="discrete")}

/// FIXME: Implement proper handling of each values.
/// https://github.com/servo/servo/issues/15957
Expand Down Expand Up @@ -1772,7 +1772,7 @@ ${helpers.single_keyword_system("font-variant-position",
gecko_ffi_name="mFont.variantPosition",
gecko_constant_prefix="NS_FONT_VARIANT_POSITION",
spec="https://drafts.csswg.org/css-fonts/#propdef-font-variant-position",
animation_value_type="none")}
animation_value_type="discrete")}

<%helpers:longhand name="font-feature-settings" products="gecko" animation_value_type="none"
extra_prefixes="moz" boxed="True"
Expand Down Expand Up @@ -2390,8 +2390,7 @@ ${helpers.single_keyword("-moz-osx-font-smoothing",
gecko_ffi_name="mFont.smoothing",
products="gecko",
spec="Nonstandard (https://developer.mozilla.org/en-US/docs/Web/CSS/font-smooth)",
animation_value_type="none",
need_clone=True)}
animation_value_type="discrete")}

${helpers.predefined_type("-moz-min-font-size-ratio",
"Percentage",
Expand Down
12 changes: 5 additions & 7 deletions components/style/properties/longhand/inherited_box.mako.rs
Expand Up @@ -23,27 +23,25 @@ ${helpers.single_keyword("writing-mode",
rl=horizontal-tb rl-tb=horizontal-tb \
tb=vertical-rl tb-rl=vertical-rl",
experimental=True,
need_clone=True,
animation_value_type="none",
animation_value_type="discrete",
spec="https://drafts.csswg.org/css-writing-modes/#propdef-writing-mode")}

${helpers.single_keyword("direction", "ltr rtl", need_clone=True, animation_value_type="none",
${helpers.single_keyword("direction", "ltr rtl", animation_value_type="discrete",
spec="https://drafts.csswg.org/css-writing-modes/#propdef-direction",
needs_conversion=True)}

${helpers.single_keyword("text-orientation",
"mixed upright sideways",
extra_gecko_aliases="sideways-right=sideways",
products="gecko",
need_clone=True,
animation_value_type="none",
animation_value_type="discrete",
spec="https://drafts.csswg.org/css-writing-modes/#propdef-text-orientation")}

// CSS Color Module Level 4
// https://drafts.csswg.org/css-color/
${helpers.single_keyword("color-adjust",
"economy exact", products="gecko",
animation_value_type="none",
animation_value_type="discrete",
spec="https://drafts.csswg.org/css-color/#propdef-color-adjust")}

<% image_rendering_custom_consts = { "crisp-edges": "CRISPEDGES",
Expand All @@ -55,7 +53,7 @@ ${helpers.single_keyword("image-rendering",
extra_gecko_values="optimizespeed optimizequality -moz-crisp-edges",
extra_servo_values="pixelated crisp-edges",
custom_consts=image_rendering_custom_consts,
animation_value_type="none",
animation_value_type="discrete",
spec="https://drafts.csswg.org/css-images/#propdef-image-rendering")}

// Image Orientation
Expand Down
15 changes: 6 additions & 9 deletions components/style/properties/longhand/inherited_svg.mako.rs
Expand Up @@ -10,27 +10,25 @@
inherited=True,
gecko_name="SVG") %>

// TODO(emilio): Should some of these types be animatable?

// Section 10 - Text

${helpers.single_keyword("text-anchor",
"start middle end",
products="gecko",
animation_value_type="none",
animation_value_type="discrete",
spec="https://www.w3.org/TR/SVG/text.html#TextAnchorProperty")}

// Section 11 - Painting: Filling, Stroking and Marker Symbols
${helpers.single_keyword("color-interpolation",
"srgb auto linearrgb",
products="gecko",
animation_value_type="none",
animation_value_type="discrete",
spec="https://www.w3.org/TR/SVG11/painting.html#ColorInterpolationProperty")}

${helpers.single_keyword("color-interpolation-filters", "linearrgb auto srgb",
products="gecko",
gecko_constant_prefix="NS_STYLE_COLOR_INTERPOLATION",
animation_value_type="none",
animation_value_type="discrete",
spec="https://www.w3.org/TR/SVG11/painting.html#ColorInterpolationFiltersProperty")}

${helpers.predefined_type(
Expand All @@ -48,13 +46,13 @@ ${helpers.predefined_type("fill-opacity", "Opacity", "1.0",
${helpers.single_keyword("fill-rule", "nonzero evenodd",
gecko_enum_prefix="StyleFillRule",
gecko_inexhaustive=True,
products="gecko", animation_value_type="none",
products="gecko", animation_value_type="discrete",
spec="https://www.w3.org/TR/SVG11/painting.html#FillRuleProperty")}

${helpers.single_keyword("shape-rendering",
"auto optimizespeed crispedges geometricprecision",
products="gecko",
animation_value_type="none",
animation_value_type="discrete",
spec="https://www.w3.org/TR/SVG11/painting.html#ShapeRenderingProperty")}

${helpers.predefined_type(
Expand Down Expand Up @@ -114,7 +112,7 @@ ${helpers.single_keyword("clip-rule", "nonzero evenodd",
products="gecko",
gecko_enum_prefix="StyleFillRule",
gecko_inexhaustive=True,
animation_value_type="none",
animation_value_type="discrete",
spec="https://www.w3.org/TR/SVG11/masking.html#ClipRuleProperty")}

${helpers.predefined_type("marker-start", "UrlOrNone", "Either::Second(None_)",
Expand Down Expand Up @@ -267,7 +265,6 @@ ${helpers.predefined_type("marker-end", "UrlOrNone", "Either::Second(None_)",

impl ComputedValueAsSpecified for SpecifiedValue { }
</%helpers:longhand>

<%helpers:vector_longhand name="-moz-context-properties"
animation_value_type="none"
products="gecko"
Expand Down
6 changes: 3 additions & 3 deletions components/style/properties/longhand/inherited_table.mako.rs
Expand Up @@ -8,16 +8,16 @@

${helpers.single_keyword("border-collapse", "separate collapse",
gecko_constant_prefix="NS_STYLE_BORDER",
animation_value_type="none",
animation_value_type="discrete",
spec="https://drafts.csswg.org/css-tables/#propdef-border-collapse")}
${helpers.single_keyword("empty-cells", "show hide",
gecko_constant_prefix="NS_STYLE_TABLE_EMPTY_CELLS",
animation_value_type="none",
animation_value_type="discrete",
spec="https://drafts.csswg.org/css-tables/#propdef-empty-cells")}
${helpers.single_keyword("caption-side", "top bottom",
extra_gecko_values="right left top-outside bottom-outside",
needs_conversion="True",
animation_value_type="none",
animation_value_type="discrete",
spec="https://drafts.csswg.org/css-tables/#propdef-caption-side")}

<%helpers:longhand name="border-spacing" animation_value_type="ComputedValue" boxed="True"
Expand Down

0 comments on commit 917dbdf

Please sign in to comment.