Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 23248aa32f5917aab02f946b1c64fb5ac01c529a
      
https://github.com/WebKit/WebKit/commit/23248aa32f5917aab02f946b1c64fb5ac01c529a
  Author: Mark Lam <[email protected]>
  Date:   2026-04-29 (Wed, 29 Apr 2026)

  Changed paths:
    M Source/JavaScriptCore/runtime/WaiterListManager.cpp
    M Source/WTF/wtf/ApproximateTime.cpp
    M Source/WTF/wtf/ApproximateTime.h
    M Source/WTF/wtf/ContinuousApproximateTime.cpp
    M Source/WTF/wtf/ContinuousApproximateTime.h
    M Source/WTF/wtf/ContinuousTime.cpp
    M Source/WTF/wtf/ContinuousTime.h
    M Source/WTF/wtf/GenericTimeMixin.h
    M Source/WTF/wtf/MonotonicTime.cpp
    M Source/WTF/wtf/MonotonicTime.h
    M Source/WTF/wtf/TimeWithDynamicClockType.cpp
    M Source/WTF/wtf/UnbarrieredMonotonicTime.cpp
    M Source/WTF/wtf/UnbarrieredMonotonicTime.h
    M Source/WTF/wtf/WallTime.cpp
    M Source/WTF/wtf/WallTime.h
    M Source/WebCore/dom/WindowEventLoop.cpp
    M Source/WebCore/loader/ResourceMonitorPersistence.cpp
    M Source/WebCore/page/Performance.cpp
    M Source/WebCore/page/PerformanceTiming.cpp
    M Source/WebCore/platform/network/cocoa/NetworkLoadMetrics.mm
    M Source/WebCore/platform/network/cocoa/WebCoreNSURLSession.mm
    M 
Source/WebCore/platform/network/cocoa/WebCoreResourceHandleAsOperationQueueDelegate.mm
    M Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm
    M 
Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIAlarmsCocoa.mm
    M 
Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIWebNavigationCocoa.mm
    M 
Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIWebRequestCocoa.mm
    M Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMEvent.cpp
    M Source/WebKitLegacy/mac/DOM/DOMEvent.mm

  Log Message:
  -----------
  Add GenericTimeMixin::approximate() template function.
https://bugs.webkit.org/show_bug.cgi?id=313675
rdar://175876462

Reviewed by Yusuke Suzuki.

This removes the need to manually add approximate conversion functions in each 
Time type
e.g. approximateMonotonicTime() and approximateWallTime().  Every single one of 
these
approximate conversion functions applies the exact same conversion algorithm.  
We can
capture this in GenericTimeMixin::approximate(), and avoid all the duplication.

No new tests needed.  This is just a refactoring patch.

* Source/JavaScriptCore/runtime/WaiterListManager.cpp:
(JSC::WaiterListManager::waitSyncImpl):
* Source/WTF/wtf/ApproximateTime.cpp:
(WTF::ApproximateTime::approximateWallTime const): Deleted.
(WTF::ApproximateTime::approximateMonotonicTime const): Deleted.
* Source/WTF/wtf/ApproximateTime.h:
* Source/WTF/wtf/ContinuousApproximateTime.cpp:
(WTF::ContinuousApproximateTime::approximateWallTime const): Deleted.
(WTF::ContinuousApproximateTime::approximateMonotonicTime const): Deleted.
* Source/WTF/wtf/ContinuousApproximateTime.h:
* Source/WTF/wtf/ContinuousTime.cpp:
(WTF::ContinuousTime::approximateWallTime const): Deleted.
(WTF::ContinuousTime::approximateMonotonicTime const): Deleted.
* Source/WTF/wtf/ContinuousTime.h:
* Source/WTF/wtf/GenericTimeMixin.h:
(WTF::GenericTimeMixin::approximate const):
* Source/WTF/wtf/MonotonicTime.cpp:
(WTF::MonotonicTime::approximateWallTime const): Deleted.
(WTF::MonotonicTime::approximateContinuousTime const): Deleted.
* Source/WTF/wtf/MonotonicTime.h:
* Source/WTF/wtf/TimeWithDynamicClockType.cpp:
(WTF::TimeWithDynamicClockType::approximateWallTime const):
(WTF::TimeWithDynamicClockType::approximateMonotonicTime const):
* Source/WTF/wtf/UnbarrieredMonotonicTime.cpp:
(WTF::UnbarrieredMonotonicTime::approximateWallTime const): Deleted.
(WTF::UnbarrieredMonotonicTime::approximateMonotonicTime const): Deleted.
(WTF::UnbarrieredMonotonicTime::approximateContinuousTime const): Deleted.
* Source/WTF/wtf/UnbarrieredMonotonicTime.h:
* Source/WTF/wtf/WallTime.cpp:
(WTF::WallTime::approximateMonotonicTime const): Deleted.
* Source/WTF/wtf/WallTime.h:
* Source/WebCore/dom/WindowEventLoop.cpp:
(WebCore::WindowEventLoop::didReachTimeToRun):
* Source/WebCore/loader/ResourceMonitorPersistence.cpp:
(WebCore::continuousApproximateTimeToDouble):
* Source/WebCore/page/Performance.cpp:
(WebCore::Performance::Performance):
(WebCore::Performance::timeOrigin const):
(WebCore::Performance::measure):
* Source/WebCore/page/PerformanceTiming.cpp:
(WebCore::PerformanceTiming::monotonicTimeToIntegerMilliseconds const):
* Source/WebCore/platform/network/cocoa/NetworkLoadMetrics.mm:
(WebCore::dateToMonotonicTime):
* Source/WebCore/platform/network/cocoa/WebCoreNSURLSession.mm:
(networkLoadMetricsDate):
* 
Source/WebCore/platform/network/cocoa/WebCoreResourceHandleAsOperationQueueDelegate.mm:
(-[WebCoreResourceHandleAsOperationQueueDelegate connectionDidFinishLoading:]):
* Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:task:didFinishCollectingMetrics:]):
* Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIAlarmsCocoa.mm:
(WebKit::toWebAPI):
* 
Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIWebNavigationCocoa.mm:
(WebKit::WebExtensionContextProxy::dispatchWebNavigationEvent):
* 
Source/WebKit/WebProcess/Extensions/API/Cocoa/WebExtensionAPIWebRequestCocoa.mm:
(WebKit::webRequestDetailsForResourceLoad):
* Source/WebKit/WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMEvent.cpp:
(webkit_dom_event_get_time_stamp):
* Source/WebKitLegacy/mac/DOM/DOMEvent.mm:
(-[DOMEvent timeStamp]):

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



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

Reply via email to