Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8ccbe522e1f14bc3356a6124fa05b7e53a5f723c
      
https://github.com/WebKit/WebKit/commit/8ccbe522e1f14bc3356a6124fa05b7e53a5f723c
  Author: Ithril <[email protected]>
  Date:   2026-07-21 (Tue, 21 Jul 2026)

  Changed paths:
    M JSTests/stress/temporal-calendar-icu-bridge-non-iso.js
    M JSTests/stress/temporal-japanese-ce-bce-era-validation.js
    M Source/JavaScriptCore/runtime/temporal/core/CalendarICUBridge.cpp

  Log Message:
  -----------
  [JSC][Temporal] Fix Japanese, ROC, and Buddhist calendar fields

https://bugs.webkit.org/show_bug.cgi?id=319663

Reviewed by Yusuke Suzuki.

ICU derived Gregorian calendars retain a Julian-to-Gregorian cutover that 
cannot be disabled. Use an unconditional ISO year for Japanese dates, keep 
pre-1873 aggregate fields proleptic Gregorian, and construct year-only and 
named-era property bags with Gregorian arithmetic. Named eras derive the 
arithmetic ISO year from checked era metadata while retaining canonical era and 
eraYear output at modern transitions.

Route ROC and Buddhist Gregorian-arithmetic fields through deterministic ISO 
date fields and checked fixed-year offsets so getters, property bags, with(), 
overflow handling, PlainMonthDay reference dates, and boundary round trips 
agree across historical dates.

Test: JSTests/stress/temporal-calendar-icu-bridge-non-iso.js

* JSTests/stress/temporal-calendar-icu-bridge-non-iso.js:
  - Cover Japanese ISO-year and named-era construction, historical Gregorian 
overflow, modern transitions, PlainMonthDay reference dates, and ROC/Buddhist 
checked-offset boundaries.
* JSTests/stress/temporal-japanese-ce-bce-era-validation.js:
  - Update the year-zero assertion for unconditional Japanese ISO-year behavior.
* Source/JavaScriptCore/runtime/temporal/core/CalendarICUBridge.cpp:
  - Use coherent proleptic-Gregorian field and construction paths for Japanese, 
ROC, and Buddhist calendars.

Canonical link: https://commits.webkit.org/317678@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to