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