Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b7a31900b46cc6b98253164c7e4595b1f1298c75
      
https://github.com/WebKit/WebKit/commit/b7a31900b46cc6b98253164c7e4595b1f1298c75
  Author: Ryosuke Niwa <[email protected]>
  Date:   2025-10-27 (Mon, 27 Oct 2025)

  Changed paths:
    M Source/WTF/wtf/AbstractCanMakeCheckedPtr.h
    M Source/WTF/wtf/CheckedRef.h
    M Source/WTF/wtf/FastMalloc.h
    M Source/WebCore/Modules/fetch/FetchBodyConsumer.h
    M Source/WebCore/Modules/permissions/MainThreadPermissionObserver.h
    M Source/WebCore/Modules/speech/SpeechRecognitionCaptureSourceImpl.h
    M Source/WebCore/Modules/webaudio/AudioWorkletMessagingProxy.h
    M Source/WebCore/dom/Document.h
    M Source/WebCore/dom/EventLoop.h
    M Source/WebCore/dom/ScriptRunner.h
    M Source/WebCore/editing/FrameSelection.h
    M Source/WebCore/fileapi/FileReaderSync.cpp
    M Source/WebCore/html/HTMLMediaElement.h
    M Source/WebCore/html/ImageBitmap.cpp
    M Source/WebCore/html/parser/HTMLDocumentParser.h
    M Source/WebCore/inspector/InspectorAuditResourcesObject.cpp
    M Source/WebCore/inspector/InspectorAuditResourcesObject.h
    M Source/WebCore/layout/integration/flex/LayoutIntegrationFlexLayout.h
    M Source/WebCore/page/LocalFrameViewLayoutContext.h
    M Source/WebCore/page/csp/ContentSecurityPolicy.h
    M Source/WebCore/page/scrolling/ScrollingStateTree.h
    M Source/WebCore/page/scrolling/mac/ScrollerMac.h
    M Source/WebCore/platform/DictationCaretAnimator.h
    M Source/WebCore/platform/ScrollView.h
    M Source/WebCore/platform/SimpleCaretAnimator.h
    M Source/WebCore/platform/cocoa/PlaybackSessionModelMediaElement.h
    M Source/WebCore/platform/cocoa/WebAVPlayerLayer.mm
    M Source/WebCore/platform/graphics/FontCascade.cpp
    M Source/WebCore/platform/graphics/FontCascade.h
    M Source/WebCore/platform/graphics/TextRun.h
    M Source/WebCore/platform/graphics/ca/LayerPool.h
    M Source/WebCore/platform/graphics/cocoa/NullPlaybackSessionInterface.h
    M Source/WebCore/platform/graphics/cocoa/NullVideoPresentationInterface.h
    M Source/WebCore/platform/ios/PlaybackSessionInterfaceIOS.h
    M Source/WebCore/platform/ios/PlaybackSessionInterfaceIOS.mm
    M Source/WebCore/platform/ios/VideoPresentationInterfaceIOS.h
    M Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.mm
    M Source/WebCore/platform/mac/PlaybackSessionInterfaceMac.h
    M Source/WebCore/platform/mac/PlaybackSessionInterfaceMac.mm
    M Source/WebCore/platform/mac/VideoPresentationInterfaceMac.h
    M Source/WebCore/platform/mediarecorder/MediaRecorderPrivate.h
    M Source/WebCore/platform/mediastream/AudioTrackPrivateMediaStream.h
    M Source/WebCore/platform/mediastream/MediaStreamTrackDataHolder.cpp
    M Source/WebCore/platform/mediastream/MediaStreamTrackPrivate.cpp
    M 
Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp
    M 
Source/WebCore/platform/mediastream/libwebrtc/gstreamer/RealtimeOutgoingAudioSourceLibWebRTC.h
    M 
