Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 0d9f8faf3642c18971c354d7a3d756d116b5fa9b
      
https://github.com/WebKit/WebKit/commit/0d9f8faf3642c18971c354d7a3d756d116b5fa9b
  Author: Chris Dumez <[email protected]>
  Date:   2026-08-27 (Thu, 27 Aug 2026)

  Changed paths:
    M Source/WTF/wtf/NeverDestroyed.h
    M Source/WTF/wtf/Ref.h
    M Source/WTF/wtf/RefCountDebugger.h
    M Source/WTF/wtf/RefCounted.h
    M Source/WTF/wtf/RefCountedWithInlineWeakPtr.h
    M Source/WTF/wtf/RefPtr.h
    M Source/WTF/wtf/ThreadSafeRefCounted.h
    M Source/WTF/wtf/ThreadSafeRefCountedWithSuppressingSaferCPPChecking.h
    M Source/WTF/wtf/UniquelyOwnedPtr.h
    M Source/WTF/wtf/glib/SocketConnection.cpp
    M Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp
    M Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp
    M Source/WebCore/Modules/notifications/NotificationResourcesLoader.cpp
    M Source/WebCore/accessibility/AccessibilityMenuList.cpp
    M Source/WebCore/accessibility/AccessibilitySpinButton.cpp
    M Source/WebCore/dom/EmptyScriptExecutionContext.h
    M Source/WebCore/dom/Node.cpp
    M Source/WebCore/dom/Node.h
    M Source/WebCore/dom/NodeInlines.h
    M Source/WebCore/dom/Subscriber.cpp
    M Source/WebCore/dom/messageports/MessagePortChannel.cpp
    M Source/WebCore/fileapi/Blob.cpp
    M Source/WebCore/loader/DocumentThreadableLoader.cpp
    M Source/WebCore/page/Frame.cpp
    M Source/WebCore/page/Page.cpp
    M Source/WebCore/platform/graphics/Font.cpp
    M Source/WebCore/rendering/RenderScrollbar.cpp
    M Source/WebCore/rendering/RenderWidget.cpp
    M Source/WebCore/workers/WorkerOrWorkletGlobalScope.cpp
    M Source/WebCore/workers/service/ServiceWorker.cpp
    M Source/WebCore/workers/service/ServiceWorkerContainer.cpp
    M Source/WebCore/workers/service/ServiceWorkerRegistration.cpp
    M Source/WebKit/NetworkProcess/BackgroundFetchLoad.cpp
    M Source/WebKit/NetworkProcess/Downloads/PendingDownload.cpp
    M Source/WebKit/NetworkProcess/NetworkLoad.cpp
    M Source/WebKit/NetworkProcess/NetworkSocketChannel.cpp
    M 
Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerNavigationPreloader.cpp
    M 
Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerSoftUpdateLoader.cpp
    M 
Source/WebKit/NetworkProcess/SharedWorker/WebSharedWorkerServerToContextConnection.cpp
    M Source/WebKit/NetworkProcess/cache/NetworkCacheSpeculativeLoadManager.cpp
    M Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionMenuItemCocoa.mm
    M Source/WebKit/UIProcess/ProvisionalPageProxy.cpp
    M Source/WebKit/WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp
    M Source/WebKit/webpushd/PushService.mm

  Log Message:
  -----------
  Drop RefCounted's adoption requirement assertion
https://bugs.webkit.org/show_bug.cgi?id=322707

Reviewed by Ryosuke Niwa.

The point of this assertion was to make sure that we do not forget to
adopt a RefCounted object after constructing it. However, it also
prevents ref'ing the object while it is in the middle of construction.

Ref'ing the object while it is in the middle of construction is safer
and something that happens routinely, especially when adopting our
modern safer cpp programming patterns. This assertion was thus slowing
down safer cpp adoption and we would keep addressing the crashes by
adding calls to `relaxAdoptionRequirement()`, which disables the
adoption requirement assertion for a specific object type.

As a result, it makes little sense to keep this assertion around and
I am thus removing it in this patch.

