Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Move MessageEncoder and ArgumentEncoder to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=121861

Reviewed by Andreas Kling.

* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::didReceiveSyncMessage):
* NetworkProcess/NetworkConnectionToWebProcess.h:
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::didReceiveSyncMessage):
* NetworkProcess/NetworkProcess.h:
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::dispatchWorkQueueMessageReceiverMessage):
(CoreIPC::Connection::createSyncMessageEncoder):
(CoreIPC::Connection::sendMessage):
(CoreIPC::Connection::sendSyncReply):
(CoreIPC::Connection::sendSyncMessage):
(CoreIPC::Connection::sendSyncMessageFromSecondaryThread):
(CoreIPC::Connection::sendOutgoingMessages):
(CoreIPC::Connection::dispatchSyncMessage):
* Platform/CoreIPC/Connection.h:
(CoreIPC::Connection::send):
(CoreIPC::Connection::sendSync):
* Platform/CoreIPC/HandleMessage.h:
(CoreIPC::handleMessageDelayed):
* Platform/CoreIPC/MessageReceiver.h:
(CoreIPC::MessageReceiver::didReceiveSyncMessage):
* Platform/CoreIPC/MessageReceiverMap.cpp:
(CoreIPC::MessageReceiverMap::dispatchSyncMessage):
* Platform/CoreIPC/MessageReceiverMap.h:
* Platform/CoreIPC/MessageSender.cpp:
(CoreIPC::MessageSender::sendMessage):
* Platform/CoreIPC/MessageSender.h:
(CoreIPC::MessageSender::send):
* Platform/CoreIPC/mac/ConnectionMac.cpp:
(CoreIPC::Connection::open):
(CoreIPC::Connection::sendOutgoingMessage):
* PluginProcess/PluginControllerProxy.h:
* PluginProcess/WebProcessConnection.cpp:
(WebKit::WebProcessConnection::didReceiveSyncMessage):
* PluginProcess/WebProcessConnection.h:
* Scripts/webkit2/messages.py:
(message_to_struct_declaration):
(generate_message_handler):
* Scripts/webkit2/messages_unittest.py:
* Shared/ChildProcessProxy.cpp:
(WebKit::ChildProcessProxy::sendMessage):
(WebKit::ChildProcessProxy::dispatchSyncMessage):
(WebKit::ChildProcessProxy::didFinishLaunching):
* Shared/ChildProcessProxy.h:
(WebKit::ChildProcessProxy::send):
* Shared/Plugins/NPObjectMessageReceiver.h:
* Shared/Plugins/NPRemoteObjectMap.cpp:
(WebKit::NPRemoteObjectMap::didReceiveSyncMessage):
* Shared/Plugins/NPRemoteObjectMap.h:
* Shared/WebConnection.cpp:
(WebKit::WebConnection::postMessage):
* UIProcess/Downloads/DownloadProxy.h:
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::didReceiveSyncMessage):
* UIProcess/Network/NetworkProcessProxy.h:
* UIProcess/Plugins/PluginProcessProxy.h:
* UIProcess/Storage/StorageManager.h:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::dispatchSyncMessage):
(WebKit::WebContext::didReceiveSyncMessage):
* UIProcess/WebContext.h:
* UIProcess/WebFullScreenManagerProxy.h:
* UIProcess/WebIconDatabase.h:
* UIProcess/WebInspectorProxy.h:
* UIProcess/WebPageProxy.h:
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didReceiveSyncMessage):
* UIProcess/WebProcessProxy.h:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::postMessage):
(WebKit::InjectedBundle::postSynchronousMessage):
* WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::didReceiveSyncMessage):
* WebProcess/Network/NetworkProcessConnection.h:
* WebProcess/Plugins/PluginProcessConnection.cpp:
(WebKit::PluginProcessConnection::didReceiveSyncMessage):
* WebProcess/Plugins/PluginProcessConnection.h:
* WebProcess/Plugins/PluginProxy.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didReceiveSyncMessage):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::didReceiveSyncMessage):
* WebProcess/WebProcess.h:

