[webkit-changes] [WebKit/WebKit] 5d100c: Standardized how we declare refcounting interfaces...

geoffreygaren noreply at github.com
Fri Sep 20 10:16:01 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5d100c24f90237a63172d016c390a3bd223293e6
      https://github.com/WebKit/WebKit/commit/5d100c24f90237a63172d016c390a3bd223293e6
  Author: Geoffrey Garen <ggaren at apple.com>
  Date:   2024-09-20 (Fri, 20 Sep 2024)

  Changed paths:
    M Source/WTF/wtf/FunctionDispatcher.h
    M Source/WTF/wtf/RefCounted.h
    M Source/WebCore/Modules/WebGPU/GPUDevice.h
    M Source/WebCore/Modules/WebGPU/Implementation/WebGPUImpl.h
    M Source/WebCore/Modules/WebGPU/InternalAPI/WebGPU.h
    M Source/WebCore/Modules/applepay/ApplePaySession.h
    M Source/WebCore/Modules/applepay/ApplePaySetupWebCore.h
    M Source/WebCore/Modules/audiosession/DOMAudioSession.h
    M Source/WebCore/Modules/cache/DOMCache.h
    M Source/WebCore/Modules/cache/DOMCacheStorage.h
    M Source/WebCore/Modules/cookie-store/CookieStore.h
    M Source/WebCore/Modules/encryptedmedia/MediaKeySession.h
    M Source/WebCore/Modules/encryptedmedia/MediaKeySystemAccess.h
    M Source/WebCore/Modules/encryptedmedia/MediaKeySystemRequest.h
    M Source/WebCore/Modules/encryptedmedia/legacy/WebKitMediaKeySession.h
    M Source/WebCore/Modules/entriesapi/FileSystemDirectoryReader.h
    M Source/WebCore/Modules/entriesapi/FileSystemEntry.h
    M Source/WebCore/Modules/fetch/FetchBodyOwner.h
    M Source/WebCore/Modules/filesystemaccess/FileSystemHandle.h
    M Source/WebCore/Modules/filesystemaccess/FileSystemSyncAccessHandle.h
    M Source/WebCore/Modules/gamepad/GamepadHapticActuator.h
    M Source/WebCore/Modules/geolocation/Geolocation.h
    M Source/WebCore/Modules/mediarecorder/MediaRecorder.h
    M Source/WebCore/Modules/mediasession/MediaSession.h
    M Source/WebCore/Modules/mediasession/MediaSessionCoordinator.h
    M Source/WebCore/Modules/mediasource/MediaSource.h
    M Source/WebCore/Modules/mediasource/SourceBuffer.h
    M Source/WebCore/Modules/mediasource/SourceBufferList.h
    M Source/WebCore/Modules/mediastream/ImageCapture.h
    M Source/WebCore/Modules/mediastream/MediaDevices.h
    M Source/WebCore/Modules/mediastream/MediaStream.h
    M Source/WebCore/Modules/mediastream/MediaStreamTrack.h
    M Source/WebCore/Modules/mediastream/MediaStreamTrackProcessor.h
    M Source/WebCore/Modules/mediastream/RTCDTMFSender.h
    M Source/WebCore/Modules/mediastream/RTCDataChannel.h
    M Source/WebCore/Modules/mediastream/RTCDtlsTransport.h
    M Source/WebCore/Modules/mediastream/RTCIceTransport.h
    M Source/WebCore/Modules/mediastream/RTCPeerConnection.h
    M Source/WebCore/Modules/mediastream/RTCRtpScriptTransformer.h
    M Source/WebCore/Modules/mediastream/RTCSctpTransport.h
    M Source/WebCore/Modules/mediastream/UserMediaRequest.h
    M Source/WebCore/Modules/notifications/Notification.h
    M Source/WebCore/Modules/paymentrequest/PaymentRequest.h
    M Source/WebCore/Modules/paymentrequest/PaymentResponse.h
    M Source/WebCore/Modules/pictureinpicture/PictureInPictureWindow.h
    M Source/WebCore/Modules/push-api/PushSubscriptionOwner.h
    M Source/WebCore/Modules/remoteplayback/RemotePlayback.h
    M Source/WebCore/Modules/reporting/ReportingObserver.h
    M Source/WebCore/Modules/screen-wake-lock/WakeLockSentinel.h
    M Source/WebCore/Modules/speech/SpeechRecognition.h
    M Source/WebCore/Modules/speech/SpeechSynthesis.h
    M Source/WebCore/Modules/speech/SpeechSynthesisUtterance.h
    M Source/WebCore/Modules/streams/ReadableStreamSource.h
    M Source/WebCore/Modules/web-locks/WebLockManager.h
    M Source/WebCore/Modules/websockets/WebSocket.h
    M Source/WebCore/Modules/webtransport/WebTransportSession.h
    M Source/WebCore/Modules/webxr/WebXRSession.h
    M Source/WebCore/Modules/webxr/WebXRSystem.h
    M Source/WebCore/animation/WebAnimation.h
    M Source/WebCore/css/CSSComputedStyleDeclaration.h
    M Source/WebCore/css/CSSFontFace.h
    M Source/WebCore/css/CSSFontFaceSet.h
    M Source/WebCore/css/CSSFontSelector.h
    M Source/WebCore/css/CSSRuleList.h
    M Source/WebCore/css/CSSSegmentedFontFace.h
    M Source/WebCore/css/CSSStyleDeclaration.h
    M Source/WebCore/css/CSSStyleSheet.cpp
    M Source/WebCore/css/FontFace.h
    M Source/WebCore/css/FontFaceSet.h
    M Source/WebCore/css/MediaQueryList.h
    M Source/WebCore/css/MutableStyleProperties.cpp
    M Source/WebCore/css/PropertySetCSSStyleDeclaration.cpp
    M Source/WebCore/css/PropertySetCSSStyleDeclaration.h
    M Source/WebCore/css/StyleProperties.cpp
    M Source/WebCore/dom/ActiveDOMObject.h
    M Source/WebCore/dom/InternalObserver.h
    M Source/WebCore/dom/Subscriber.h
    M Source/WebCore/dom/ViewTransition.h
    M Source/WebCore/fileapi/Blob.h
    M Source/WebCore/fileapi/FileReader.h
    M Source/WebCore/html/ImageBitmap.cpp
    M Source/WebCore/html/OffscreenCanvas.h
    M Source/WebCore/html/PublicURLManager.h
    M Source/WebCore/html/track/TextTrack.h
    M Source/WebCore/html/track/TextTrackCue.h
    M Source/WebCore/html/track/TrackListBase.h
    M Source/WebCore/loader/ContentFilterClient.h
    M Source/WebCore/loader/DocumentLoader.h
    M Source/WebCore/page/DOMTimer.h
    M Source/WebCore/page/EventSource.h
    M Source/WebCore/page/Navigator.h
    M Source/WebCore/page/ScreenOrientation.h
    M Source/WebCore/platform/RemoteCommandListener.h
    M Source/WebCore/platform/audio/AudioDestination.h
    M Source/WebCore/platform/audio/AudioHardwareListener.cpp
    M Source/WebCore/platform/audio/AudioHardwareListener.h
    M Source/WebCore/platform/graphics/MediaPlayer.cpp
    M Source/WebCore/platform/graphics/MediaPlayerPrivate.h
    M Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h
    M Source/WebCore/platform/graphics/avfoundation/SampleBufferDisplayLayer.h
    M Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h
    M Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h
    M Source/WebCore/platform/graphics/cocoa/MediaPlayerPrivateWebM.h
    M Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h
    M Source/WebCore/platform/graphics/holepunch/MediaPlayerPrivateHolePunch.h
    M Source/WebCore/platform/graphics/win/MediaPlayerPrivateMediaFoundation.h
    M Source/WebCore/platform/mediastream/RealtimeMediaSource.h
    M Source/WebCore/platform/mock/mediasource/MockMediaPlayerMediaSource.h
    M Source/WebCore/platform/network/curl/CurlRequestClient.h
    M Source/WebCore/workers/Worker.h
    M Source/WebCore/workers/service/ServiceWorker.h
    M Source/WebCore/workers/service/ServiceWorkerRegistration.h
    M Source/WebCore/workers/service/background-fetch/BackgroundFetchRegistration.h
    M Source/WebCore/workers/service/context/SWContextManager.h
    M Source/WebCore/worklets/Worklet.h
    M Source/WebCore/xml/XMLHttpRequest.h
    M Source/WebKit/GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.h
    M Source/WebKit/NetworkProcess/Downloads/DownloadManager.h
    M Source/WebKit/NetworkProcess/NetworkResourceLoader.h
    M Source/WebKit/NetworkProcess/curl/NetworkDataTaskCurl.h
    M Source/WebKit/UIProcess/AuxiliaryProcessProxy.h
    M Source/WebKit/UIProcess/ResponsivenessTimer.h
    M Source/WebKit/WebProcess/GPU/GPUProcessConnection.h
    M Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.h
    M Source/WebKit/WebProcess/Model/ModelProcessConnection.h

  Log Message:
  -----------
  Standardized how we declare refcounting interfaces in abstract base classes
