Bug 1215247 - Turn on ICU and Intl API for Android. r?sebastian draft
authorMakoto Kato <m_kato@ga2.so-net.ne.jp>
Mon, 01 Aug 2016 14:14:22 +0900
changeset 395358 0bcf572902b7a467068dc24103f60c339ade4bdc
parent 394995 ffac2798999c5b84f1b4605a1280994bb665a406
child 526982 d3ae6035036cb92ea65e030adc845382470ccb31
push id24756
push userm_kato@ga2.so-net.ne.jp
push dateTue, 02 Aug 2016 02:53:20 +0000
reviewerssebastian
bugs1215247, 26287379, 30692696
milestone51.0a1
Bug 1215247 - Turn on ICU and Intl API for Android. r?sebastian Intl API (ECMA-402) already supports most web browsers such as Edge (including Windows 10 Mobile), Chrome (including Android), and upcoming Safari 10(https://developer.apple.com/library/prerelease/content/releasenotes/General/WhatsNewInSafari/Articles/Safari_10_0.html). Also IDN2008 support, and number control by <input type="number"> require ICU. And, although gfx has own unicode table, we want to remove this if ICU is supported on all platform. Also, new L20N framework (aka L20N) wants to use Intl API to localize UI. So I would like to use ICU as default on Fennec Android. Negative issue is file size. ICU has big table, file size of libxul.so will be following. This support requires additional 4.4MB. before this ... 26287379 bytes after this ... 30692696 bytes Although android OS already has ICU, ICU version is different per OS version. And our ICU requirement is 50.1+ (Android 4.0 uses ICU 48) and exported fucntion name of ICU has ICU version suffix. So we cannot use it. MozReview-Commit-ID: 5R5iNMzWNjS
dom/tests/mochitest/general/test_interfaces.html
dom/workers/test/serviceworkers/test_serviceworker_interfaces.js
dom/workers/test/test_worker_interfaces.js
js/xpconnect/tests/unit/xpcshell.ini
old-configure.in
--- a/dom/tests/mochitest/general/test_interfaces.html
+++ b/dom/tests/mochitest/general/test_interfaces.html
@@ -59,17 +59,17 @@ var ecmaGlobals =
     // NB: We haven't bothered to resolve constants like Infinity and NaN on
     // Xrayed windows (which are seen from the XBL scope). We could support
     // this if needed with some refactoring.
     {name: "Infinity", xbl: false},
     "Int16Array",
     "Int32Array",
     "Int8Array",
     "InternalError",
-    {name: "Intl", android: false},
+    "Intl",
     "Iterator",
     "JSON",
     "Map",
     "Math",
     {name: "NaN", xbl: false},
     "Number",
     "Object",
     "Promise",
--- a/dom/workers/test/serviceworkers/test_serviceworker_interfaces.js
+++ b/dom/workers/test/serviceworkers/test_serviceworker_interfaces.js
@@ -34,17 +34,17 @@ var ecmaGlobals =
     "Float32Array",
     "Float64Array",
     "Function",
     "Infinity",
     "Int16Array",
     "Int32Array",
     "Int8Array",
     "InternalError",
-    {name: "Intl", android: false},
+    "Intl",
     "Iterator",
     "JSON",
     "Map",
     "Math",
     "NaN",
     "Number",
     "Object",
     "Promise",
--- a/dom/workers/test/test_worker_interfaces.js
+++ b/dom/workers/test/test_worker_interfaces.js
@@ -34,17 +34,17 @@ var ecmaGlobals =
     "Float32Array",
     "Float64Array",
     "Function",
     "Infinity",
     "Int16Array",
     "Int32Array",
     "Int8Array",
     "InternalError",
-    {name: "Intl", android: false},
+    "Intl",
     "Iterator",
     "JSON",
     "Map",
     "Math",
     "NaN",
     "Number",
     "Object",
     "Promise",
--- a/js/xpconnect/tests/unit/xpcshell.ini
+++ b/js/xpconnect/tests/unit/xpcshell.ini
@@ -79,18 +79,16 @@ head = head_ongc.js
 [test_onGarbageCollection-03.js]
 head = head_ongc.js
 [test_onGarbageCollection-04.js]
 head = head_ongc.js
 [test_onGarbageCollection-05.js]
 head = head_ongc.js
 [test_reflect_parse.js]
 [test_localeCompare.js]
-# Bug 676965: test fails consistently on Android
-fail-if = os == "android"
 [test_recursive_import.js]
 [test_xpcomutils.js]
 [test_unload.js]
 [test_attributes.js]
 # Bug 676965: test fails consistently on Android
 fail-if = os == "android"
 [test_params.js]
 # Bug 676965: test fails consistently on Android
--- a/old-configure.in
+++ b/old-configure.in
@@ -6606,24 +6606,17 @@ else
 fi
 
 AC_SUBST(PREPROCESS_OPTION)
 
 dnl ========================================================
 dnl ICU Support
 dnl ========================================================
 
-# Internationalization is not built or exposed on Fennec.
-# See Bug 1215256
-
-if test "$MOZ_BUILD_APP" = "mobile/android"; then
-    _INTL_API=no
-else
-    _INTL_API=yes
-fi
+_INTL_API=yes
 
 if test "$MOZ_WIDGET_TOOLKIT" = "cocoa"; then
     USE_ICU=1
 fi
 
 MOZ_CONFIG_ICU()
 
 dnl ========================================================