Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c13321a96e1de0debe0e734a4b092001b22854aa
      
https://github.com/WebKit/WebKit/commit/c13321a96e1de0debe0e734a4b092001b22854aa
  Author: Geoffrey Garen <gga...@apple.com>
  Date:   2024-05-01 (Wed, 01 May 2024)

  Changed paths:
    M Source/JavaScriptCore/inspector/InspectorTarget.h
    M Source/JavaScriptCore/runtime/ConsoleClient.h
    M Source/JavaScriptCore/runtime/JSGlobalObject.cpp
    M Source/JavaScriptCore/runtime/JSGlobalObject.h
    M Source/WTF/wtf/CancellableTask.h
    M Source/WTF/wtf/ListHashSet.h
    M Source/WTF/wtf/NativePromise.h
    M Source/WTF/wtf/Observer.h
    M Source/WTF/wtf/TypeTraits.h
    M Source/WTF/wtf/WeakPtr.h
    M Source/WTF/wtf/WeakRef.h
    M Source/WebCore/Modules/WebGPU/InternalAPI/WebGPUBufferBinding.h
    M Source/WebCore/Modules/WebGPU/InternalAPI/WebGPUCanvasConfiguration.h
    M Source/WebCore/Modules/WebGPU/InternalAPI/WebGPUImageCopyTexture.h
    M Source/WebCore/Modules/WebGPU/InternalAPI/WebGPUPipelineDescriptorBase.h
    M Source/WebCore/Modules/WebGPU/InternalAPI/WebGPUProgrammableStage.h
    M 
Source/WebCore/Modules/WebGPU/InternalAPI/WebGPURenderPassColorAttachment.h
    M 
Source/WebCore/Modules/WebGPU/InternalAPI/WebGPURenderPassDepthStencilAttachment.h
    M Source/WebCore/Modules/applepay/PaymentCoordinator.h
    M Source/WebCore/Modules/audiosession/DOMAudioSession.h
    M Source/WebCore/Modules/encryptedmedia/CDMClient.h
    M Source/WebCore/Modules/encryptedmedia/MediaKeySystemClient.h
    M Source/WebCore/Modules/fetch/FormDataConsumer.h
    M Source/WebCore/Modules/gamepad/NavigatorGamepad.h
    M Source/WebCore/Modules/indexeddb/client/IDBConnectionToServerDelegate.h
    M Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabase.h
    M Source/WebCore/Modules/indexeddb/server/UniqueIDBDatabaseManager.h
    M Source/WebCore/Modules/mediarecorder/MediaRecorder.h
    M Source/WebCore/Modules/mediasession/MediaSession.cpp
    M Source/WebCore/Modules/mediasession/MediaSession.h
    M Source/WebCore/Modules/mediasession/MediaSessionCoordinator.h
    M Source/WebCore/Modules/mediasession/MediaSessionCoordinatorPrivate.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/PeerConnectionBackend.h
    M Source/WebCore/Modules/mediastream/RTCController.h
    M Source/WebCore/Modules/mediastream/RTCDataChannelRemoteHandler.h
    M Source/WebCore/Modules/mediastream/RTCDtlsTransport.h
    M Source/WebCore/Modules/mediastream/RTCDtlsTransportBackend.h
    M Source/WebCore/Modules/mediastream/RTCIceTransport.h
    M Source/WebCore/Modules/mediastream/RTCIceTransportBackend.h
    M Source/WebCore/Modules/mediastream/RTCRtpTransceiver.cpp
    M Source/WebCore/Modules/mediastream/RTCRtpTransceiver.h
    M Source/WebCore/Modules/mediastream/RTCSctpTransport.h
    M Source/WebCore/Modules/mediastream/RTCSctpTransportBackend.h
    M 
Source/WebCore/Modules/mediastream/gstreamer/GStreamerDtlsTransportBackend.cpp
    M 
Source/WebCore/Modules/mediastream/gstreamer/GStreamerDtlsTransportBackend.h
    M 
Source/WebCore/Modules/mediastream/gstreamer/GStreamerIceTransportBackend.cpp
    M 
Source/WebCore/Modules/mediastream/gstreamer/GStreamerIceTransportBackend.h
    M 
Source/WebCore/Modules/mediastream/gstreamer/GStreamerPeerConnectionBackend.h
    M Source/WebCore/Modules/mediastream/gstreamer/GStreamerRtpSenderBackend.h
    M 
Source/WebCore/Modules/mediastream/gstreamer/GStreamerSctpTransportBackend.cpp
    M 
