summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2023-04-24 12:04:08 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2023-04-27 16:34:21 +0000
commit6ce4705771512e9a0a1c5177b06716637f7df395 (patch)
tree0fba40214243eaa6bc8ed5fcdc2bba8ae6aee37f
parent4ddfdfa0dbea7f71d5455cd3635049c95df45cce (diff)
downloadqtwebengine-chromium-6ce4705771512e9a0a1c5177b06716637f7df395.tar.gz
Fix build with ICU 70
Change-Id: Ic32597652ad0cce85328911e95fc88bd383fe4e9 Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/474025 Reviewed-by: Szabolcs David <davidsz@inf.u-szeged.hu> Reviewed-by: Martin Negyokru <negyokru@inf.u-szeged.hu>
-rw-r--r--chromium/v8/src/objects/intl-objects.cc2
-rw-r--r--chromium/v8/src/objects/intl-objects.h2
-rw-r--r--chromium/v8/src/objects/js-number-format.cc7
3 files changed, 10 insertions, 1 deletions
diff --git a/chromium/v8/src/objects/intl-objects.cc b/chromium/v8/src/objects/intl-objects.cc
index 881842fbdc7..cb5a3b6876a 100644
--- a/chromium/v8/src/objects/intl-objects.cc
+++ b/chromium/v8/src/objects/intl-objects.cc
@@ -2742,8 +2742,10 @@ Handle<String> Intl::NumberFieldToType(Isolate* isolate,
case UNUM_MEASURE_UNIT_FIELD:
return isolate->factory()->unit_string();
+#if U_ICU_VERSION_MAJOR_NUM >= 71 && !defined(U_HIDE_DRAFT_API)
case UNUM_APPROXIMATELY_SIGN_FIELD:
return isolate->factory()->approximatelySign_string();
+#endif
default:
UNREACHABLE();
diff --git a/chromium/v8/src/objects/intl-objects.h b/chromium/v8/src/objects/intl-objects.h
index 4339673d566..88a7357728f 100644
--- a/chromium/v8/src/objects/intl-objects.h
+++ b/chromium/v8/src/objects/intl-objects.h
@@ -21,7 +21,7 @@
#include "unicode/locid.h"
#include "unicode/uversion.h"
-#define V8_MINIMUM_ICU_VERSION 71
+#define V8_MINIMUM_ICU_VERSION 70
namespace U_ICU_NAMESPACE {
class BreakIterator;
diff --git a/chromium/v8/src/objects/js-number-format.cc b/chromium/v8/src/objects/js-number-format.cc
index 606fd3caf09..023c47fc6d2 100644
--- a/chromium/v8/src/objects/js-number-format.cc
+++ b/chromium/v8/src/objects/js-number-format.cc
@@ -910,9 +910,16 @@ icu::number::UnlocalizedNumberFormatter SetDigitOptionsToFormatterV3(
break;
}
if (rounding_increment != 1) {
+#if U_ICU_VERSION_MAJOR_NUM >= 71
precision = ::icu::number::Precision::incrementExact(
rounding_increment, -digit_options.maximum_fraction_digits)
.withMinFraction(digit_options.minimum_fraction_digits);
+#else
+ double icu_increment = rounding_increment *
+ std::pow(10, -digit_options.maximum_fraction_digits);
+ precision = ::icu::number::Precision::increment(icu_increment)
+ .withMinFraction(digit_options.minimum_fraction_digits);
+#endif
}
if (trailing_zeros == JSNumberFormat::ShowTrailingZeros::kHide) {
precision = precision.trailingZeroDisplay(UNUM_TRAILING_ZERO_HIDE_IF_WHOLE);