diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2021-01-22 20:28:19 +0000 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2021-01-22 20:28:19 +0000 |
commit | abaa75b10f899ada8dd05b23cc03205064394bc6 (patch) | |
tree | eca3dd248b73b92013cba00a0fcc1edf2696e19a /www-client/chromium/files/chromium-87-v8-icu68.patch | |
parent | 24fd814c326e282c4321965c31f341dad77e270d (diff) |
gentoo resync : 22.01.2021
Diffstat (limited to 'www-client/chromium/files/chromium-87-v8-icu68.patch')
-rw-r--r-- | www-client/chromium/files/chromium-87-v8-icu68.patch | 192 |
1 files changed, 0 insertions, 192 deletions
diff --git a/www-client/chromium/files/chromium-87-v8-icu68.patch b/www-client/chromium/files/chromium-87-v8-icu68.patch deleted file mode 100644 index 2c274dc1abbf..000000000000 --- a/www-client/chromium/files/chromium-87-v8-icu68.patch +++ /dev/null @@ -1,192 +0,0 @@ -From b0a7f5691113534c2cf771f2dd3cece5e93bc7d4 Mon Sep 17 00:00:00 2001 -From: Frank Tang <ftang@chromium.org> -Date: Tue, 03 Nov 2020 23:20:37 -0800 -Subject: [PATCH] Update to ICU68-1 - -ICU68-1 change the output skeleton format. So we need to change -resolvedOptions code for 68 migration. - -Chromium roll -https://chromium-review.googlesource.com/c/chromium/src/+/2474093 - -Bug: v8:10945 -Change-Id: I3b2c7fbe8abb22df8fa51287c498ca3245b8c55b -Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2477431 -Commit-Queue: Frank Tang <ftang@chromium.org> -Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> -Reviewed-by: Shu-yu Guo <syg@chromium.org> -Cr-Commit-Position: refs/heads/master@{#70972} - -(ported to work with <ICU-68.1 and rebased chromium) ---- - -diff --git a/v8/src/objects/js-number-format.cc b/v8/src/objects/js-number-format.cc -index 45b0eab..d18b133 100644 ---- a/v8/src/objects/js-number-format.cc -+++ b/v8/src/objects/js-number-format.cc -@@ -389,17 +389,20 @@ Handle<String> CurrencySignString(Isolate* isolate, - Handle<String> UnitDisplayString(Isolate* isolate, - const icu::UnicodeString& skeleton) { - // Ex: skeleton as -- // "measure-unit/length-meter .### rounding-mode-half-up unit-width-full-name" -+ // <ICU-68.1: "measure-unit/length-meter .### rounding-mode-half-up unit-width-full-name". -+ // >=ICU-68.1: "unit/length-meter .### rounding-mode-half-up unit-width-full-name" - if (skeleton.indexOf("unit-width-full-name") >= 0) { - return ReadOnlyRoots(isolate).long_string_handle(); - } - // Ex: skeleton as -- // "measure-unit/length-meter .### rounding-mode-half-up unit-width-narrow". -+ // <ICU-68.1: "measure-unit/length-meter .### rounding-mode-half-up unit-width-narrow". -+ // >=ICU-68.1: "unit/length-meter .### rounding-mode-half-up unit-width-narrow". - if (skeleton.indexOf("unit-width-narrow") >= 0) { - return ReadOnlyRoots(isolate).narrow_string_handle(); - } - // Ex: skeleton as -- // "measure-unit/length-foot .### rounding-mode-half-up" -+ // <ICU-68.1: "measure-unit/length-foot .### rounding-mode-half-up" -+ // >=ICU-68.1: "unit/length-foot .### rounding-mode-half-up" - return ReadOnlyRoots(isolate).short_string_handle(); - } - -@@ -422,7 +425,8 @@ Notation NotationFromSkeleton(const icu::UnicodeString& skeleton) { - return Notation::COMPACT; - } - // Ex: skeleton as -- // "measure-unit/length-foot .### rounding-mode-half-up" -+ // <ICU-68.1: "measure-unit/length-foot .### rounding-mode-half-up" -+ // >=ICU-68.1: "unit/length-foot .### rounding-mode-half-up" - return Notation::STANDARD; - } - -@@ -562,14 +566,23 @@ namespace { - - // Ex: percent .### rounding-mode-half-up - // Special case for "percent" --// Ex: "measure-unit/length-kilometer per-measure-unit/duration-hour .### --// rounding-mode-half-up" should return "kilometer-per-unit". --// Ex: "measure-unit/duration-year .### rounding-mode-half-up" should return --// "year". -+// <ICU-68.1: -+// Ex: "measure-unit/length-kilometer per-measure-unit/duration-hour .### -+// rounding-mode-half-up" should return "kilometer-per-unit". -+// Ex: "measure-unit/duration-year .### rounding-mode-half-up" should return -+// >=ICU-68.1: -+// Ex: "unit/milliliter-per-acre .### rounding-mode-half-up" -+// should return "milliliter-per-acre". -+// Ex: "unit/year .### rounding-mode-half-up" should return -+// "year". - std::string UnitFromSkeleton(const icu::UnicodeString& skeleton) { - std::string str; - str = skeleton.toUTF8String<std::string>(str); -+#if U_ICU_VERSION_MAJOR_NUM < 68 - std::string search("measure-unit/"); -+#else -+ std::string search("unit/"); -+#endif - size_t begin = str.find(search); - if (begin == str.npos) { - // Special case for "percent". -@@ -578,20 +591,41 @@ std::string UnitFromSkeleton(const icu::UnicodeString& skeleton) { - } - return ""; - } -+#if U_ICU_VERSION_MAJOR_NUM < 68 - // Skip the type (ex: "length"). - // "measure-unit/length-kilometer per-measure-unit/duration-hour" - // b - begin = str.find("-", begin + search.size()); -+#else -+ // Ex: -+ // "unit/acre .### rounding-mode-half-up" -+ // b -+ // Ex: -+ // "unit/milliliter-per-acre .### rounding-mode-half-up" -+ // b -+ begin += search.size(); -+#endif - if (begin == str.npos) { - return ""; - } -+#if U_ICU_VERSION_MAJOR_NUM < 68 - begin++; // Skip the '-'. -+#endif - // Find the end of the subtype. - size_t end = str.find(" ", begin); -- // "measure-unit/length-kilometer per-measure-unit/duration-hour" -- // b e -+ // <ICU-68.1: -+ // "measure-unit/length-kilometer per-measure-unit/duration-hour" -+ // b e -+ // >=ICU-68.1: -+ // Ex: -+ // "unit/acre .### rounding-mode-half-up" -+ // b e -+ // Ex: -+ // "unit/milliliter-per-acre .### rounding-mode-half-up" -+ // b e - if (end == str.npos) { - end = str.size(); -+#if U_ICU_VERSION_MAJOR_NUM < 68 - return str.substr(begin, end - begin); - } - // "measure-unit/length-kilometer per-measure-unit/duration-hour" -@@ -625,17 +659,36 @@ std::string UnitFromSkeleton(const icu::UnicodeString& skeleton) { - // "measure-unit/length-kilometer per-measure-unit/duration-hour" - // [result ] b e - return result + "-per-" + str.substr(begin, end - begin); -+#else -+ } -+ return str.substr(begin, end - begin); -+#endif - } - - Style StyleFromSkeleton(const icu::UnicodeString& skeleton) { - if (skeleton.indexOf("currency/") >= 0) { - return Style::CURRENCY; - } -+#if U_ICU_VERSION_MAJOR_NUM < 68 - if (skeleton.indexOf("measure-unit/") >= 0) { - if (skeleton.indexOf("scale/100") >= 0 && - skeleton.indexOf("measure-unit/concentr-percent") >= 0) { -+#else -+ if (skeleton.indexOf("percent") >= 0) { -+ // percent precision-integer rounding-mode-half-up scale/100 -+ if (skeleton.indexOf("scale/100") >= 0) { -+#endif - return Style::PERCENT; -+#if U_ICU_VERSION_MAJOR_NUM >= 68 -+ } else { -+ return Style::UNIT; -+#endif - } -+#if U_ICU_VERSION_MAJOR_NUM >= 68 -+ } -+ // Before ICU68: "measure-unit/", since ICU68 "unit/" -+ if (skeleton.indexOf("unit/") >= 0) { -+#endif - return Style::UNIT; - } - return Style::DECIMAL; -diff --git a/v8/src/objects/js-relative-time-format.cc b/v8/src/objects/js-relative-time-format.cc -index 267343aaae..64d56a1c12 100644 ---- a/v8/src/objects/js-relative-time-format.cc -+++ b/v8/src/objects/js-relative-time-format.cc -@@ -195,9 +195,18 @@ MaybeHandle<JSRelativeTimeFormat> JSRelativeTimeFormat::New( - } - } - -+#if U_ICU_VERSION_MAJOR_NUM < 68 - icu::DecimalFormat* decimal_format = - static_cast<icu::DecimalFormat*>(number_format); - decimal_format->setMinimumGroupingDigits(-2); -+#else -+ if (number_format->getDynamicClassID() == -+ icu::DecimalFormat::getStaticClassID()) { -+ icu::DecimalFormat* decimal_format = -+ static_cast<icu::DecimalFormat*>(number_format); -+ decimal_format->setMinimumGroupingDigits(-2); -+ } -+#endif - - // Change UDISPCTX_CAPITALIZATION_NONE to other values if - // ECMA402 later include option to change capitalization. |