Canonical link: https://commits.webkit.org/139859@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@156354 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  • Loading branch information
Anders Carlsson committed Sep 24, 2013
1 parent e0f1dbb commit 2a06abe
Show file tree
Hide file tree
Showing 48 changed files with 207 additions and 113 deletions.
93 changes: 93 additions & 0 deletions Source/WebKit2/ChangeLog
@@ -1,3 +1,96 @@
2013-09-24 Anders Carlsson <andersca@apple.com>

Move MessageEncoder and ArgumentEncoder to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=121861

Reviewed by Andreas Kling.

* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::didReceiveSyncMessage):
* NetworkProcess/NetworkConnectionToWebProcess.h:
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::didReceiveSyncMessage):
* NetworkProcess/NetworkProcess.h:
* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::dispatchWorkQueueMessageReceiverMessage):
(CoreIPC::Connection::createSyncMessageEncoder):
(CoreIPC::Connection::sendMessage):
(CoreIPC::Connection::sendSyncReply):
(CoreIPC::Connection::sendSyncMessage):
(CoreIPC::Connection::sendSyncMessageFromSecondaryThread):
(CoreIPC::Connection::sendOutgoingMessages):
(CoreIPC::Connection::dispatchSyncMessage):
* Platform/CoreIPC/Connection.h:
(CoreIPC::Connection::send):
(CoreIPC::Connection::sendSync):
* Platform/CoreIPC/HandleMessage.h:
(CoreIPC::handleMessageDelayed):
* Platform/CoreIPC/MessageReceiver.h:
(CoreIPC::MessageReceiver::didReceiveSyncMessage):
* Platform/CoreIPC/MessageReceiverMap.cpp:
(CoreIPC::MessageReceiverMap::dispatchSyncMessage):
* Platform/CoreIPC/MessageReceiverMap.h:
* Platform/CoreIPC/MessageSender.cpp:
(CoreIPC::MessageSender::sendMessage):
* Platform/CoreIPC/MessageSender.h:
(CoreIPC::MessageSender::send):
* Platform/CoreIPC/mac/ConnectionMac.cpp:
(CoreIPC::Connection::open):
(CoreIPC::Connection::sendOutgoingMessage):
* PluginProcess/PluginControllerProxy.h:
* PluginProcess/WebProcessConnection.cpp:
(WebKit::WebProcessConnection::didReceiveSyncMessage):
* PluginProcess/WebProcessConnection.h:
* Scripts/webkit2/messages.py:
(message_to_struct_declaration):
(generate_message_handler):
* Scripts/webkit2/messages_unittest.py:
* Shared/ChildProcessProxy.cpp:
(WebKit::ChildProcessProxy::sendMessage):
(WebKit::ChildProcessProxy::dispatchSyncMessage):
(WebKit::ChildProcessProxy::didFinishLaunching):
* Shared/ChildProcessProxy.h:
(WebKit::ChildProcessProxy::send):
* Shared/Plugins/NPObjectMessageReceiver.h:
* Shared/Plugins/NPRemoteObjectMap.cpp:
(WebKit::NPRemoteObjectMap::didReceiveSyncMessage):
* Shared/Plugins/NPRemoteObjectMap.h:
* Shared/WebConnection.cpp:
(WebKit::WebConnection::postMessage):
* UIProcess/Downloads/DownloadProxy.h:
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::didReceiveSyncMessage):
* UIProcess/Network/NetworkProcessProxy.h:
* UIProcess/Plugins/PluginProcessProxy.h:
* UIProcess/Storage/StorageManager.h:
* UIProcess/WebContext.cpp:
(WebKit::WebContext::dispatchSyncMessage):
(WebKit::WebContext::didReceiveSyncMessage):
* UIProcess/WebContext.h:
* UIProcess/WebFullScreenManagerProxy.h:
* UIProcess/WebIconDatabase.h:
* UIProcess/WebInspectorProxy.h:
* UIProcess/WebPageProxy.h:
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didReceiveSyncMessage):
* UIProcess/WebProcessProxy.h:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::postMessage):
(WebKit::InjectedBundle::postSynchronousMessage):
* WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::didReceiveSyncMessage):
* WebProcess/Network/NetworkProcessConnection.h:
* WebProcess/Plugins/PluginProcessConnection.cpp:
(WebKit::PluginProcessConnection::didReceiveSyncMessage):
* WebProcess/Plugins/PluginProcessConnection.h:
* WebProcess/Plugins/PluginProxy.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didReceiveSyncMessage):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::didReceiveSyncMessage):
* WebProcess/WebProcess.h:

