[Temporal] Fix DST handling

Correct the call the the one which take the UTC based time
instead of the one taking the local wall time.

Bug: v8:11544
Change-Id: Ib288617e8f98b21865c306ca36cd905a3e5315bd
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3892639
Commit-Queue: Frank Tang <ftang@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/main@{#83205}
This commit is contained in:
Frank Tang 2022-09-14 11:56:22 -07:00 committed by V8 LUCI CQ
parent c8b4b66fe9
commit b6f32720dd
2 changed files with 10 additions and 13 deletions

View File

@ -3040,9 +3040,8 @@ Maybe<int64_t> Intl::GetTimeZoneOffsetMilliseconds(
int32_t raw_offset;
int32_t dst_offset;
UErrorCode status = U_ZERO_ERROR;
basic_time_zone->getOffsetFromLocal(time_in_millisecond, UCAL_TZ_LOCAL_FORMER,
UCAL_TZ_LOCAL_FORMER, raw_offset,
dst_offset, status);
basic_time_zone->getOffset(time_in_millisecond, false, raw_offset, dst_offset,
status);
DCHECK(U_SUCCESS(status));
return Just(static_cast<int64_t>(raw_offset + dst_offset));
}

View File

@ -449,7 +449,6 @@
'intl402/Temporal/Calendar/prototype/dateFromFields/infinity-throws-rangeerror': [FAIL],
'intl402/Temporal/Calendar/prototype/monthDayFromFields/infinity-throws-rangeerror': [FAIL],
'intl402/Temporal/Calendar/prototype/yearMonthFromFields/infinity-throws-rangeerror': [FAIL],
'intl402/Temporal/Duration/prototype/round/relativeto-string-datetime': [FAIL],
'intl402/Temporal/Duration/prototype/total/relativeto-string-datetime': [FAIL],
'intl402/Temporal/PlainYearMonth/from/argument-object': [FAIL],
@ -526,18 +525,15 @@
'intl402/Temporal/Calendar/prototype/dateFromFields/order-of-operations': [FAIL],
'intl402/Temporal/Calendar/prototype/monthDayFromFields/order-of-operations': [FAIL],
'intl402/Temporal/Calendar/prototype/yearMonthFromFields/order-of-operations': [FAIL],
'intl402/Temporal/Duration/compare/relativeto-hour': [FAIL],
'built-ins/Temporal/Duration/prototype/total/relativeto-zoneddatetime-with-fractional-days-different-sign': [FAIL],
'built-ins/Temporal/Duration/prototype/total/relativeto-zoneddatetime-with-fractional-days': [FAIL],
'intl402/Temporal/TimeZone/prototype/getNextTransition/subtract-second-and-nanosecond-from-last-transition': [FAIL],
'intl402/Temporal/TimeZone/prototype/getPreviousTransition/nanoseconds-subtracted-or-added-at-dst-transition': [FAIL],
'intl402/Temporal/TimeZone/prototype/getOffsetNanosecondsFor/nanoseconds-subtracted-or-added-at-dst-transition': [FAIL],
'intl402/Temporal/TimeZone/prototype/getPlainDateTimeFor/dst': [FAIL],
'staging/Temporal/Duration/old/add': [FAIL],
'staging/Temporal/Duration/old/limits': [FAIL],
'staging/Temporal/Duration/old/round': [FAIL],
'staging/Temporal/Duration/old/subtract': [FAIL],
'staging/Temporal/Duration/old/toString': [FAIL],
'staging/Temporal/Duration/old/total': [FAIL],
'staging/Temporal/Regex/old/plaintime': [FAIL],
@ -547,15 +543,10 @@
'staging/Temporal/ZonedDateTime/old/dst-math': [FAIL],
'staging/Temporal/ZonedDateTime/old/dst-properties': [FAIL],
'staging/Temporal/ZonedDateTime/old/equals': [FAIL],
'staging/Temporal/ZonedDateTime/old/property-bags': [FAIL],
'staging/Temporal/ZonedDateTime/old/round': [FAIL],
'staging/Temporal/ZonedDateTime/old/since': [FAIL],
'staging/Temporal/ZonedDateTime/old/string-parsing': [FAIL],
'staging/Temporal/ZonedDateTime/old/toPlainMonthDay': [FAIL],
'staging/Temporal/ZonedDateTime/old/toPlainYearMonth': [FAIL],
'staging/Temporal/ZonedDateTime/old/toString': [FAIL],
'staging/Temporal/ZonedDateTime/old/until': [FAIL],
'staging/Temporal/ZonedDateTime/old/with': [FAIL],
# UBSan complain about static_cast<int32_t> from double in AddISODate()
'built-ins/Temporal/Calendar/prototype/dateAdd/argument-duration-years-and-months-number-max-value': [SKIP],
@ -802,6 +793,8 @@
# Temporal staging test which use timeZone other than "UTC" or
# calendar other than "iso8601" which are not supported in no i18n mode.
'staging/Temporal/Duration/old/add': [FAIL],
'staging/Temporal/Duration/old/subtract': [FAIL],
'staging/Temporal/Instant/old/toZonedDateTime': [FAIL],
'staging/Temporal/Instant/old/toZonedDateTimeISO': [FAIL],
'staging/Temporal/TimeZone/old/dst-change': [FAIL],
@ -818,12 +811,17 @@
'staging/Temporal/ZonedDateTime/old/compare': [FAIL],
'staging/Temporal/ZonedDateTime/old/date-time-hours-overflow': [FAIL],
'staging/Temporal/ZonedDateTime/old/order-of-operations': [FAIL],
'staging/Temporal/ZonedDateTime/old/property-bags': [FAIL],
'staging/Temporal/ZonedDateTime/old/reversibility-of-differences': [FAIL],
'staging/Temporal/ZonedDateTime/old/round': [FAIL],
'staging/Temporal/ZonedDateTime/old/since': [FAIL],
'staging/Temporal/ZonedDateTime/old/string-parsing': [FAIL],
'staging/Temporal/ZonedDateTime/old/subtract': [FAIL],
'staging/Temporal/ZonedDateTime/old/toInstant': [FAIL],
'staging/Temporal/ZonedDateTime/old/toPlainDate': [FAIL],
'staging/Temporal/ZonedDateTime/old/toPlainTime': [FAIL],
'staging/Temporal/ZonedDateTime/old/toString': [FAIL],
'staging/Temporal/ZonedDateTime/old/with': [FAIL],
'staging/Temporal/ZonedDateTime/old/withCalendar': [FAIL],
'staging/Temporal/ZonedDateTime/old/withPlainDate': [FAIL],
'staging/Temporal/ZonedDateTime/old/withPlainTime': [FAIL],