Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 860c2ba52717fbcc180fa51464d1a92fc8d10acd
      
https://github.com/WebKit/WebKit/commit/860c2ba52717fbcc180fa51464d1a92fc8d10acd
  Author: Chris Dumez <[email protected]>
  Date:   2024-11-07 (Thu, 07 Nov 2024)

  Changed paths:
    M Source/JavaScriptCore/runtime/JSRunLoopTimer.h
    M Source/WTF/wtf/MemoryPressureHandler.h
    M Source/WTF/wtf/RunLoop.h
    M Source/WTF/wtf/linux/RealTimeThreads.h
    M Source/WebCore/Modules/mediasession/MediaSession.cpp
    M Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp
    M Source/WebCore/Modules/mediastream/UserMediaRequest.cpp
    M Source/WebCore/Modules/webaudio/AudioContext.cpp
    M Source/WebCore/PAL/pal/HysteresisActivity.h
    M Source/WebCore/accessibility/atspi/AccessibilityAtspi.h
    M Source/WebCore/bindings/js/GCController.h
    M Source/WebCore/dom/Document.cpp
    M Source/WebCore/dom/DocumentFontLoader.h
    M Source/WebCore/dom/EventSender.h
    M Source/WebCore/editing/SpellChecker.h
    M Source/WebCore/html/HTMLMediaElement.cpp
    M Source/WebCore/html/MediaElementSession.cpp
    M Source/WebCore/html/ValidationMessage.h
    M Source/WebCore/html/parser/HTMLParserScheduler.h
    M Source/WebCore/inspector/InspectorOverlay.h
    M Source/WebCore/inspector/agents/InspectorAnimationAgent.h
    M Source/WebCore/inspector/agents/InspectorCSSAgent.h
    M Source/WebCore/inspector/agents/InspectorCanvasAgent.h
    M Source/WebCore/inspector/agents/InspectorDOMAgent.cpp
    M Source/WebCore/inspector/agents/InspectorDOMAgent.h
    M Source/WebCore/inspector/agents/WebHeapAgent.cpp
    M Source/WebCore/loader/ImageLoader.h
    M Source/WebCore/loader/SubresourceLoader.cpp
    M Source/WebCore/loader/TextTrackLoader.h
    M Source/WebCore/loader/cache/CachedResource.cpp
    M Source/WebCore/loader/cache/CachedResource.h
    M Source/WebCore/loader/cache/CachedResourceLoader.cpp
    M Source/WebCore/loader/cache/MemoryCache.cpp
    M Source/WebCore/loader/cache/MemoryCache.h
    M Source/WebCore/page/AutoscrollController.h
    M Source/WebCore/page/ImageAnalysisQueue.h
    M Source/WebCore/page/Page.cpp
    M Source/WebCore/page/PerformanceMonitor.h
    M Source/WebCore/page/SettingsBase.h
    M Source/WebCore/page/ios/DOMTimerHoldingTank.h
    M Source/WebCore/page/mac/ServicesOverlayController.h
    M Source/WebCore/page/mac/TextIndicatorWindow.h
    M Source/WebCore/page/scrolling/ScrollLatchingController.h
    M Source/WebCore/platform/CPUMonitor.h
    M Source/WebCore/platform/CaretAnimator.h
    M Source/WebCore/platform/MainThreadSharedTimer.h
    M Source/WebCore/platform/Timer.h
    M Source/WebCore/platform/audio/PlatformMediaSession.cpp
    M Source/WebCore/platform/audio/PlatformMediaSessionManager.cpp
    M Source/WebCore/platform/audio/PlatformMediaSessionManager.h
    M Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.mm
    M Source/WebCore/platform/audio/glib/MediaSessionManagerGLib.cpp
    M Source/WebCore/platform/gamepad/cocoa/GameControllerGamepadProvider.h
    M Source/WebCore/platform/gamepad/libwpe/GamepadProviderLibWPE.h
    M Source/WebCore/platform/gamepad/mac/HIDGamepadProvider.h
    M Source/WebCore/platform/gamepad/manette/ManetteGamepadProvider.h
    M Source/WebCore/platform/generic/ScrollbarsControllerGeneric.h
    M Source/WebCore/platform/graphics/FontCache.h
    M Source/WebCore/platform/graphics/ImageFrameAnimator.h
    M Source/WebCore/platform/graphics/MediaPlaybackTargetPicker.h
    M Source/WebCore/platform/graphics/ShadowBlur.cpp
    M Source/WebCore/platform/graphics/ca/TileCoverageMap.h
    M Source/WebCore/platform/graphics/ca/TileGrid.h
    M Source/WebCore/platform/graphics/cg/CGSubimageCacheWithTimer.h
    M 
