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

Reply via email to