2013-09-24 Anders Carlsson <andersca@apple.com>

Remove encoder create functions
Expand Down
Expand Up @@ -81,7 +81,7 @@ void NetworkConnectionToWebProcess::didReceiveMessage(CoreIPC::Connection* conne
ASSERT_NOT_REACHED();
}

void NetworkConnectionToWebProcess::didReceiveSyncMessage(CoreIPC::Connection* connection, CoreIPC::MessageDecoder& decoder, OwnPtr<CoreIPC::MessageEncoder>& reply)
void NetworkConnectionToWebProcess::didReceiveSyncMessage(CoreIPC::Connection* connection, CoreIPC::MessageDecoder& decoder, std::unique_ptr<CoreIPC::MessageEncoder>& reply)
{
if (decoder.messageReceiverName() == Messages::NetworkConnectionToWebProcess::messageReceiverName()) {
didReceiveSyncNetworkConnectionToWebProcessMessage(connection, decoder, reply);
Expand Down
4 changes: 2 additions & 2 deletions Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.h
Expand Up @@ -61,13 +61,13 @@ class NetworkConnectionToWebProcess : public RefCounted<NetworkConnectionToWebPr

// CoreIPC::Connection::Client
virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageDecoder&);
virtual void didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageDecoder&, OwnPtr<CoreIPC::MessageEncoder>&);
virtual void didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageDecoder&, std::unique_ptr<CoreIPC::MessageEncoder>&);
virtual void didClose(CoreIPC::Connection*);
virtual void didReceiveInvalidMessage(CoreIPC::Connection*, CoreIPC::StringReference messageReceiverName, CoreIPC::StringReference messageName);

// Message handlers.
void didReceiveNetworkConnectionToWebProcessMessage(CoreIPC::Connection*, CoreIPC::MessageDecoder&);
void didReceiveSyncNetworkConnectionToWebProcessMessage(CoreIPC::Connection*, CoreIPC::MessageDecoder&, OwnPtr<CoreIPC::MessageEncoder>&);
void didReceiveSyncNetworkConnectionToWebProcessMessage(CoreIPC::Connection*, CoreIPC::MessageDecoder&, std::unique_ptr<CoreIPC::MessageEncoder>&);

void scheduleResourceLoad(const NetworkResourceLoadParameters&);
void performSynchronousLoad(const NetworkResourceLoadParameters&, PassRefPtr<Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply>);
Expand Down
2 changes: 1 addition & 1 deletion Source/WebKit2/NetworkProcess/NetworkProcess.cpp
Expand Up @@ -114,7 +114,7 @@ void NetworkProcess::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC:
didReceiveNetworkProcessMessage(connection, decoder);
}

void NetworkProcess::didReceiveSyncMessage(CoreIPC::Connection* connection, CoreIPC::MessageDecoder& decoder, OwnPtr<CoreIPC::MessageEncoder>& replyEncoder)
void NetworkProcess::didReceiveSyncMessage(CoreIPC::Connection* connection, CoreIPC::MessageDecoder& decoder, std::unique_ptr<CoreIPC::MessageEncoder>& replyEncoder)
{
messageReceiverMap().dispatchSyncMessage(connection, decoder, replyEncoder);
}
Expand Down
2 changes: 1 addition & 1 deletion Source/WebKit2/NetworkProcess/NetworkProcess.h
Expand Up @@ -89,7 +89,7 @@ class NetworkProcess : public ChildProcess, private DownloadManager::Client {

// CoreIPC::Connection::Client
virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageDecoder&) OVERRIDE;
virtual void didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageDecoder&, OwnPtr<CoreIPC::MessageEncoder>&);
virtual void didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageDecoder&, std::unique_ptr<CoreIPC::MessageEncoder>&);
virtual void didClose(CoreIPC::Connection*) OVERRIDE;
virtual void didReceiveInvalidMessage(CoreIPC::Connection*, CoreIPC::StringReference messageReceiverName, CoreIPC::StringReference messageName) OVERRIDE;