Source/WebCore/platform/graphics/cocoa/MediaEngineConfigurationFactoryCocoa.cpp
    M Source/WebCore/platform/graphics/texmap/BitmapTexturePool.h
    M Source/WebCore/platform/ios/LegacyTileCache.h
    M Source/WebCore/platform/mac/ScrollbarsControllerMac.h
    M Source/WebCore/platform/mock/DeviceOrientationClientMock.h
    M Source/WebCore/platform/mock/MockRealtimeAudioSource.cpp
    M Source/WebCore/platform/network/DNSResolveQueue.h
    M Source/WebCore/rendering/RenderLayerCompositor.h
    M Source/WebCore/rendering/RenderMarquee.h
    M Source/WebCore/testing/Internals.cpp
    M Source/WebKit/GPUProcess/GPUProcess.cpp
    M Source/WebKit/NetworkProcess/Downloads/DownloadMonitor.h
    M Source/WebKit/NetworkProcess/NetworkProcess.cpp
    M Source/WebKit/NetworkProcess/NetworkSession.h
    M Source/WebKit/NetworkProcess/cache/PrefetchCache.h
    M Source/WebKit/NetworkProcess/glib/DNSCache.h
    M Source/WebKit/Shared/API/APISerializedScriptValue.cpp
    M Source/WebKit/Shared/SharedStringHashStore.h
    M Source/WebKit/Shared/WebMemorySampler.h
    M Source/WebKit/UIProcess/API/Cocoa/APISerializedScriptValueCocoa.mm
    M Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.mm
    M Source/WebKit/UIProcess/API/glib/APISerializedScriptValueGLib.cpp
    M Source/WebKit/UIProcess/API/glib/WebKitUIClient.cpp
    M Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp
    M Source/WebKit/UIProcess/API/gtk/WebKitWebViewGtk.cpp
    M Source/WebKit/UIProcess/BackgroundProcessResponsivenessTimer.h
    M Source/WebKit/UIProcess/Cocoa/XPCConnectionTerminationWatchdog.h
    M 
Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.h
    M Source/WebKit/UIProcess/Gamepad/UIGamepadProvider.h
    M Source/WebKit/UIProcess/Notifications/glib/NotificationService.cpp
    M Source/WebKit/UIProcess/PerActivityStateCPUUsageSampler.h
    M Source/WebKit/UIProcess/ProcessThrottler.cpp
    M Source/WebKit/UIProcess/ProcessThrottler.h
    M Source/WebKit/UIProcess/ResponsivenessTimer.h
    M Source/WebKit/UIProcess/ViewGestureController.h
    M Source/WebKit/UIProcess/WebBackForwardCacheEntry.h
    M Source/WebKit/UIProcess/WebMemoryPressureHandler.cpp
    M Source/WebKit/UIProcess/WebProcessCache.h
    M Source/WebKit/UIProcess/geoclue/GeoclueGeolocationProvider.cpp
    M Source/WebKit/UIProcess/glib/DisplayVBlankMonitor.h
    M Source/WebKit/UIProcess/ios/GestureRecognizerConsistencyEnforcer.h
    M Source/WebKit/UIProcess/ios/PointerTouchCompatibilitySimulator.h
    M Source/WebKit/WebProcess/GPU/GPUProcessConnection.cpp
    M Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp
    M Source/WebKit/WebProcess/Network/WebLoaderStrategy.h
    M Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm
    M Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/CompositingRunLoop.h
    M Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h
    M 
Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/LayerTreeHostTextureMapper.h
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp
    M Source/WebKit/WebProcess/WebPage/dmabuf/AcceleratedSurfaceDMABuf.h
    M Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm
    M Source/WebKit/WebProcess/WebProcess.cpp
    M Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm
    M Source/WebKit/webpushd/WebPushDaemon.h
    M Source/WebKitLegacy/WebCoreSupport/PingHandle.h
    M Source/WebKitLegacy/WebCoreSupport/WebResourceLoadScheduler.h
    M Tools/TestWebKitAPI/Tests/WTF/RunLoop.cpp
    M Tools/WebKitTestRunner/TestInvocation.h
    M Tools/WebKitTestRunner/gtk/TestControllerGtk.cpp
    M Tools/WebKitTestRunner/libwpe/PlatformWebViewClientLibWPE.cpp
    M Tools/WebKitTestRunner/wpe/TestControllerWPE.cpp

  Log Message:
  -----------
  Require classes using Timer to be ref-counted or CanMakeCheckedPtr