Source/WebCore/Modules/mediastream/gstreamer/GStreamerSctpTransportBackend.h
    M 
Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCDtlsTransportBackend.cpp
    M 
Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCDtlsTransportBackend.h
    M 
Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCIceTransportBackend.cpp
    M 
Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCIceTransportBackend.h
    M 
Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.h
    M Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCRtpSenderBackend.h
    M 
Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCSctpTransportBackend.cpp
    M 
Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCSctpTransportBackend.h
    M Source/WebCore/Modules/model-element/ModelPlayerClient.h
    M Source/WebCore/Modules/model-element/scenekit/SceneKitModelLoaderClient.h
    M Source/WebCore/Modules/permissions/PermissionObserver.h
    M Source/WebCore/Modules/speech/SpeechRecognitionCaptureSourceImpl.h
    M Source/WebCore/Modules/speech/SpeechRecognitionConnectionClient.h
    M Source/WebCore/Modules/speech/SpeechRecognitionRequest.h
    M Source/WebCore/Modules/speech/SpeechRecognizer.h
    M Source/WebCore/Modules/storage/StorageManager.cpp
    M Source/WebCore/Modules/storage/StorageManager.h
    M Source/WebCore/Modules/webauthn/AuthenticatorCoordinator.h
    M Source/WebCore/Modules/webauthn/AuthenticatorCoordinatorClient.h
    M Source/WebCore/Modules/websockets/WebSocketChannelClient.h
    M Source/WebCore/PAL/pal/system/mac/SystemSleepListenerMac.h
    M Source/WebCore/bindings/js/JSDOMGlobalObject.cpp
    M Source/WebCore/bindings/js/JSEventListener.h
    M Source/WebCore/bindings/js/ScriptBufferSourceProvider.h
    M Source/WebCore/bindings/js/WebCoreJSClientData.h
    M Source/WebCore/css/CSSFontFace.cpp
    M Source/WebCore/css/CSSFontFace.h
    M Source/WebCore/css/CSSFontFaceSet.h
    M Source/WebCore/css/CSSFontSelector.h
    M Source/WebCore/css/CSSSegmentedFontFace.h
    M Source/WebCore/css/FontFace.h
    M Source/WebCore/css/FontFaceSet.h
    M Source/WebCore/css/calc/CSSCalcSymbolTable.h
    M Source/WebCore/css/parser/CSSParserImpl.cpp
    M Source/WebCore/css/parser/CSSParserImpl.h
    M Source/WebCore/css/parser/CSSParserObserverWrapper.h
    M Source/WebCore/dom/DeviceOrientationAndMotionAccessController.h
    M Source/WebCore/dom/Document.cpp
    M Source/WebCore/dom/Document.h
    M Source/WebCore/dom/DocumentMarker.h
    M Source/WebCore/dom/DocumentStorageAccess.h
    M Source/WebCore/dom/EventPath.h
    M Source/WebCore/dom/IdleCallbackController.h
    M Source/WebCore/dom/LoadableScriptClient.h
    M Source/WebCore/dom/MutationObserverRegistration.h
    M Source/WebCore/dom/RenderedDocumentMarker.h
    M Source/WebCore/dom/VisibilityChangeClient.h
    M Source/WebCore/dom/messageports/MessagePortChannelProvider.h
    M Source/WebCore/editing/AlternativeTextController.h
    M Source/WebCore/editing/SpellChecker.h
    M Source/WebCore/fileapi/FileReaderLoaderClient.h
    M Source/WebCore/html/BaseDateAndTimeInputType.h
    M Source/WebCore/html/CanvasBase.h
    M Source/WebCore/html/CanvasObserver.h
    M Source/WebCore/html/CustomPaintImage.cpp
    M Source/WebCore/html/CustomPaintImage.h
    M Source/WebCore/html/HTMLMediaElement.h
    M Source/WebCore/html/MediaElementSession.cpp
    M Source/WebCore/html/MediaElementSession.h
    M Source/WebCore/html/TextFieldInputType.h
    M Source/WebCore/html/URLSearchParams.cpp
    M Source/WebCore/html/URLSearchParams.h
    M Source/WebCore/html/ValidationMessage.h
    M Source/WebCore/html/canvas/WebGLObject.cpp
    M Source/WebCore/html/canvas/WebGLObject.h
    M Source/WebCore/html/canvas/WebGLRenderingContextBase.h
    M Source/WebCore/html/parser/HTMLResourcePreloader.h
    M Source/WebCore/html/parser/HTMLTreeBuilder.cpp
    M Source/WebCore/html/shadow/DateTimeEditElement.cpp
    M Source/WebCore/html/shadow/DateTimeEditElement.h
    M Source/WebCore/html/shadow/DateTimeFieldElement.cpp
    M Source/WebCore/html/shadow/DateTimeFieldElement.h
    M Source/WebCore/html/shadow/DateTimeFieldElements.cpp
    M Source/WebCore/html/shadow/DateTimeFieldElements.h
    M Source/WebCore/html/shadow/DateTimeNumericFieldElement.cpp
    M Source/WebCore/html/shadow/DateTimeNumericFieldElement.h
    M Source/WebCore/html/shadow/DateTimeSymbolicFieldElement.cpp
    M Source/WebCore/html/shadow/DateTimeSymbolicFieldElement.h
    M Source/WebCore/html/shadow/SpinButtonElement.h
    M Source/WebCore/html/track/AudioTrackClient.h
    M Source/WebCore/html/track/TextTrackClient.h
    M Source/WebCore/html/track/TrackBase.cpp
    M Source/WebCore/html/track/TrackBase.h
    M Source/WebCore/html/track/TrackListBase.h
    M Source/WebCore/html/track/VideoTrackClient.h
    M Source/WebCore/inspector/InspectorFrontendClient.h
    M Source/WebCore/inspector/agents/InspectorCanvasAgent.h
    M Source/WebCore/layout/LayoutState.h
    M Source/WebCore/layout/formattingContexts/table/TableFormattingGeometry.cpp
    M Source/WebCore/layout/formattingContexts/table/TableFormattingGeometry.h
    M Source/WebCore/layout/formattingContexts/table/TableGrid.cpp
    M Source/WebCore/layout/formattingContexts/table/TableGrid.h
    M Source/WebCore/layout/formattingContexts/table/TableLayout.cpp
    M Source/WebCore/layout/integration/LayoutIntegrationBoxTree.h
    M Source/WebCore/layout/integration/inline/LayoutIntegrationInlineContent.h
    M Source/WebCore/loader/ContentFilterClient.h
    M Source/WebCore/loader/CookieChangeListener.h
    M Source/WebCore/loader/DocumentLoader.h
    M Source/WebCore/loader/DocumentThreadableLoader.h
    M Source/WebCore/loader/FontLoadRequest.h
    M Source/WebCore/loader/FrameLoader.h
    M Source/WebCore/loader/ImageLoader.h
    M Source/WebCore/loader/LinkLoader.h
    M Source/WebCore/loader/LinkLoaderClient.h
    M Source/WebCore/loader/NetscapePlugInStreamLoader.h
    M Source/WebCore/loader/PolicyChecker.cpp
    M Source/WebCore/loader/PolicyChecker.h
    M Source/WebCore/loader/TextTrackLoader.h
    M Source/WebCore/loader/appcache/ApplicationCacheGroup.h
    M Source/WebCore/loader/cache/CachedImage.h
    M Source/WebCore/loader/cache/CachedImageClient.h
    M Source/WebCore/loader/cache/CachedRawResourceClient.h
    M Source/WebCore/loader/cache/CachedResource.h
    M Source/WebCore/loader/cache/CachedResourceClient.h
    M Source/WebCore/page/ActivityStateChangeObserver.h
    M Source/WebCore/page/DOMWindowExtension.h
    M Source/WebCore/page/DebugPageOverlays.cpp
    M Source/WebCore/page/DeviceClient.h
    M Source/WebCore/page/DeviceController.cpp
    M Source/WebCore/page/DeviceController.h
    M Source/WebCore/page/FrameDestructionObserver.h
    M Source/WebCore/page/ImageOverlayController.h
    M Source/WebCore/page/LocalDOMWindow.cpp
    M Source/WebCore/page/LocalDOMWindow.h
    M Source/WebCore/page/MediaCanStartListener.h
    M Source/WebCore/page/MediaProducer.h
    M Source/WebCore/page/PageGroup.h
    M Source/WebCore/page/PageOverlay.cpp
    M Source/WebCore/page/PageOverlay.h
    M Source/WebCore/page/PopupOpeningObserver.h
    M Source/WebCore/page/ResourceUsageOverlay.h
    M Source/WebCore/page/ScreenOrientation.h
    M Source/WebCore/page/SpeechSynthesisClient.h
    M Source/WebCore/page/UserContentProvider.h
    M Source/WebCore/page/ios/ContentChangeObserver.h
    M Source/WebCore/page/mac/ServicesOverlayController.h
    M Source/WebCore/page/scrolling/ScrollAnchoringController.h
    M Source/WebCore/platform/DataListSuggestionPicker.h
    M Source/WebCore/platform/DateTimeChooser.h
    M Source/WebCore/platform/DeferrableTask.h
    M Source/WebCore/platform/NowPlayingManager.cpp
    M Source/WebCore/platform/NowPlayingManager.h
    M Source/WebCore/platform/PictureInPictureObserver.h
    M Source/WebCore/platform/PlatformContentFilter.h
    M Source/WebCore/platform/PlatformSpeechSynthesisUtterance.h
    M Source/WebCore/platform/PreviewConverter.h
    M Source/WebCore/platform/PreviewConverterClient.h
    M Source/WebCore/platform/PreviewConverterProvider.h
    M Source/WebCore/platform/ScreenOrientationManager.h
    M Source/WebCore/platform/ScrollableArea.cpp
    M Source/WebCore/platform/ScrollableArea.h
    M Source/WebCore/platform/ThermalMitigationNotifier.h
    M Source/WebCore/platform/Timer.h
    M Source/WebCore/platform/audio/AudioSession.cpp
    M Source/WebCore/platform/audio/AudioSession.h
    M Source/WebCore/platform/audio/AudioSourceProviderClient.h
    M Source/WebCore/platform/audio/PlatformMediaSession.h
    M Source/WebCore/platform/audio/PlatformMediaSessionManager.cpp
    M Source/WebCore/platform/audio/PlatformMediaSessionManager.h
    M Source/WebCore/platform/audio/cocoa/MediaSessionManagerCocoa.h
    M Source/WebCore/platform/audio/glib/MediaSessionManagerGLib.h
    M Source/WebCore/platform/audio/gstreamer/AudioFileReaderGStreamer.cpp
    M Source/WebCore/platform/audio/ios/MediaSessionHelperIOS.h
    M Source/WebCore/platform/audio/ios/MediaSessionManagerIOS.h
    M Source/WebCore/platform/audio/mac/AudioSessionMac.h
    M Source/WebCore/platform/audio/mac/AudioSessionMac.mm
    M Source/WebCore/platform/audio/mac/SharedRoutingArbitrator.h
    M Source/WebCore/platform/audio/mac/SharedRoutingArbitrator.mm
    M Source/WebCore/platform/cocoa/PlaybackSessionModel.h
    M Source/WebCore/platform/cocoa/PowerSourceNotifier.h
    M Source/WebCore/platform/cocoa/VideoPresentationModel.h
    M Source/WebCore/platform/encryptedmedia/CDMInstance.h
    M Source/WebCore/platform/encryptedmedia/CDMInstanceSession.h
    M Source/WebCore/platform/encryptedmedia/CDMPrivate.h
    M Source/WebCore/platform/encryptedmedia/CDMProxy.h
    M Source/WebCore/platform/gamepad/GamepadProviderClient.h
    M Source/WebCore/platform/gamepad/PlatformGamepad.h
    M Source/WebCore/platform/gamepad/cocoa/GameControllerHapticEffect.h
    M Source/WebCore/platform/gamepad/cocoa/GameControllerHapticEngines.h
    M Source/WebCore/platform/graphics/LegacyCDMSession.h
    M Source/WebCore/platform/graphics/MediaPlayer.h
    M Source/WebCore/platform/graphics/RenderingResource.h
    M Source/WebCore/platform/graphics/TiledBacking.h
    M Source/WebCore/platform/graphics/TrackPrivateBaseClient.h
    M Source/WebCore/platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.h
    M Source/WebCore/platform/graphics/avfoundation/ContentKeyGroupDataSource.h
    M Source/WebCore/platform/graphics/avfoundation/SampleBufferDisplayLayer.cpp
    M Source/WebCore/platform/graphics/avfoundation/SampleBufferDisplayLayer.h
    M Source/WebCore/platform/graphics/avfoundation/WebAVSampleBufferListener.h
    M 