Expand Down
25 changes: 13 additions & 12 deletions Source/WebKit2/Platform/CoreIPC/Connection.cpp
Expand Up @@ -300,7 +300,7 @@ void Connection::dispatchWorkQueueMessageReceiverMessage(WorkQueueMessageReceive
return;
}

auto replyEncoder = createOwned<MessageEncoder>("IPC", "SyncMessageReply", syncRequestID);
auto replyEncoder = std::make_unique<MessageEncoder>("IPC", "SyncMessageReply", syncRequestID);

// Hand off both the decoder and encoder to the work queue message receiver.
workQueueMessageReceiver->didReceiveSyncMessage(this, *decoder, replyEncoder);
Expand All @@ -309,7 +309,7 @@ void Connection::dispatchWorkQueueMessageReceiverMessage(WorkQueueMessageReceive
ASSERT(!decoder->isInvalid());

if (replyEncoder)
sendSyncReply(replyEncoder.release());
sendSyncReply(std::move(replyEncoder));
}

void Connection::setDidCloseOnConnectionWorkQueueCallback(DidCloseOnConnectionWorkQueueCallback callback)
Expand Down Expand Up @@ -340,9 +340,9 @@ void Connection::markCurrentlyDispatchedMessageAsInvalid()
m_didReceiveInvalidMessage = true;
}

