[webkit-changes] [WebKit/WebKit] d94e96: RunLoop::Timer should use constructor templates in...

Kimmo Kinnunen noreply at github.com
Fri Dec 16 06:08:16 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: d94e96e0fc4ac0447579aa41f57ea6fe895070a9
      https://github.com/WebKit/WebKit/commit/d94e96e0fc4ac0447579aa41f57ea6fe895070a9
  Author: Kimmo Kinnunen <kkinnunen at apple.com>
  Date:   2022-12-16 (Fri, 16 Dec 2022)

  Changed paths:
    M Source/JavaScriptCore/runtime/JSRunLoopTimer.cpp
    M Source/JavaScriptCore/runtime/JSRunLoopTimer.h
    M Source/WTF/wtf/MemoryPressureHandler.cpp
    M Source/WTF/wtf/MemoryPressureHandler.h
    M Source/WTF/wtf/RunLoop.h
    M Source/WTF/wtf/generic/RunLoopGeneric.cpp
    M Source/WTF/wtf/linux/RealTimeThreads.h
    M Source/WebCore/Modules/airplay/WebMediaSessionManager.h
    M Source/WebCore/Modules/mediastream/MediaDevices.h
    M Source/WebCore/PAL/pal/HysteresisActivity.h
    M Source/WebCore/accessibility/atspi/AccessibilityAtspi.h
    M Source/WebCore/inspector/agents/WebHeapAgent.cpp
    M Source/WebCore/page/mac/TextIndicatorWindow.h
    M Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp
    M Source/WebCore/page/scrolling/ThreadedScrollingTree.h
    M Source/WebCore/platform/MainThreadSharedTimer.h
    M Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.h
    M Source/WebCore/platform/gamepad/cocoa/GameControllerGamepadProvider.h
    M Source/WebCore/platform/gamepad/libwpe/GamepadProviderLibWPE.h
    M Source/WebCore/platform/gamepad/manette/ManetteGamepadProvider.h
    M Source/WebCore/platform/graphics/MediaPlaybackTargetPicker.h
    M Source/WebCore/platform/graphics/ShadowBlur.cpp
    M Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm
    M Source/WebCore/platform/graphics/cg/IOSurfacePool.h
    M Source/WebCore/platform/graphics/cg/SubimageCacheWithTimer.h
    M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h
    M Source/WebCore/platform/graphics/holepunch/MediaPlayerPrivateHolePunch.h
    M Source/WebCore/platform/graphics/texmap/BitmapTexturePool.h
    M Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxyGL.cpp
    M Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxyGL.h
    M Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h
    M Source/WebCore/platform/graphics/win/DisplayRefreshMonitorWin.h
    M Source/WebCore/platform/ios/VideoFullscreenInterfaceAVKit.h
    M Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.h
    M Source/WebCore/platform/mediastream/cocoa/DisplayCaptureSourceCocoa.h
    M Source/WebCore/platform/mediastream/mac/MockAudioSharedUnit.mm
    M Source/WebCore/platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.h
    M Source/WebCore/platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.mm
    M Source/WebCore/platform/mock/MockAudioDestinationCocoa.h
    M Source/WebCore/platform/mock/MockRealtimeAudioSource.h
    M Source/WebCore/platform/mock/MockRealtimeVideoSource.h
    M Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.h
    M Source/WebKit/NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h
    M Source/WebKit/NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementManager.h
    M Source/WebKit/NetworkProcess/glib/DNSCache.h
    M Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.h
    M Source/WebKit/NetworkProcess/soup/WebSocketTaskSoup.h
    M Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.h
    M Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/ThreadedDisplayRefreshMonitor.h
    M Source/WebKit/Shared/SharedStringHashStore.h
    M Source/WebKit/UIProcess/API/Cocoa/APISerializedScriptValueCocoa.mm
    M Source/WebKit/UIProcess/API/glib/APISerializedScriptValueGLib.cpp
    M Source/WebKit/UIProcess/API/glib/IconDatabase.cpp
    M Source/WebKit/UIProcess/API/glib/IconDatabase.h
    M Source/WebKit/UIProcess/API/glib/WebKitUIClient.cpp
    M Source/WebKit/UIProcess/API/gtk/DropTarget.h
    M Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp
    M Source/WebKit/UIProcess/API/gtk/WebKitWebViewGtk.cpp
    M Source/WebKit/UIProcess/Automation/SimulatedInputDispatcher.h
    M Source/WebKit/UIProcess/Automation/WebAutomationSession.h
    M Source/WebKit/UIProcess/BackgroundProcessResponsivenessTimer.h
    M Source/WebKit/UIProcess/Cocoa/NavigationState.h
    M Source/WebKit/UIProcess/Cocoa/XPCConnectionTerminationWatchdog.h
    M Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.h
    M Source/WebKit/UIProcess/DrawingAreaProxy.h
    M Source/WebKit/UIProcess/Gamepad/UIGamepadProvider.h
    M Source/WebKit/UIProcess/HighPerformanceGraphicsUsageSampler.h
    M Source/WebKit/UIProcess/Inspector/WebInspectorUIProxy.h
    M Source/WebKit/UIProcess/Notifications/glib/NotificationService.cpp
    M Source/WebKit/UIProcess/PerActivityStateCPUUsageSampler.h
    M Source/WebKit/UIProcess/ProcessThrottler.h
    M Source/WebKit/UIProcess/ResponsivenessTimer.h
    M Source/WebKit/UIProcess/SuspendedPageProxy.h
    M Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.h
    M Source/WebKit/UIProcess/ViewGestureController.h
    M Source/WebKit/UIProcess/WebAuthentication/AuthenticatorManager.h
    M Source/WebKit/UIProcess/WebAuthentication/Cocoa/CcidConnection.h
    M Source/WebKit/UIProcess/WebAuthentication/Cocoa/CcidService.h
    M Source/WebKit/UIProcess/WebAuthentication/Cocoa/NfcConnection.h
    M Source/WebKit/UIProcess/WebAuthentication/Cocoa/NfcService.h
    M Source/WebKit/UIProcess/WebAuthentication/fido/U2fAuthenticator.h
    M Source/WebKit/UIProcess/WebBackForwardCacheEntry.h
    M Source/WebKit/UIProcess/WebPageProxy.h
    M Source/WebKit/UIProcess/WebProcessCache.h
    M Source/WebKit/UIProcess/WebProcessPool.h
    M Source/WebKit/UIProcess/geoclue/GeoclueGeolocationProvider.h
    M Source/WebKit/UIProcess/ios/GestureRecognizerConsistencyEnforcer.h
    M Source/WebKit/UIProcess/ios/ProcessStateMonitor.h
    M Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.h
    M Source/WebKit/WebProcess/Network/WebLoaderStrategy.h
    M Source/WebKit/WebProcess/Plugins/PluginView.h
    M Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.h
    M Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h
    M Source/WebKit/WebProcess/WebPage/WebPage.h
    M Tools/TestWebKitAPI/Tests/WTF/RunLoop.cpp
    M Tools/WebKitTestRunner/TestInvocation.h
    M Tools/WebKitTestRunner/gtk/TestControllerGtk.cpp
    M Tools/WebKitTestRunner/libwpe/PlatformWebViewLibWPE.cpp
    M Tools/WebKitTestRunner/wpe/TestControllerWPE.cpp

  Log Message:
  -----------
  RunLoop::Timer should use constructor templates instead of class templates
