Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 178eab31123551f0736f9c33263b9d71310cecb3
https://github.com/WebKit/WebKit/commit/178eab31123551f0736f9c33263b9d71310cecb3
Author: Yusuke Suzuki <[email protected]>
Date: 2026-06-04 (Thu, 04 Jun 2026)
Changed paths:
M Source/JavaScriptCore/runtime/temporal/core/CalendarICUBridge.cpp
M Source/JavaScriptCore/runtime/temporal/core/TimeZoneICUBridge.cpp
Log Message:
-----------
[JSC] Make Temporal ICU error handling more strict
https://bugs.webkit.org/show_bug.cgi?id=316346
rdar://178762591
Reviewed by Yijia Huang.
This patch makes ICU error handling stricter by inserting U_FAILURE
check for each ICU call when it takes status. Also using std::optional
etc to make error result more explicit.
* Source/JavaScriptCore/runtime/temporal/core/CalendarICUBridge.cpp:
(JSC::TemporalCore::openCalendar):
(JSC::TemporalCore::lunarCalendarExtendedYearFor1972):
(JSC::TemporalCore::isoDateFromCalendarChecked):
(JSC::TemporalCore::japaneseEraStartYear):
(JSC::TemporalCore::japaneseEraCode):
(JSC::TemporalCore::mapICUEraToTemporalEra):
(JSC::TemporalCore::computeMonthCode):
(JSC::TemporalCore::computeOrdinalMonth):
(JSC::TemporalCore::mapTemporalEraToICUEra):
(JSC::TemporalCore::isoToCalendarFields):
(JSC::TemporalCore::calendarYear):
(JSC::TemporalCore::calendarMonth):
(JSC::TemporalCore::calendarMonthCode):
(JSC::TemporalCore::calendarDay):
(JSC::TemporalCore::calendarEra):
(JSC::TemporalCore::calendarEraYear):
(JSC::TemporalCore::calendarDaysInMonth):
(JSC::TemporalCore::calendarDaysInYear):
(JSC::TemporalCore::calendarMonthsInYear):
(JSC::TemporalCore::calendarInLeapYear):
(JSC::TemporalCore::setCalendarToMonthCode):
(JSC::TemporalCore::resolveMonthCodeToOrdinal):
(JSC::TemporalCore::calendarDateAdd):
(JSC::TemporalCore::surpassesMonths):
(JSC::TemporalCore::setMonths):
(JSC::TemporalCore::calendarDateUntil):
(JSC::TemporalCore::calendarDateFromFields):
(JSC::TemporalCore::isoDateFromCalendar): Deleted.
* Source/JavaScriptCore/runtime/temporal/core/TimeZoneICUBridge.cpp:
(JSC::TemporalCore::openCalendarForTimeZone):
(JSC::TemporalCore::getOffsetMsAtEpoch):
(JSC::TemporalCore::getOffsetNanosecondsFor):
(JSC::TemporalCore::getNamedTimeZoneEpochNanoseconds):
(JSC::TemporalCore::getPossibleEpochNanosecondsFor):
(JSC::TemporalCore::getTimeZoneTransition):
Canonical link: https://commits.webkit.org/314604@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications