Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b35d67a6fdad00a914a5201d900b875b81ffbb7d
      
https://github.com/WebKit/WebKit/commit/b35d67a6fdad00a914a5201d900b875b81ffbb7d
  Author: Yijia Huang <[email protected]>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M JSTests/stress/intl-canonical-iana-time-zone.js
    M JSTests/stress/temporal-calendar.js
    M JSTests/stress/temporal-duration.js
    M JSTests/stress/temporal-plaindate.js
    M JSTests/stress/temporal-plaindatetime.js
    M JSTests/stress/temporal-plainmonthday.js
    M JSTests/stress/temporal-plaintime.js
    M JSTests/stress/temporal-plainyearmonth.js
    M JSTests/stress/temporal-timezone.js
    M JSTests/test262/expectations.yaml
    M Source/JavaScriptCore/CMakeLists.txt
    M Source/JavaScriptCore/DerivedSources-input.xcfilelist
    M Source/JavaScriptCore/DerivedSources-output.xcfilelist
    M Source/JavaScriptCore/DerivedSources.make
    M Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
    M Source/JavaScriptCore/Sources.txt
    M Source/JavaScriptCore/heap/Heap.h
    M Source/JavaScriptCore/runtime/CommonIdentifiers.h
    M Source/JavaScriptCore/runtime/Error.h
    M Source/JavaScriptCore/runtime/ISO8601.cpp
    M Source/JavaScriptCore/runtime/ISO8601.h
    M Source/JavaScriptCore/runtime/JSGlobalObject.cpp
    M Source/JavaScriptCore/runtime/JSGlobalObject.h
    M Source/JavaScriptCore/runtime/TemporalCalendar.cpp
    M Source/JavaScriptCore/runtime/TemporalCalendar.h
    R Source/JavaScriptCore/runtime/TemporalCalendarConstructor.cpp
    R Source/JavaScriptCore/runtime/TemporalCalendarConstructor.h
    R Source/JavaScriptCore/runtime/TemporalCalendarPrototype.cpp
    R Source/JavaScriptCore/runtime/TemporalCalendarPrototype.h
    M Source/JavaScriptCore/runtime/TemporalDuration.cpp
    M Source/JavaScriptCore/runtime/TemporalDuration.h
    M Source/JavaScriptCore/runtime/TemporalDurationConstructor.cpp
    M Source/JavaScriptCore/runtime/TemporalDurationPrototype.cpp
    M Source/JavaScriptCore/runtime/TemporalInstant.cpp
    M Source/JavaScriptCore/runtime/TemporalInstant.h
    M Source/JavaScriptCore/runtime/TemporalInstantConstructor.cpp
    M Source/JavaScriptCore/runtime/TemporalInstantPrototype.cpp
    M Source/JavaScriptCore/runtime/TemporalNow.cpp
    M Source/JavaScriptCore/runtime/TemporalObject.cpp
    M Source/JavaScriptCore/runtime/TemporalObject.h
    M Source/JavaScriptCore/runtime/TemporalPlainDate.cpp
    M Source/JavaScriptCore/runtime/TemporalPlainDate.h
    M Source/JavaScriptCore/runtime/TemporalPlainDateConstructor.cpp
    M Source/JavaScriptCore/runtime/TemporalPlainDatePrototype.cpp
    M Source/JavaScriptCore/runtime/TemporalPlainDateTime.cpp
    M Source/JavaScriptCore/runtime/TemporalPlainDateTime.h
    M Source/JavaScriptCore/runtime/TemporalPlainDateTimeConstructor.cpp
    M Source/JavaScriptCore/runtime/TemporalPlainDateTimePrototype.cpp
    M Source/JavaScriptCore/runtime/TemporalPlainMonthDay.cpp
    M Source/JavaScriptCore/runtime/TemporalPlainMonthDay.h
    M Source/JavaScriptCore/runtime/TemporalPlainMonthDayConstructor.cpp
    M Source/JavaScriptCore/runtime/TemporalPlainMonthDayPrototype.cpp
    M Source/JavaScriptCore/runtime/TemporalPlainTime.cpp
    M Source/JavaScriptCore/runtime/TemporalPlainTime.h
    M Source/JavaScriptCore/runtime/TemporalPlainTimeConstructor.cpp
    M Source/JavaScriptCore/runtime/TemporalPlainTimePrototype.cpp
    M Source/JavaScriptCore/runtime/TemporalPlainYearMonth.cpp
    M Source/JavaScriptCore/runtime/TemporalPlainYearMonth.h
    M Source/JavaScriptCore/runtime/TemporalPlainYearMonthConstructor.cpp
    M Source/JavaScriptCore/runtime/TemporalPlainYearMonthPrototype.cpp
    M Source/JavaScriptCore/runtime/TemporalTimeZone.cpp
    M Source/JavaScriptCore/runtime/TemporalTimeZone.h
    M Source/JavaScriptCore/runtime/TemporalTimeZoneConstructor.cpp
    M Source/JavaScriptCore/runtime/TemporalTimeZonePrototype.cpp
    M Source/JavaScriptCore/runtime/temporal/core/CalendarFields.cpp
    M Source/JavaScriptCore/runtime/temporal/core/CalendarFields.h
    M Source/JavaScriptCore/runtime/temporal/core/CalendarICUBridge.cpp
    M Source/JavaScriptCore/runtime/temporal/core/CalendarICUBridge.h

  Log Message:
  -----------
  [JSC][Temporal] Remove Temporal.Calendar object and update JS layer to Stage 
4 spec
https://bugs.webkit.org/show_bug.cgi?id=315608
rdar://177987905

Reviewed by Yusuke Suzuki.

Remove the Temporal.Calendar constructor and prototype (Stage 3 API absent from
Stage 4). JSGlobalObject no longer registers Temporal.Calendar; the constructor
and prototype source files are deleted. TemporalCalendar.cpp is kept as the
internal calendar-math library.

Migrate calendar representation from String-based calendarId to an integer
CalendarID type throughout all Temporal types (PlainDate, PlainDateTime,
PlainTime, PlainYearMonth, PlainMonthDay, Duration, Instant). This eliminates
repeated String round-trips and enables compile-time calendar dispatch via
CalendarICUBridge.

Update Temporal.Now to support named-timezone offset queries for
plainDateTimeISO, plainDateISO, and plainTimeISO using ICU calendar probing.

Fix several spec-compliance issues in constructors and prototypes:
- PlainYearMonth rejects bare "YYYY-MM" strings without calendar annotation
- PlainDateTime defaults missing time fields to 0 instead of undefined
- PlainMonthDay.prototype.with() throws TypeError for unrecognised fields
- PlainTime constructor rejects NaN arguments

Add throwError(JSGlobalObject*, ThrowScope&, ErrorType, const String&) inline
to Error.h to support throwTemporalError in TemporalObject.

Add //@ skip to temporal-plain{date,datetime,time,yearmonth,monthday}.js,
temporal-calendar.js, and temporal-timezone.js pending IntlDateTimeFormat
Temporal support in the follow-up patch. Update intl-canonical-iana-time-zone.js
to replace Temporal.TimeZone references with FIXME comments for ZonedDateTime.

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



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

Reply via email to