Bug 1474317: Make text-orientation, unicode-bidi, contain and will-change non-animatable. r=heycam
authorEmilio Cobos Álvarez <emilio@crisal.io>
Tue, 21 Aug 2018 16:42:27 +0200
changeset 490540 4bb2acbf4eb0d386046945e52bdd546fc41ae8e5
parent 490539 53f23b446b29fd9dd32709be5c39b9eb3da9735e
child 490541 e3e6a4d867a447d7c56827a491e6e2330838082b
push id1815
push userffxbld-merge
push dateMon, 15 Oct 2018 10:40:45 +0000
treeherdermozilla-release@18d4c09e9378 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersheycam
bugs1474317
milestone63.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1474317: Make text-orientation, unicode-bidi, contain and will-change non-animatable. r=heycam Per recent CSSWG resolutions: https://github.com/w3c/csswg-drafts/issues/2737 https://github.com/w3c/csswg-drafts/issues/2751 Differential Revision: https://phabricator.services.mozilla.com/D3888
servo/components/style/properties/longhands/box.mako.rs
servo/components/style/properties/longhands/inherited_box.mako.rs
servo/components/style/properties/longhands/text.mako.rs
testing/web-platform/meta/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-001.html.ini
--- a/servo/components/style/properties/longhands/box.mako.rs
+++ b/servo/components/style/properties/longhands/box.mako.rs
@@ -508,24 +508,26 @@
     extra_prefixes=transform_extra_prefixes,
     gecko_ffi_name="mTransformOrigin",
     boxed=True,
     flags="GETCS_NEEDS_LAYOUT_FLUSH",
     spec="https://drafts.csswg.org/css-transforms/#transform-origin-property",
     servo_restyle_damage="reflow_out_of_flow"
 )}
 
-${helpers.predefined_type("contain",
-                          "Contain",
-                          "specified::Contain::empty()",
-                          animation_value_type="discrete",
-                          products="gecko",
-                          flags="CREATES_STACKING_CONTEXT FIXPOS_CB",
-                          gecko_pref="layout.css.contain.enabled",
-                          spec="https://drafts.csswg.org/css-contain/#contain-property")}
+${helpers.predefined_type(
+    "contain",
+    "Contain",
+    "specified::Contain::empty()",
+    animation_value_type="none",
+    products="gecko",
+    flags="CREATES_STACKING_CONTEXT FIXPOS_CB",
+    gecko_pref="layout.css.contain.enabled",
+    spec="https://drafts.csswg.org/css-contain/#contain-property",
+)}
 
 // Non-standard
 ${helpers.predefined_type(
     "-moz-appearance",
     "Appearance",
     "computed::Appearance::None",
     products="gecko",
     alias="-webkit-appearance:layout.css.webkit-appearance.enabled",
@@ -547,17 +549,17 @@
                           spec="Nonstandard (https://developer.mozilla.org/en-US/docs/Web/CSS/-moz-orient)",
                           animation_value_type="discrete")}
 
 ${helpers.predefined_type(
     "will-change",
     "WillChange",
     "computed::WillChange::auto()",
     products="gecko",
-    animation_value_type="discrete",
+    animation_value_type="none",
     spec="https://drafts.csswg.org/css-will-change/#will-change"
 )}
 
 ${helpers.predefined_type(
     "shape-image-threshold", "Opacity", "0.0",
     products="gecko",
     gecko_pref="layout.css.shape-outside.enabled",
     animation_value_type="ComputedValue",
--- a/servo/components/style/properties/longhands/inherited_box.mako.rs
+++ b/servo/components/style/properties/longhands/inherited_box.mako.rs
@@ -35,25 +35,22 @@
     "direction",
     "ltr rtl",
     animation_value_type="none",
     spec="https://drafts.csswg.org/css-writing-modes/#propdef-direction",
     needs_conversion=True,
     servo_restyle_damage="rebuild_and_reflow",
 )}
 
-// TODO(emilio): Should text-orientation be non-animatable? It affects the
-// WritingMode value, but not the logical -> physical mapping of properties,
-// which is the reason direction / writing-mode are non-animatable.
 ${helpers.single_keyword(
     "text-orientation",
     "mixed upright sideways",
     extra_gecko_aliases="sideways-right=sideways",
     products="gecko",
-    animation_value_type="discrete",
+    animation_value_type="none",
     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",
--- a/servo/components/style/properties/longhands/text.mako.rs
+++ b/servo/components/style/properties/longhands/text.mako.rs
@@ -16,21 +16,23 @@
                           "TextOverflow",
                           "computed::TextOverflow::get_initial_value()",
                           animation_value_type="discrete",
                           boxed=True,
                           flags="APPLIES_TO_PLACEHOLDER",
                           spec="https://drafts.csswg.org/css-ui/#propdef-text-overflow",
                           servo_restyle_damage="rebuild_and_reflow")}
 
-${helpers.single_keyword("unicode-bidi",
-                         "normal embed isolate bidi-override isolate-override plaintext",
-                         animation_value_type="discrete",
-                         spec="https://drafts.csswg.org/css-writing-modes/#propdef-unicode-bidi",
-                         servo_restyle_damage="rebuild_and_reflow")}
+${helpers.single_keyword(
+    "unicode-bidi",
+    "normal embed isolate bidi-override isolate-override plaintext",
+    animation_value_type="none",
+    spec="https://drafts.csswg.org/css-writing-modes/#propdef-unicode-bidi",
+    servo_restyle_damage="rebuild_and_reflow",
+)}
 
 ${helpers.predefined_type("text-decoration-line",
                           "TextDecorationLine",
                           "specified::TextDecorationLine::none()",
                           initial_specified_value="specified::TextDecorationLine::none()",
                           animation_value_type="discrete",
                           flags="APPLIES_TO_FIRST_LETTER APPLIES_TO_FIRST_LINE APPLIES_TO_PLACEHOLDER",
                           spec="https://drafts.csswg.org/css-text-decor/#propdef-text-decoration-line",
deleted file mode 100644
--- a/testing/web-platform/meta/web-animations/interfaces/KeyframeEffect/processing-a-keyframes-argument-001.html.ini
+++ /dev/null
@@ -1,25 +0,0 @@
-[processing-a-keyframes-argument-001.html]
-  [non-animatable property 'contain' is not accessed when using a property-indexed keyframe object]
-    expected: FAIL
-
-  [non-animatable property 'textOrientation' is not accessed when using a property-indexed keyframe object]
-    expected: FAIL
-
-  [non-animatable property 'unicodeBidi' is not accessed when using a property-indexed keyframe object]
-    expected: FAIL
-
-  [non-animatable property 'willChange' is not accessed when using a property-indexed keyframe object]
-    expected: FAIL
-
-  [non-animatable property 'contain' is not accessed when using a keyframe sequence]
-    expected: FAIL
-
-  [non-animatable property 'textOrientation' is not accessed when using a keyframe sequence]
-    expected: FAIL
-
-  [non-animatable property 'unicodeBidi' is not accessed when using a keyframe sequence]
-    expected: FAIL
-
-  [non-animatable property 'willChange' is not accessed when using a keyframe sequence]
-    expected: FAIL
-