Source/WebCore/platform/mediastream/mac/MediaStreamTrackAudioSourceProviderCocoa.h
    M Source/WebCore/platform/mediastream/mac/RealtimeOutgoingAudioSourceCocoa.h
    M Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.h
    M Source/WebCore/platform/network/curl/CurlRequest.h
    M Source/WebCore/platform/sql/SQLiteDatabase.h
    M Source/WebCore/rendering/MarkedText.h
    M Source/WebCore/rendering/RegionContext.h
    M Source/WebCore/rendering/RenderLayerScrollableArea.h
    M Source/WebCore/rendering/RenderListBox.h
    M Source/WebCore/rendering/RenderMenuList.h
    M Source/WebCore/rendering/RenderSearchField.h
    M Source/WebCore/rendering/style/RenderStyle.h
    M Source/WebCore/style/StyleUpdate.h
    M Source/WebCore/style/TreeResolutionState.h
    M Source/WebCore/svg/SVGFEImageElement.h
    M Source/WebCore/svg/SVGImageElement.cpp
    M Source/WebCore/svg/SVGImageElement.h
    M Source/WebCore/testing/Internals.h
    M Source/WebCore/workers/WorkerMessagingProxy.h
    M Source/WebCore/workers/service/context/ServiceWorkerThread.cpp
    M Source/WebCore/workers/service/context/ServiceWorkerThreadProxy.h
    M Source/WebCore/workers/shared/context/SharedWorkerThreadProxy.h
    M Source/WebCore/xml/parser/XMLDocumentParser.h
    M Source/WebKit/GPUProcess/webrtc/UserMediaCaptureManagerProxy.cpp
    M Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h
    M Source/WebKit/NetworkProcess/NetworkProcess.h
    M Source/WebKit/NetworkProcess/NetworkSession.h
    M Source/WebKit/NetworkProcess/cache/PrefetchCache.h
    M Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.h
    M Source/WebKit/Platform/IPC/StreamClientConnection.cpp
    M Source/WebKit/Platform/IPC/StreamClientConnection.h
    M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTreeTransaction.h
    M 
Source/WebKit/Shared/RemoteLayerTree/RemoteLayerWithRemoteRenderingBackingStore.h
    M Source/WebKit/Shared/SharedStringHashStore.h
    M Source/WebKit/Shared/WebEvent.h
    M Source/WebKit/UIProcess/AuxiliaryProcessProxy.h
    M Source/WebKit/UIProcess/BackgroundProcessResponsivenessTimer.h
    M Source/WebKit/UIProcess/Cocoa/PlaybackSessionManagerProxy.h
    M Source/WebKit/UIProcess/DisplayLink.h
    M Source/WebKit/UIProcess/ViewGestureController.h
    M Source/WebKit/UIProcess/WebPageProxyInternals.h
    M Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenViewController.mm
    M Source/WebKit/UIProcess/win/WebPopupMenuProxyWin.h
    M Source/WebKit/WebProcess/GPU/graphics/RemoteResourceCacheProxy.h
    M Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.h
    M 
Source/WebKit/WebProcess/Speech/SpeechRecognitionRealtimeMediaSourceManager.cpp
    M Source/WebKit/WebProcess/WebCoreSupport/WebPlatformStrategies.h
    M Source/WebKit/WebProcess/WebPage/IPCTestingAPI.cpp
    M Source/WebKit/WebProcess/cocoa/PlaybackSessionManager.h
    M Source/WebKit/WebProcess/cocoa/VideoPresentationManager.h
    M Tools/TestWebKitAPI/Tests/WTF/Hasher.cpp
    M Tools/TestWebKitAPI/Tests/WTF/RunLoop.cpp
    M Tools/TestWebKitAPI/Tests/WebCore/curl/CurlMultipartHandleTests.cpp

  Log Message:
  -----------
  Add a debug assertion for subclasses of CanMakeCheckedPtr to be always heap 
allocated
https://bugs.webkit.org/show_bug.cgi?id=301458

Reviewed by Geoffrey Garen.

This PR adds a debug assertion in the destructor of CanMakeCheckedPtrBase to 
assert that
the deletion is initiated with operator delete of the corresponding class.

Since there are quite a few cases where CheckedPtr capable type is either a 
member variable
of another class or it's allocated in stack, this PR also adds the mechanism to 
suppress
the newly added debug assertion in CanMakeCheckedPtrBase, and deploys it in 
places that
currently do not use operator delete for destruction.

Finally, this PR also converts a few objects to be heap-allocated on its own 
instead of as
a member variable of another type or in stack.

No new tests since there should be no behavioral differences.

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



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

Reply via email to