From 84a5a2fca65f005d3cfecda993da6153d5caffe0 Mon Sep 17 00:00:00 2001 From: Xidorn Quan Date: Fri, 28 Aug 2015 17:50:04 +1000 Subject: [PATCH] Bug 1141895 part 1 - Add unprefixed values for unicode-bidi. r=jfkthame MozReview-Commit-ID: EUNCaYUfyzN --HG-- extra : rebase_source : 95661b4204638f70c905a4f0bebb8195813fe680 --- layout/style/nsCSSKeywordList.h | 2 + layout/style/nsCSSProps.cpp | 3 + layout/style/test/property_database.js | 2 +- layout/style/test/test_default_bidi_css.html | 58 ++++++++++---------- 4 files changed, 35 insertions(+), 30 deletions(-) diff --git a/layout/style/nsCSSKeywordList.h b/layout/style/nsCSSKeywordList.h index a36a9e7080be..7969fc4fc6c4 100644 --- a/layout/style/nsCSSKeywordList.h +++ b/layout/style/nsCSSKeywordList.h @@ -335,6 +335,7 @@ CSS_KEY(inside, inside) 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) @@ -439,6 +440,7 @@ 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) diff --git a/layout/style/nsCSSProps.cpp b/layout/style/nsCSSProps.cpp index a79bdc80f47c..96876c8db4fd 100644 --- a/layout/style/nsCSSProps.cpp +++ b/layout/style/nsCSSProps.cpp @@ -2110,6 +2110,9 @@ 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 }, diff --git a/layout/style/test/property_database.js b/layout/style/test/property_database.js index 90b325bf381b..4d89b74f0ab0 100644 --- a/layout/style/test/property_database.js +++ b/layout/style/test/property_database.js @@ -3903,7 +3903,7 @@ var gCSSProperties = { 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": { diff --git a/layout/style/test/test_default_bidi_css.html b/layout/style/test/test_default_bidi_css.html index 3da5047500e3..bad34137f891 100644 --- a/layout/style/test/test_default_bidi_css.html +++ b/layout/style/test/test_default_bidi_css.html @@ -25,47 +25,47 @@ function styleOf(name, attributes) { } 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");