* Source/WTF/wtf/NeverDestroyed.h:
(WTF::NeverDestroyed::NeverDestroyed):
(WTF::LazyNeverDestroyed::constructWithoutAccessCheck):
(WTF::NeverDestroyed::MaybeRelax::MaybeRelax): Deleted.
(): Deleted.
(WTF::LazyNeverDestroyed::MaybeRelax::MaybeRelax): Deleted.
* Source/WTF/wtf/Ref.h:
(WTF::adoptRef):
(WTF::adopted): Deleted.
* Source/WTF/wtf/RefCountDebugger.h:
(WTF::RefCountDebuggerImpl::~RefCountDebuggerImpl):
(WTF::RefCountDebuggerImpl::willRef const):
(WTF::RefCountDebuggerImpl::willDeref const):
(WTF::RefCountDebuggerImpl::adopted): Deleted.
(WTF::RefCountDebuggerImpl::relaxAdoptionRequirement): Deleted.
* Source/WTF/wtf/RefCounted.h:
(WTF::RefCountedBase::adopted): Deleted.
(WTF::RefCountedBase::relaxAdoptionRequirement): Deleted.
(WTF::adopted): Deleted.
* Source/WTF/wtf/RefCountedWithInlineWeakPtr.h:
(WTF::adopted): Deleted.
* Source/WTF/wtf/RefPtr.h:
(WTF::adoptRef):
* Source/WTF/wtf/ThreadSafeRefCounted.h:
(WTF::adopted): Deleted.
* Source/WTF/wtf/ThreadSafeRefCountedWithSuppressingSaferCPPChecking.h:
(WTF::adopted): Deleted.
* Source/WTF/wtf/UniquelyOwnedPtr.h:
(WTF::makeUniquelyOwned):
* Source/WTF/wtf/glib/SocketConnection.cpp:
(WTF::SocketConnection::SocketConnection):
* Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::MediaStreamTrack):
* Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::RTCPeerConnection):
* Source/WebCore/Modules/notifications/NotificationResourcesLoader.cpp:
(WebCore::NotificationResourcesLoader::ResourceLoader::ResourceLoader):
* Source/WebCore/accessibility/AccessibilityMenuList.cpp:
(WebCore::AccessibilityMenuList::create):
* Source/WebCore/accessibility/AccessibilitySpinButton.cpp:
(WebCore::AccessibilitySpinButton::create):
* Source/WebCore/dom/EmptyScriptExecutionContext.h:
* Source/WebCore/dom/Node.cpp:
(WebCore::Node::Node):
(WebCore::Node::~Node):
* Source/WebCore/dom/Node.h:
(WebCore::Node::ref const):
(WebCore::Node::deref const):
(WebCore::adopted): Deleted.
* Source/WebCore/dom/NodeInlines.h:
(WebCore::Node::relaxAdoptionRequirement): Deleted.
* Source/WebCore/dom/Subscriber.cpp:
(WebCore::Subscriber::Subscriber):
* Source/WebCore/dom/messageports/MessagePortChannel.cpp:
(WebCore::m_registry):
* Source/WebCore/fileapi/Blob.cpp:
(WebCore::Blob::stream):
* Source/WebCore/loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
* Source/WebCore/page/Frame.cpp:
(WebCore::Frame::Frame):
* Source/WebCore/page/Page.cpp:
(WebCore::createMainFrame):
* Source/WebCore/platform/graphics/Font.cpp:
(WebCore::m_shouldNotBeUsedForArabic):
* Source/WebCore/rendering/RenderScrollbar.cpp:
(WebCore::RenderScrollbar::RenderScrollbar):
* Source/WebCore/rendering/RenderWidget.cpp:
(WebCore::RenderWidget::RenderWidget):
* Source/WebCore/workers/WorkerOrWorkletGlobalScope.cpp:
(WebCore::WorkerOrWorkletGlobalScope::WorkerOrWorkletGlobalScope):
* Source/WebCore/workers/service/ServiceWorker.cpp:
(WebCore::ServiceWorker::ServiceWorker):
* Source/WebCore/workers/service/ServiceWorkerContainer.cpp:
(WebCore::ServiceWorkerContainer::ensureSWClientConnection):
* Source/WebCore/workers/service/ServiceWorkerRegistration.cpp:
(WebCore::ServiceWorkerRegistration::ServiceWorkerRegistration):
* Source/WebKit/NetworkProcess/Downloads/PendingDownload.cpp:
(WebKit::PendingDownload::PendingDownload):
* Source/WebKit/NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::NetworkLoad):
* Source/WebKit/NetworkProcess/NetworkSocketChannel.cpp:
(WebKit::NetworkSocketChannel::NetworkSocketChannel):
* 
Source/WebKit/NetworkProcess/ServiceWorker/ServiceWorkerNavigationPreloader.cpp:
(WebKit::ServiceWorkerNavigationPreloader::ServiceWorkerNavigationPreloader):
* 
Source/WebKit/NetworkProcess/SharedWorker/WebSharedWorkerServerToContextConnection.cpp:
(WebKit::WebSharedWorkerServerToContextConnection::WebSharedWorkerServerToContextConnection):
* Source/WebKit/UIProcess/Extensions/Cocoa/WebExtensionMenuItemCocoa.mm:
(WebKit::WebExtensionMenuItem::WebExtensionMenuItem):
* Source/WebKit/UIProcess/ProvisionalPageProxy.cpp:
(WebKit::ProvisionalPageProxy::ProvisionalPageProxy):
* Source/WebKit/WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp:
(WebKit::WebIDBConnectionToServer::WebIDBConnectionToServer):
* Source/WebKit/webpushd/PushService.mm:
(WebPushD::PushService::PushService):

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



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

Reply via email to