Source/WebCore/platform/graphics/avfoundation/objc/AVOutputDeviceMenuControllerTargetPicker.h
    M 
Source/WebCore/platform/graphics/avfoundation/objc/AVOutputDeviceMenuControllerTargetPicker.mm
    M 
Source/WebCore/platform/graphics/avfoundation/objc/AVPlaybackTargetPicker.h
    M 
Source/WebCore/platform/graphics/avfoundation/objc/AVRoutePickerViewTargetPicker.h
    M 
Source/WebCore/platform/graphics/avfoundation/objc/AVRoutePickerViewTargetPicker.mm
    M 
Source/WebCore/platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h
    M 
Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.h
    M 
Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h
    M 
Source/WebCore/platform/graphics/avfoundation/objc/LocalSampleBufferDisplayLayer.h
    M 
Source/WebCore/platform/graphics/avfoundation/objc/LocalSampleBufferDisplayLayer.mm
    M 
Source/WebCore/platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.h
    M 
Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h
    M Source/WebCore/platform/graphics/cocoa/TextTrackRepresentationCocoa.h
    M Source/WebCore/platform/graphics/texmap/TextureMapperLayer.h
    M Source/WebCore/platform/ios/MotionManagerClient.h
    M Source/WebCore/platform/ios/wak/WAKWindow.h
    M Source/WebCore/platform/mac/DataDetectorHighlight.h
    M Source/WebCore/platform/mac/PowerObserverMac.h
    M Source/WebCore/platform/mediastream/AudioTrackPrivateMediaStream.h
    M Source/WebCore/platform/mediastream/MediaStreamPrivate.cpp
    M Source/WebCore/platform/mediastream/MediaStreamPrivate.h
    M Source/WebCore/platform/mediastream/MediaStreamTrackDataHolder.cpp
    M Source/WebCore/platform/mediastream/MediaStreamTrackPrivate.cpp
    M Source/WebCore/platform/mediastream/MediaStreamTrackPrivate.h
    M Source/WebCore/platform/mediastream/RTCDataChannelHandlerClient.h
    M Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp
    M Source/WebCore/platform/mediastream/RealtimeMediaSource.h
    M Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.cpp
    M Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.h
    M Source/WebCore/platform/mediastream/RealtimeOutgoingAudioSource.h
    M Source/WebCore/platform/mediastream/RealtimeOutgoingVideoSource.h
    M 
