Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 063066dc87c7e582d0816a972a7f879d4b2f8230
https://github.com/WebKit/WebKit/commit/063066dc87c7e582d0816a972a7f879d4b2f8230
Author: Yijia Huang <[email protected]>
Date: 2026-06-05 (Fri, 05 Jun 2026)
Changed paths:
M Source/JavaScriptCore/API/tests/TemporalCoreTest.cpp
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.cpp
M Source/JavaScriptCore/heap/Heap.h
M Source/JavaScriptCore/heap/HeapSubspaceTypes.h
M Source/JavaScriptCore/runtime/JSGlobalObject.cpp
M Source/JavaScriptCore/runtime/JSGlobalObject.h
M Source/JavaScriptCore/runtime/TemporalCalendar.cpp
M Source/JavaScriptCore/runtime/TemporalDuration.cpp
M Source/JavaScriptCore/runtime/TemporalDuration.h
M Source/JavaScriptCore/runtime/TemporalInstant.cpp
M Source/JavaScriptCore/runtime/TemporalObject.cpp
M Source/JavaScriptCore/runtime/TemporalObject.h
M Source/JavaScriptCore/runtime/TemporalPlainDate.cpp
M Source/JavaScriptCore/runtime/TemporalPlainDateTime.cpp
M Source/JavaScriptCore/runtime/TemporalPlainDateTimePrototype.cpp
M Source/JavaScriptCore/runtime/TemporalPlainMonthDay.cpp
M Source/JavaScriptCore/runtime/TemporalPlainTime.cpp
M Source/JavaScriptCore/runtime/TemporalPlainYearMonth.cpp
R Source/JavaScriptCore/runtime/TemporalTimeZone.cpp
R Source/JavaScriptCore/runtime/TemporalTimeZone.h
R Source/JavaScriptCore/runtime/TemporalTimeZoneConstructor.cpp
R Source/JavaScriptCore/runtime/TemporalTimeZoneConstructor.h
R Source/JavaScriptCore/runtime/TemporalTimeZonePrototype.cpp
R Source/JavaScriptCore/runtime/TemporalTimeZonePrototype.h
M Source/JavaScriptCore/runtime/TemporalZonedDateTimePrototype.cpp
M Source/JavaScriptCore/runtime/temporal/core/DurationArithmetic.cpp
M Source/JavaScriptCore/runtime/temporal/core/DurationArithmetic.h
M Source/JavaScriptCore/runtime/temporal/core/ISOArithmetic.cpp
M Source/JavaScriptCore/runtime/temporal/core/PlainDateTimeCore.cpp
M Source/JavaScriptCore/runtime/temporal/core/PlainDateTimeCore.h
Log Message:
-----------
[JSC][Temporal] Spec-align Temporal option helpers, Duration internals, and
remove unused TemporalTimeZone classes
https://bugs.webkit.org/show_bug.cgi?id=316370
rdar://178782365
Reviewed by Yusuke Suzuki.
Remove TemporalTimeZone{Constructor,Prototype} and their build-system
entries — the Temporal spec no longer exposes a Temporal.TimeZone
constructor; time zones are plain string identifiers handled by
ZonedDateTime.
Spec-align several Temporal AOs:
- temporalDurationFromInternal now implements CreateTemporalDuration
whose days+time fields together exceed 2^53 seconds, fixing
duration/total-of-duration-time-units-out-of-range test262 failures.
- Add toInternalDurationRecord (ToInternalDurationRecord): distinct from
the existing toInternalDuration, it zeroes the time fields in
dateDuration as the spec requires. Duration.prototype.toString step 13
now uses this variant.
- extractDifferenceOptions (GetDifferenceSettings): fix step ordering
(largestUnit validated before smallestUnit per spec steps 6/9), add
DifferenceOperation parameter for step 17 mode negation, and gate
ValidateTemporalRoundingIncrement on maximum being non-null.
- temporalUnitValued (renamed from getTemporalUnitValuedOption): add
TemporalUnitDefault::Required support so callers that pass ~required~
as the default throw RangeError when the option is absent.
- validateTemporalUnitValue: throw RangeError for "auto" when the unit
group does not allow it.
- temporalRoundingIncrement: add finite check and [1, 10^9] range
validation per GetRoundingIncrementOption.
- parseMonthCode: extract full ParseMonthCode AO with all spec steps
(M00 rejection, leap-month suffix, digit validation).
- roundTime: add Day case so unit=day uses the same time-from-midnight
quantity formula as Hour (RoundTime step 1).
- differencePlainDateTimeWithRounding: move the zero-duration fast-path
before the ISODateTimeWithinLimits check, matching spec step order.
Export the function from PlainDateTimeCore for reuse.
- Precision::Auto fast-path in PlainDateTime.toString, Duration.toString,
and Instant.toString: remove the spurious roundingMode == Trunc guard.
When increment is 1 ns the round is a no-op for every mode.
Canonical link: https://commits.webkit.org/314649@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications