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