Source/WebCore/platform/mediastream/cocoa/AudioMediaStreamTrackRendererCocoa.h
    M 
Source/WebCore/platform/mediastream/cocoa/AudioMediaStreamTrackRendererUnit.h
    M Source/WebCore/platform/mediastream/cocoa/DisplayCaptureSourceCocoa.h
    M 
Source/WebCore/platform/mediastream/gstreamer/GStreamerAudioCaptureSource.h
    M 
Source/WebCore/platform/mediastream/gstreamer/GStreamerCaptureDeviceManager.h
    M Source/WebCore/platform/mediastream/gstreamer/GStreamerCapturer.cpp
    M Source/WebCore/platform/mediastream/gstreamer/GStreamerCapturer.h
    M 
Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp
    M 
Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoCaptureSource.h
    M 
Source/WebCore/platform/mediastream/gstreamer/MockDisplayCaptureSourceGStreamer.cpp
    M 
Source/WebCore/platform/mediastream/gstreamer/MockDisplayCaptureSourceGStreamer.h
    M 
Source/WebCore/platform/mediastream/gstreamer/MockRealtimeAudioSourceGStreamer.h
    M 
Source/WebCore/platform/mediastream/gstreamer/MockRealtimeVideoSourceGStreamer.h
    M 
Source/WebCore/platform/mediastream/gstreamer/RealtimeOutgoingMediaSourceGStreamer.h
    M Source/WebCore/platform/mediastream/ios/MediaCaptureStatusBarManager.h
    M Source/WebCore/platform/mediastream/ios/ReplayKitCaptureSource.h
    M Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCDTMFSenderBackend.h
    M Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCLogSink.h
    M Source/WebCore/platform/mediastream/mac/BaseAudioSharedUnit.h
    M Source/WebCore/platform/mediastream/mac/CGDisplayStreamCaptureSource.h
    M Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.h
    M Source/WebCore/platform/mediastream/mac/CoreAudioSharedUnit.h
    M 
Source/WebCore/platform/mediastream/mac/MediaStreamTrackAudioSourceProviderCocoa.h
    M Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.h
    M 
Source/WebCore/platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.h
    M 
