Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c17d3df6ec2301d5ca41b7d13e0eed6a9381ac1d
      
https://github.com/WebKit/WebKit/commit/c17d3df6ec2301d5ca41b7d13e0eed6a9381ac1d
  Author: Yusuke Suzuki <[email protected]>
  Date:   2026-09-21 (Mon, 21 Sep 2026)

  Changed paths:
    M Source/JavaScriptCore/CMakeLists.txt
    M Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
    M Source/JavaScriptCore/runtime/DateConversion.h
    M Source/JavaScriptCore/runtime/DateInstance.h
    M Source/JavaScriptCore/runtime/JSDateMath.h
    R Source/JavaScriptCore/runtime/PlainGregorianDateTime.h
    M Source/JavaScriptCore/runtime/temporal/core/InstantCore.cpp
    M Source/WTF/WTF.xcodeproj/project.pbxproj
    M Source/WTF/wtf/CMakeLists.txt
    R Source/WTF/wtf/GregorianDateTime.cpp
    R Source/WTF/wtf/GregorianDateTime.h
    A Source/WTF/wtf/PlainGregorianDateTime.cpp
    A Source/WTF/wtf/PlainGregorianDateTime.h
    M Source/WebCore/WebCorePrefix.h
    M Source/WebCore/html/shadow/DateTimeEditElement.cpp
    M Source/WebCore/html/shadow/DateTimeEditElement.h
    M Source/WebCore/html/shadow/DateTimeFieldElement.h
    M Source/WebCore/html/shadow/DateTimeFieldElements.cpp
    M Source/WebCore/loader/archive/mhtml/MHTMLArchive.cpp
    M Tools/TestWebKitAPI/CMakeLists.txt
    M Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
    A Tools/TestWebKitAPI/Tests/WTF/PlainGregorianDateTime.cpp

  Log Message:
  -----------
  [JSC] Use PlainGregorianDateTime and drop GregorianDateTime
https://bugs.webkit.org/show_bug.cgi?id=324677
rdar://187947054

Reviewed by Yijia Huang.

This patch moves PlainGregorianDateTime to WTF and drop
WTF::GregorianDateTime. PlainGregorianDateTime is extremely optimized in
size etc., to be usable for DateInstance's field. So let's just use it
instead of GregorianDateTime.

Test: Tools/TestWebKitAPI/Tests/WTF/PlainGregorianDateTime.cpp

* Source/JavaScriptCore/CMakeLists.txt:
* Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:
* Source/JavaScriptCore/runtime/DateConversion.h:
* Source/JavaScriptCore/runtime/DateInstance.h:
* Source/JavaScriptCore/runtime/JSDateMath.h:
* Source/JavaScriptCore/runtime/temporal/core/InstantCore.cpp:
(JSC::TemporalCore::instantToString):
* Source/WTF/WTF.xcodeproj/project.pbxproj:
* Source/WTF/wtf/CMakeLists.txt:
* Source/WTF/wtf/GregorianDateTime.cpp: Removed.
* Source/WTF/wtf/GregorianDateTime.h: Removed.
* Source/WTF/wtf/PlainGregorianDateTime.cpp: Added.
(WTF::PlainGregorianDateTime::fromMilliseconds):
(WTF::PlainGregorianDateTime::currentLocalTime):
* Source/WTF/wtf/PlainGregorianDateTime.h: Renamed from 
Source/JavaScriptCore/runtime/PlainGregorianDateTime.h.
(WTF::PlainGregorianDateTime::PlainGregorianDateTime):
(WTF::PlainGregorianDateTime::year const):
(WTF::PlainGregorianDateTime::month const):
(WTF::PlainGregorianDateTime::monthDay const):
(WTF::PlainGregorianDateTime::weekDay const):
(WTF::PlainGregorianDateTime::hour const):
(WTF::PlainGregorianDateTime::minute const):
(WTF::PlainGregorianDateTime::second const):
(WTF::PlainGregorianDateTime::utcOffsetInMinute const):
(WTF::PlainGregorianDateTime::isDST const):
(WTF::PlainGregorianDateTime::operator bool const):
(WTF::PlainGregorianDateTime::staleMarker):
(WTF::PlainGregorianDateTime::hasNeverBeenComputed const):
(WTF::PlainGregorianDateTime::payload const):
* Source/WebCore/WebCorePrefix.h:
* Source/WebCore/html/shadow/DateTimeEditElement.cpp:
(WebCore::DateTimeEditElement::DateTimeEditElement):
(WebCore::DateTimeEditElement::placeholderDate const):
* Source/WebCore/html/shadow/DateTimeEditElement.h:
* Source/WebCore/html/shadow/DateTimeFieldElement.h:
* Source/WebCore/html/shadow/DateTimeFieldElements.cpp:
(WebCore::currentYear):
* Source/WebCore/loader/archive/mhtml/MHTMLArchive.cpp:
(WebCore::MHTMLArchive::generateMHTMLData):
* Tools/TestWebKitAPI/CMakeLists.txt:
* Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* Tools/TestWebKitAPI/Tests/WTF/PlainGregorianDateTime.cpp: Added.
(TestWebKitAPI::TEST(WTF_PlainGregorianDateTime, DefaultIsEmpty)):
(TestWebKitAPI::TEST(WTF_PlainGregorianDateTime, 
StaleMarkerIsEmptyButComputed)):
(TestWebKitAPI::TEST(WTF_PlainGregorianDateTime, FieldRoundTrip)):
(TestWebKitAPI::TEST(WTF_PlainGregorianDateTime, ExtremeFieldsRoundTrip)):
(TestWebKitAPI::TEST(WTF_PlainGregorianDateTime, FromMillisecondsAtEpoch)):
(TestWebKitAPI::TEST(WTF_PlainGregorianDateTime, FromMilliseconds)):
(TestWebKitAPI::TEST(WTF_PlainGregorianDateTime, FromMillisecondsAtTheLimits)):
(TestWebKitAPI::TEST(WTF_PlainGregorianDateTime, FromMillisecondsOutOfRange)):
(TestWebKitAPI::TEST(WTF_PlainGregorianDateTime, CurrentLocalTime)):
(TestWebKitAPI::ScopedTimeZone::ScopedTimeZone):
(TestWebKitAPI::ScopedTimeZone::~ScopedTimeZone):
(TestWebKitAPI::TEST(WTF_PlainGregorianDateTime, 
CurrentLocalTimeOffsetIsBounded)):

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



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

Reply via email to