Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 24c5a57441b2ab436ef5000d292d9597464740c3
      
https://github.com/WebKit/WebKit/commit/24c5a57441b2ab436ef5000d292d9597464740c3
  Author: Alex Christensen <achristen...@apple.com>
  Date:   2025-03-11 (Tue, 11 Mar 2025)

  Changed paths:
    M Source/WebKit/NetworkProcess/NetworkProcess.cpp
    M Source/WebKit/NetworkProcess/NetworkProcess.h
    M Source/WebKit/NetworkProcess/NetworkSession.h
    M Source/WebKit/NetworkProcess/ServiceWorker/WebSWRegistrationStore.cpp
    M Source/WebKit/NetworkProcess/ServiceWorker/WebSWRegistrationStore.h
    M Source/WebKit/NetworkProcess/storage/BackgroundFetchStoreImpl.cpp
    M Source/WebKit/NetworkProcess/storage/BackgroundFetchStoreImpl.h
    M Source/WebKit/NetworkProcess/storage/NetworkStorageManager.cpp
    M Source/WebKit/NetworkProcess/storage/NetworkStorageManager.h
    M Source/WebKit/Platform/IPC/Connection.cpp
    M Source/WebKit/Platform/IPC/Connection.h
    M Source/WebKit/Platform/IPC/MessageReceiveQueues.h
    M Source/WebKit/Platform/IPC/WorkQueueMessageReceiver.h
    M Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp
    M Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h
    M Source/WebKit/WebProcess/Network/NetworkProcessConnection.cpp

  Log Message:
  -----------
  Make WorkQueueMessageReceiver thread safe
https://bugs.webkit.org/show_bug.cgi?id=289502
rdar://131599226

Reviewed by Chris Dumez.

NetworkStorageManager had WeakPtr, ThreadSafeWeakPtr, and CheckedPtr all 
keeping it "safe",
but only one of the three was thread safe.  It only inherited from 
CanMakeWeakPtr because
it inherited from MessageReceiver.  This fixes NetworkStorageManager's lifetime 
management
and prevents other types from accidentally making non-thread-safe WeakPtrs to 
them by making
WorkQueueMessageReceiver not inherit MessageReceiver's CanMakeWeakPtr.

I also found that NetworkProcessConnection::dispatchSyncMessage was calling
WebSWContextManagerConnection::didReceiveSyncMessage, but 
WebSWContextManagerConnection has
no synchronous messages it can receive, so I removed it.

* Source/WebKit/NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::destroySession):
* Source/WebKit/NetworkProcess/NetworkProcess.h:
* Source/WebKit/NetworkProcess/ServiceWorker/WebSWRegistrationStore.cpp:
(WebKit::WebSWRegistrationStore::clearAll):
(WebKit::WebSWRegistrationStore::closeFiles):
(WebKit::WebSWRegistrationStore::importRegistrations):
(WebKit::WebSWRegistrationStore::updateToStorage):
(WebKit::WebSWRegistrationStore::checkedManager const): Deleted.
* Source/WebKit/NetworkProcess/ServiceWorker/WebSWRegistrationStore.h:
* Source/WebKit/NetworkProcess/storage/BackgroundFetchStoreImpl.cpp:
(WebKit::BackgroundFetchStoreImpl::BackgroundFetchStoreImpl):
(WebKit::BackgroundFetchStoreImpl::initializeFetches):
(WebKit::BackgroundFetchStoreImpl::initializeFetchesInternal):
(WebKit::BackgroundFetchStoreImpl::clearFetch):
(WebKit::BackgroundFetchStoreImpl::clearFetchInternal):
(WebKit::BackgroundFetchStoreImpl::clearAllFetches):
(WebKit::BackgroundFetchStoreImpl::clearAllFetchesInternal):
(WebKit::BackgroundFetchStoreImpl::storeFetch):
(WebKit::BackgroundFetchStoreImpl::storeFetchInternal):
(WebKit::BackgroundFetchStoreImpl::storeFetchResponseBodyChunk):
(WebKit::BackgroundFetchStoreImpl::storeFetchResponseBodyChunkInternal):
(WebKit::BackgroundFetchStoreImpl::retrieveResponseBody):
* Source/WebKit/NetworkProcess/storage/BackgroundFetchStoreImpl.h:
(WebKit::BackgroundFetchStoreImpl::create):
* Source/WebKit/NetworkProcess/storage/NetworkStorageManager.h:
* Source/WebKit/Platform/IPC/Connection.cpp:
(IPC::Connection::dispatchMessageReceiverMessage):
* Source/WebKit/Platform/IPC/Connection.h:
* Source/WebKit/Platform/IPC/MessageReceiveQueues.h:
* Source/WebKit/Platform/IPC/WorkQueueMessageReceiver.h:
(IPC::WorkQueueMessageReceiverBase::~WorkQueueMessageReceiverBase):
(IPC::WorkQueueMessageReceiverBase::didReceiveSyncMessage):
(IPC::WorkQueueMessageReceiverBase::didReceiveMessage):
(IPC::WorkQueueMessageReceiverBase::didReceiveMessageWithReplyHandler):
* Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
(WebKit::RemoteRenderingBackendProxy::didClose):
(WebKit::RemoteRenderingBackendProxy::didMarkLayersAsVolatile):
* Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:

Canonical link: https://commits.webkit.org/291946@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