Source/WebCore/platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.mm
    M Source/WebCore/platform/mock/MediaPlaybackTargetPickerMock.h
    M Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.cpp
    M Source/WebCore/platform/network/NetworkStorageSession.h
    M Source/WebCore/platform/network/cocoa/CookieStorageObserver.h
    M Source/WebCore/platform/network/cocoa/RangeResponseGenerator.mm
    M Source/WebCore/platform/xr/PlatformXR.h
    M Source/WebCore/rendering/GridTrackSizingAlgorithm.h
    M Source/WebCore/rendering/RenderBlockFlow.cpp
    M Source/WebCore/rendering/RenderBlockFlow.h
    M Source/WebCore/style/Styleable.cpp
    M Source/WebCore/style/Styleable.h
    M Source/WebCore/svg/SVGLengthContext.cpp
    M Source/WebCore/svg/SVGLengthContext.h
    M Source/WebCore/svg/SVGPathByteStream.h
    M Source/WebCore/svg/SVGPathConsumer.h
    M Source/WebCore/svg/SVGPathSource.h
    M Source/WebCore/svg/SVGResourceElementClient.h
    M Source/WebCore/svg/SVGToOTFFontConversion.cpp
    M Source/WebCore/testing/Internals.h
    M Source/WebCore/testing/MockCDMFactory.h
    M Source/WebCore/testing/MockPageOverlayClient.h
    M Source/WebCore/testing/WebXRTest.cpp
    M Source/WebCore/testing/WebXRTest.h
    M Source/WebCore/workers/WorkerRunLoop.h
    M Source/WebCore/workers/WorkerScriptLoaderClient.h
    M Source/WebCore/workers/service/background-fetch/BackgroundFetch.h
    M Source/WebCore/workers/service/background-fetch/BackgroundFetchEngine.h
    M 
Source/WebCore/workers/service/background-fetch/BackgroundFetchRecordLoader.h
    M 
Source/WebCore/workers/service/background-fetch/BackgroundFetchRegistration.cpp
    M Source/WebCore/workers/service/server/SWServer.h
    M Source/WebCore/workers/service/server/SWServerDelegate.h
    M Source/WebCore/worklets/PaintWorkletGlobalScope.cpp
    M Source/WebCore/worklets/PaintWorkletGlobalScope.h
    M Source/WebCore/xml/XMLHttpRequestProgressEventThrottle.h
    M Source/WebKit/GPUProcess/GPUConnectionToWebProcess.h
    M Source/WebKit/GPUProcess/media/RemoteAudioSessionProxy.h
    M Source/WebKit/GPUProcess/media/RemoteAudioSessionProxyManager.h
    M Source/WebKit/GPUProcess/media/RemoteCDMFactoryProxy.h
    M Source/WebKit/GPUProcess/media/RemoteCDMProxy.h
    M Source/WebKit/GPUProcess/media/RemoteLegacyCDMFactoryProxy.h
    M Source/WebKit/GPUProcess/media/RemoteLegacyCDMSessionProxy.cpp
    M Source/WebKit/GPUProcess/media/RemoteLegacyCDMSessionProxy.h
    M Source/WebKit/GPUProcess/media/RemoteMediaPlayerManagerProxy.h
    M 
Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererInternalUnitManager.cpp
    M 
Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRendererInternalUnitManager.h
    M Source/WebKit/GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.h
    M Source/WebKit/NetworkProcess/BackgroundFetchLoad.cpp
    M Source/WebKit/NetworkProcess/BackgroundFetchLoad.h
    M Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsStore.h
    M Source/WebKit/NetworkProcess/Downloads/Download.h
    M Source/WebKit/NetworkProcess/Downloads/PendingDownload.h
    M Source/WebKit/NetworkProcess/NetworkDataTask.h
    M Source/WebKit/NetworkProcess/NetworkLoad.h
    M Source/WebKit/NetworkProcess/NetworkLoadChecker.h
    M Source/WebKit/NetworkProcess/NetworkLoadScheduler.h
    M Source/WebKit/NetworkProcess/NetworkSession.cpp
    M Source/WebKit/NetworkProcess/NetworkSession.h
    M Source/WebKit/NetworkProcess/PingLoad.h
    M 
Source/WebKit/NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementDatabase.h
    M 
Source/WebKit/NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementManager.h
    M Source/WebKit/NetworkProcess/ServiceWorker/WebSWRegistrationStore.h
    M Source/WebKit/NetworkProcess/SharedWorker/WebSharedWorker.h
    M Source/WebKit/NetworkProcess/SharedWorker/WebSharedWorkerServer.h
    M 
Source/WebKit/NetworkProcess/SharedWorker/WebSharedWorkerServerConnection.h
    M 
Source/WebKit/NetworkProcess/SharedWorker/WebSharedWorkerServerToContextConnection.h
    M Source/WebKit/NetworkProcess/WebSocketTask.h
    M Source/WebKit/NetworkProcess/cache/AsyncRevalidation.h
    M Source/WebKit/NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.h
    M Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.h
    M Source/WebKit/NetworkProcess/cocoa/WebSocketTaskCocoa.h
    M Source/WebKit/NetworkProcess/curl/WebSocketTaskCurl.h
    M Source/WebKit/NetworkProcess/storage/BackgroundFetchStoreManager.h
    M Source/WebKit/NetworkProcess/storage/CacheStorageCache.h
    M Source/WebKit/NetworkProcess/storage/CacheStorageManager.h
    M Source/WebKit/NetworkProcess/storage/FileSystemStorageHandle.h
    M Source/WebKit/NetworkProcess/storage/FileSystemStorageManager.h
    M Source/WebKit/NetworkProcess/storage/OriginStorageManager.h
    M Source/WebKit/NetworkProcess/storage/SQLiteStorageArea.h
    M Source/WebKit/NetworkProcess/storage/StorageAreaBase.h
    M Source/WebKit/NetworkProcess/webrtc/NetworkRTCMonitor.h
    M Source/WebKit/NetworkProcess/webrtc/NetworkRTCTCPSocketCocoa.h
    M Source/WebKit/NetworkProcess/webtransport/NetworkTransportSession.h
    M Source/WebKit/Platform/IPC/DaemonConnection.h
    M Source/WebKit/Platform/IPC/MessageObserver.h
    M Source/WebKit/Platform/IPC/MessageReceiver.h
    M Source/WebKit/Platform/cocoa/MediaCapability.h
    M Source/WebKit/Platform/cocoa/PaymentAuthorizationPresenter.h
    M Source/WebKit/Shared/ApplePay/WebPaymentCoordinatorProxy.h
    M Source/WebKit/Shared/Authentication/AuthenticationManager.h
    M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.h
    M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.h
    M 
