summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/icu
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/icu')
-rw-r--r--chromium/third_party/icu/README.chromium9
-rw-r--r--chromium/third_party/icu/cast/icudtl.datbin5101760 -> 5115168 bytes
-rw-r--r--chromium/third_party/icu/chromeos/icudtl.datbin10380672 -> 10394080 bytes
-rw-r--r--chromium/third_party/icu/common/icudtb.datbin10396864 -> 10410272 bytes
-rw-r--r--chromium/third_party/icu/common/icudtl.datbin10396864 -> 10410272 bytes
-rw-r--r--chromium/third_party/icu/filters/android.json5
-rw-r--r--chromium/third_party/icu/filters/android_small.json5
-rw-r--r--chromium/third_party/icu/filters/cast.json5
-rw-r--r--chromium/third_party/icu/filters/chromeos.json5
-rw-r--r--chromium/third_party/icu/filters/common.json5
-rw-r--r--chromium/third_party/icu/filters/flutter.json5
-rw-r--r--chromium/third_party/icu/flutter/icudtl.datbin894736 -> 908144 bytes
-rw-r--r--chromium/third_party/icu/patches/timezone.patch52
-rwxr-xr-xchromium/third_party/icu/scripts/copy_data.sh7
-rw-r--r--chromium/third_party/icu/source/i18n/timezone.cpp20
-rw-r--r--chromium/third_party/icu/tzres/metaZones.resbin0 -> 41484 bytes
-rw-r--r--chromium/third_party/icu/tzres/timezoneTypes.resbin0 -> 20052 bytes
-rw-r--r--chromium/third_party/icu/tzres/zoneinfo64.resbin0 -> 154224 bytes
18 files changed, 83 insertions, 35 deletions
diff --git a/chromium/third_party/icu/README.chromium b/chromium/third_party/icu/README.chromium
index 4c8e9b0fb58..c75f49a1ed5 100644
--- a/chromium/third_party/icu/README.chromium
+++ b/chromium/third_party/icu/README.chromium
@@ -205,7 +205,7 @@ D. Local Modifications
windowsZones.txt
zoneinfo64.txt
- As of Dec 31, 2018, the latest version is 2018i and the above files
+ As of May 7, 2019, the latest version is 2019a and the above files
are available at the ICU github repos.
4. Build-related changes
@@ -258,3 +258,10 @@ D. Local Modifications
https://unicode-org.atlassian.net/browse/ICU-20391
- upstream PR:
https://github.com/unicode-org/icu/pull/628
+
+9. Timezone breakage patch
+ - patches/timezone.patch
+ - upstream bug:
+ https://unicode-org.atlassian.net/browse/ICU-20595
+ - upstream PR:
+ https://github.com/unicode-org/icu/pull/649
diff --git a/chromium/third_party/icu/cast/icudtl.dat b/chromium/third_party/icu/cast/icudtl.dat
index 6b72db42cc1..7d493f69cad 100644
--- a/chromium/third_party/icu/cast/icudtl.dat
+++ b/chromium/third_party/icu/cast/icudtl.dat
Binary files differ
diff --git a/chromium/third_party/icu/chromeos/icudtl.dat b/chromium/third_party/icu/chromeos/icudtl.dat
index 20d9a305662..f0d4aca98c9 100644
--- a/chromium/third_party/icu/chromeos/icudtl.dat
+++ b/chromium/third_party/icu/chromeos/icudtl.dat
Binary files differ
diff --git a/chromium/third_party/icu/common/icudtb.dat b/chromium/third_party/icu/common/icudtb.dat
index 00aab097946..9429366ec85 100644
--- a/chromium/third_party/icu/common/icudtb.dat
+++ b/chromium/third_party/icu/common/icudtb.dat
Binary files differ
diff --git a/chromium/third_party/icu/common/icudtl.dat b/chromium/third_party/icu/common/icudtl.dat
index 195f6f8ed7f..0a6596ae65c 100644
--- a/chromium/third_party/icu/common/icudtl.dat
+++ b/chromium/third_party/icu/common/icudtl.dat
Binary files differ
diff --git a/chromium/third_party/icu/filters/android.json b/chromium/third_party/icu/filters/android.json
index 1ee8f13242f..38be85f6393 100644
--- a/chromium/third_party/icu/filters/android.json
+++ b/chromium/third_party/icu/filters/android.json
@@ -756,11 +756,6 @@
// https://cs.chromium.org/chromium/src/third_party/icu/patches/data.build.patch?rcl=797b7c
"unames": {
"filterType": "exclude"
- },
-// Based on the --disable-layout mentioned in
-// https://cs.chromium.org/chromium/src/third_party/icu/README.chromium?rcl=797b7c
- "ulayout": {
- "filterType": "exclude"
}
},
// Based on the ICU63 version of
diff --git a/chromium/third_party/icu/filters/android_small.json b/chromium/third_party/icu/filters/android_small.json
index 68a19c8df8d..e002a075575 100644
--- a/chromium/third_party/icu/filters/android_small.json
+++ b/chromium/third_party/icu/filters/android_small.json
@@ -739,11 +739,6 @@
// https://cs.chromium.org/chromium/src/third_party/icu/patches/data.build.patch?rcl=797b7c
"unames": {
"filterType": "exclude"
- },
-// Based on the --disable-layout mentioned in
-// https://cs.chromium.org/chromium/src/third_party/icu/README.chromium?rcl=797b7c
- "ulayout": {
- "filterType": "exclude"
}
},
// Based on the ICU63 version of
diff --git a/chromium/third_party/icu/filters/cast.json b/chromium/third_party/icu/filters/cast.json
index a1709eab4d1..7a1e8251811 100644
--- a/chromium/third_party/icu/filters/cast.json
+++ b/chromium/third_party/icu/filters/cast.json
@@ -796,11 +796,6 @@
// https://cs.chromium.org/chromium/src/third_party/icu/patches/data.build.patch?rcl=797b7c
"unames": {
"filterType": "exclude"
- },
-// Based on the --disable-layout mentioned in
-// https://cs.chromium.org/chromium/src/third_party/icu/README.chromium?rcl=797b7c
- "ulayout": {
- "filterType": "exclude"
}
},
// Based on the ICU63 version of
diff --git a/chromium/third_party/icu/filters/chromeos.json b/chromium/third_party/icu/filters/chromeos.json
index 5e28c076f83..d3de23c5bbc 100644
--- a/chromium/third_party/icu/filters/chromeos.json
+++ b/chromium/third_party/icu/filters/chromeos.json
@@ -784,11 +784,6 @@
// https://cs.chromium.org/chromium/src/third_party/icu/patches/data.build.patch?rcl=797b7c
"unames": {
"filterType": "exclude"
- },
-// Based on the --disable-layout mentioned in
-// https://cs.chromium.org/chromium/src/third_party/icu/README.chromium?rcl=797b7c
- "ulayout": {
- "filterType": "exclude"
}
},
// Based on the ICU63 version of
diff --git a/chromium/third_party/icu/filters/common.json b/chromium/third_party/icu/filters/common.json
index 3219e8ad064..9750dcf2be8 100644
--- a/chromium/third_party/icu/filters/common.json
+++ b/chromium/third_party/icu/filters/common.json
@@ -784,11 +784,6 @@
// https://cs.chromium.org/chromium/src/third_party/icu/patches/data.build.patch?rcl=797b7c
"unames": {
"filterType": "exclude"
- },
-// Based on the --disable-layout mentioned in
-// https://cs.chromium.org/chromium/src/third_party/icu/README.chromium?rcl=797b7c
- "ulayout": {
- "filterType": "exclude"
}
},
// Based on the ICU63 version of
diff --git a/chromium/third_party/icu/filters/flutter.json b/chromium/third_party/icu/filters/flutter.json
index bda4b98bbee..91ea4fde4a9 100644
--- a/chromium/third_party/icu/filters/flutter.json
+++ b/chromium/third_party/icu/filters/flutter.json
@@ -722,11 +722,6 @@
// https://cs.chromium.org/chromium/src/third_party/icu/patches/data.build.patch?rcl=797b7c
"unames": {
"filterType": "exclude"
- },
-// Based on the --disable-layout mentioned in
-// https://cs.chromium.org/chromium/src/third_party/icu/README.chromium?rcl=797b7c
- "ulayout": {
- "filterType": "exclude"
}
},
// Based on the ICU63 version of
diff --git a/chromium/third_party/icu/flutter/icudtl.dat b/chromium/third_party/icu/flutter/icudtl.dat
index c501eb4fc86..3606735a793 100644
--- a/chromium/third_party/icu/flutter/icudtl.dat
+++ b/chromium/third_party/icu/flutter/icudtl.dat
Binary files differ
diff --git a/chromium/third_party/icu/patches/timezone.patch b/chromium/third_party/icu/patches/timezone.patch
new file mode 100644
index 00000000000..bf7e1729aef
--- /dev/null
+++ b/chromium/third_party/icu/patches/timezone.patch
@@ -0,0 +1,52 @@
+diff --git a/source/i18n/timezone.cpp b/source/i18n/timezone.cpp
+index f129d8b6..32214d72 100644
+--- a/source/i18n/timezone.cpp
++++ b/source/i18n/timezone.cpp
+@@ -527,6 +527,11 @@ TimeZone::detectHostTimeZone()
+
+ // -------------------------------------
+
++static UMutex *gDefaultZoneMutex() {
++ static UMutex* m = new UMutex();
++ return m;
++}
++
+ /**
+ * Initialize DEFAULT_ZONE from the system default time zone.
+ * Upon return, DEFAULT_ZONE will not be NULL, unless operator new()
+@@ -536,6 +541,7 @@ static void U_CALLCONV initDefault()
+ {
+ ucln_i18n_registerCleanup(UCLN_I18N_TIMEZONE, timeZone_cleanup);
+
++ Mutex lock(gDefaultZoneMutex());
+ // If setDefault() has already been called we can skip getting the
+ // default zone information from the system.
+ if (DEFAULT_ZONE != NULL) {
+@@ -571,7 +577,10 @@ TimeZone* U_EXPORT2
+ TimeZone::createDefault()
+ {
+ umtx_initOnce(gDefaultZoneInitOnce, initDefault);
+- return (DEFAULT_ZONE != NULL) ? DEFAULT_ZONE->clone() : NULL;
++ {
++ Mutex lock(gDefaultZoneMutex());
++ return (DEFAULT_ZONE != NULL) ? DEFAULT_ZONE->clone() : NULL;
++ }
+ }
+
+ // -------------------------------------
+@@ -581,9 +590,12 @@ TimeZone::adoptDefault(TimeZone* zone)
+ {
+ if (zone != NULL)
+ {
+- TimeZone *old = DEFAULT_ZONE;
+- DEFAULT_ZONE = zone;
+- delete old;
++ {
++ Mutex lock(gDefaultZoneMutex());
++ TimeZone *old = DEFAULT_ZONE;
++ DEFAULT_ZONE = zone;
++ delete old;
++ }
+ ucln_i18n_registerCleanup(UCLN_I18N_TIMEZONE, timeZone_cleanup);
+ }
+ }
diff --git a/chromium/third_party/icu/scripts/copy_data.sh b/chromium/third_party/icu/scripts/copy_data.sh
index edc16771c42..16820e4a7b9 100755
--- a/chromium/third_party/icu/scripts/copy_data.sh
+++ b/chromium/third_party/icu/scripts/copy_data.sh
@@ -19,6 +19,7 @@ source "${TOPSRC}/scripts/data_common.sh"
function copy_common {
DATA_PREFIX="data/out/tmp/icudt${VERSION}"
+ TZRES_PREFIX="data/out/build/icudt${VERSION}l"
echo "Generating the big endian data bundle"
LD_LIBRARY_PATH=lib bin/icupkg -tb "${DATA_PREFIX}l.dat" "${DATA_PREFIX}b.dat"
@@ -29,6 +30,12 @@ function copy_common {
cp "${DATA_PREFIX}${endian}.dat" "${TOPSRC}/common/icudt${endian}.dat"
done
+ echo "Copying metaZones.res, timezoneTypes.res, zoneinfo64.res"
+ for tzfile in metaZones timezoneTypes zoneinfo64
+ do
+ cp "${TZRES_PREFIX}/${tzfile}.res" "${TOPSRC}/tzres/${tzfile}.res"
+ done
+
echo "Done with copying pre-built ICU data files."
}
diff --git a/chromium/third_party/icu/source/i18n/timezone.cpp b/chromium/third_party/icu/source/i18n/timezone.cpp
index f129d8b6076..129e6a5f27d 100644
--- a/chromium/third_party/icu/source/i18n/timezone.cpp
+++ b/chromium/third_party/icu/source/i18n/timezone.cpp
@@ -527,6 +527,11 @@ TimeZone::detectHostTimeZone()
// -------------------------------------
+static UMutex *gDefaultZoneMutex() {
+ static UMutex* m = new UMutex();
+ return m;
+}
+
/**
* Initialize DEFAULT_ZONE from the system default time zone.
* Upon return, DEFAULT_ZONE will not be NULL, unless operator new()
@@ -536,6 +541,7 @@ static void U_CALLCONV initDefault()
{
ucln_i18n_registerCleanup(UCLN_I18N_TIMEZONE, timeZone_cleanup);
+ Mutex lock(gDefaultZoneMutex());
// If setDefault() has already been called we can skip getting the
// default zone information from the system.
if (DEFAULT_ZONE != NULL) {
@@ -571,7 +577,10 @@ TimeZone* U_EXPORT2
TimeZone::createDefault()
{
umtx_initOnce(gDefaultZoneInitOnce, initDefault);
- return (DEFAULT_ZONE != NULL) ? DEFAULT_ZONE->clone() : NULL;
+ {
+ Mutex lock(gDefaultZoneMutex());
+ return (DEFAULT_ZONE != NULL) ? DEFAULT_ZONE->clone() : NULL;
+ }
}
// -------------------------------------
@@ -581,9 +590,12 @@ TimeZone::adoptDefault(TimeZone* zone)
{
if (zone != NULL)
{
- TimeZone *old = DEFAULT_ZONE;
- DEFAULT_ZONE = zone;
- delete old;
+ {
+ Mutex lock(gDefaultZoneMutex());
+ TimeZone *old = DEFAULT_ZONE;
+ DEFAULT_ZONE = zone;
+ delete old;
+ }
ucln_i18n_registerCleanup(UCLN_I18N_TIMEZONE, timeZone_cleanup);
}
}
diff --git a/chromium/third_party/icu/tzres/metaZones.res b/chromium/third_party/icu/tzres/metaZones.res
new file mode 100644
index 00000000000..a39c3ff8e2f
--- /dev/null
+++ b/chromium/third_party/icu/tzres/metaZones.res
Binary files differ
diff --git a/chromium/third_party/icu/tzres/timezoneTypes.res b/chromium/third_party/icu/tzres/timezoneTypes.res
new file mode 100644
index 00000000000..68cc6204260
--- /dev/null
+++ b/chromium/third_party/icu/tzres/timezoneTypes.res
Binary files differ
diff --git a/chromium/third_party/icu/tzres/zoneinfo64.res b/chromium/third_party/icu/tzres/zoneinfo64.res
new file mode 100644
index 00000000000..7e0afd40558
--- /dev/null
+++ b/chromium/third_party/icu/tzres/zoneinfo64.res
Binary files differ