https://bugs.webkit.org/show_bug.cgi?id=282590

Reviewed by Geoffrey Garen.

Require classes using Timer to be ref-counted or CanMakeCheckedPtr, for safety.
The Timer class leverages this fact to protect the object it is calling the
timeout function on.

* Source/JavaScriptCore/runtime/JSRunLoopTimer.h:
(JSC::JSRunLoopTimer::Manager::ref const):
(JSC::JSRunLoopTimer::Manager::deref const):
* Source/WTF/wtf/MemoryPressureHandler.h:
(WTF::MemoryPressureHandler::ref const):
(WTF::MemoryPressureHandler::deref const):
* Source/WTF/wtf/RunLoop.h:
* Source/WebCore/PAL/pal/HysteresisActivity.h:
* Source/WebCore/bindings/js/GCController.h:
(WebCore::GCController::ref const):
(WebCore::GCController::deref const):
* Source/WebCore/dom/DocumentFontLoader.h:
* Source/WebCore/dom/EventSender.h:
* Source/WebCore/editing/SpellChecker.h:
* Source/WebCore/html/ValidationMessage.h:
* Source/WebCore/html/parser/HTMLParserScheduler.h:
* Source/WebCore/inspector/InspectorOverlay.h:
* Source/WebCore/inspector/agents/InspectorAnimationAgent.h:
* Source/WebCore/inspector/agents/InspectorCSSAgent.h:
* Source/WebCore/inspector/agents/InspectorCanvasAgent.h:
* Source/WebCore/inspector/agents/InspectorDOMAgent.cpp:
* Source/WebCore/inspector/agents/InspectorDOMAgent.h:
* Source/WebCore/inspector/agents/WebHeapAgent.cpp:
* Source/WebCore/loader/ImageLoader.h:
* Source/WebCore/loader/TextTrackLoader.h:
* Source/WebCore/loader/cache/CachedResource.cpp:
(WebCore::CachedResourceCallback::CachedResourceCallback):
(WebCore::CachedResourceCallback::cancel):
(WebCore::CachedResourceCallback::timerFired):
(WebCore::CachedResource::Callback::Callback): Deleted.
(WebCore::CachedResource::Callback::cancel): Deleted.
(WebCore::CachedResource::Callback::timerFired): Deleted.
* Source/WebCore/loader/cache/CachedResource.h:
* Source/WebCore/loader/cache/MemoryCache.h:
(WebCore::MemoryCache::ref const):
(WebCore::MemoryCache::deref const):
* Source/WebCore/page/AutoscrollController.h:
* Source/WebCore/page/ImageAnalysisQueue.h:
* Source/WebCore/page/PerformanceMonitor.h:
* Source/WebCore/page/SettingsBase.h:
* Source/WebCore/page/mac/ServicesOverlayController.h:
* Source/WebCore/page/mac/TextIndicatorWindow.h:
* Source/WebCore/page/scrolling/ScrollLatchingController.h:
* Source/WebCore/platform/CPUMonitor.h:
* Source/WebCore/platform/CaretAnimator.h:
* Source/WebCore/platform/Timer.h:
(WebCore::Timer::Timer):
* Source/WebCore/platform/audio/PlatformMediaSessionManager.h:
(WebCore::PlatformMediaSessionManager::ref const):
(WebCore::PlatformMediaSessionManager::deref const):
* Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.mm:
(WebCore::PlatformMediaSessionManager::create):
* Source/WebCore/platform/gamepad/cocoa/GameControllerGamepadProvider.h:
(WebCore::GameControllerGamepadProvider::ref const):
(WebCore::GameControllerGamepadProvider::deref const):
* Source/WebCore/platform/gamepad/mac/HIDGamepadProvider.h:
(WebCore::HIDGamepadProvider::ref const):
(WebCore::HIDGamepadProvider::deref const):
* Source/WebCore/platform/graphics/FontCache.h:
* Source/WebCore/platform/graphics/ImageFrameAnimator.h:
* Source/WebCore/platform/graphics/MediaPlaybackTargetPicker.h:
* Source/WebCore/platform/graphics/ShadowBlur.cpp:
* Source/WebCore/platform/graphics/ca/TileCoverageMap.h:
* Source/WebCore/platform/graphics/ca/TileGrid.h:
* Source/WebCore/platform/graphics/cg/CGSubimageCacheWithTimer.h:
* Source/WebCore/platform/mac/ScrollbarsControllerMac.h:
* Source/WebCore/platform/mock/DeviceOrientationClientMock.h:
* Source/WebCore/platform/network/DNSResolveQueue.h:
(WebCore::DNSResolveQueue::ref const):
(WebCore::DNSResolveQueue::deref const):
* Source/WebCore/rendering/RenderLayerCompositor.h:
* Source/WebCore/rendering/RenderMarquee.h:
* Source/WebKit/NetworkProcess/Downloads/DownloadMonitor.h:
* Source/WebKit/NetworkProcess/NetworkSession.h:
* Source/WebKit/NetworkProcess/cache/PrefetchCache.h:
* Source/WebKit/Shared/API/APISerializedScriptValue.cpp:
(API::SharedJSContextWK::singleton):
(API::SharedJSContextWK::ref const):
(API::SharedJSContextWK::deref const):
(API::SharedJSContextWK::SharedJSContextWK):
(API::SerializedScriptValue::deserializeWK):
(API::sharedContext): Deleted.
* Source/WebKit/Shared/SharedStringHashStore.h:
* Source/WebKit/Shared/WebMemorySampler.h:
(WebKit::WebMemorySampler::ref const):
(WebKit::WebMemorySampler::deref const):
* Source/WebKit/UIProcess/API/Cocoa/APISerializedScriptValueCocoa.mm:
(API::SharedJSContext::singleton):
(API::SharedJSContext::ref const):
(API::SharedJSContext::deref const):
(API::SharedJSContext::SharedJSContext):
(API::SerializedScriptValue::deserialize):
(API::coreValueFromNSObject):
(API::sharedContext): Deleted.
* Source/WebKit/UIProcess/BackgroundProcessResponsivenessTimer.h:
* Source/WebKit/UIProcess/Cocoa/XPCConnectionTerminationWatchdog.h:
* Source/WebKit/UIProcess/Gamepad/UIGamepadProvider.h:
* Source/WebKit/UIProcess/PerActivityStateCPUUsageSampler.h:
* Source/WebKit/UIProcess/ProcessThrottler.cpp:
* Source/WebKit/UIProcess/ProcessThrottler.h:
* Source/WebKit/UIProcess/ResponsivenessTimer.h:
* Source/WebKit/UIProcess/ViewGestureController.h:
* Source/WebKit/UIProcess/WebBackForwardCacheEntry.h:
* Source/WebKit/UIProcess/WebProcessCache.h:
* Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(TimerOwner::TimerOwner):
(TimerOwner::timerFired):
(WKBundlePageCallAfterTasksAndTimers):
* Source/WebKit/WebProcess/Network/WebLoaderStrategy.h:
* Source/WebKit/webpushd/WebPushDaemon.h:
(WebPushD::WebPushDaemon::ref const):
(WebPushD::WebPushDaemon::deref const):
* Source/WebKitLegacy/WebCoreSupport/PingHandle.h:
* Source/WebKitLegacy/WebCoreSupport/WebResourceLoadScheduler.h:
* Tools/TestWebKitAPI/Tests/WTF/RunLoop.cpp:
* Tools/WebKitTestRunner/TestInvocation.h:

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to