Source/WebKit/Shared/RemoteLayerTree/RemoteLayerWithRemoteRenderingBackingStore.h
    M Source/WebKit/Shared/WebSQLiteDatabaseTracker.h
    M Source/WebKit/UIProcess/API/APIHTTPCookieStore.cpp
    M Source/WebKit/UIProcess/API/APIHTTPCookieStore.h
    M Source/WebKit/UIProcess/API/Cocoa/WKHTTPCookieStore.mm
    M Source/WebKit/UIProcess/API/glib/WebKitCookieManager.cpp
    M Source/WebKit/UIProcess/ApplicationStateTracker.h
    M Source/WebKit/UIProcess/Authentication/AuthenticationChallengeProxy.cpp
    M Source/WebKit/UIProcess/Authentication/AuthenticationChallengeProxy.h
    M Source/WebKit/UIProcess/Authentication/cocoa/SecKeyProxyStore.h
    M Source/WebKit/UIProcess/Cocoa/ExtensionCapabilityGranter.h
    M Source/WebKit/UIProcess/Cocoa/ExtensionCapabilityGranter.mm
    M 
Source/WebKit/UIProcess/Cocoa/GroupActivities/GroupActivitiesSessionNotifier.h
    M Source/WebKit/UIProcess/Cocoa/NavigationState.h
    M 
Source/WebKit/UIProcess/Cocoa/SOAuthorization/SubFrameSOAuthorizationSession.h
    M Source/WebKit/UIProcess/Cocoa/UIDelegate.h
    M Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp
    M Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.h
    M 
Source/WebKit/UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.h
    M Source/WebKit/UIProcess/Downloads/DownloadProxy.cpp
    M Source/WebKit/UIProcess/Downloads/DownloadProxyMap.h
    M Source/WebKit/UIProcess/DrawingAreaProxy.h
    M Source/WebKit/UIProcess/EndowmentStateTracker.h
    M Source/WebKit/UIProcess/EndowmentStateTracker.mm
    M Source/WebKit/UIProcess/Extensions/WebExtensionContext.cpp
    M Source/WebKit/UIProcess/Extensions/WebExtensionController.h
    M Source/WebKit/UIProcess/Extensions/WebExtensionMessagePort.h
    M Source/WebKit/UIProcess/FrameLoadState.cpp
    M Source/WebKit/UIProcess/FrameLoadState.h
    M Source/WebKit/UIProcess/LockdownModeObserver.h
    M Source/WebKit/UIProcess/Media/AudioSessionRoutingArbitratorProxy.h
    M 
Source/WebKit/UIProcess/Media/cocoa/AudioSessionRoutingArbitratorProxyCocoa.mm
    M Source/WebKit/UIProcess/MediaKeySystemPermissionRequestManagerProxy.h
    M Source/WebKit/UIProcess/ModelElementController.h
    M 
Source/WebKit/UIProcess/Network/CustomProtocols/LegacyCustomProtocolManagerProxy.h
    M Source/WebKit/UIProcess/PageClient.h
    M Source/WebKit/UIProcess/PageLoadState.h
    M Source/WebKit/UIProcess/ProcessThrottler.h
    M Source/WebKit/UIProcess/ProvisionalFrameProxy.h
    M Source/WebKit/UIProcess/ProvisionalPageProxy.h
    M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h
    M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeNode.h
    M Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h
    M 
Source/WebKit/UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.h
    M 
Source/WebKit/UIProcess/RemoteLayerTree/mac/RemoteScrollingCoordinatorProxyMac.h
    M Source/WebKit/UIProcess/RemotePageDrawingAreaProxy.h
    M Source/WebKit/UIProcess/RemotePageProxy.h
    M Source/WebKit/UIProcess/SpeechRecognitionPermissionManager.h
    M 
Source/WebKit/UIProcess/SpeechRecognitionRemoteRealtimeMediaSourceManager.h
    M Source/WebKit/UIProcess/SpeechRecognitionServer.h
    M Source/WebKit/UIProcess/SystemPreviewController.h
    M Source/WebKit/UIProcess/UserMediaPermissionRequestManagerProxy.h
    M Source/WebKit/UIProcess/UserMediaProcessManager.h
    M Source/WebKit/UIProcess/ViewGestureController.h
    M Source/WebKit/UIProcess/WebAuthentication/Authenticator.cpp
    M Source/WebKit/UIProcess/WebAuthentication/Authenticator.h
    M Source/WebKit/UIProcess/WebAuthentication/AuthenticatorManager.cpp
    M Source/WebKit/UIProcess/WebAuthentication/AuthenticatorManager.h
    M 
Source/WebKit/UIProcess/WebAuthentication/AuthenticatorTransportService.cpp
    M Source/WebKit/UIProcess/WebAuthentication/AuthenticatorTransportService.h
    M 
