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