summaryrefslogtreecommitdiff
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.chromium7
-rw-r--r--chromium/third_party/icu/common/icudtb.datbin10196592 -> 10197152 bytes
-rw-r--r--chromium/third_party/icu/common/icudtl.datbin10196592 -> 10197152 bytes
-rw-r--r--chromium/third_party/icu/patches/persian_cal.patch51
-rw-r--r--chromium/third_party/icu/source/data/misc/metaZones.txt19
-rw-r--r--chromium/third_party/icu/source/data/misc/windowsZones.txt23
-rw-r--r--chromium/third_party/icu/source/data/misc/zoneinfo64.txt113
-rw-r--r--chromium/third_party/icu/source/i18n/gregoimp.cpp5
-rw-r--r--chromium/third_party/icu/source/i18n/gregoimp.h11
-rw-r--r--chromium/third_party/icu/source/i18n/persncal.cpp2
10 files changed, 164 insertions, 67 deletions
diff --git a/chromium/third_party/icu/README.chromium b/chromium/third_party/icu/README.chromium
index abefb878612..d48c31f6c16 100644
--- a/chromium/third_party/icu/README.chromium
+++ b/chromium/third_party/icu/README.chromium
@@ -318,3 +318,10 @@ D. Local Modifications
https://ssl.icu-project.org/trac/ticket/12770
- patches/timezone_detection.patch
+
+13. Persian calendar range fix.
+
+ https://ssl.icu-project.org/trac/changeset/40654
+ http://crbug.com/774382
+
+ - patches/persian_cal.patch (fixed in ICU 60.1)
diff --git a/chromium/third_party/icu/common/icudtb.dat b/chromium/third_party/icu/common/icudtb.dat
index 099fff40afa..e48fd0e4d07 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 a9c427fbf11..13c7a1f5b66 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/patches/persian_cal.patch b/chromium/third_party/icu/patches/persian_cal.patch
new file mode 100644
index 00000000000..d0014c4702d
--- /dev/null
+++ b/chromium/third_party/icu/patches/persian_cal.patch
@@ -0,0 +1,51 @@
+diff --git a/source/i18n/gregoimp.cpp b/source/i18n/gregoimp.cpp
+index e62044b3..537aa19d 100644
+--- a/source/i18n/gregoimp.cpp
++++ b/source/i18n/gregoimp.cpp
+@@ -27,6 +27,11 @@ int32_t ClockMath::floorDivide(int32_t numerator, int32_t denominator) {
+ numerator / denominator : ((numerator + 1) / denominator) - 1;
+ }
+
++int64_t ClockMath::floorDivide(int64_t numerator, int64_t denominator) {
++ return (numerator >= 0) ?
++ numerator / denominator : ((numerator + 1) / denominator) - 1;
++}
++
+ int32_t ClockMath::floorDivide(double numerator, int32_t denominator,
+ int32_t& remainder) {
+ double quotient;
+diff --git a/source/i18n/gregoimp.h b/source/i18n/gregoimp.h
+index b3074167..afaacda0 100644
+--- a/source/i18n/gregoimp.h
++++ b/source/i18n/gregoimp.h
+@@ -40,6 +40,17 @@ class ClockMath {
+ */
+ static int32_t floorDivide(int32_t numerator, int32_t denominator);
+
++ /**
++ * Divide two integers, returning the floor of the quotient.
++ * Unlike the built-in division, this is mathematically
++ * well-behaved. E.g., <code>-1/4</code> => 0 but
++ * <code>floorDivide(-1,4)</code> => -1.
++ * @param numerator the numerator
++ * @param denominator a divisor which must be != 0
++ * @return the floor of the quotient
++ */
++ static int64_t floorDivide(int64_t numerator, int64_t denominator);
++
+ /**
+ * Divide two numbers, returning the floor of the quotient.
+ * Unlike the built-in division, this is mathematically
+diff --git a/source/i18n/persncal.cpp b/source/i18n/persncal.cpp
+index f66ac676..f38f779f 100644
+--- a/source/i18n/persncal.cpp
++++ b/source/i18n/persncal.cpp
+@@ -213,7 +213,7 @@ void PersianCalendar::handleComputeFields(int32_t julianDay, UErrorCode &/*statu
+ int32_t year, month, dayOfMonth, dayOfYear;
+
+ int32_t daysSinceEpoch = julianDay - PERSIAN_EPOCH;
+- year = 1 + ClockMath::floorDivide(33 * daysSinceEpoch + 3, 12053);
++ year = 1 + (int32_t)ClockMath::floorDivide(33 * (int64_t)daysSinceEpoch + 3, (int64_t)12053);
+
+ int32_t farvardin1 = 365 * (year - 1) + ClockMath::floorDivide(8 * year + 21, 33);
+ dayOfYear = (daysSinceEpoch - farvardin1); // 0-based
diff --git a/chromium/third_party/icu/source/data/misc/metaZones.txt b/chromium/third_party/icu/source/data/misc/metaZones.txt
index 5af96ba9152..e90883d24c6 100644
--- a/chromium/third_party/icu/source/data/misc/metaZones.txt
+++ b/chromium/third_party/icu/source/data/misc/metaZones.txt
@@ -912,6 +912,11 @@ metaZones:table(nofallback){
{
"Africa_Eastern",
"2000-01-15 10:00",
+ "2017-10-31 21:00",
+ }
+ {
+ "Africa_Central",
+ "2017-10-31 21:00",
"9999-12-31 23:59",
}
}
@@ -1078,11 +1083,16 @@ metaZones:table(nofallback){
{
"Africa_Central",
"1990-03-20 22:00",
- "1994-04-02 22:00",
+ "1994-03-20 22:00",
}
{
"Africa_Western",
- "1994-04-02 22:00",
+ "1994-03-20 22:00",
+ "2017-09-03 01:00",
+ }
+ {
+ "Africa_Central",
+ "2017-09-03 01:00",
"9999-12-31 23:59",
}
}
@@ -1637,6 +1647,11 @@ metaZones:table(nofallback){
{
"Atlantic",
"2015-11-01 06:00",
+ "2018-03-11 07:00",
+ }
+ {
+ "America_Eastern",
+ "2018-03-11 07:00",
"9999-12-31 23:59",
}
}
diff --git a/chromium/third_party/icu/source/data/misc/windowsZones.txt b/chromium/third_party/icu/source/data/misc/windowsZones.txt
index fdad2a665c8..ec393d912b0 100644
--- a/chromium/third_party/icu/source/data/misc/windowsZones.txt
+++ b/chromium/third_party/icu/source/data/misc/windowsZones.txt
@@ -58,7 +58,7 @@ windowsZones:table(nofallback){
}
"Astrakhan Standard Time"{
001{"Europe/Astrakhan"}
- RU{"Europe/Astrakhan Europe/Saratov Europe/Ulyanovsk"}
+ RU{"Europe/Astrakhan Europe/Ulyanovsk"}
}
"Atlantic Standard Time"{
001{"America/Halifax"}
@@ -372,6 +372,11 @@ windowsZones:table(nofallback){
001{"Asia/Magadan"}
RU{"Asia/Magadan"}
}
+ "Magallanes Standard Time"{
+ 001{"America/Punta_Arenas"}
+ AQ{"Antarctica/Palmer"}
+ CL{"America/Punta_Arenas"}
+ }
"Marquesas Standard Time"{
001{"Pacific/Marquesas"}
PF{"Pacific/Marquesas"}
@@ -503,12 +508,11 @@ windowsZones:table(nofallback){
}
"SA Eastern Standard Time"{
001{"America/Cayenne"}
- AQ{"Antarctica/Rothera Antarctica/Palmer"}
+ AQ{"Antarctica/Rothera"}
BR{
"America/Fortaleza America/Belem America/Maceio America/Recife Americ"
"a/Santarem"
}
- CL{"America/Punta_Arenas"}
FK{"Atlantic/Stanley"}
GF{"America/Cayenne"}
SR{"America/Paramaribo"}
@@ -579,6 +583,10 @@ windowsZones:table(nofallback){
001{"Pacific/Apia"}
WS{"Pacific/Apia"}
}
+ "Saratov Standard Time"{
+ 001{"Europe/Saratov"}
+ RU{"Europe/Saratov"}
+ }
"Singapore Standard Time"{
001{"Asia/Singapore"}
BN{"Asia/Brunei"}
@@ -637,10 +645,7 @@ windowsZones:table(nofallback){
}
"Tonga Standard Time"{
001{"Pacific/Tongatapu"}
- KI{"Pacific/Enderbury"}
- TK{"Pacific/Fakaofo"}
TO{"Pacific/Tongatapu"}
- ZZ{"Etc/GMT-13"}
}
"Transbaikal Standard Time"{
001{"Asia/Chita"}
@@ -681,6 +686,12 @@ windowsZones:table(nofallback){
WF{"Pacific/Wallis"}
ZZ{"Etc/GMT-12"}
}
+ "UTC+13"{
+ 001{"Etc/GMT-13"}
+ KI{"Pacific/Enderbury"}
+ TK{"Pacific/Fakaofo"}
+ ZZ{"Etc/GMT-13"}
+ }
"UTC-02"{
001{"Etc/GMT+2"}
BR{"America/Noronha"}
diff --git a/chromium/third_party/icu/source/data/misc/zoneinfo64.txt b/chromium/third_party/icu/source/data/misc/zoneinfo64.txt
index 872958f9017..154470b3ac5 100644
--- a/chromium/third_party/icu/source/data/misc/zoneinfo64.txt
+++ b/chromium/third_party/icu/source/data/misc/zoneinfo64.txt
@@ -3,17 +3,17 @@
// License & terms of use: http://www.unicode.org/copyright.html#License
//---------------------------------------------------------
// Build tool: tz2icu
-// Build date: Mon Mar 20 17:49:58 2017
+// Build date: Tue Oct 24 17:35:27 2017
// tz database: ftp://ftp.iana.org/tz/
-// tz version: 2017b
-// ICU version: 59.1
+// tz version: 2017c
+// ICU version: 60.1
//---------------------------------------------------------
// >> !!! >> THIS IS A MACHINE-GENERATED FILE << !!! <<
// >> !!! >>> DO NOT EDIT <<< !!! <<
//---------------------------------------------------------
zoneinfo64:table(nofallback) {
- TZVersion { "2017b" }
+ TZVersion { "2017c" }
Zones:array {
/* ACT */ :int { 354 } //Z#0
/* AET */ :int { 366 } //Z#1
@@ -100,13 +100,16 @@ zoneinfo64:table(nofallback) {
typeMap:bin { "010203020302" }
links:intvector { 30, 44, 45 }
} //Z#30
- /* Africa/Juba */ :int { 33 } //Z#31
+ /* Africa/Juba */ :table {
+ trans:intvector { -1230775588, 10360800, 24786000, 41810400, 56322000, 73432800, 87944400, 104882400, 119480400, 136332000, 151016400, 167781600, 182552400, 199231200, 214174800, 230680800, 245710800, 262735200, 277246800, 294184800, 308782800, 325634400, 340405200, 357084000, 371941200, 388533600, 403477200, 419983200, 435013200, 452037600, 466635600, 483487200, 498171600, 947930400 }
+ typeOffsets:intvector { 7588, 0, 7200, 0, 7200, 3600, 10800, 0 }
+ typeMap:bin { "01020102010201020102010201020102010201020102010201020102010201020103" }
+ } //Z#31
/* Africa/Kampala */ :int { 48 } //Z#32
/* Africa/Khartoum */ :table {
- trans:intvector { -1230775808, 10360800, 24786000, 41810400, 56322000, 73432800, 87944400, 104882400, 119480400, 136332000, 151016400, 167781600, 182552400, 199231200, 214174800, 230680800, 245710800, 262735200, 277246800, 294184800, 308782800, 325634400, 340405200, 357084000, 371941200, 388533600, 403477200, 419983200, 435013200, 452037600, 466635600, 483487200, 498171600, 947930400 }
+ trans:intvector { -1230775808, 10360800, 24786000, 41810400, 56322000, 73432800, 87944400, 104882400, 119480400, 136332000, 151016400, 167781600, 182552400, 199231200, 214174800, 230680800, 245710800, 262735200, 277246800, 294184800, 308782800, 325634400, 340405200, 357084000, 371941200, 388533600, 403477200, 419983200, 435013200, 452037600, 466635600, 483487200, 498171600, 947930400, 1509483600 }
typeOffsets:intvector { 7808, 0, 7200, 0, 7200, 3600, 10800, 0 }
- typeMap:bin { "01020102010201020102010201020102010201020102010201020102010201020103" }
- links:intvector { 31, 33 }
+ typeMap:bin { "0102010201020102010201020102010201020102010201020102010201020102010301" }
} //Z#33
/* Africa/Kigali */ :int { 43 } //Z#34
/* Africa/Kinshasa */ :int { 36 } //Z#35
@@ -167,17 +170,14 @@ zoneinfo64:table(nofallback) {
} //Z#57
/* Africa/Windhoek */ :table {
transPre32:intvector { -1, 1836796792 }
- trans:intvector { -2109288600, -860976000, -845254800, 765324000, 778640400, 796780800, 810090000 }
+ trans:intvector { -2109288600, -860976000, -845254800, 764200800, 778640400, 796780800, 810090000, 828835200, 841539600, 860284800, 873594000, 891734400, 905043600, 923184000, 936493200, 954633600, 967942800, 986083200, 999392400, 1018137600, 1030842000, 1049587200, 1062896400, 1081036800, 1094346000, 1112486400, 1125795600, 1143936000, 1157245200, 1175385600, 1188694800, 1207440000, 1220749200, 1238889600, 1252198800, 1270339200, 1283648400, 1301788800, 1315098000, 1333238400, 1346547600, 1365292800, 1377997200, 1396742400, 1410051600, 1428192000, 1441501200, 1459641600, 1472950800, 1491091200, 1504400400 }
typeOffsets:intvector { 4104, 0, 3600, 0, 3600, 3600, 5400, 0, 7200, 0, 7200, 3600 }
- typeMap:bin { "0304050401020102" }
- finalRule { "Namibia" }
- finalRaw:int { 3600 }
- finalYear:int { 1996 }
+ typeMap:bin { "03040504010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020104" }
} //Z#58
/* America/Adak */ :table {
- transPre32:intvector { -1, 1069611295, -1, 2106022494 }
+ transPre32:intvector { -1, 1069743569, -1, 2106022494 }
trans:intvector { -880196400, -765374400, -21466800, -5745600, 9982800, 25704000, 41432400, 57758400, 73486800, 89208000, 104936400, 120657600, 126709200, 152107200, 162392400, 183556800, 199285200, 215611200, 230734800, 247060800, 262789200, 278510400, 294238800, 309960000, 325688400, 341409600, 357138000, 372859200, 388587600, 404913600, 420037200, 436363200, 452088000, 467809200, 483537600, 499258800, 514987200, 530708400, 544622400, 562158000, 576072000, 594212400, 607521600, 625662000, 638971200, 657111600, 671025600, 688561200, 702475200, 720010800, 733924800, 752065200, 765374400, 783514800, 796824000, 814964400, 828878400, 846414000, 860328000, 877863600, 891777600, 909313200, 923227200, 941367600, 954676800, 972817200, 986126400, 1004266800, 1018180800, 1035716400, 1049630400, 1067166000, 1081080000, 1099220400, 1112529600, 1130670000, 1143979200, 1162119600, 1173614400, 1194174000 }
- typeOffsets:intvector { 44001, 0, -42398, 0, -39600, 0, -39600, 3600, -36000, 0, -36000, 3600 }
+ typeOffsets:intvector { 44002, 0, -42398, 0, -39600, 0, -39600, 3600, -36000, 0, -36000, 3600 }
typeMap:bin { "01020302030203020302030203020302030203020302030203020302030203020304050405040504050405040504050405040504050405040504050405040504050405040504050405040504050405040504" }
finalRule { "US" }
finalRaw:int { -36000 }
@@ -185,7 +185,7 @@ zoneinfo64:table(nofallback) {
links:intvector { 59, 80, 615 }
} //Z#59
/* America/Anchorage */ :table {
- transPre32:intvector { -1, 1069604872, -1, 2106016072 }
+ transPre32:intvector { -1, 1069743569, -1, 2106016072 }
trans:intvector { -880200000, -765378000, -21470400, -5749200, 9979200, 25700400, 41428800, 57754800, 73483200, 89204400, 104932800, 120654000, 126705600, 152103600, 162388800, 183553200, 199281600, 215607600, 230731200, 247057200, 262785600, 278506800, 294235200, 309956400, 325684800, 341406000, 357134400, 372855600, 388584000, 404910000, 420033600, 436359600, 452084400, 467805600, 483534000, 499255200, 514983600, 530704800, 544618800, 562154400, 576068400, 594208800, 607518000, 625658400, 638967600, 657108000, 671022000, 688557600, 702471600, 720007200, 733921200, 752061600, 765370800, 783511200, 796820400, 814960800, 828874800, 846410400, 860324400, 877860000, 891774000, 909309600, 923223600, 941364000, 954673200, 972813600, 986122800, 1004263200, 1018177200, 1035712800, 1049626800, 1067162400, 1081076400, 1099216800, 1112526000, 1130666400, 1143975600, 1162116000, 1173610800, 1194170400 }
typeOffsets:intvector { 50424, 0, -36000, 0, -36000, 3600, -35976, 0, -32400, 0, -32400, 3600 }
typeMap:bin { "03010201020102010201020102010201020102010201020102010201020102010204050405040504050405040504050405040504050405040504050405040504050405040504050405040504050405040504" }
@@ -461,9 +461,9 @@ zoneinfo64:table(nofallback) {
links:intvector { 109, 204, 543, 623 }
} //Z#109
/* America/Detroit */ :table {
- trans:intvector { -2051202469, -1724083200, -880218000, -765396000, -684349200, -671047200, -80499600, -68666400, 104914800, 120636000, 126687600, 152085600, 167814000, 183535200, 199263600, 215589600, 230713200, 247039200, 262767600, 278488800, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600, 452070000, 467791200, 483519600, 499240800, 514969200, 530690400, 544604400, 562140000, 576054000, 594194400, 607503600, 625644000, 638953200, 657093600, 671007600, 688543200, 702457200, 719992800, 733906800, 752047200, 765356400, 783496800, 796806000, 814946400, 828860400, 846396000, 860310000, 877845600, 891759600, 909295200, 923209200, 941349600, 954658800, 972799200, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600, 1173596400, 1194156000 }
+ trans:intvector { -2051202469, -1724083200, -880218000, -765396000, -684349200, -671047200, 104914800, 120636000, 126687600, 152085600, 167814000, 183535200, 199263600, 215589600, 230713200, 247039200, 262767600, 278488800, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600, 452070000, 467791200, 483519600, 499240800, 514969200, 530690400, 544604400, 562140000, 576054000, 594194400, 607503600, 625644000, 638953200, 657093600, 671007600, 688543200, 702457200, 719992800, 733906800, 752047200, 765356400, 783496800, 796806000, 814946400, 828860400, 846396000, 860310000, 877845600, 891759600, 909295200, 923209200, 941349600, 954658800, 972799200, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600, 1173596400, 1194156000 }
typeOffsets:intvector { -19931, 0, -21600, 0, -18000, 0, -18000, 3600 }
- typeMap:bin { "010203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302" }
+ typeMap:bin { "01020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302" }
finalRule { "US" }
finalRaw:int { -18000 }
finalYear:int { 2008 }
@@ -529,9 +529,12 @@ zoneinfo64:table(nofallback) {
} //Z#121
/* America/Grand_Turk */ :table {
transPre32:intvector { -1, 1770462768 }
- trans:intvector { -1827687169, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600, 452070000, 467791200, 483519600, 499240800, 514969200, 530690400, 544604400, 562140000, 576054000, 594194400, 607503600, 625644000, 638953200, 657093600, 671007600, 688543200, 702457200, 719992800, 733906800, 752047200, 765356400, 783496800, 796806000, 814946400, 828860400, 846396000, 860310000, 877845600, 891759600, 909295200, 923209200, 941349600, 954658800, 972799200, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600, 1173596400, 1194156000, 1205046000, 1225605600, 1236495600, 1257055200, 1268550000, 1289109600, 1299999600, 1320559200, 1331449200, 1352008800, 1362898800, 1383458400, 1394348400, 1414908000, 1425798000, 1446357600 }
+ trans:intvector { -1827687169, 294217200, 309938400, 325666800, 341388000, 357116400, 372837600, 388566000, 404892000, 420015600, 436341600, 452070000, 467791200, 483519600, 499240800, 514969200, 530690400, 544604400, 562140000, 576054000, 594194400, 607503600, 625644000, 638953200, 657093600, 671007600, 688543200, 702457200, 719992800, 733906800, 752047200, 765356400, 783496800, 796806000, 814946400, 828860400, 846396000, 860310000, 877845600, 891759600, 909295200, 923209200, 941349600, 954658800, 972799200, 986108400, 1004248800, 1018162800, 1035698400, 1049612400, 1067148000, 1081062000, 1099202400, 1112511600, 1130652000, 1143961200, 1162101600, 1173596400, 1194156000, 1205046000, 1225605600, 1236495600, 1257055200, 1268550000, 1289109600, 1299999600, 1320559200, 1331449200, 1352008800, 1362898800, 1383458400, 1394348400, 1414908000, 1425798000, 1446357600, 1520751600, 1541311200 }
typeOffsets:intvector { -17072, 0, -18431, 0, -18000, 0, -18000, 3600, -14400, 0 }
- typeMap:bin { "01020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020304" }
+ typeMap:bin { "010203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203040302" }
+ finalRule { "US" }
+ finalRaw:int { -18000 }
+ finalYear:int { 2019 }
} //Z#122
/* America/Grenada */ :int { 186 } //Z#123
/* America/Guadeloupe */ :int { 186 } //Z#124
@@ -674,7 +677,7 @@ zoneinfo64:table(nofallback) {
} //Z#142
/* America/Jujuy */ :int { 68 } //Z#143
/* America/Juneau */ :table {
- transPre32:intvector { -1, 1069601157, -1, 2106012357 }
+ transPre32:intvector { -1, 1069743569, -1, 2106012357 }
trans:intvector { -880207200, -765385200, -21477600, -5756400, 9972000, 25693200, 41421600, 57747600, 73476000, 89197200, 104925600, 120646800, 126698400, 152096400, 162381600, 183546000, 199274400, 215600400, 230724000, 247050000, 262778400, 278499600, 294228000, 309949200, 325677600, 341402400, 357127200, 372848400, 388576800, 404902800, 420026400, 436352400, 452084400, 467805600, 483534000, 499255200, 514983600, 530704800, 544618800, 562154400, 576068400, 594208800, 607518000, 625658400, 638967600, 657108000, 671022000, 688557600, 702471600, 720007200, 733921200, 752061600, 765370800, 783511200, 796820400, 814960800, 828874800, 846410400, 860324400, 877860000, 891774000, 909309600, 923223600, 941364000, 954673200, 972813600, 986122800, 1004263200, 1018177200, 1035712800, 1049626800, 1067162400, 1081076400, 1099216800, 1112526000, 1130666400, 1143975600, 1162116000, 1173610800, 1194170400 }
typeOffsets:intvector { 54139, 0, -32400, 0, -32400, 3600, -32261, 0, -28800, 0, -28800, 3600 }
typeMap:bin { "03040504050405040504050405040504050405040504050405040204050405040501020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201" }
@@ -785,7 +788,7 @@ zoneinfo64:table(nofallback) {
finalYear:int { 2003 }
} //Z#163
/* America/Metlakatla */ :table {
- transPre32:intvector { -1, 1069600474, -1, 2106011674 }
+ transPre32:intvector { -1, 1069743569, -1, 2106011674 }
trans:intvector { -880207200, -765385200, -21477600, -5756400, 9972000, 25693200, 41421600, 57747600, 73476000, 89197200, 104925600, 120646800, 126698400, 152096400, 162381600, 183546000, 199274400, 215600400, 230724000, 247050000, 262778400, 278499600, 294228000, 309949200, 325677600, 341398800, 357127200, 372848400, 388576800, 404902800, 420026400, 436352400, 1446372000, 1457866800, 1478426400 }
typeOffsets:intvector { 54822, 0, -32400, 0, -32400, 3600, -31578, 0, -28800, 0, -28800, 3600 }
typeMap:bin { "03040504050405040504050405040504050405040504050405040504050405040504010201" }
@@ -862,9 +865,9 @@ zoneinfo64:table(nofallback) {
finalYear:int { 2008 }
} //Z#174
/* America/Nome */ :table {
- transPre32:intvector { -1, 1069608595, -1, 2106019794 }
+ transPre32:intvector { -1, 1069743569, -1, 2106019794 }
trans:intvector { -880196400, -765374400, -21466800, -5745600, 9982800, 25704000, 41432400, 57758400, 73486800, 89208000, 104936400, 120657600, 126709200, 152107200, 162392400, 183556800, 199285200, 215611200, 230734800, 247060800, 262789200, 278510400, 294238800, 309960000, 325688400, 341409600, 357138000, 372859200, 388587600, 404913600, 420037200, 436363200, 452084400, 467805600, 483534000, 499255200, 514983600, 530704800, 544618800, 562154400, 576068400, 594208800, 607518000, 625658400, 638967600, 657108000, 671022000, 688557600, 702471600, 720007200, 733921200, 752061600, 765370800, 783511200, 796820400, 814960800, 828874800, 846410400, 860324400, 877860000, 891774000, 909309600, 923223600, 941364000, 954673200, 972813600, 986122800, 1004263200, 1018177200, 1035712800, 1049626800, 1067162400, 1081076400, 1099216800, 1112526000, 1130666400, 1143975600, 1162116000, 1173610800, 1194170400 }
- typeOffsets:intvector { 46701, 0, -39698, 0, -39600, 0, -39600, 3600, -32400, 0, -32400, 3600 }
+ typeOffsets:intvector { 46702, 0, -39698, 0, -39600, 0, -39600, 3600, -32400, 0, -32400, 3600 }
typeMap:bin { "01020302030203020302030203020302030203020302030203020302030203020304050405040504050405040504050405040504050405040504050405040504050405040504050405040504050405040504" }
finalRule { "US" }
finalRaw:int { -32400 }
@@ -1056,7 +1059,7 @@ zoneinfo64:table(nofallback) {
} //Z#203
/* America/Shiprock */ :int { 109 } //Z#204
/* America/Sitka */ :table {
- transPre32:intvector { -1, 1069601369, -1, 2106012569 }
+ transPre32:intvector { -1, 1069743569, -1, 2106012569 }
trans:intvector { -880207200, -765385200, -21477600, -5756400, 9972000, 25693200, 41421600, 57747600, 73476000, 89197200, 104925600, 120646800, 126698400, 152096400, 162381600, 183546000, 199274400, 215600400, 230724000, 247050000, 262778400, 278499600, 294228000, 309949200, 325677600, 341398800, 357127200, 372848400, 388576800, 404902800, 420026400, 436352400, 452084400, 467805600, 483534000, 499255200, 514983600, 530704800, 544618800, 562154400, 576068400, 594208800, 607518000, 625658400, 638967600, 657108000, 671022000, 688557600, 702471600, 720007200, 733921200, 752061600, 765370800, 783511200, 796820400, 814960800, 828874800, 846410400, 860324400, 877860000, 891774000, 909309600, 923223600, 941364000, 954673200, 972813600, 986122800, 1004263200, 1018177200, 1035712800, 1049626800, 1067162400, 1081076400, 1099216800, 1112526000, 1130666400, 1143975600, 1162116000, 1173610800, 1194170400 }
typeOffsets:intvector { 53927, 0, -32473, 0, -32400, 0, -32400, 3600, -28800, 0, -28800, 3600 }
typeMap:bin { "01040504050405040504050405040504050405040504050405040504050405040502030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302" }
@@ -1157,7 +1160,7 @@ zoneinfo64:table(nofallback) {
links:intvector { 222, 384 }
} //Z#222
/* America/Yakutat */ :table {
- transPre32:intvector { -1, 1069602431, -1, 2106013631 }
+ transPre32:intvector { -1, 1069743569, -1, 2106013631 }
trans:intvector { -880203600, -765381600, -21474000, -5752800, 9975600, 25696800, 41425200, 57751200, 73479600, 89200800, 104929200, 120650400, 126702000, 152100000, 162385200, 183549600, 199278000, 215604000, 230727600, 247053600, 262782000, 278503200, 294231600, 309952800, 325681200, 341402400, 357130800, 372852000, 388580400, 404906400, 420030000, 436356000, 452084400, 467805600, 483534000, 499255200, 514983600, 530704800, 544618800, 562154400, 576068400, 594208800, 607518000, 625658400, 638967600, 657108000, 671022000, 688557600, 702471600, 720007200, 733921200, 752061600, 765370800, 783511200, 796820400, 814960800, 828874800, 846410400, 860324400, 877860000, 891774000, 909309600, 923223600, 941364000, 954673200, 972813600, 986122800, 1004263200, 1018177200, 1035712800, 1049626800, 1067162400, 1081076400, 1099216800, 1112526000, 1130666400, 1143975600, 1162116000, 1173610800, 1194170400 }
typeOffsets:intvector { 52865, 0, -33535, 0, -32400, 0, -32400, 3600 }
typeMap:bin { "01020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302030203020302" }
@@ -1365,9 +1368,12 @@ zoneinfo64:table(nofallback) {
typeMap:bin { "010304030403040304030403040304030403040304030201" }
} //Z#266
/* Asia/Famagusta */ :table {
- trans:intvector { -1518920148, 166572000, 182293200, 200959200, 213829200, 228866400, 243982800, 260316000, 276123600, 291765600, 307486800, 323820000, 338936400, 354664800, 370386000, 386114400, 401835600, 417564000, 433285200, 449013600, 465339600, 481068000, 496789200, 512517600, 528238800, 543967200, 559688400, 575416800, 591138000, 606866400, 622587600, 638316000, 654642000, 670370400, 686091600, 701820000, 717541200, 733269600, 748990800, 764719200, 780440400, 796168800, 811890000, 828223200, 843944400, 859672800, 875394000, 891122400, 909277200, 922582800, 941331600, 954032400, 972781200, 985482000, 1004230800, 1017536400, 1035680400, 1048986000, 1067130000, 1080435600, 1099184400, 1111885200, 1130634000, 1143334800, 1162083600, 1174784400, 1193533200, 1206838800, 1224982800, 1238288400, 1256432400, 1269738000, 1288486800, 1301187600, 1319936400, 1332637200, 1351386000, 1364691600, 1382835600, 1396141200, 1414285200, 1427590800, 1445734800, 1459040400, 1473282000 }
+ trans:intvector { -1518920148, 166572000, 182293200, 200959200, 213829200, 228866400, 243982800, 260316000, 276123600, 291765600, 307486800, 323820000, 338936400, 354664800, 370386000, 386114400, 401835600, 417564000, 433285200, 449013600, 465339600, 481068000, 496789200, 512517600, 528238800, 543967200, 559688400, 575416800, 591138000, 606866400, 622587600, 638316000, 654642000, 670370400, 686091600, 701820000, 717541200, 733269600, 748990800, 764719200, 780440400, 796168800, 811890000, 828223200, 843944400, 859672800, 875394000, 891122400, 909277200, 922582800, 941331600, 954032400, 972781200, 985482000, 1004230800, 1017536400, 1035680400, 1048986000, 1067130000, 1080435600, 1099184400, 1111885200, 1130634000, 1143334800, 1162083600, 1174784400, 1193533200, 1206838800, 1224982800, 1238288400, 1256432400, 1269738000, 1288486800, 1301187600, 1319936400, 1332637200, 1351386000, 1364691600, 1382835600, 1396141200, 1414285200, 1427590800, 1445734800, 1459040400, 1473282000, 1509238800, 1521939600, 1540688400 }
typeOffsets:intvector { 8148, 0, 7200, 0, 7200, 3600, 10800, 0 }
- typeMap:bin { "01020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010203" }
+ typeMap:bin { "01020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010201020102010203010201" }
+ finalRule { "EUAsia" }
+ finalRaw:int { 7200 }
+ finalYear:int { 2019 }
} //Z#267
/* Asia/Gaza */ :table {
transPre32:intvector { -1, 2109557424 }
@@ -1462,10 +1468,10 @@ zoneinfo64:table(nofallback) {
typeMap:bin { "01030403040304030403040304030403040304030403020103040304030403040304030403040304030403040304030403050605060506050605060506050605070503" }
} //Z#285
/* Asia/Kolkata */ :table {
- transPre32:intvector { -1, 1454805288 }
- trans:intvector { -891582800, -872058600, -862637400, -764145000 }
- typeOffsets:intvector { 21208, 0, 19800, 0, 19800, 3600, 21200, 0, 23400, 0 }
- typeMap:bin { "0304010201" }
+ transPre32:intvector { -1, 649730088, -1, 1139272496 }
+ trans:intvector { -2019705670, -891581400, -872058600, -862637400, -764145000 }
+ typeOffsets:intvector { 21208, 0, 19270, 0, 19800, 0, 19800, 3600, 21200, 0 }
+ typeMap:bin { "04010203020302" }
links:intvector { 255, 286, 512 }
} //Z#286
/* Asia/Krasnoyarsk */ :table {
@@ -1680,8 +1686,8 @@ zoneinfo64:table(nofallback) {
typeMap:bin { "0103040304030403040304030403040304030403040302010304030403040304030403040304030403040304030403040304030403040304030403040304030503" }
} //Z#332
/* Asia/Yangon */ :table {
- trans:intvector { -1577946280, -873268200, -778410000 }
- typeOffsets:intvector { 23080, 0, 23400, 0, 32400, 0 }
+ trans:intvector { -1577946287, -873268200, -778410000 }
+ typeOffsets:intvector { 23087, 0, 23400, 0, 32400, 0 }
typeMap:bin { "010201" }
links:intvector { 307, 333 }
} //Z#333
@@ -2134,7 +2140,7 @@ zoneinfo64:table(nofallback) {
} //Z#451
/* Europe/Dublin */ :table {
transPre32:intvector { -1, 1473317596 }
- trans:intvector { -1691962479, -1680471279, -1664143200, -1650146400, -1633903200, -1617487200, -1601848800, -1586037600, -1570399200, -1552168800, -1538344800, -1522533600, -1507500000, -1490565600, -1473631200, -1460930400, -1442786400, -1428876000, -1410732000, -1396216800, -1379282400, -1364767200, -1348437600, -1333317600, -1315778400, -1301263200, -1284328800, -1269813600, -1253484000, -1238364000, -1221429600, -1206914400, -1189980000, -1175464800, -1159135200, -1143410400, -1126476000, -1111960800, -1095631200, -1080511200, -1063576800, -1049061600, -1032127200, -1017612000, -1001282400, -986162400, -969228000, -950479200, -942012000, -733359600, -719445600, -699490800, -684972000, -668037600, -654732000, -636588000, -622072800, -605743200, -590623200, -574293600, -558568800, -542239200, -527119200, -512604000, -496274400, -481154400, -464220000, -449704800, -432165600, -417650400, -401320800, -386200800, -369266400, -354751200, -337816800, -323301600, -306972000, -291852000, -276732000, -257983200, -245282400, -226533600, -213228000, -195084000, -182383200, -163634400, -150933600, -132184800, -119484000, -100735200, -88034400, -68680800, -59004000, -37242000, 57722400, 69818400, 89172000, 101268000, 120621600, 132717600, 152071200, 164167200, 183520800, 196221600, 214970400, 227671200, 246420000, 259120800, 278474400, 290570400, 309924000, 322020000, 341373600, 354675600, 372819600, 386125200, 404269200, 417574800, 435718800, 449024400, 467773200, 481078800, 499222800, 512528400, 530672400, 543978000, 562122000, 575427600, 593571600, 606877200, 625626000, 638326800, 657075600, 670381200, 688525200, 701830800, 719974800, 733280400, 751424400, 764730000, 782874000, 796179600, 814323600, 828234000, 846378000 }
+ trans:intvector { -1691962479, -1680471279, -1664143200, -1650146400, -1633903200, -1617487200, -1601848800, -1586037600, -1570399200, -1552168800, -1538344800, -1522533600, -1507500000, -1490565600, -1473631200, -1460930400, -1442786400, -1428876000, -1410732000, -1396216800, -1379282400, -1364767200, -1348437600, -1333317600, -1315778400, -1301263200, -1284328800, -1269813600, -1253484000, -1238364000, -1221429600, -1206914400, -1189980000, -1175464800, -1159135200, -1143410400, -1126476000, -1111960800, -1095631200, -1080511200, -1063576800, -1049061600, -1032127200, -1017612000, -1001282400, -986162400, -969228000, -950479200, -942012000, -733356000, -719445600, -699487200, -684972000, -668037600, -654732000, -636588000, -622072800, -605743200, -590623200, -574293600, -558568800, -542239200, -527119200, -512604000, -496274400, -481154400, -464220000, -449704800, -432165600, -417650400, -401320800, -386200800, -369266400, -354751200, -337816800, -323301600, -306972000, -291852000, -276732000, -257983200, -245282400, -226533600, -213228000, -195084000, -182383200, -163634400, -150933600, -132184800, -119484000, -100735200, -88034400, -68680800, -59004000, -37242000, 57722400, 69818400, 89172000, 101268000, 120621600, 132717600, 152071200, 164167200, 183520800, 196221600, 214970400, 227671200, 246420000, 259120800, 278474400, 290570400, 309924000, 322020000, 341373600, 354675600, 372819600, 386125200, 404269200, 417574800, 435718800, 449024400, 467773200, 481078800, 499222800, 512528400, 530672400, 543978000, 562122000, 575427600, 593571600, 606877200, 625626000, 638326800, 657075600, 670381200, 688525200, 701830800, 719974800, 733280400, 751424400, 764730000, 782874000, 796179600, 814323600, 828234000, 846378000 }
typeOffsets:intvector { -1500, 0, -1521, 0, -1521, 3600, 0, 0, 0, 3600, 3600, 0 }
typeMap:bin { "0102030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030405030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403040304030403" }
finalRule { "EU" }
@@ -2537,7 +2543,7 @@ zoneinfo64:table(nofallback) {
finalYear:int { 2008 }
} //Z#549
/* Pacific/Apia */ :table {
- transPre32:intvector { -1, 1439229312 }
+ transPre32:intvector { -1, 1849542912 }
trans:intvector { -1861878784, -631110600, 1285498800, 1301752800, 1316872800, 1325239200, 1333202400, 1348927200 }
typeOffsets:intvector { 45184, 0, -41400, 0, -41216, 0, -39600, 0, -39600, 3600, 46800, 0, 46800, 3600 }
typeMap:bin { "020103040304060506" }
@@ -2701,7 +2707,7 @@ zoneinfo64:table(nofallback) {
typeMap:bin { "01020102010201" }
} //Z#576
/* Pacific/Pago_Pago */ :table {
- transPre32:intvector { -1, 1439229064 }
+ transPre32:intvector { -1, 1849542664 }
trans:intvector { -1861879032 }
typeOffsets:intvector { 45432, 0, -40968, 0, -39600, 0 }
typeMap:bin { "0102" }
@@ -2750,12 +2756,9 @@ zoneinfo64:table(nofallback) {
} //Z#587
/* Pacific/Tongatapu */ :table {
transPre32:intvector { -1, 2117470136 }
- trans:intvector { -915193200, 939214800, 953384400, 973342800, 980596800, 1004792400, 1012046400, 1478350800, 1484398800, 1509800400 }
+ trans:intvector { -915193200, 939214800, 953384400, 973342800, 980596800, 1004792400, 1012046400, 1478350800, 1484398800 }
typeOffsets:intvector { 44360, 0, 44400, 0, 46800, 0, 46800, 3600 }
- typeMap:bin { "0102030203020302030203" }
- finalRule { "Tonga" }
- finalRaw:int { 46800 }
- finalYear:int { 2018 }
+ typeMap:bin { "01020302030203020302" }
} //Z#588
/* Pacific/Truk */ :int { 554 } //Z#589
/* Pacific/Wake */ :table {
@@ -3104,7 +3107,7 @@ zoneinfo64:table(nofallback) {
2, -31, -1, 3600, 2, 9, -31, -1, 3600, 2, 3600
} //_#11
Fiji:intvector {
- 10, 1, -1, 7200, 0, 0, 15, -1, 10800, 0, 3600
+ 10, 1, -1, 7200, 0, 0, 14, -1, 10800, 0, 3600
} //_#12
Haiti:intvector {
2, 8, -1, 7200, 0, 10, 1, -1, 7200, 0, 3600
@@ -3133,39 +3136,33 @@ zoneinfo64:table(nofallback) {
NZ:intvector {
8, -30, -1, 7200, 1, 3, 1, -1, 7200, 1, 3600
} //_#21
- Namibia:intvector {
- 8, 1, -1, 7200, 0, 3, 1, -1, 7200, 0, 3600
- } //_#22
Palestine:intvector {
2, -31, -7, 3600, 0, 9, -31, -7, 3600, 0, 3600
- } //_#23
+ } //_#22
Para:intvector {
9, 1, -1, 0, 0, 2, 22, -1, 0, 0, 3600
- } //_#24
+ } //_#23
Syria:intvector {
2, -31, -6, 0, 0, 9, -31, -6, 0, 0, 3600
- } //_#25
+ } //_#24
SystemV:intvector {
3, -30, -1, 7200, 0, 9, -31, -1, 7200, 0, 3600
- } //_#26
+ } //_#25
Thule:intvector {
2, 8, -1, 7200, 0, 10, 1, -1, 7200, 0, 3600
- } //_#27
- Tonga:intvector {
- 10, 1, -1, 7200, 0, 0, 15, -1, 10800, 0, 3600
- } //_#28
+ } //_#26
Troll:intvector {
2, -31, -1, 3600, 2, 9, -31, -1, 3600, 2, 7200
- } //_#29
+ } //_#27
US:intvector {
2, 8, -1, 7200, 0, 10, 1, -1, 7200, 0, 3600
- } //_#30
+ } //_#28
WS:intvector {
8, -30, -1, 10800, 0, 3, 1, -1, 14400, 0, 3600
- } //_#31
+ } //_#29
Zion:intvector {
2, 23, -6, 7200, 0, 9, -31, -1, 7200, 0, 3600
- } //_#32
+ } //_#30
}
Regions:array {
"AU", //Z#0 ACT
diff --git a/chromium/third_party/icu/source/i18n/gregoimp.cpp b/chromium/third_party/icu/source/i18n/gregoimp.cpp
index e62044b361a..537aa19d8a4 100644
--- a/chromium/third_party/icu/source/i18n/gregoimp.cpp
+++ b/chromium/third_party/icu/source/i18n/gregoimp.cpp
@@ -27,6 +27,11 @@ int32_t ClockMath::floorDivide(int32_t numerator, int32_t denominator) {
numerator / denominator : ((numerator + 1) / denominator) - 1;
}
+int64_t ClockMath::floorDivide(int64_t numerator, int64_t denominator) {
+ return (numerator >= 0) ?
+ numerator / denominator : ((numerator + 1) / denominator) - 1;
+}
+
int32_t ClockMath::floorDivide(double numerator, int32_t denominator,
int32_t& remainder) {
double quotient;
diff --git a/chromium/third_party/icu/source/i18n/gregoimp.h b/chromium/third_party/icu/source/i18n/gregoimp.h
index b30741679df..afaacda0b41 100644
--- a/chromium/third_party/icu/source/i18n/gregoimp.h
+++ b/chromium/third_party/icu/source/i18n/gregoimp.h
@@ -41,6 +41,17 @@ class ClockMath {
static int32_t floorDivide(int32_t numerator, int32_t denominator);
/**
+ * Divide two integers, returning the floor of the quotient.
+ * Unlike the built-in division, this is mathematically
+ * well-behaved. E.g., <code>-1/4</code> => 0 but
+ * <code>floorDivide(-1,4)</code> => -1.
+ * @param numerator the numerator
+ * @param denominator a divisor which must be != 0
+ * @return the floor of the quotient
+ */
+ static int64_t floorDivide(int64_t numerator, int64_t denominator);
+
+ /**
* Divide two numbers, returning the floor of the quotient.
* Unlike the built-in division, this is mathematically
* well-behaved. E.g., <code>-1/4</code> => 0 but
diff --git a/chromium/third_party/icu/source/i18n/persncal.cpp b/chromium/third_party/icu/source/i18n/persncal.cpp
index f66ac676a4a..f38f779fea9 100644
--- a/chromium/third_party/icu/source/i18n/persncal.cpp
+++ b/chromium/third_party/icu/source/i18n/persncal.cpp
@@ -213,7 +213,7 @@ void PersianCalendar::handleComputeFields(int32_t julianDay, UErrorCode &/*statu
int32_t year, month, dayOfMonth, dayOfYear;
int32_t daysSinceEpoch = julianDay - PERSIAN_EPOCH;
- year = 1 + ClockMath::floorDivide(33 * daysSinceEpoch + 3, 12053);
+ year = 1 + (int32_t)ClockMath::floorDivide(33 * (int64_t)daysSinceEpoch + 3, (int64_t)12053);
int32_t farvardin1 = 365 * (year - 1) + ClockMath::floorDivide(8 * year + 21, 33);
dayOfYear = (daysSinceEpoch - farvardin1); // 0-based