https://bugs.webkit.org/show_bug.cgi?id=159153
rdar://problem/27070856

Reviewed by Žan Doberšek.

RunLoop::Timer isn't specific to the member function it is invoking.

Needed to make RunLoopGeneric.cpp global variable to not be RunLoop::DispatchTimer.
That is needed to fix RunLoop::DispatchTimer leaks.

* Source/JavaScriptCore/runtime/JSRunLoopTimer.cpp:
(JSC::JSRunLoopTimer::Manager::PerVMData::PerVMData):
* Source/JavaScriptCore/runtime/JSRunLoopTimer.h:
* Source/WTF/wtf/MemoryPressureHandler.cpp:
(WTF::MemoryPressureHandler::setShouldUsePeriodicMemoryMonitor):
* Source/WTF/wtf/MemoryPressureHandler.h:
* Source/WTF/wtf/RunLoop.h:
* Source/WTF/wtf/generic/RunLoopGeneric.cpp:
(WTF::RunLoop::runImpl):
* Source/WTF/wtf/linux/RealTimeThreads.h:
* Source/WebCore/Modules/airplay/WebMediaSessionManager.h:
* Source/WebCore/Modules/mediastream/MediaDevices.h:
* Source/WebCore/PAL/pal/HysteresisActivity.h:
* Source/WebCore/accessibility/atspi/AccessibilityAtspi.h:
* Source/WebCore/inspector/agents/WebHeapAgent.cpp:
* Source/WebCore/page/mac/TextIndicatorWindow.h:
* Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp:
(WebCore::ThreadedScrollingTree::scheduleDelayedRenderingUpdateDetectionTimer):
* Source/WebCore/page/scrolling/ThreadedScrollingTree.h:
* Source/WebCore/platform/MainThreadSharedTimer.h:
* Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.h:
* Source/WebCore/platform/gamepad/cocoa/GameControllerGamepadProvider.h:
* Source/WebCore/platform/gamepad/libwpe/GamepadProviderLibWPE.h:
* Source/WebCore/platform/gamepad/manette/ManetteGamepadProvider.h:
* Source/WebCore/platform/graphics/MediaPlaybackTargetPicker.h:
* Source/WebCore/platform/graphics/ShadowBlur.cpp:
* Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::waitForVideoOutputMediaDataWillChange):
* Source/WebCore/platform/graphics/cg/IOSurfacePool.h:
* Source/WebCore/platform/graphics/cg/SubimageCacheWithTimer.h:
* Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
* Source/WebCore/platform/graphics/holepunch/MediaPlayerPrivateHolePunch.h:
* Source/WebCore/platform/graphics/texmap/BitmapTexturePool.h:
* Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxyGL.cpp:
(WebCore::TextureMapperPlatformLayerProxyGL::activateOnCompositingThread):
* Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxyGL.h:
* Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
* Source/WebCore/platform/graphics/win/DisplayRefreshMonitorWin.h:
* Source/WebCore/platform/ios/VideoFullscreenInterfaceAVKit.h:
* Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.h:
* Source/WebCore/platform/mediastream/cocoa/DisplayCaptureSourceCocoa.h:
* Source/WebCore/platform/mediastream/mac/MockAudioSharedUnit.mm:
* Source/WebCore/platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.h:
* Source/WebCore/platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.mm:
(WebCore::ScreenCaptureKitSharingSessionManager::promptForGetDisplayMedia):
* Source/WebCore/platform/mock/MockAudioDestinationCocoa.h:
* Source/WebCore/platform/mock/MockRealtimeAudioSource.h:
* Source/WebCore/platform/mock/MockRealtimeVideoSource.h:
* Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.h:
* Source/WebKit/NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:
* Source/WebKit/NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementManager.h:
* Source/WebKit/NetworkProcess/glib/DNSCache.h:
* Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.h:
* Source/WebKit/NetworkProcess/soup/WebSocketTaskSoup.h:
* Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.h:
* Source/WebKit/Shared/CoordinatedGraphics/threadedcompositor/ThreadedDisplayRefreshMonitor.h:
* Source/WebKit/Shared/SharedStringHashStore.h:
* Source/WebKit/UIProcess/API/Cocoa/APISerializedScriptValueCocoa.mm:
* Source/WebKit/UIProcess/API/glib/APISerializedScriptValueGLib.cpp:
* Source/WebKit/UIProcess/API/glib/IconDatabase.cpp:
(WebKit::IconDatabase::IconDatabase):
* Source/WebKit/UIProcess/API/glib/IconDatabase.h:
* Source/WebKit/UIProcess/API/glib/WebKitUIClient.cpp:
* Source/WebKit/UIProcess/API/gtk/DropTarget.h:
* Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp:
* Source/WebKit/UIProcess/API/gtk/WebKitWebViewGtk.cpp:
* Source/WebKit/UIProcess/Automation/SimulatedInputDispatcher.h:
* Source/WebKit/UIProcess/Automation/WebAutomationSession.h:
* Source/WebKit/UIProcess/BackgroundProcessResponsivenessTimer.h:
* Source/WebKit/UIProcess/Cocoa/NavigationState.h:
* Source/WebKit/UIProcess/Cocoa/XPCConnectionTerminationWatchdog.h:
* Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.h:
* Source/WebKit/UIProcess/DrawingAreaProxy.h:
* Source/WebKit/UIProcess/Gamepad/UIGamepadProvider.h:
* Source/WebKit/UIProcess/HighPerformanceGraphicsUsageSampler.h:
* Source/WebKit/UIProcess/Inspector/WebInspectorUIProxy.h:
* Source/WebKit/UIProcess/Notifications/glib/NotificationService.cpp:
* Source/WebKit/UIProcess/PerActivityStateCPUUsageSampler.h:
* Source/WebKit/UIProcess/ProcessThrottler.h:
* Source/WebKit/UIProcess/ResponsivenessTimer.h:
* Source/WebKit/UIProcess/SuspendedPageProxy.h:
* Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.h:
* Source/WebKit/UIProcess/ViewGestureController.h:
* Source/WebKit/UIProcess/WebAuthentication/AuthenticatorManager.h:
(WebKit::AuthenticatorManager::requestTimeOutTimer):
* Source/WebKit/UIProcess/WebAuthentication/Cocoa/CcidConnection.h:
* Source/WebKit/UIProcess/WebAuthentication/Cocoa/CcidService.h:
* Source/WebKit/UIProcess/WebAuthentication/Cocoa/NfcConnection.h:
* Source/WebKit/UIProcess/WebAuthentication/Cocoa/NfcService.h:
* Source/WebKit/UIProcess/WebAuthentication/fido/U2fAuthenticator.h:
* Source/WebKit/UIProcess/WebBackForwardCacheEntry.h:
* Source/WebKit/UIProcess/WebPageProxy.h:
* Source/WebKit/UIProcess/WebProcessCache.h:
* Source/WebKit/UIProcess/WebProcessPool.h:
* Source/WebKit/UIProcess/geoclue/GeoclueGeolocationProvider.h:
* Source/WebKit/UIProcess/ios/GestureRecognizerConsistencyEnforcer.h:
* Source/WebKit/UIProcess/ios/ProcessStateMonitor.h:
* Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.h:
* Source/WebKit/WebProcess/Network/WebLoaderStrategy.h:
* Source/WebKit/WebProcess/Plugins/PluginView.h:
* Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.h:
* Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h:
* Source/WebKit/WebProcess/WebPage/WebPage.h:
* Tools/TestWebKitAPI/Tests/WTF/RunLoop.cpp:
(TestWebKitAPI::DerivedOneShotTimer::DerivedOneShotTimer):
(TestWebKitAPI::DerivedRepeatingTimer::DerivedRepeatingTimer):
* Tools/WebKitTestRunner/TestInvocation.h:
* Tools/WebKitTestRunner/gtk/TestControllerGtk.cpp:
(WTR::TestController::platformRunUntil):
* Tools/WebKitTestRunner/libwpe/PlatformWebViewLibWPE.cpp:
(WTR::PlatformWebView::windowSnapshotImage):
* Tools/WebKitTestRunner/wpe/TestControllerWPE.cpp:
(WTR::TestController::platformRunUntil):

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




More information about the webkit-changes mailing list