summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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);