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

Reply via email to