Commit b9dc6e50 authored by andersca@apple.com's avatar andersca@apple.com

Message sending functions should only accept rvalues

https://bugs.webkit.org/show_bug.cgi?id=122041

Reviewed by Andreas Kling.

In order to safely encode move-only types, make all send variants accept rvalues only, except
for the "send to all processes" ones. For them, copy the message before sending. This ensures that trying
to send a move-only type in a message will fail to compile.

* NetworkProcess/NetworkResourceLoader.h:
(WebKit::NetworkResourceLoader::sendAbortingOnFailure):
* Platform/CoreIPC/Connection.h:
(CoreIPC::Connection::send):
(CoreIPC::Connection::sendSync):
* Platform/CoreIPC/MessageSender.h:
(CoreIPC::MessageSender::sendSync):
* Shared/ChildProcessProxy.h:
(WebKit::ChildProcessProxy::send):
(WebKit::ChildProcessProxy::sendSync):
* UIProcess/WebContext.h:
(WebKit::WebContext::sendToNetworkingProcess):
(WebKit::WebContext::sendToNetworkingProcessRelaunchingIfNecessary):
(WebKit::WebContext::sendToAllProcesses):
(WebKit::WebContext::sendToAllProcessesRelaunchingThemIfNecessary):
(WebKit::WebContext::sendToOneProcess):
* UIProcess/WebPageGroup.h:
(WebKit::WebPageGroup::sendToAllProcessesInGroup):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156687 268f45cc-cd09-0410-ab3c-d52691b4dbfc
parent 1e9fc4a6
2013-09-27 Anders Carlsson <andersca@apple.com>
Message sending functions should only accept rvalues
https://bugs.webkit.org/show_bug.cgi?id=122041
Reviewed by Andreas Kling.
In order to safely encode move-only types, make all send variants accept rvalues only, except
for the "send to all processes" ones. For them, copy the message before sending. This ensures that trying
to send a move-only type in a message will fail to compile.
* NetworkProcess/NetworkResourceLoader.h:
(WebKit::NetworkResourceLoader::sendAbortingOnFailure):
* Platform/CoreIPC/Connection.h:
(CoreIPC::Connection::send):
(CoreIPC::Connection::sendSync):
* Platform/CoreIPC/MessageSender.h:
(CoreIPC::MessageSender::sendSync):
* Shared/ChildProcessProxy.h:
(WebKit::ChildProcessProxy::send):
(WebKit::ChildProcessProxy::sendSync):
* UIProcess/WebContext.h:
(WebKit::WebContext::sendToNetworkingProcess):
(WebKit::WebContext::sendToNetworkingProcessRelaunchingIfNecessary):
(WebKit::WebContext::sendToAllProcesses):
(WebKit::WebContext::sendToAllProcessesRelaunchingThemIfNecessary):
(WebKit::WebContext::sendToOneProcess):
* UIProcess/WebPageGroup.h:
(WebKit::WebPageGroup::sendToAllProcessesInGroup):
2013-09-30 Benjamin Poulain <benjamin@webkit.org>
Remove the code guarded by STYLE_SCOPED
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment