diff options
-rw-r--r-- | chromium/v8/src/objects/intl-objects.cc | 2 | ||||
-rw-r--r-- | chromium/v8/src/objects/intl-objects.h | 2 | ||||
-rw-r--r-- | chromium/v8/src/objects/js-number-format.cc | 7 |
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); |