Source/WebKit/UIProcess/WebAuthentication/Cocoa/AuthenticatorPresenterCoordinator.h
    M Source/WebKit/UIProcess/WebAuthentication/Cocoa/CcidService.h
    M Source/WebKit/UIProcess/WebAuthentication/Cocoa/CcidService.mm
    M Source/WebKit/UIProcess/WebAuthentication/Cocoa/HidService.h
    M Source/WebKit/UIProcess/WebAuthentication/Cocoa/HidService.mm
    M Source/WebKit/UIProcess/WebAuthentication/Cocoa/LocalService.h
    M Source/WebKit/UIProcess/WebAuthentication/Cocoa/LocalService.mm
    M Source/WebKit/UIProcess/WebAuthentication/Cocoa/NfcService.h
    M Source/WebKit/UIProcess/WebAuthentication/Cocoa/NfcService.mm
    M 
Source/WebKit/UIProcess/WebAuthentication/Cocoa/WebAuthenticationPanelClient.h
    M 
Source/WebKit/UIProcess/WebAuthentication/Mock/MockAuthenticatorManager.cpp
    M Source/WebKit/UIProcess/WebAuthentication/Mock/MockAuthenticatorManager.h
    M Source/WebKit/UIProcess/WebAuthentication/Mock/MockCcidService.h
    M Source/WebKit/UIProcess/WebAuthentication/Mock/MockCcidService.mm
    M Source/WebKit/UIProcess/WebAuthentication/Mock/MockHidConnection.h
    M Source/WebKit/UIProcess/WebAuthentication/Mock/MockHidService.cpp
    M Source/WebKit/UIProcess/WebAuthentication/Mock/MockHidService.h
    M Source/WebKit/UIProcess/WebAuthentication/Mock/MockLocalService.h
    M Source/WebKit/UIProcess/WebAuthentication/Mock/MockLocalService.mm
    M Source/WebKit/UIProcess/WebAuthentication/Mock/MockNfcService.h
    M Source/WebKit/UIProcess/WebAuthentication/Mock/MockNfcService.mm
    M 
Source/WebKit/UIProcess/WebAuthentication/Virtual/VirtualAuthenticatorManager.cpp
    M 
Source/WebKit/UIProcess/WebAuthentication/Virtual/VirtualAuthenticatorManager.h
    M Source/WebKit/UIProcess/WebAuthentication/Virtual/VirtualHidConnection.h
    M Source/WebKit/UIProcess/WebAuthentication/Virtual/VirtualLocalConnection.h
    M Source/WebKit/UIProcess/WebAuthentication/Virtual/VirtualService.h
    M Source/WebKit/UIProcess/WebAuthentication/Virtual/VirtualService.mm
    M Source/WebKit/UIProcess/WebAuthentication/WebAuthenticationRequestData.h
    M 
Source/WebKit/UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.h
    M Source/WebKit/UIProcess/WebAuthentication/fido/CtapDriver.h
    M Source/WebKit/UIProcess/WebAuthentication/fido/CtapHidDriver.cpp
    M Source/WebKit/UIProcess/WebAuthentication/fido/CtapHidDriver.h
    M Source/WebKit/UIProcess/WebAuthentication/fido/FidoService.cpp
    M Source/WebKit/UIProcess/WebAuthentication/fido/FidoService.h
    M Source/WebKit/UIProcess/WebContextMenuListenerProxy.cpp
    M Source/WebKit/UIProcess/WebContextMenuListenerProxy.h
    M Source/WebKit/UIProcess/WebContextMenuProxy.h
    M Source/WebKit/UIProcess/WebFullScreenManagerProxy.h
    M Source/WebKit/UIProcess/WebLockRegistryProxy.h
    M Source/WebKit/UIProcess/WebNavigationState.h
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Source/WebKit/UIProcess/WebPageProxyInternals.h
    M Source/WebKit/UIProcess/WebPasteboardProxy.cpp
    M Source/WebKit/UIProcess/WebPasteboardProxy.h
    M Source/WebKit/UIProcess/WebProcessPool.h
    M Source/WebKit/UIProcess/WebProcessProxy.h
    M Source/WebKit/UIProcess/WebViewDidMoveToWindowObserver.h
    M 
Source/WebKit/UIProcess/WebsiteData/WebDeviceOrientationAndMotionAccessController.h
    M Source/WebKit/UIProcess/XR/PlatformXRCoordinator.h
    M Source/WebKit/UIProcess/XR/PlatformXRSystem.h
    M Source/WebKit/UIProcess/XR/ios/PlatformXRARKit.h
    M Source/WebKit/UIProcess/ios/ProcessStateMonitor.h
    M Source/WebKit/UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h
    M Source/WebKit/WebProcess/Automation/WebAutomationDOMWindowObserver.h
    M Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h
    M Source/WebKit/WebProcess/GPU/graphics/RemoteResourceCacheProxy.h
    M Source/WebKit/WebProcess/GPU/media/RemoteAudioSession.cpp
    M Source/WebKit/WebProcess/GPU/media/RemoteAudioSession.h
    M Source/WebKit/WebProcess/GPU/media/RemoteCDMFactory.h
    M Source/WebKit/WebProcess/GPU/media/RemoteLegacyCDM.h
    M Source/WebKit/WebProcess/GPU/media/RemoteLegacyCDMFactory.h
    M Source/WebKit/WebProcess/GPU/media/RemoteLegacyCDMSession.h
    M Source/WebKit/WebProcess/GPU/media/RemoteMediaEngineConfigurationFactory.h
    M 
Source/WebKit/WebProcess/GPU/webrtc/AudioMediaStreamTrackRendererInternalUnitManager.cpp
    M 