OwnPtr<MessageEncoder> Connection::createSyncMessageEncoder(StringReference messageReceiverName, StringReference messageName, uint64_t destinationID, uint64_t& syncRequestID)
std::unique_ptr<MessageEncoder> Connection::createSyncMessageEncoder(StringReference messageReceiverName, StringReference messageName, uint64_t destinationID, uint64_t& syncRequestID)
{
auto encoder = createOwned<MessageEncoder>(messageReceiverName, messageName, destinationID);
auto encoder = std::make_unique<MessageEncoder>(messageReceiverName, messageName, destinationID);
encoder->setIsSyncMessage(true);

// Encode the sync request ID.
Expand All @@ -353,7 +353,7 @@ OwnPtr<MessageEncoder> Connection::createSyncMessageEncoder(StringReference mess
return encoder;
}

bool Connection::sendMessage(OwnPtr<MessageEncoder> encoder, unsigned messageSendFlags)
bool Connection::sendMessage(std::unique_ptr<MessageEncoder> encoder, unsigned messageSendFlags)
{
if (!isValid())
return false;
Expand All @@ -373,7 +373,7 @@ bool Connection::sendMessage(OwnPtr<MessageEncoder> encoder, unsigned messageSen
return true;
}

bool Connection::sendSyncReply(OwnPtr<MessageEncoder> encoder)
bool Connection::sendSyncReply(std::unique_ptr<MessageEncoder> encoder)
{
return sendMessage(std::move(encoder));
}
Expand Down Expand Up @@ -434,7 +434,7 @@ OwnPtr<MessageDecoder> Connection::waitForMessage(StringReference messageReceive
return nullptr;
}

OwnPtr<MessageDecoder> Connection::sendSyncMessage(uint64_t syncRequestID, OwnPtr<MessageEncoder> encoder, double timeout, unsigned syncSendFlags)
OwnPtr<MessageDecoder> Connection::sendSyncMessage(uint64_t syncRequestID, std::unique_ptr<MessageEncoder> encoder, double timeout, unsigned syncSendFlags)
{
if (RunLoop::current() != m_clientRunLoop) {
// No flags are supported for synchronous messages sent from secondary threads.
Expand Down Expand Up @@ -483,7 +483,7 @@ OwnPtr<MessageDecoder> Connection::sendSyncMessage(uint64_t syncRequestID, OwnPt
return reply.release();
}

OwnPtr<MessageDecoder> Connection::sendSyncMessageFromSecondaryThread(uint64_t syncRequestID, OwnPtr<MessageEncoder> encoder, double timeout)
OwnPtr<MessageDecoder> Connection::sendSyncMessageFromSecondaryThread(uint64_t syncRequestID, std::unique_ptr<MessageEncoder> encoder, double timeout)
{
ASSERT(RunLoop::current() != m_clientRunLoop);

Expand Down Expand Up @@ -719,15 +719,16 @@ void Connection::sendOutgoingMessages()
return;

while (true) {
OwnPtr<MessageEncoder> message;
std::unique_ptr<MessageEncoder> message;

{
MutexLocker locker(m_outgoingMessagesLock);
if (m_outgoingMessages.isEmpty())
break;
message = m_outgoingMessages.takeFirst();
}

if (!sendOutgoingMessage(message.release()))
if (!sendOutgoingMessage(std::move(message)))
break;
}
}
Expand All @@ -743,7 +744,7 @@ void Connection::dispatchSyncMessage(MessageDecoder& decoder)
return;
}

auto replyEncoder = createOwned<MessageEncoder>("IPC", "SyncMessageReply", syncRequestID);
auto replyEncoder = std::make_unique<MessageEncoder>("IPC", "SyncMessageReply", syncRequestID);

// Hand off both the decoder and encoder to the client.
m_client->didReceiveSyncMessage(this, decoder, replyEncoder);
Expand All @@ -752,7 +753,7 @@ void Connection::dispatchSyncMessage(MessageDecoder& decoder)
ASSERT(!decoder.isInvalid());

if (replyEncoder)
sendSyncReply(adoptPtr(static_cast<MessageEncoder*>(replyEncoder.leakPtr())));
sendSyncReply(std::move(replyEncoder));
}

void Connection::dispatchDidReceiveInvalidMessage(const CString& messageReceiverNameString, const CString& messageNameString)
Expand Down
24 changes: 12 additions & 12 deletions Source/WebKit2/Platform/CoreIPC/Connection.h
Expand Up @@ -173,11 +173,11 @@ class Connection : public ThreadSafeRefCounted<Connection> {
template<typename T> bool sendSync(const T& message, const typename T::Reply& reply, uint64_t destinationID, double timeout = NoTimeout, unsigned syncSendFlags = 0);
template<typename T> bool waitForAndDispatchImmediately(uint64_t destinationID, double timeout);

OwnPtr<MessageEncoder> createSyncMessageEncoder(StringReference messageReceiverName, StringReference messageName, uint64_t destinationID, uint64_t& syncRequestID);
bool sendMessage(OwnPtr<MessageEncoder>, unsigned messageSendFlags = 0);
OwnPtr<MessageDecoder> sendSyncMessage(uint64_t syncRequestID, OwnPtr<MessageEncoder>, double timeout, unsigned syncSendFlags = 0);
OwnPtr<MessageDecoder> sendSyncMessageFromSecondaryThread(uint64_t syncRequestID, OwnPtr<MessageEncoder>, double timeout);
bool sendSyncReply(OwnPtr<MessageEncoder>);
std::unique_ptr<MessageEncoder> createSyncMessageEncoder(StringReference messageReceiverName, StringReference messageName, uint64_t destinationID, uint64_t& syncRequestID);
bool sendMessage(std::unique_ptr<MessageEncoder>, unsigned messageSendFlags = 0);
OwnPtr<MessageDecoder> sendSyncMessage(uint64_t syncRequestID, std::unique_ptr<MessageEncoder>, double timeout, unsigned syncSendFlags = 0);
OwnPtr<MessageDecoder> sendSyncMessageFromSecondaryThread(uint64_t syncRequestID, std::unique_ptr<MessageEncoder>, double timeout);
bool sendSyncReply(std::unique_ptr<MessageEncoder>);

void wakeUpRunLoop();

Expand Down Expand Up @@ -208,7 +208,7 @@ class Connection : public ThreadSafeRefCounted<Connection> {
bool canSendOutgoingMessages() const;
bool platformCanSendOutgoingMessages() const;
void sendOutgoingMessages();
bool sendOutgoingMessage(OwnPtr<MessageEncoder>);
bool sendOutgoingMessage(std::unique_ptr<MessageEncoder>);
void connectionDidClose();

// Called on the listener thread.
Expand Down Expand Up @@ -248,7 +248,7 @@ class Connection : public ThreadSafeRefCounted<Connection> {

// Outgoing messages.
Mutex m_outgoingMessagesLock;
Deque<OwnPtr<MessageEncoder>> m_outgoingMessages;
Deque<std::unique_ptr<MessageEncoder>> m_outgoingMessages;

ThreadCondition m_waitForMessageCondition;
Mutex m_waitForMessageMutex;
Expand Down Expand Up @@ -326,7 +326,7 @@ class Connection : public ThreadSafeRefCounted<Connection> {

Vector<uint8_t> m_readBuffer;
OVERLAPPED m_readState;
OwnPtr<MessageEncoder> m_pendingWriteEncoder;
std::unique_ptr<MessageEncoder> m_pendingWriteEncoder;
OVERLAPPED m_writeState;
HANDLE m_connectionPipe;
#elif USE(UNIX_DOMAIN_SOCKETS)
Expand All @@ -349,24 +349,24 @@ template<typename T> bool Connection::send(const T& message, uint64_t destinatio
{
COMPILE_ASSERT(!T::isSync, AsyncMessageExpected);

auto encoder = createOwned<MessageEncoder>(T::receiverName(), T::name(), destinationID);
auto encoder = std::make_unique<MessageEncoder>(T::receiverName(), T::name(), destinationID);
encoder->encode(message);

return sendMessage(encoder.release(), messageSendFlags);
return sendMessage(std::move(encoder), messageSendFlags);
}

template<typename T> bool Connection::sendSync(const T& message, const typename T::Reply& reply, uint64_t destinationID, double timeout, unsigned syncSendFlags)
{
COMPILE_ASSERT(T::isSync, SyncMessageExpected);

uint64_t syncRequestID = 0;
OwnPtr<MessageEncoder> encoder = createSyncMessageEncoder(T::receiverName(), T::name(), destinationID, syncRequestID);
std::unique_ptr<MessageEncoder> encoder = createSyncMessageEncoder(T::receiverName(), T::name(), destinationID, syncRequestID);

// Encode the rest of the input arguments.
encoder->encode(message);

// Now send the message and wait for a reply.
OwnPtr<MessageDecoder> replyDecoder = sendSyncMessage(syncRequestID, encoder.release(), timeout, syncSendFlags);
OwnPtr<MessageDecoder> replyDecoder = sendSyncMessage(syncRequestID, std::move(encoder), timeout, syncSendFlags);
if (!replyDecoder)
return false;

Expand Down
4 changes: 2 additions & 2 deletions Source/WebKit2/Platform/CoreIPC/HandleMessage.h
Expand Up @@ -430,13 +430,13 @@ void handleMessageVariadic(MessageDecoder& decoder, MessageEncoder& replyEncoder
}

template<typename T, typename C, typename MF>
void handleMessageDelayed(Connection* connection, MessageDecoder& decoder, OwnPtr<MessageEncoder>& replyEncoder, C* object, MF function)
void handleMessageDelayed(Connection* connection, MessageDecoder& decoder, std::unique_ptr<MessageEncoder>& replyEncoder, C* object, MF function)
{
typename T::DecodeType::ValueType arguments;
if (!decoder.decode(arguments))
return;

RefPtr<typename T::DelayedReply> delayedReply = adoptRef(new typename T::DelayedReply(connection, replyEncoder.release()));
RefPtr<typename T::DelayedReply> delayedReply = adoptRef(new typename T::DelayedReply(connection, std::move(replyEncoder)));
callMemberFunction(std::move(arguments), delayedReply.release(), object, function);
}

Expand Down
2 changes: 1 addition & 1 deletion Source/WebKit2/Platform/CoreIPC/MessageReceiver.h
Expand Up @@ -40,7 +40,7 @@ class MessageReceiver {
virtual ~MessageReceiver() { }

virtual void didReceiveMessage(Connection*, MessageDecoder&) = 0;
virtual void didReceiveSyncMessage(Connection*, MessageDecoder&, OwnPtr<MessageEncoder>&)
virtual void didReceiveSyncMessage(Connection*, MessageDecoder&, std::unique_ptr<MessageEncoder>&)
{
ASSERT_NOT_REACHED();
}
Expand Down
2 changes: 1 addition & 1 deletion Source/WebKit2/Platform/CoreIPC/MessageReceiverMap.cpp
Expand Up @@ -90,7 +90,7 @@ bool MessageReceiverMap::dispatchMessage(Connection* connection, MessageDecoder&
return false;
}

bool MessageReceiverMap::dispatchSyncMessage(Connection* connection, MessageDecoder& decoder, OwnPtr<MessageEncoder>& replyEncoder)
bool MessageReceiverMap::dispatchSyncMessage(Connection* connection, MessageDecoder& decoder, std::unique_ptr<MessageEncoder>& replyEncoder)
{
if (MessageReceiver* messageReceiver = m_globalMessageReceivers.get(decoder.messageReceiverName())) {
ASSERT(!decoder.destinationID());
Expand Down
2 changes: 1 addition & 1 deletion Source/WebKit2/Platform/CoreIPC/MessageReceiverMap.h
Expand Up @@ -51,7 +51,7 @@ class MessageReceiverMap {
void invalidate();

bool dispatchMessage(Connection*, MessageDecoder&);
bool dispatchSyncMessage(Connection*, MessageDecoder&, OwnPtr<MessageEncoder>&);
bool dispatchSyncMessage(Connection*, MessageDecoder&, std::unique_ptr<MessageEncoder>&);

private:
// Message receivers that don't require a destination ID.
Expand Down
4 changes: 2 additions & 2 deletions Source/WebKit2/Platform/CoreIPC/MessageSender.cpp
Expand Up @@ -32,11 +32,11 @@ MessageSender::~MessageSender()
{
}

bool MessageSender::sendMessage(PassOwnPtr<MessageEncoder> encoder)
bool MessageSender::sendMessage(std::unique_ptr<MessageEncoder> encoder)
{
ASSERT(messageSenderConnection());

return messageSenderConnection()->sendMessage(encoder);
return messageSenderConnection()->sendMessage(std::move(encoder));
}

} // namespace CoreIPC
6 changes: 3 additions & 3 deletions Source/WebKit2/Platform/CoreIPC/MessageSender.h
Expand Up @@ -43,10 +43,10 @@ class MessageSender {
template<typename U> bool send(const U& message, uint64_t destinationID)
{
COMPILE_ASSERT(!U::isSync, AsyncMessageExpected);
auto encoder = createOwned<MessageEncoder>(U::receiverName(), U::name(), destinationID);
auto encoder = std::make_unique<MessageEncoder>(U::receiverName(), U::name(), destinationID);
encoder->encode(message);

return sendMessage(encoder.release());
return sendMessage(std::move(encoder));
}

template<typename U> bool sendSync(const U& message, const typename U::Reply& reply, double timeout = Connection::NoTimeout)
Expand All @@ -62,7 +62,7 @@ class MessageSender {
return messageSenderConnection()->sendSync(message, reply, destinationID, timeout);
}

bool sendMessage(PassOwnPtr<MessageEncoder>);
bool sendMessage(std::unique_ptr<MessageEncoder>);

private:
virtual Connection* messageSenderConnection() = 0;
Expand Down

0 comments on commit 2a06abe

Please sign in to comment.