Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3141e1c6626504ba3ddc88202bcd73041c7cecb9
      
https://github.com/WebKit/WebKit/commit/3141e1c6626504ba3ddc88202bcd73041c7cecb9
  Author: Shu-yu Guo <[email protected]>
  Date:   2026-09-25 (Fri, 25 Sep 2026)

  Changed paths:
    A JSTests/stress/temporal-invalid-calendar-identifier-huge-string.js
    M Source/JavaScriptCore/runtime/TemporalCalendar.cpp
    M Source/JavaScriptCore/runtime/TemporalCalendar.h
    M Source/JavaScriptCore/runtime/TemporalDuration.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/TemporalPlainMonthDay.cpp
    M Source/JavaScriptCore/runtime/TemporalPlainYearMonth.cpp
    M Source/JavaScriptCore/runtime/TemporalZonedDateTime.cpp
    M Source/JavaScriptCore/runtime/TemporalZonedDateTimeConstructor.cpp

  Log Message:
  -----------
  [JSC] Ellipsize huge invalid calendar ids
https://bugs.webkit.org/show_bug.cgi?id=325305
rdar://188291130

Reviewed by Yusuke Suzuki.

Ellipsize huge invalid calendar ids in the thrown RangeErrors.

This PR also refactors the calendar canonicalization helper and unifies the
RangeError message to be "'<CALENDAR ID>' is not a valid calendar identifier".

Test: JSTests/stress/temporal-invalid-calendar-identifier-huge-string.js

* JSTests/stress/temporal-invalid-calendar-identifier-huge-string.js: Added.
(shouldThrowRangeError):
* Source/JavaScriptCore/runtime/TemporalCalendar.cpp:
(JSC::throwInvalidCalendarIdentifier):
(JSC::canonicalizeCalendar):
* Source/JavaScriptCore/runtime/TemporalCalendar.h:
* Source/JavaScriptCore/runtime/TemporalDuration.cpp:
(JSC::getTemporalRelativeToOption):
* Source/JavaScriptCore/runtime/TemporalObject.cpp:
(JSC::ellipsizeAt):
(JSC::toTemporalCalendarIdentifier):
* Source/JavaScriptCore/runtime/TemporalObject.h:
* Source/JavaScriptCore/runtime/TemporalPlainDate.cpp:
(JSC::fromImpl):
(JSC::TemporalPlainDate::from):
* Source/JavaScriptCore/runtime/TemporalPlainDateTime.cpp:
(JSC::fromImpl):
* Source/JavaScriptCore/runtime/TemporalPlainMonthDay.cpp:
(JSC::TemporalPlainMonthDay::from):
* Source/JavaScriptCore/runtime/TemporalPlainYearMonth.cpp:
(JSC::TemporalPlainYearMonth::from):
* Source/JavaScriptCore/runtime/TemporalZonedDateTime.cpp:
(JSC::toEpochArgsFromString):
* Source/JavaScriptCore/runtime/TemporalZonedDateTimeConstructor.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):

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



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

Reply via email to