https://bugs.webkit.org/show_bug.cgi?id=280002
rdar://136309469

Reviewed by Ryosuke Niwa.

This pattern is common, and we're about to use it a lot more in IPC, so I added
a macro to declare it in a standard way.

* Source/WTF/wtf/FunctionDispatcher.h:
* Source/WTF/wtf/RefCounted.h:
* Source/WTF/wtf/StdLibExtras.h:
(WTF::makeUnique):
(WTF::makeUniqueWithoutFastMallocCheck):
* Source/WTF/wtf/TypeTraits.h:
* Source/WebCore/Modules/WebGPU/GPUDevice.h:
* Source/WebCore/Modules/WebGPU/Implementation/WebGPUImpl.h:
* Source/WebCore/Modules/WebGPU/InternalAPI/WebGPU.h:
* Source/WebCore/Modules/applepay/ApplePaySession.h:
* Source/WebCore/Modules/applepay/ApplePaySetupWebCore.h:
(): Deleted.
* Source/WebCore/Modules/audiosession/DOMAudioSession.h:
* Source/WebCore/Modules/cache/DOMCache.h:
* Source/WebCore/Modules/cache/DOMCacheStorage.h:
* Source/WebCore/Modules/cookie-store/CookieStore.h:
* Source/WebCore/Modules/encryptedmedia/MediaKeySession.h:
* Source/WebCore/Modules/encryptedmedia/MediaKeySystemAccess.h:
(): Deleted.
* Source/WebCore/Modules/encryptedmedia/MediaKeySystemRequest.h:
(): Deleted.
* Source/WebCore/Modules/encryptedmedia/legacy/WebKitMediaKeySession.h:
* Source/WebCore/Modules/entriesapi/FileSystemDirectoryReader.h:
* Source/WebCore/Modules/entriesapi/FileSystemEntry.h:
(): Deleted.
* Source/WebCore/Modules/fetch/FetchBodyOwner.h:
* Source/WebCore/Modules/filesystemaccess/FileSystemHandle.h:
* Source/WebCore/Modules/filesystemaccess/FileSystemSyncAccessHandle.h:
* Source/WebCore/Modules/gamepad/GamepadHapticActuator.h:
(): Deleted.
* Source/WebCore/Modules/geolocation/Geolocation.h:
* Source/WebCore/Modules/mediarecorder/MediaRecorder.h:
* Source/WebCore/Modules/mediasession/MediaSession.h:
* Source/WebCore/Modules/mediasession/MediaSessionCoordinator.h:
* Source/WebCore/Modules/mediasource/MediaSource.h:
* Source/WebCore/Modules/mediasource/SourceBuffer.h:
* Source/WebCore/Modules/mediasource/SourceBufferList.h:
* Source/WebCore/Modules/mediastream/ImageCapture.h:
(): Deleted.
* Source/WebCore/Modules/mediastream/MediaDevices.h:
* Source/WebCore/Modules/mediastream/MediaStream.h:
* Source/WebCore/Modules/mediastream/MediaStreamTrack.h:
* Source/WebCore/Modules/mediastream/MediaStreamTrackProcessor.h:
* Source/WebCore/Modules/mediastream/RTCDTMFSender.h:
* Source/WebCore/Modules/mediastream/RTCDataChannel.h:
* Source/WebCore/Modules/mediastream/RTCDtlsTransport.h:
* Source/WebCore/Modules/mediastream/RTCIceTransport.h:
* Source/WebCore/Modules/mediastream/RTCPeerConnection.h:
* Source/WebCore/Modules/mediastream/RTCRtpScriptTransformer.h:
* Source/WebCore/Modules/mediastream/RTCSctpTransport.h:
* Source/WebCore/Modules/mediastream/UserMediaRequest.h:
(): Deleted.
* Source/WebCore/Modules/notifications/Notification.h:
* Source/WebCore/Modules/paymentrequest/PaymentRequest.h:
* Source/WebCore/Modules/paymentrequest/PaymentResponse.h:
* Source/WebCore/Modules/pictureinpicture/PictureInPictureWindow.h:
* Source/WebCore/Modules/push-api/PushSubscriptionOwner.h:
* Source/WebCore/Modules/remoteplayback/RemotePlayback.h:
* Source/WebCore/Modules/reporting/ReportingObserver.h:
* Source/WebCore/Modules/screen-wake-lock/WakeLockSentinel.h:
* Source/WebCore/Modules/speech/SpeechRecognition.h:
* Source/WebCore/Modules/speech/SpeechSynthesis.h:
* Source/WebCore/Modules/speech/SpeechSynthesisUtterance.h:
* Source/WebCore/Modules/streams/ReadableStreamSource.h:
* Source/WebCore/Modules/web-locks/WebLockManager.h:
* Source/WebCore/Modules/websockets/WebSocket.h:
* Source/WebCore/Modules/webtransport/WebTransportSession.h:
* Source/WebCore/Modules/webxr/WebXRSession.h:
* Source/WebCore/Modules/webxr/WebXRSystem.h:
* Source/WebCore/animation/WebAnimation.h:
* Source/WebCore/css/CSSComputedStyleDeclaration.h:
* Source/WebCore/css/CSSFontFace.h:
(WebCore::CSSFontFaceClient::updateStyleIfNeeded):
* Source/WebCore/css/CSSFontFaceSet.h:
* Source/WebCore/css/CSSFontSelector.h:
* Source/WebCore/css/CSSRuleList.h:
* Source/WebCore/css/CSSSegmentedFontFace.h:
* Source/WebCore/css/CSSStyleDeclaration.h:
* Source/WebCore/css/CSSStyleSheet.cpp:
* Source/WebCore/css/FontFace.h:
* Source/WebCore/css/FontFaceSet.h:
* Source/WebCore/css/MediaQueryList.h:
* Source/WebCore/css/MutableStyleProperties.cpp:
(WebCore::MutableStyleProperties::ensureInlineCSSStyleDeclaration):
* Source/WebCore/css/MutableStyleProperties.h:
* Source/WebCore/css/PropertySetCSSStyleDeclaration.cpp:
(WebCore::PropertySetCSSStyleDeclaration::ref const):
(WebCore::PropertySetCSSStyleDeclaration::deref const):
(WebCore::PropertySetCSSStyleDeclaration::ref): Deleted.
(WebCore::PropertySetCSSStyleDeclaration::deref): Deleted.
* Source/WebCore/css/PropertySetCSSStyleDeclaration.h:
(WebCore::PropertySetCSSStyleDeclaration::create):
(WebCore::PropertySetCSSStyleDeclaration::PropertySetCSSStyleDeclaration):
* Source/WebCore/css/StyleProperties.cpp:
(WebCore::MutableStyleProperties::ensureCSSStyleDeclaration):
* Source/WebCore/dom/ActiveDOMObject.h:
* Source/WebCore/dom/InternalObserver.h:
* Source/WebCore/dom/Subscriber.h:
* Source/WebCore/dom/ViewTransition.h:
* Source/WebCore/fileapi/Blob.h:
* Source/WebCore/fileapi/FileReader.h:
* Source/WebCore/html/ImageBitmap.cpp:
* Source/WebCore/html/OffscreenCanvas.h:
* Source/WebCore/html/PublicURLManager.h:
* Source/WebCore/html/track/TextTrack.h:
* Source/WebCore/html/track/TextTrackCue.h:
* Source/WebCore/html/track/TrackListBase.h:
* Source/WebCore/loader/ContentFilterClient.h:
* Source/WebCore/loader/DocumentLoader.h:
(WebCore::DocumentLoader::contentFilter const):
* Source/WebCore/page/DOMTimer.h:
* Source/WebCore/page/EventSource.h:
* Source/WebCore/page/Navigator.h:
* Source/WebCore/page/ScreenOrientation.h:
* Source/WebCore/platform/RemoteCommandListener.h:
* Source/WebCore/platform/audio/AudioDestination.h:
* Source/WebCore/platform/audio/AudioHardwareListener.cpp:
(WebCore::AudioHardwareListener::resetCreationFunction):
* Source/WebCore/platform/audio/AudioHardwareListener.h:
* Source/WebCore/platform/graphics/MediaPlayer.cpp:
* Source/WebCore/platform/graphics/MediaPlayerPrivate.h:
* Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
* Source/WebCore/platform/graphics/avfoundation/SampleBufferDisplayLayer.h:
* Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
* Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
* Source/WebCore/platform/graphics/cocoa/MediaPlayerPrivateWebM.h:
* Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
* Source/WebCore/platform/graphics/holepunch/MediaPlayerPrivateHolePunch.h:
* Source/WebCore/platform/graphics/win/MediaPlayerPrivateMediaFoundation.h:
* Source/WebCore/platform/mediastream/RealtimeMediaSource.h:
* Source/WebCore/platform/mock/mediasource/MockMediaPlayerMediaSource.h:
* Source/WebCore/platform/network/curl/CurlRequestClient.h:
* Source/WebCore/workers/Worker.h:
* Source/WebCore/workers/service/ServiceWorker.h:
* Source/WebCore/workers/service/ServiceWorkerRegistration.h:
* Source/WebCore/workers/service/background-fetch/BackgroundFetchRegistration.h:
* Source/WebCore/workers/service/context/SWContextManager.h:
* Source/WebCore/worklets/Worklet.h:
(): Deleted.
* Source/WebCore/xml/XMLHttpRequest.h:
* Source/WebKit/GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.h:
* Source/WebKit/NetworkProcess/Downloads/DownloadManager.h:
* Source/WebKit/NetworkProcess/NetworkResourceLoader.h:
* Source/WebKit/UIProcess/AuxiliaryProcessProxy.h:
* Source/WebKit/UIProcess/ResponsivenessTimer.h:
* Source/WebKit/WebProcess/GPU/GPUProcessConnection.h:
* Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
* Source/WebKit/WebProcess/Model/ModelProcessConnection.h:

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



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


More information about the webkit-changes mailing list