Diff
Modified: trunk/Source/WebKit/ChangeLog (274171 => 274172)
--- trunk/Source/WebKit/ChangeLog 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/ChangeLog 2021-03-09 21:27:27 UTC (rev 274172)
@@ -1,3 +1,81 @@
+2021-03-09 Chris Dumez <[email protected]>
+
+ [IPC Hardening] Protect against bad input in WebProcessProxy::createSpeechRecognitionServer() and MessageReceiverMap
+ https://bugs.webkit.org/show_bug.cgi?id=222948
+ <rdar://problem/75191472>
+
+ Reviewed by Alex Christensen.
+
+ Update MessageReceiverMap so that:
+ 1. Trying to remove a MessageReceiver that is not in the map does not
+ do dangerous things.
+ 2. It stores weak pointers to the receivers instead of raw pointers. This
+ would avoid doing bad things when trying to remove a message receiver
+ that's already been destroyed.
+
+ Add a MESSAGE_CHECK() in WebProcessProxy::createSpeechRecognitionServer() to
+ make sure the identifier is not already in the map. There used to be a debug
+ assertion but we should MESSAGE_CHECK() too since the value is coming from
+ IPC.
+
+ * GPUProcess/GPUConnectionToWebProcess.h:
+ * GPUProcess/GPUProcess.h:
+ * GPUProcess/media/RemoteAudioSessionProxy.h:
+ * GPUProcess/media/RemoteCDMFactoryProxy.h:
+ * GPUProcess/media/RemoteCDMProxy.h:
+ * GPUProcess/media/RemoteLegacyCDMFactoryProxy.h:
+ * GPUProcess/media/RemoteLegacyCDMProxy.h:
+ * GPUProcess/media/RemoteLegacyCDMSessionProxy.h:
+ * GPUProcess/media/RemoteMediaEngineConfigurationFactoryProxy.h:
+ * GPUProcess/media/RemoteMediaPlayerManagerProxy.h:
+ * GPUProcess/media/RemoteMediaPlayerProxy.h:
+ * GPUProcess/media/RemoteMediaResourceManager.h:
+ * GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.h:
+ * NetworkProcess/NetworkProcess.h:
+ * NetworkProcess/ServiceWorker/WebSWServerConnection.h:
+ * NetworkProcess/ServiceWorker/WebSWServerToContextConnection.h:
+ * Platform/IPC/MessageReceiver.h:
+ * Platform/IPC/MessageReceiverMap.cpp:
+ (IPC::MessageReceiverMap::addMessageReceiver):
+ (IPC::MessageReceiverMap::removeMessageReceiver):
+ (IPC::MessageReceiverMap::dispatchMessage):
+ (IPC::MessageReceiverMap::dispatchSyncMessage):
+ * Platform/IPC/MessageReceiverMap.h:
+ * Shared/API/Cocoa/RemoteObjectRegistry.h:
+ * Shared/ApplePay/WebPaymentCoordinatorProxy.h:
+ * Shared/Authentication/AuthenticationManager.h:
+ * Shared/AuxiliaryProcess.h:
+ * UIProcess/GPU/GPUProcessProxy.h:
+ * UIProcess/Inspector/WebInspectorProxy.h:
+ * UIProcess/Inspector/WebInspectorUIExtensionControllerProxy.h:
+ * UIProcess/Media/AudioSessionRoutingArbitratorProxy.h:
+ * UIProcess/Network/CustomProtocols/LegacyCustomProtocolManagerProxy.h:
+ * UIProcess/Network/NetworkProcessProxy.h:
+ * UIProcess/ProvisionalPageProxy.h:
+ * UIProcess/SpeechRecognitionRemoteRealtimeMediaSourceManager.h:
+ * UIProcess/SpeechRecognitionServer.h:
+ * UIProcess/SuspendedPageProxy.h:
+ * UIProcess/WebAuthentication/WebAuthnProcessProxy.h:
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebProcessPool.h:
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::createSpeechRecognitionServer):
+ * UIProcess/WebProcessProxy.h:
+ * WebAuthnProcess/WebAuthnProcess.h:
+ * WebProcess/GPU/GPUProcessConnection.h:
+ * WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:
+ * WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
+ * WebProcess/GPU/media/MediaSourcePrivateRemote.h:
+ * WebProcess/GPU/media/SourceBufferPrivateRemote.h:
+ * WebProcess/GPU/webrtc/SampleBufferDisplayLayer.h:
+ * WebProcess/Inspector/WebInspectorUIExtensionController.h:
+ * WebProcess/Network/WebSocketChannel.h:
+ * WebProcess/Speech/SpeechRecognitionRealtimeMediaSourceManager.h:
+ * WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h:
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
+ * WebProcess/WebStorage/StorageAreaMap.h:
+
2021-03-09 Fujii Hironori <[email protected]>
[WinCairo] Deadlocks in WTF::Thread::ThreadHolder::~ThreadHolder while WebKitWebProcess.exe is shutting down
Modified: trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.h (274171 => 274172)
--- trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -86,6 +86,9 @@
static Ref<GPUConnectionToWebProcess> create(GPUProcess&, WebCore::ProcessIdentifier, IPC::Connection::Identifier, PAL::SessionID, GPUProcessConnectionParameters&&);
virtual ~GPUConnectionToWebProcess();
+ using WebCore::NowPlayingManager::Client::weakPtrFactory;
+ using WeakValueType = WebCore::NowPlayingManager::Client::WeakValueType;
+
IPC::Connection& connection() { return m_connection.get(); }
IPC::MessageReceiverMap& messageReceiverMap() { return m_messageReceiverMap; }
GPUProcess& gpuProcess() { return m_gpuProcess.get(); }
Modified: trunk/Source/WebKit/GPUProcess/GPUProcess.h (274171 => 274172)
--- trunk/Source/WebKit/GPUProcess/GPUProcess.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/GPUProcess/GPUProcess.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -53,7 +53,7 @@
class LayerHostingContext;
class RemoteAudioSessionProxyManager;
-class GPUProcess : public AuxiliaryProcess, public ThreadSafeRefCounted<GPUProcess>, public CanMakeWeakPtr<GPUProcess> {
+class GPUProcess : public AuxiliaryProcess, public ThreadSafeRefCounted<GPUProcess> {
WTF_MAKE_NONCOPYABLE(GPUProcess);
public:
explicit GPUProcess(AuxiliaryProcessInitializationParameters&&);
Modified: trunk/Source/WebKit/GPUProcess/media/RemoteAudioSessionProxy.h (274171 => 274172)
--- trunk/Source/WebKit/GPUProcess/media/RemoteAudioSessionProxy.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/GPUProcess/media/RemoteAudioSessionProxy.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -43,8 +43,7 @@
class RemoteAudioSessionProxyManager;
class RemoteAudioSessionProxy
- : public IPC::MessageReceiver
- , public CanMakeWeakPtr<RemoteAudioSessionProxy> {
+ : public IPC::MessageReceiver {
WTF_MAKE_FAST_ALLOCATED;
public:
static UniqueRef<RemoteAudioSessionProxy> create(GPUConnectionToWebProcess&);
Modified: trunk/Source/WebKit/GPUProcess/media/RemoteCDMFactoryProxy.h (274171 => 274172)
--- trunk/Source/WebKit/GPUProcess/media/RemoteCDMFactoryProxy.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/GPUProcess/media/RemoteCDMFactoryProxy.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -43,7 +43,7 @@
class RemoteCDMProxy;
struct RemoteCDMConfiguration;
-class RemoteCDMFactoryProxy final : private IPC::MessageReceiver, public CanMakeWeakPtr<RemoteCDMFactoryProxy> {
+class RemoteCDMFactoryProxy final : public IPC::MessageReceiver {
WTF_MAKE_FAST_ALLOCATED;
public:
RemoteCDMFactoryProxy(GPUConnectionToWebProcess&);
Modified: trunk/Source/WebKit/GPUProcess/media/RemoteCDMProxy.h (274171 => 274172)
--- trunk/Source/WebKit/GPUProcess/media/RemoteCDMProxy.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/GPUProcess/media/RemoteCDMProxy.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -49,7 +49,7 @@
struct RemoteCDMInstanceConfiguration;
struct RemoteCDMConfiguration;
-class RemoteCDMProxy : private IPC::MessageReceiver, public CanMakeWeakPtr<RemoteCDMProxy> {
+class RemoteCDMProxy : public IPC::MessageReceiver {
public:
static std::unique_ptr<RemoteCDMProxy> create(WeakPtr<RemoteCDMFactoryProxy>&&, std::unique_ptr<WebCore::CDMPrivate>&&);
~RemoteCDMProxy();
Modified: trunk/Source/WebKit/GPUProcess/media/RemoteLegacyCDMFactoryProxy.h (274171 => 274172)
--- trunk/Source/WebKit/GPUProcess/media/RemoteLegacyCDMFactoryProxy.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/GPUProcess/media/RemoteLegacyCDMFactoryProxy.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -42,7 +42,7 @@
class RemoteLegacyCDMProxy;
struct RemoteLegacyCDMConfiguration;
-class RemoteLegacyCDMFactoryProxy final : private IPC::MessageReceiver, public CanMakeWeakPtr<RemoteLegacyCDMFactoryProxy> {
+class RemoteLegacyCDMFactoryProxy final : public IPC::MessageReceiver {
WTF_MAKE_FAST_ALLOCATED;
public:
RemoteLegacyCDMFactoryProxy(GPUConnectionToWebProcess&);
Modified: trunk/Source/WebKit/GPUProcess/media/RemoteLegacyCDMProxy.h (274171 => 274172)
--- trunk/Source/WebKit/GPUProcess/media/RemoteLegacyCDMProxy.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/GPUProcess/media/RemoteLegacyCDMProxy.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -42,9 +42,8 @@
namespace WebKit {
class RemoteLegacyCDMProxy
- : private IPC::MessageReceiver
- , public WebCore::LegacyCDMClient
- , public CanMakeWeakPtr<RemoteLegacyCDMProxy> {
+ : public IPC::MessageReceiver
+ , public WebCore::LegacyCDMClient {
public:
static std::unique_ptr<RemoteLegacyCDMProxy> create(WeakPtr<RemoteLegacyCDMFactoryProxy>, WebCore::MediaPlayerIdentifier&&, std::unique_ptr<WebCore::LegacyCDM>&&);
~RemoteLegacyCDMProxy();
Modified: trunk/Source/WebKit/GPUProcess/media/RemoteLegacyCDMSessionProxy.h (274171 => 274172)
--- trunk/Source/WebKit/GPUProcess/media/RemoteLegacyCDMSessionProxy.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/GPUProcess/media/RemoteLegacyCDMSessionProxy.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -50,9 +50,8 @@
class RemoteMediaPlayerProxy;
class RemoteLegacyCDMSessionProxy
- : private IPC::MessageReceiver
- , public WebCore::LegacyCDMSessionClient
- , public CanMakeWeakPtr<RemoteLegacyCDMSessionProxy> {
+ : public IPC::MessageReceiver
+ , public WebCore::LegacyCDMSessionClient {
public:
static std::unique_ptr<RemoteLegacyCDMSessionProxy> create(WeakPtr<RemoteLegacyCDMFactoryProxy>&&, RemoteLegacyCDMSessionIdentifier, WebCore::LegacyCDM&);
~RemoteLegacyCDMSessionProxy();
Modified: trunk/Source/WebKit/GPUProcess/media/RemoteMediaEngineConfigurationFactoryProxy.h (274171 => 274172)
--- trunk/Source/WebKit/GPUProcess/media/RemoteMediaEngineConfigurationFactoryProxy.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/GPUProcess/media/RemoteMediaEngineConfigurationFactoryProxy.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -35,7 +35,7 @@
namespace WebKit {
-class RemoteMediaEngineConfigurationFactoryProxy final : private IPC::MessageReceiver, public CanMakeWeakPtr<RemoteMediaEngineConfigurationFactoryProxy> {
+class RemoteMediaEngineConfigurationFactoryProxy final : private IPC::MessageReceiver {
WTF_MAKE_FAST_ALLOCATED;
public:
RemoteMediaEngineConfigurationFactoryProxy();
Modified: trunk/Source/WebKit/GPUProcess/media/RemoteMediaPlayerManagerProxy.h (274171 => 274172)
--- trunk/Source/WebKit/GPUProcess/media/RemoteMediaPlayerManagerProxy.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/GPUProcess/media/RemoteMediaPlayerManagerProxy.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -45,8 +45,7 @@
struct RemoteMediaPlayerProxyConfiguration;
class RemoteMediaPlayerManagerProxy
- : public CanMakeWeakPtr<RemoteMediaPlayerManagerProxy>
- , private IPC::MessageReceiver
+ : public IPC::MessageReceiver
{
WTF_MAKE_FAST_ALLOCATED;
public:
Modified: trunk/Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.h (274171 => 274172)
--- trunk/Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -81,9 +81,8 @@
class RemoteVideoTrackProxy;
class RemoteMediaPlayerProxy final
- : public CanMakeWeakPtr<RemoteMediaPlayerProxy>
- , public WebCore::MediaPlayerClient
- , private IPC::MessageReceiver {
+ : public WebCore::MediaPlayerClient
+ , public IPC::MessageReceiver {
WTF_MAKE_FAST_ALLOCATED;
public:
RemoteMediaPlayerProxy(RemoteMediaPlayerManagerProxy&, WebCore::MediaPlayerIdentifier, Ref<IPC::Connection>&&, WebCore::MediaPlayerEnums::MediaEngineIdentifier, RemoteMediaPlayerProxyConfiguration&&);
Modified: trunk/Source/WebKit/GPUProcess/media/RemoteMediaResourceManager.h (274171 => 274172)
--- trunk/Source/WebKit/GPUProcess/media/RemoteMediaResourceManager.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/GPUProcess/media/RemoteMediaResourceManager.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -49,8 +49,7 @@
class RemoteMediaResource;
class RemoteMediaResourceManager
- : public IPC::MessageReceiver
- , public CanMakeWeakPtr<RemoteMediaResourceManager> {
+ : public IPC::MessageReceiver {
WTF_MAKE_FAST_ALLOCATED;
public:
RemoteMediaResourceManager();
Modified: trunk/Source/WebKit/GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.h (274171 => 274172)
--- trunk/Source/WebKit/GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -48,6 +48,9 @@
static std::unique_ptr<RemoteSampleBufferDisplayLayer> create(SampleBufferDisplayLayerIdentifier, Ref<IPC::Connection>&&);
~RemoteSampleBufferDisplayLayer();
+ using WebCore::SampleBufferDisplayLayer::Client::weakPtrFactory;
+ using WeakValueType = WebCore::SampleBufferDisplayLayer::Client::WeakValueType;
+
using LayerInitializationCallback = CompletionHandler<void(Optional<LayerHostingContextID>)>;
void initialize(bool hideRootLayer, WebCore::IntSize, LayerInitializationCallback&&);
Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.h (274171 => 274172)
--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -125,7 +125,7 @@
class Engine;
}
-class NetworkProcess : public AuxiliaryProcess, private DownloadManager::Client, public ThreadSafeRefCounted<NetworkProcess>, public CanMakeWeakPtr<NetworkProcess>
+class NetworkProcess : public AuxiliaryProcess, private DownloadManager::Client, public ThreadSafeRefCounted<NetworkProcess>
{
WTF_MAKE_NONCOPYABLE(NetworkProcess);
public:
Modified: trunk/Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerConnection.h (274171 => 274172)
--- trunk/Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerConnection.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerConnection.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -67,6 +67,9 @@
WebSWServerConnection(const WebSWServerConnection&) = delete;
~WebSWServerConnection() final;
+ using WebCore::SWServer::Connection::weakPtrFactory;
+ using WeakValueType = WebCore::SWServer::Connection::WeakValueType;
+
IPC::Connection& ipcConnection() const { return m_contentConnection.get(); }
void didReceiveMessage(IPC::Connection&, IPC::Decoder&) final;
Modified: trunk/Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerToContextConnection.h (274171 => 274172)
--- trunk/Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerToContextConnection.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/NetworkProcess/ServiceWorker/WebSWServerToContextConnection.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -52,7 +52,7 @@
class NetworkConnectionToWebProcess;
class WebSWServerConnection;
-class WebSWServerToContextConnection: public CanMakeWeakPtr<WebSWServerToContextConnection>, public WebCore::SWServerToContextConnection, public IPC::MessageSender, public IPC::MessageReceiver {
+class WebSWServerToContextConnection: public WebCore::SWServerToContextConnection, public IPC::MessageSender, public IPC::MessageReceiver {
public:
WebSWServerToContextConnection(NetworkConnectionToWebProcess&, WebCore::RegistrableDomain&&, WebCore::SWServer&);
~WebSWServerToContextConnection();
Modified: trunk/Source/WebKit/Platform/IPC/MessageReceiver.h (274171 => 274172)
--- trunk/Source/WebKit/Platform/IPC/MessageReceiver.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/Platform/IPC/MessageReceiver.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -26,6 +26,7 @@
#pragma once
#include <wtf/Assertions.h>
+#include <wtf/WeakPtr.h>
namespace IPC {
@@ -33,7 +34,7 @@
class Decoder;
class Encoder;
-class MessageReceiver {
+class MessageReceiver : public CanMakeWeakPtr<MessageReceiver> {
public:
virtual ~MessageReceiver()
{
Modified: trunk/Source/WebKit/Platform/IPC/MessageReceiverMap.cpp (274171 => 274172)
--- trunk/Source/WebKit/Platform/IPC/MessageReceiverMap.cpp 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/Platform/IPC/MessageReceiverMap.cpp 2021-03-09 21:27:27 UTC (rev 274172)
@@ -44,7 +44,7 @@
ASSERT(!m_globalMessageReceivers.contains(messageReceiverName));
messageReceiver.willBeAddedToMessageReceiverMap();
- m_globalMessageReceivers.set(messageReceiverName, &messageReceiver);
+ m_globalMessageReceivers.set(messageReceiverName, makeWeakPtr(messageReceiver));
}
void MessageReceiverMap::addMessageReceiver(ReceiverName messageReceiverName, uint64_t destinationID, MessageReceiver& messageReceiver)
@@ -54,26 +54,32 @@
ASSERT(!m_globalMessageReceivers.contains(messageReceiverName));
messageReceiver.willBeAddedToMessageReceiverMap();
- m_messageReceivers.set(std::make_pair(messageReceiverName, destinationID), &messageReceiver);
+ m_messageReceivers.set(std::make_pair(messageReceiverName, destinationID), makeWeakPtr(messageReceiver));
}
void MessageReceiverMap::removeMessageReceiver(ReceiverName messageReceiverName)
{
- ASSERT(m_globalMessageReceivers.contains(messageReceiverName));
-
auto it = m_globalMessageReceivers.find(messageReceiverName);
- it->value->willBeRemovedFromMessageReceiverMap();
+ if (it == m_globalMessageReceivers.end()) {
+ ASSERT_NOT_REACHED();
+ return;
+ }
+ if (it->value)
+ it->value->willBeRemovedFromMessageReceiverMap();
m_globalMessageReceivers.remove(it);
}
void MessageReceiverMap::removeMessageReceiver(ReceiverName messageReceiverName, uint64_t destinationID)
{
- ASSERT(m_messageReceivers.contains(std::make_pair(messageReceiverName, destinationID)));
-
auto it = m_messageReceivers.find(std::make_pair(messageReceiverName, destinationID));
- it->value->willBeRemovedFromMessageReceiverMap();
+ if (it == m_messageReceivers.end()) {
+ ASSERT_NOT_REACHED();
+ return;
+ }
+ if (it->value)
+ it->value->willBeRemovedFromMessageReceiverMap();
m_messageReceivers.remove(it);
}
@@ -112,7 +118,7 @@
bool MessageReceiverMap::dispatchMessage(Connection& connection, Decoder& decoder)
{
- if (MessageReceiver* messageReceiver = m_globalMessageReceivers.get(decoder.messageReceiverName())) {
+ if (auto messageReceiver = m_globalMessageReceivers.get(decoder.messageReceiverName())) {
ASSERT(!decoder.destinationID());
messageReceiver->didReceiveMessage(connection, decoder);
@@ -119,7 +125,7 @@
return true;
}
- if (MessageReceiver* messageReceiver = m_messageReceivers.get(std::make_pair(decoder.messageReceiverName(), decoder.destinationID()))) {
+ if (auto messageReceiver = m_messageReceivers.get(std::make_pair(decoder.messageReceiverName(), decoder.destinationID()))) {
messageReceiver->didReceiveMessage(connection, decoder);
return true;
}
@@ -129,7 +135,7 @@
bool MessageReceiverMap::dispatchSyncMessage(Connection& connection, Decoder& decoder, std::unique_ptr<Encoder>& replyEncoder)
{
- if (MessageReceiver* messageReceiver = m_globalMessageReceivers.get(decoder.messageReceiverName())) {
+ if (auto messageReceiver = m_globalMessageReceivers.get(decoder.messageReceiverName())) {
ASSERT(!decoder.destinationID());
messageReceiver->didReceiveSyncMessage(connection, decoder, replyEncoder);
@@ -136,7 +142,7 @@
return true;
}
- if (MessageReceiver* messageReceiver = m_messageReceivers.get(std::make_pair(decoder.messageReceiverName(), decoder.destinationID()))) {
+ if (auto messageReceiver = m_messageReceivers.get(std::make_pair(decoder.messageReceiverName(), decoder.destinationID()))) {
messageReceiver->didReceiveSyncMessage(connection, decoder, replyEncoder);
return true;
}
Modified: trunk/Source/WebKit/Platform/IPC/MessageReceiverMap.h (274171 => 274172)
--- trunk/Source/WebKit/Platform/IPC/MessageReceiverMap.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/Platform/IPC/MessageReceiverMap.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -27,6 +27,7 @@
#include "StringReference.h"
#include <wtf/HashMap.h>
+#include <wtf/WeakPtr.h>
#include <wtf/text/CString.h>
namespace IPC {
@@ -56,9 +57,9 @@
private:
// Message receivers that don't require a destination ID.
- HashMap<ReceiverName, MessageReceiver*, WTF::IntHash<ReceiverName>, WTF::StrongEnumHashTraits<ReceiverName>> m_globalMessageReceivers;
+ HashMap<ReceiverName, WeakPtr<MessageReceiver>, WTF::IntHash<ReceiverName>, WTF::StrongEnumHashTraits<ReceiverName>> m_globalMessageReceivers;
- HashMap<std::pair<ReceiverName, uint64_t>, MessageReceiver*, DefaultHash<std::pair<ReceiverName, uint64_t>>, PairHashTraits<WTF::StrongEnumHashTraits<ReceiverName>, HashTraits<uint64_t>>> m_messageReceivers;
+ HashMap<std::pair<ReceiverName, uint64_t>, WeakPtr<MessageReceiver>, DefaultHash<std::pair<ReceiverName, uint64_t>>, PairHashTraits<WTF::StrongEnumHashTraits<ReceiverName>, HashTraits<uint64_t>>> m_messageReceivers;
};
};
Modified: trunk/Source/WebKit/Shared/API/Cocoa/RemoteObjectRegistry.h (274171 => 274172)
--- trunk/Source/WebKit/Shared/API/Cocoa/RemoteObjectRegistry.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/Shared/API/Cocoa/RemoteObjectRegistry.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -43,7 +43,7 @@
class RemoteObjectInvocation;
class UserData;
-class RemoteObjectRegistry : public CanMakeWeakPtr<RemoteObjectRegistry>, public IPC::MessageReceiver {
+class RemoteObjectRegistry : public IPC::MessageReceiver {
WTF_MAKE_FAST_ALLOCATED;
public:
virtual ~RemoteObjectRegistry();
Modified: trunk/Source/WebKit/Shared/ApplePay/WebPaymentCoordinatorProxy.h (274171 => 274172)
--- trunk/Source/WebKit/Shared/ApplePay/WebPaymentCoordinatorProxy.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/Shared/ApplePay/WebPaymentCoordinatorProxy.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -77,9 +77,8 @@
class WebPageProxy;
class WebPaymentCoordinatorProxy
- : private IPC::MessageReceiver
+ : public IPC::MessageReceiver
, private IPC::MessageSender
- , public CanMakeWeakPtr<WebPaymentCoordinatorProxy>
, public PaymentAuthorizationPresenter::Client {
WTF_MAKE_FAST_ALLOCATED;
public:
Modified: trunk/Source/WebKit/Shared/Authentication/AuthenticationManager.h (274171 => 274172)
--- trunk/Source/WebKit/Shared/Authentication/AuthenticationManager.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/Shared/Authentication/AuthenticationManager.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -62,7 +62,7 @@
enum class AuthenticationChallengeDisposition : uint8_t;
using ChallengeCompletionHandler = CompletionHandler<void(AuthenticationChallengeDisposition, const WebCore::Credential&)>;
-class AuthenticationManager : public NetworkProcessSupplement, public IPC::MessageReceiver, public CanMakeWeakPtr<AuthenticationManager> {
+class AuthenticationManager : public NetworkProcessSupplement, public IPC::MessageReceiver {
WTF_MAKE_FAST_ALLOCATED;
WTF_MAKE_NONCOPYABLE(AuthenticationManager);
public:
Modified: trunk/Source/WebKit/Shared/AuxiliaryProcess.h (274171 => 274172)
--- trunk/Source/WebKit/Shared/AuxiliaryProcess.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/Shared/AuxiliaryProcess.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -41,7 +41,7 @@
class SandboxInitializationParameters;
struct AuxiliaryProcessInitializationParameters;
-class AuxiliaryProcess : protected IPC::Connection::Client, public IPC::MessageSender {
+class AuxiliaryProcess : public IPC::Connection::Client, public IPC::MessageSender {
WTF_MAKE_NONCOPYABLE(AuxiliaryProcess);
public:
Modified: trunk/Source/WebKit/UIProcess/GPU/GPUProcessProxy.h (274171 => 274172)
--- trunk/Source/WebKit/UIProcess/GPU/GPUProcessProxy.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/UIProcess/GPU/GPUProcessProxy.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -56,7 +56,7 @@
struct GPUProcessConnectionParameters;
struct GPUProcessCreationParameters;
-class GPUProcessProxy final : public AuxiliaryProcessProxy, private ProcessThrottlerClient, public CanMakeWeakPtr<GPUProcessProxy>, public RefCounted<GPUProcessProxy> {
+class GPUProcessProxy final : public AuxiliaryProcessProxy, private ProcessThrottlerClient, public RefCounted<GPUProcessProxy> {
WTF_MAKE_FAST_ALLOCATED;
WTF_MAKE_NONCOPYABLE(GPUProcessProxy);
friend LazyNeverDestroyed<GPUProcessProxy>;
Modified: trunk/Source/WebKit/UIProcess/Inspector/WebInspectorProxy.h (274171 => 274172)
--- trunk/Source/WebKit/UIProcess/Inspector/WebInspectorProxy.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/UIProcess/Inspector/WebInspectorProxy.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -84,7 +84,6 @@
: public API::ObjectImpl<API::Object::Type::Inspector>
, public IPC::MessageReceiver
, public Inspector::FrontendChannel
- , public CanMakeWeakPtr<WebInspectorProxy>
#if PLATFORM(WIN)
, public WebCore::WindowMessageListener
#endif
Modified: trunk/Source/WebKit/UIProcess/Inspector/WebInspectorUIExtensionControllerProxy.h (274171 => 274172)
--- trunk/Source/WebKit/UIProcess/Inspector/WebInspectorUIExtensionControllerProxy.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/UIProcess/Inspector/WebInspectorUIExtensionControllerProxy.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -44,8 +44,7 @@
class WebInspectorUIExtensionControllerProxy final
: public RefCounted<WebInspectorUIExtensionControllerProxy>
- , public IPC::MessageReceiver
- , public CanMakeWeakPtr<WebInspectorUIExtensionControllerProxy> {
+ , public IPC::MessageReceiver {
WTF_MAKE_FAST_ALLOCATED;
WTF_MAKE_NONCOPYABLE(WebInspectorUIExtensionControllerProxy);
public:
Modified: trunk/Source/WebKit/UIProcess/Media/AudioSessionRoutingArbitratorProxy.h (274171 => 274172)
--- trunk/Source/WebKit/UIProcess/Media/AudioSessionRoutingArbitratorProxy.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/UIProcess/Media/AudioSessionRoutingArbitratorProxy.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -37,8 +37,7 @@
class WebProcessProxy;
class AudioSessionRoutingArbitratorProxy
- : public IPC::MessageReceiver
- , public CanMakeWeakPtr<AudioSessionRoutingArbitratorProxy> {
+ : public IPC::MessageReceiver {
WTF_MAKE_FAST_ALLOCATED;
public:
AudioSessionRoutingArbitratorProxy(WebProcessProxy&);
Modified: trunk/Source/WebKit/UIProcess/Network/CustomProtocols/LegacyCustomProtocolManagerProxy.h (274171 => 274172)
--- trunk/Source/WebKit/UIProcess/Network/CustomProtocols/LegacyCustomProtocolManagerProxy.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/UIProcess/Network/CustomProtocols/LegacyCustomProtocolManagerProxy.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -46,7 +46,7 @@
class NetworkProcessProxy;
-class LegacyCustomProtocolManagerProxy : public CanMakeWeakPtr<LegacyCustomProtocolManagerProxy>, public IPC::MessageReceiver {
+class LegacyCustomProtocolManagerProxy : public IPC::MessageReceiver {
public:
LegacyCustomProtocolManagerProxy(NetworkProcessProxy&);
~LegacyCustomProtocolManagerProxy();
Modified: trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h (274171 => 274172)
--- trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -93,7 +93,7 @@
struct WebsiteData;
struct WebsiteDataStoreParameters;
-class NetworkProcessProxy final : public AuxiliaryProcessProxy, private ProcessThrottlerClient, public CanMakeWeakPtr<NetworkProcessProxy>, public RefCounted<NetworkProcessProxy> {
+class NetworkProcessProxy final : public AuxiliaryProcessProxy, private ProcessThrottlerClient, public RefCounted<NetworkProcessProxy> {
WTF_MAKE_FAST_ALLOCATED;
public:
using RegistrableDomain = WebCore::RegistrableDomain;
Modified: trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.h (274171 => 274172)
--- trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -68,7 +68,7 @@
using LayerHostingContextID = uint32_t;
#endif
-class ProvisionalPageProxy : public IPC::MessageReceiver, public IPC::MessageSender, public CanMakeWeakPtr<ProvisionalPageProxy> {
+class ProvisionalPageProxy : public IPC::MessageReceiver, public IPC::MessageSender {
WTF_MAKE_FAST_ALLOCATED;
public:
ProvisionalPageProxy(WebPageProxy&, Ref<WebProcessProxy>&&, std::unique_ptr<SuspendedPageProxy>, uint64_t navigationID, bool isServerRedirect, const WebCore::ResourceRequest&, ProcessSwapRequestedByClient, API::WebsitePolicies*);
Modified: trunk/Source/WebKit/UIProcess/SpeechRecognitionRemoteRealtimeMediaSourceManager.h (274171 => 274172)
--- trunk/Source/WebKit/UIProcess/SpeechRecognitionRemoteRealtimeMediaSourceManager.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/UIProcess/SpeechRecognitionRemoteRealtimeMediaSourceManager.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -48,7 +48,7 @@
class SpeechRecognitionRemoteRealtimeMediaSource;
-class SpeechRecognitionRemoteRealtimeMediaSourceManager final : public CanMakeWeakPtr<SpeechRecognitionRemoteRealtimeMediaSourceManager>, public IPC::MessageReceiver, public IPC::MessageSender {
+class SpeechRecognitionRemoteRealtimeMediaSourceManager final : public IPC::MessageReceiver, public IPC::MessageSender {
WTF_MAKE_FAST_ALLOCATED;
public:
explicit SpeechRecognitionRemoteRealtimeMediaSourceManager(Ref<IPC::Connection>&&);
Modified: trunk/Source/WebKit/UIProcess/SpeechRecognitionServer.h (274171 => 274172)
--- trunk/Source/WebKit/UIProcess/SpeechRecognitionServer.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/UIProcess/SpeechRecognitionServer.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -49,7 +49,7 @@
using SpeechRecognitionPermissionChecker = Function<void(WebCore::SpeechRecognitionRequest&, SpeechRecognitionPermissionRequestCallback&&)>;
using SpeechRecognitionCheckIfMockSpeechRecognitionEnabled = Function<bool()>;
-class SpeechRecognitionServer : public CanMakeWeakPtr<SpeechRecognitionServer>, public IPC::MessageReceiver, private IPC::MessageSender {
+class SpeechRecognitionServer : public IPC::MessageReceiver, private IPC::MessageSender {
WTF_MAKE_FAST_ALLOCATED;
public:
#if ENABLE(MEDIA_STREAM)
Modified: trunk/Source/WebKit/UIProcess/SuspendedPageProxy.h (274171 => 274172)
--- trunk/Source/WebKit/UIProcess/SuspendedPageProxy.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/UIProcess/SuspendedPageProxy.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -52,7 +52,7 @@
enum class ShouldDelayClosingUntilFirstLayerFlush : bool { No, Yes };
-class SuspendedPageProxy final: public IPC::MessageReceiver, public IPC::MessageSender, public CanMakeWeakPtr<SuspendedPageProxy> {
+class SuspendedPageProxy final: public IPC::MessageReceiver, public IPC::MessageSender {
WTF_MAKE_FAST_ALLOCATED;
public:
SuspendedPageProxy(WebPageProxy&, Ref<WebProcessProxy>&&, WebCore::FrameIdentifier mainFrameID, ShouldDelayClosingUntilFirstLayerFlush);
Modified: trunk/Source/WebKit/UIProcess/WebAuthentication/WebAuthnProcessProxy.h (274171 => 274172)
--- trunk/Source/WebKit/UIProcess/WebAuthentication/WebAuthnProcessProxy.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/UIProcess/WebAuthentication/WebAuthnProcessProxy.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -41,7 +41,7 @@
class WebsiteDataStore;
struct WebAuthnProcessCreationParameters;
-class WebAuthnProcessProxy final : public AuxiliaryProcessProxy, private ProcessThrottlerClient, public CanMakeWeakPtr<WebAuthnProcessProxy> {
+class WebAuthnProcessProxy final : public AuxiliaryProcessProxy, private ProcessThrottlerClient {
WTF_MAKE_FAST_ALLOCATED;
WTF_MAKE_NONCOPYABLE(WebAuthnProcessProxy);
friend LazyNeverDestroyed<WebAuthnProcessProxy>;
Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.h (274171 => 274172)
--- trunk/Source/WebKit/UIProcess/WebPageProxy.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -432,8 +432,6 @@
#endif
#if PLATFORM(MACCATALYST)
, public EndowmentStateTracker::Client
-#else
- , public CanMakeWeakPtr<WebPageProxy>
#endif
{
public:
@@ -440,6 +438,9 @@
static Ref<WebPageProxy> create(PageClient&, WebProcessProxy&, Ref<API::PageConfiguration>&&);
virtual ~WebPageProxy();
+ using IPC::MessageReceiver::weakPtrFactory;
+ using WeakValueType = IPC::MessageReceiver::WeakValueType;
+
static void forMostVisibleWebPageIfAny(PAL::SessionID, const WebCore::SecurityOriginData&, CompletionHandler<void(WebPageProxy*)>&&);
const API::PageConfiguration& configuration() const;
Modified: trunk/Source/WebKit/UIProcess/WebProcessPool.h (274171 => 274172)
--- trunk/Source/WebKit/UIProcess/WebProcessPool.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/UIProcess/WebProcessPool.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -125,8 +125,7 @@
class WebProcessPool final
: public API::ObjectImpl<API::Object::Type::ProcessPool>
- , public CanMakeWeakPtr<WebProcessPool>
- , private IPC::MessageReceiver
+ , public IPC::MessageReceiver
#if PLATFORM(MAC)
, private PAL::SystemSleepListener::Client
#endif
Modified: trunk/Source/WebKit/UIProcess/WebProcessProxy.cpp (274171 => 274172)
--- trunk/Source/WebKit/UIProcess/WebProcessProxy.cpp 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/UIProcess/WebProcessProxy.cpp 2021-03-09 21:27:27 UTC (rev 274172)
@@ -1720,6 +1720,8 @@
return;
ASSERT(!m_speechRecognitionServerMap.contains(identifier));
+ MESSAGE_CHECK(!m_speechRecognitionServerMap.contains(identifier));
+
auto& speechRecognitionServer = m_speechRecognitionServerMap.add(identifier, nullptr).iterator->value;
auto permissionChecker = [weakPage = makeWeakPtr(targetPage)](auto& request, auto&& completionHandler) mutable {
if (!weakPage) {
Modified: trunk/Source/WebKit/UIProcess/WebProcessProxy.h (274171 => 274172)
--- trunk/Source/WebKit/UIProcess/WebProcessProxy.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/UIProcess/WebProcessProxy.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -120,7 +120,7 @@
using WebProcessWithAudibleMediaToken = WebProcessWithAudibleMediaCounter::Token;
enum class CheckBackForwardList : bool { No, Yes };
-class WebProcessProxy : public AuxiliaryProcessProxy, public ResponsivenessTimer::Client, public ThreadSafeRefCounted<WebProcessProxy>, public CanMakeWeakPtr<WebProcessProxy>, private ProcessThrottlerClient {
+class WebProcessProxy : public AuxiliaryProcessProxy, public ResponsivenessTimer::Client, public ThreadSafeRefCounted<WebProcessProxy>, private ProcessThrottlerClient {
public:
typedef HashMap<WebCore::FrameIdentifier, RefPtr<WebFrameProxy>> WebFrameProxyMap;
typedef HashMap<WebPageProxyIdentifier, WebPageProxy*> WebPageProxyMap;
Modified: trunk/Source/WebKit/WebAuthnProcess/WebAuthnProcess.h (274171 => 274172)
--- trunk/Source/WebKit/WebAuthnProcess/WebAuthnProcess.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/WebAuthnProcess/WebAuthnProcess.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -44,7 +44,7 @@
class WebAuthnConnectionToWebProcess;
struct WebAuthnProcessCreationParameters;
-class WebAuthnProcess : public AuxiliaryProcess, public ThreadSafeRefCounted<WebAuthnProcess>, public CanMakeWeakPtr<WebAuthnProcess> {
+class WebAuthnProcess : public AuxiliaryProcess, public ThreadSafeRefCounted<WebAuthnProcess> {
WTF_MAKE_NONCOPYABLE(WebAuthnProcess);
public:
explicit WebAuthnProcess(AuxiliaryProcessInitializationParameters&&);
Modified: trunk/Source/WebKit/WebProcess/GPU/GPUProcessConnection.h (274171 => 274172)
--- trunk/Source/WebKit/WebProcess/GPU/GPUProcessConnection.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/WebProcess/GPU/GPUProcessConnection.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -47,7 +47,7 @@
struct OverrideScreenDataForTesting;
struct WebPageCreationParameters;
-class GPUProcessConnection : public RefCounted<GPUProcessConnection>, public CanMakeWeakPtr<GPUProcessConnection>, IPC::Connection::Client {
+class GPUProcessConnection : public RefCounted<GPUProcessConnection>, public IPC::Connection::Client {
public:
static Ref<GPUProcessConnection> create(IPC::Connection::Identifier connectionIdentifier)
{
Modified: trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h (274171 => 274172)
--- trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -65,6 +65,9 @@
~RemoteRenderingBackendProxy();
+ using GPUProcessConnection::Client::weakPtrFactory;
+ using WeakValueType = GPUProcessConnection::Client::WeakValueType;
+
RemoteResourceCacheProxy& remoteResourceCacheProxy() { return m_remoteResourceCacheProxy; }
WebCore::DisplayList::ItemBufferHandle createItemBuffer(size_t capacity, WebCore::RenderingResourceIdentifier destinationBufferIdentifier);
Modified: trunk/Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.h (274171 => 274172)
--- trunk/Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -66,9 +66,8 @@
struct TrackPrivateRemoteConfiguration;
class MediaPlayerPrivateRemote final
- : public CanMakeWeakPtr<MediaPlayerPrivateRemote>
- , public WebCore::MediaPlayerPrivateInterface
- , private IPC::MessageReceiver
+ : public WebCore::MediaPlayerPrivateInterface
+ , public IPC::MessageReceiver
#if !RELEASE_LOG_DISABLED
, private LoggerHelper
#endif
Modified: trunk/Source/WebKit/WebProcess/GPU/media/MediaSourcePrivateRemote.h (274171 => 274172)
--- trunk/Source/WebKit/WebProcess/GPU/media/MediaSourcePrivateRemote.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/WebProcess/GPU/media/MediaSourcePrivateRemote.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -51,8 +51,7 @@
class MediaSourcePrivateRemote final
: public WebCore::MediaSourcePrivate
- , public CanMakeWeakPtr<MediaSourcePrivateRemote>
- , private IPC::MessageReceiver
+ , public IPC::MessageReceiver
#if !RELEASE_LOG_DISABLED
, private LoggerHelper
#endif
Modified: trunk/Source/WebKit/WebProcess/GPU/media/SourceBufferPrivateRemote.h (274171 => 274172)
--- trunk/Source/WebKit/WebProcess/GPU/media/SourceBufferPrivateRemote.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/WebProcess/GPU/media/SourceBufferPrivateRemote.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -58,9 +58,8 @@
class MediaSourcePrivateRemote;
class SourceBufferPrivateRemote final
- : public CanMakeWeakPtr<SourceBufferPrivateRemote>
- , public WebCore::SourceBufferPrivate
- , private IPC::MessageReceiver
+ : public WebCore::SourceBufferPrivate
+ , public IPC::MessageReceiver
{
public:
static Ref<SourceBufferPrivateRemote> create(GPUProcessConnection&, RemoteSourceBufferIdentifier, const MediaSourcePrivateRemote&, const MediaPlayerPrivateRemote&);
Modified: trunk/Source/WebKit/WebProcess/GPU/webrtc/SampleBufferDisplayLayer.h (274171 => 274172)
--- trunk/Source/WebKit/WebProcess/GPU/webrtc/SampleBufferDisplayLayer.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/WebProcess/GPU/webrtc/SampleBufferDisplayLayer.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -36,7 +36,7 @@
class SampleBufferDisplayLayerManager;
-class SampleBufferDisplayLayer final : public WebCore::SampleBufferDisplayLayer, public IPC::MessageReceiver, public CanMakeWeakPtr<SampleBufferDisplayLayer> {
+class SampleBufferDisplayLayer final : public WebCore::SampleBufferDisplayLayer, public IPC::MessageReceiver {
public:
static std::unique_ptr<SampleBufferDisplayLayer> create(SampleBufferDisplayLayerManager&, Client&);
~SampleBufferDisplayLayer();
Modified: trunk/Source/WebKit/WebProcess/Inspector/WebInspectorUIExtensionController.h (274171 => 274172)
--- trunk/Source/WebKit/WebProcess/Inspector/WebInspectorUIExtensionController.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/WebProcess/Inspector/WebInspectorUIExtensionController.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -52,8 +52,7 @@
class WebInspectorUI;
class WebInspectorUIExtensionController
- : public IPC::MessageReceiver
- , public CanMakeWeakPtr<WebInspectorUIExtensionController> {
+ : public IPC::MessageReceiver {
WTF_MAKE_FAST_ALLOCATED;
WTF_MAKE_NONCOPYABLE(WebInspectorUIExtensionController);
public:
Modified: trunk/Source/WebKit/WebProcess/Network/WebSocketChannel.h (274171 => 274172)
--- trunk/Source/WebKit/WebProcess/Network/WebSocketChannel.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/WebProcess/Network/WebSocketChannel.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -43,7 +43,7 @@
namespace WebKit {
-class WebSocketChannel : public IPC::MessageSender, public IPC::MessageReceiver, public WebCore::ThreadableWebSocketChannel, public RefCounted<WebSocketChannel>, public CanMakeWeakPtr<WebSocketChannel> {
+class WebSocketChannel : public IPC::MessageSender, public IPC::MessageReceiver, public WebCore::ThreadableWebSocketChannel, public RefCounted<WebSocketChannel> {
public:
static Ref<WebSocketChannel> create(WebCore::Document&, WebCore::WebSocketChannelClient&);
~WebSocketChannel();
Modified: trunk/Source/WebKit/WebProcess/Speech/SpeechRecognitionRealtimeMediaSourceManager.h (274171 => 274172)
--- trunk/Source/WebKit/WebProcess/Speech/SpeechRecognitionRealtimeMediaSourceManager.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/WebProcess/Speech/SpeechRecognitionRealtimeMediaSourceManager.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -38,7 +38,7 @@
namespace WebKit {
-class SpeechRecognitionRealtimeMediaSourceManager final : public CanMakeWeakPtr<SpeechRecognitionRealtimeMediaSourceManager>, public IPC::MessageReceiver, private IPC::MessageSender {
+class SpeechRecognitionRealtimeMediaSourceManager final : public IPC::MessageReceiver, private IPC::MessageSender {
WTF_MAKE_FAST_ALLOCATED;
public:
explicit SpeechRecognitionRealtimeMediaSourceManager(Ref<IPC::Connection>&&);
Modified: trunk/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h (274171 => 274172)
--- trunk/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -47,7 +47,7 @@
class RemoteLayerTreeContext;
class RemoteLayerTreeDisplayRefreshMonitor;
-class RemoteLayerTreeDrawingArea : public DrawingArea, public CanMakeWeakPtr<RemoteLayerTreeDrawingArea>, public WebCore::GraphicsLayerClient {
+class RemoteLayerTreeDrawingArea : public DrawingArea, public WebCore::GraphicsLayerClient {
friend class RemoteLayerTreeDisplayRefreshMonitor;
public:
RemoteLayerTreeDrawingArea(WebPage&, const WebPageCreationParameters&);
Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.h (274171 => 274172)
--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -324,7 +324,7 @@
using SnapshotOptions = uint32_t;
using WKEventModifiers = uint32_t;
-class WebPage : public API::ObjectImpl<API::Object::Type::BundlePage>, public IPC::MessageReceiver, public IPC::MessageSender, public CanMakeWeakPtr<WebPage> {
+class WebPage : public API::ObjectImpl<API::Object::Type::BundlePage>, public IPC::MessageReceiver, public IPC::MessageSender {
public:
static Ref<WebPage> create(WebCore::PageIdentifier, WebPageCreationParameters&&);
Modified: trunk/Source/WebKit/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h (274171 => 274172)
--- trunk/Source/WebKit/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -49,7 +49,7 @@
class LayerHostingContext;
-class TiledCoreAnimationDrawingArea : public DrawingArea, public CanMakeWeakPtr<TiledCoreAnimationDrawingArea> {
+class TiledCoreAnimationDrawingArea : public DrawingArea {
public:
TiledCoreAnimationDrawingArea(WebPage&, const WebPageCreationParameters&);
virtual ~TiledCoreAnimationDrawingArea();
Modified: trunk/Source/WebKit/WebProcess/WebStorage/StorageAreaMap.h (274171 => 274172)
--- trunk/Source/WebKit/WebProcess/WebStorage/StorageAreaMap.h 2021-03-09 21:19:30 UTC (rev 274171)
+++ trunk/Source/WebKit/WebProcess/WebStorage/StorageAreaMap.h 2021-03-09 21:27:27 UTC (rev 274172)
@@ -46,7 +46,7 @@
class StorageAreaImpl;
class StorageNamespaceImpl;
-class StorageAreaMap final : private IPC::MessageReceiver, public CanMakeWeakPtr<StorageAreaMap> {
+class StorageAreaMap final : public IPC::MessageReceiver {
WTF_MAKE_FAST_ALLOCATED;
public:
StorageAreaMap(StorageNamespaceImpl&, Ref<WebCore::SecurityOrigin>&&);