Source/WebKit/WebProcess/GPU/webrtc/AudioMediaStreamTrackRendererInternalUnitManager.h
    M Source/WebKit/WebProcess/GPU/webrtc/SampleBufferDisplayLayer.cpp
    M Source/WebKit/WebProcess/GPU/webrtc/SampleBufferDisplayLayer.h
    M Source/WebKit/WebProcess/GPU/webrtc/SampleBufferDisplayLayerManager.cpp
    M Source/WebKit/WebProcess/GPU/webrtc/SampleBufferDisplayLayerManager.h
    M Source/WebKit/WebProcess/InjectedBundle/API/glib/DOM/DOMObjectCache.cpp
    M Source/WebKit/WebProcess/InjectedBundle/InjectedBundleScriptWorld.h
    M Source/WebKit/WebProcess/Inspector/WebInspectorClient.h
    M Source/WebKit/WebProcess/Inspector/WebInspectorUIExtensionController.h
    M Source/WebKit/WebProcess/MediaStream/UserMediaPermissionRequestManager.h
    M Source/WebKit/WebProcess/Network/webrtc/LibWebRTCNetworkManager.h
    M Source/WebKit/WebProcess/Network/webrtc/LibWebRTCResolver.h
    M Source/WebKit/WebProcess/Network/webrtc/LibWebRTCSocket.h
    M Source/WebKit/WebProcess/Network/webrtc/WebMDNSRegister.h
    M Source/WebKit/WebProcess/Network/webrtc/WebRTCMonitor.h
    M Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.h
    M Source/WebKit/WebProcess/Plugins/PDF/PDFScriptEvaluator.h
    M Source/WebKit/WebProcess/Plugins/PDF/PDFScriptEvaluator.mm
    M 
Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/PDFDataDetectorOverlayController.h
    M 
Source/WebKit/WebProcess/Plugins/PDF/UnifiedPDF/PDFDataDetectorOverlayController.mm
    M 
Source/WebKit/WebProcess/Speech/SpeechRecognitionRealtimeMediaSourceManager.cpp
    M Source/WebKit/WebProcess/WebCoreSupport/WebColorChooser.h
    M Source/WebKit/WebProcess/WebCoreSupport/WebDataListSuggestionPicker.h
    M Source/WebKit/WebProcess/WebCoreSupport/WebDateTimeChooser.h
    M Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp
    M Source/WebKit/WebProcess/WebCoreSupport/WebScreenOrientationManager.cpp
    M Source/WebKit/WebProcess/WebCoreSupport/WebScreenOrientationManager.h
    M Source/WebKit/WebProcess/WebCoreSupport/WebSpeechSynthesisClient.h
    M Source/WebKit/WebProcess/WebPage/Cocoa/WebRemoteObjectRegistry.h
    M Source/WebKit/WebProcess/WebPage/FindController.h
    M 
Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h
    M Source/WebKit/WebProcess/WebPage/WebFoundTextRangeController.h
    M Source/WebKit/WebProcess/WebPage/WebFrame.h
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp
    M Source/WebKit/WebProcess/WebPage/WebPageOverlay.h
    M Source/WebKit/WebProcess/WebPage/ios/FindIndicatorOverlayClientIOS.h
    M Source/WebKit/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h
    M Source/WebKit/WebProcess/WebPage/wc/DrawingAreaWC.h
    M Source/WebKit/WebProcess/WebStorage/StorageAreaMap.h
    M Source/WebKit/WebProcess/XR/PlatformXRSystemProxy.h
    M Source/WebKit/webpushd/ApplePushServiceConnection.h
    M Source/WebKit/webpushd/PushServiceConnection.h
    M Source/WebKit/webpushd/webpushtool/WebPushToolConnection.h
    M Source/WebKitLegacy/mac/DOM/DOMInternal.h
    M Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.h
    M Source/WebKitLegacy/mac/WebCoreSupport/WebSecurityOriginInternal.h
    M Source/WebKitLegacy/mac/WebInspector/WebNodeHighlight.h
    M Source/WebKitLegacy/mac/WebView/WebArchiveInternal.h
    M Source/WebKitLegacy/mac/WebView/WebDocumentLoaderMac.h
    M Source/WebKitLegacy/mac/WebView/WebFrameInternal.h
    M Source/WebKitLegacy/mac/WebView/WebHTMLViewInternal.h
    M Source/WebKitLegacy/mac/WebView/WebResourceInternal.h
    M Source/WebKitLegacy/mac/WebView/WebScriptWorldInternal.h
    M Tools/TestWebKitAPI/Tests/WTF/WeakPtr.cpp

  Log Message:
  -----------
  Added a compile time assertion that forbids classes that offer WeakPtr
with no corresponding RefPtr or CheckedPtr
https://bugs.webkit.org/show_bug.cgi?id=273569
rdar://127296969

Reviewed by Ryosuke Niwa.

An object that offers WeakPtr with no corresponding RefPtr or CheckedPtr
is a dangerous contradiction. On the one hand, we know that it can be
deleted at any time. On the other hand, when we go to use it, we do
nothing to ensure its lifetime. This has been a source of use after
free / security bugs.

This patch adds a compile time assertion against future uses of this
anti-pattern. An explicit template specialization allow list maintains
existing uses. The allow list is a todo list for future deployment of
RefPtr or CheckedPtr.

This patch does not enforce correct usage of RefPtr or CheckedPtr; it
only enforces a rule that a class must at least offer RefPtr or
CheckedPtr if it offers WeakPtr.

In order to facilitate the allow list, I needed to
    * Move some nested classes out-of-line, since C++ does not support
    forward declaration or template specialization of nested classes

    * Move some destructors out-of-line, since our compile time
    assertion requires a complete type definition, and I didn't want to
    increase #includes in headers

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



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

Reply via email to