Bug 1141895 part 1 - Add unprefixed values for unicode-bidi. r?jfkthame draft
authorXidorn Quan <quanxunzhen@gmail.com>
Fri, 28 Aug 2015 17:50:04 +1000
changeset 382741 f12d077713e2f571f321e24029a1e07e8dfc99d7
parent 382609 6e8a68e17e814df310055e07acde3bfcfd278961
child 382742 2237cd2c9646da1f7b573974ff71b91e91308f30
push id21815
push userxquan@mozilla.com
push dateThu, 30 Jun 2016 08:54:14 +0000
reviewersjfkthame
bugs1141895
milestone50.0a1
Bug 1141895 part 1 - Add unprefixed values for unicode-bidi. r?jfkthame MozReview-Commit-ID: EUNCaYUfyzN
layout/style/nsCSSKeywordList.h
layout/style/nsCSSProps.cpp
layout/style/test/property_database.js
layout/style/test/test_default_bidi_css.html
--- a/layout/style/nsCSSKeywordList.h
+++ b/layout/style/nsCSSKeywordList.h
@@ -330,16 +330,17 @@ CSS_KEY(inline-grid, inline_grid)
 CSS_KEY(inline-start, inline_start)
 CSS_KEY(inline-table, inline_table)
 CSS_KEY(inset, inset)
 CSS_KEY(inside, inside)
 // CSS_KEY(inter-character, inter_character) // TODO see bug 1055672
 CSS_KEY(interpolatematrix, interpolatematrix)
 CSS_KEY(intersect, intersect)
 CSS_KEY(isolate, isolate)
+CSS_KEY(isolate-override, isolate_override)
 CSS_KEY(invert, invert)
 CSS_KEY(italic, italic)
 CSS_KEY(japanese-formal, japanese_formal)
 CSS_KEY(japanese-informal, japanese_informal)
 CSS_KEY(jis78, jis78)
 CSS_KEY(jis83, jis83)
 CSS_KEY(jis90, jis90)
 CSS_KEY(jis04, jis04)
@@ -434,16 +435,17 @@ CSS_KEY(padding-box, padding_box)
 CSS_KEY(painted, painted)
 CSS_KEY(pan-x, pan_x)
 CSS_KEY(pan-y, pan_y)
 CSS_KEY(paused, paused)
 CSS_KEY(pc, pc)
 CSS_KEY(perspective, perspective)
 CSS_KEY(petite-caps, petite_caps)
 CSS_KEY(physical, physical)
+CSS_KEY(plaintext, plaintext)
 CSS_KEY(pointer, pointer)
 CSS_KEY(polygon, polygon)
 CSS_KEY(portrait, portrait)
 CSS_KEY(pre, pre)
 CSS_KEY(pre-wrap, pre_wrap)
 CSS_KEY(pre-line, pre_line)
 CSS_KEY(preserve-3d, preserve_3d)
 CSS_KEY(progress, progress)
--- a/layout/style/nsCSSProps.cpp
+++ b/layout/style/nsCSSProps.cpp
@@ -2105,16 +2105,19 @@ const KTableEntry nsCSSProps::kTransitio
   { eCSSKeyword_step_end, NS_STYLE_TRANSITION_TIMING_FUNCTION_STEP_END },
   { eCSSKeyword_UNKNOWN, -1 }
 };
 
 const KTableEntry nsCSSProps::kUnicodeBidiKTable[] = {
   { eCSSKeyword_normal, NS_STYLE_UNICODE_BIDI_NORMAL },
   { eCSSKeyword_embed, NS_STYLE_UNICODE_BIDI_EMBED },
   { eCSSKeyword_bidi_override, NS_STYLE_UNICODE_BIDI_BIDI_OVERRIDE },
+  { eCSSKeyword_isolate, NS_STYLE_UNICODE_BIDI_ISOLATE },
+  { eCSSKeyword_isolate_override, NS_STYLE_UNICODE_BIDI_ISOLATE_OVERRIDE },
+  { eCSSKeyword_plaintext, NS_STYLE_UNICODE_BIDI_PLAINTEXT },
   { eCSSKeyword__moz_isolate, NS_STYLE_UNICODE_BIDI_ISOLATE },
   { eCSSKeyword__moz_isolate_override, NS_STYLE_UNICODE_BIDI_ISOLATE_OVERRIDE },
   { eCSSKeyword__moz_plaintext, NS_STYLE_UNICODE_BIDI_PLAINTEXT },
   { eCSSKeyword_UNKNOWN, -1 }
 };
 
 const KTableEntry nsCSSProps::kUserFocusKTable[] = {
   { eCSSKeyword_none,           NS_STYLE_USER_FOCUS_NONE },
--- a/layout/style/test/property_database.js
+++ b/layout/style/test/property_database.js
@@ -3898,17 +3898,17 @@ var gCSSProperties = {
     other_values: [ "cubic-bezier(0.25, 0.1, 0.25, 1.0)", "linear", "ease-in", "ease-out", "ease-in-out", "linear, ease-in, cubic-bezier(0.1, 0.2, 0.8, 0.9)", "cubic-bezier(0.5, 0.5, 0.5, 0.5)", "cubic-bezier(0.25, 1.5, 0.75, -0.5)", "step-start", "step-end", "steps(1)", "steps(2, start)", "steps(386)", "steps(3, end)" ],
     invalid_values: [ "none", "auto", "cubic-bezier(0.25, 0.1, 0.25)", "cubic-bezier(0.25, 0.1, 0.25, 0.25, 1.0)", "cubic-bezier(-0.5, 0.5, 0.5, 0.5)", "cubic-bezier(1.5, 0.5, 0.5, 0.5)", "cubic-bezier(0.5, 0.5, -0.5, 0.5)", "cubic-bezier(0.5, 0.5, 1.5, 0.5)", "steps(2, step-end)", "steps(0)", "steps(-2)", "steps(0, step-end, 1)" ]
   },
   "unicode-bidi": {
     domProp: "unicodeBidi",
     inherited: false,
     type: CSS_TYPE_LONGHAND,
     initial_values: [ "normal" ],
-    other_values: [ "embed", "bidi-override", "-moz-isolate", "-moz-plaintext", "-moz-isolate-override" ],
+    other_values: [ "embed", "bidi-override", "isolate", "plaintext", "isolate-override", "-moz-isolate", "-moz-plaintext", "-moz-isolate-override" ],
     invalid_values: [ "auto", "none" ]
   },
   "vertical-align": {
     domProp: "verticalAlign",
     inherited: false,
     type: CSS_TYPE_LONGHAND,
     initial_values: [ "baseline" ],
     other_values: [ "sub", "super", "top", "text-top", "middle", "bottom", "text-bottom", "-moz-middle-with-baseline", "15%", "3px", "0.2em", "-5px", "-3%",
--- a/layout/style/test/test_default_bidi_css.html
+++ b/layout/style/test/test_default_bidi_css.html
@@ -20,57 +20,57 @@ function styleOf(name, attributes) {
     for (var name in attributes) {
         var value = attributes[name];
         element.setAttribute(name, value);
     }
     return getComputedStyle(element);
 }
 
 var tests = [
-    ['div', {}, 'ltr', '-moz-isolate'],
-    ['div', {'dir': 'ltr'}, 'ltr', '-moz-isolate'],
-    ['div', {'dir': 'rtl'}, 'rtl', '-moz-isolate'],
-    ['div', {'dir': 'auto'}, 'ltr', '-moz-isolate'],
-    ['div', {'dir': ''}, 'ltr', '-moz-isolate'],
+    ['div', {}, 'ltr', 'isolate'],
+    ['div', {'dir': 'ltr'}, 'ltr', 'isolate'],
+    ['div', {'dir': 'rtl'}, 'rtl', 'isolate'],
+    ['div', {'dir': 'auto'}, 'ltr', 'isolate'],
+    ['div', {'dir': ''}, 'ltr', 'isolate'],
 
     ['span', {}, 'ltr', 'normal'],
-    ['span', {'dir': 'ltr'}, 'ltr', '-moz-isolate'],
-    ['span', {'dir': 'rtl'}, 'rtl', '-moz-isolate'],
-    ['span', {'dir': 'auto'}, 'ltr', '-moz-isolate'],
-    ['span', {'dir': ''}, 'ltr', '-moz-isolate'],
+    ['span', {'dir': 'ltr'}, 'ltr', 'isolate'],
+    ['span', {'dir': 'rtl'}, 'rtl', 'isolate'],
+    ['span', {'dir': 'auto'}, 'ltr', 'isolate'],
+    ['span', {'dir': ''}, 'ltr', 'isolate'],
 
-    ['bdi', {}, 'ltr', '-moz-isolate'],
-    ['bdi', {'dir': 'ltr'}, 'ltr', '-moz-isolate'],
-    ['bdi', {'dir': 'rtl'}, 'rtl', '-moz-isolate'],
-    ['bdi', {'dir': 'auto'}, 'ltr', '-moz-isolate'],
-    ['bdi', {'dir': ''}, 'ltr', '-moz-isolate'],
+    ['bdi', {}, 'ltr', 'isolate'],
+    ['bdi', {'dir': 'ltr'}, 'ltr', 'isolate'],
+    ['bdi', {'dir': 'rtl'}, 'rtl', 'isolate'],
+    ['bdi', {'dir': 'auto'}, 'ltr', 'isolate'],
+    ['bdi', {'dir': ''}, 'ltr', 'isolate'],
 
-    ['output', {}, 'ltr', '-moz-isolate'],
-    ['output', {'dir': 'ltr'}, 'ltr', '-moz-isolate'],
-    ['output', {'dir': 'rtl'}, 'rtl', '-moz-isolate'],
-    ['output', {'dir': 'auto'}, 'ltr', '-moz-isolate'],
-    ['output', {'dir': ''}, 'ltr', '-moz-isolate'],
+    ['output', {}, 'ltr', 'isolate'],
+    ['output', {'dir': 'ltr'}, 'ltr', 'isolate'],
+    ['output', {'dir': 'rtl'}, 'rtl', 'isolate'],
+    ['output', {'dir': 'auto'}, 'ltr', 'isolate'],
+    ['output', {'dir': ''}, 'ltr', 'isolate'],
 
     ['bdo', {}, 'ltr', 'bidi-override'],
     ['bdo', {'dir': 'ltr'}, 'ltr', 'bidi-override'],
     ['bdo', {'dir': 'rtl'}, 'rtl', 'bidi-override'],
-    ['bdo', {'dir': 'auto'}, 'ltr', '-moz-isolate-override'],
+    ['bdo', {'dir': 'auto'}, 'ltr', 'isolate-override'],
     ['bdo', {'dir': ''}, 'ltr', 'bidi-override'],
 
     ['textarea', {}, 'ltr', 'normal'],
-    ['textarea', {'dir': 'ltr'}, 'ltr', '-moz-isolate'],
-    ['textarea', {'dir': 'rtl'}, 'rtl', '-moz-isolate'],
-    ['textarea', {'dir': 'auto'}, 'ltr', '-moz-plaintext'],
-    ['textarea', {'dir': ''}, 'ltr', '-moz-isolate'],
+    ['textarea', {'dir': 'ltr'}, 'ltr', 'isolate'],
+    ['textarea', {'dir': 'rtl'}, 'rtl', 'isolate'],
+    ['textarea', {'dir': 'auto'}, 'ltr', 'plaintext'],
+    ['textarea', {'dir': ''}, 'ltr', 'isolate'],
 
-    ['pre', {}, 'ltr', '-moz-isolate'],
-    ['pre', {'dir': 'ltr'}, 'ltr', '-moz-isolate'],
-    ['pre', {'dir': 'rtl'}, 'rtl', '-moz-isolate'],
-    ['pre', {'dir': 'auto'}, 'ltr', '-moz-plaintext'],
-    ['pre', {'dir': ''}, 'ltr', '-moz-isolate'],
+    ['pre', {}, 'ltr', 'isolate'],
+    ['pre', {'dir': 'ltr'}, 'ltr', 'isolate'],
+    ['pre', {'dir': 'rtl'}, 'rtl', 'isolate'],
+    ['pre', {'dir': 'auto'}, 'ltr', 'plaintext'],
+    ['pre', {'dir': ''}, 'ltr', 'isolate'],
 ].forEach(function (test) {
     var style = styleOf(test[0], test[1]);
     is(style.direction, test[2], "default value for direction");
     is(style.unicodeBidi, test[3], "default value for unicode-bidi");
 });
 
 
 </script>