summaryrefslogtreecommitdiffstats
path: root/ipc/ipc_channel_proxy.h
diff options
context:
space:
mode:
authorrmcilroy <rmcilroy@chromium.org>2014-12-17 17:04:08 -0800
committerCommit bot <commit-bot@chromium.org>2014-12-18 01:05:42 +0000
commitdad76e2e45684ba3816479e07dc9e52618ec482e (patch)
tree3433a60a1584a70a01455e41561f60364ac866e1 /ipc/ipc_channel_proxy.h
parent92b795b49990531ab37f94e95113bd1236abd005 (diff)
downloadchromium_src-dad76e2e45684ba3816479e07dc9e52618ec482e.zip
chromium_src-dad76e2e45684ba3816479e07dc9e52618ec482e.tar.gz
chromium_src-dad76e2e45684ba3816479e07dc9e52618ec482e.tar.bz2
Hook up the RenderThread's IPC ChannelProxy to the RendererScheduler.
Ensure tasks posted by the RenderThread's IPC ChannelProxy go through the RenderScheduler's DefaultTaskRunner. BUG=432129 Review URL: https://codereview.chromium.org/804073002 Cr-Commit-Position: refs/heads/master@{#308905}
Diffstat (limited to 'ipc/ipc_channel_proxy.h')
-rw-r--r--ipc/ipc_channel_proxy.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/ipc/ipc_channel_proxy.h b/ipc/ipc_channel_proxy.h
index 9ef8bf3..a660aeb 100644
--- a/ipc/ipc_channel_proxy.h
+++ b/ipc/ipc_channel_proxy.h
@@ -112,6 +112,12 @@ class IPC_EXPORT ChannelProxy : public Sender, public base::NonThreadSafe {
void AddFilter(MessageFilter* filter);
void RemoveFilter(MessageFilter* filter);
+ // Set the task runner on which dispatched messages are posted. Both the new
+ // task runner and the existing task runner must run on the same thread, and
+ // must belong to the calling thread.
+ void SetListenerTaskRunner(
+ scoped_refptr<base::SingleThreadTaskRunner> listener_task_runner);
+
// Called to clear the pointer to the IPC task runner when it's going away.
void ClearIPCTaskRunner();
@@ -142,6 +148,8 @@ class IPC_EXPORT ChannelProxy : public Sender, public base::NonThreadSafe {
Context(Listener* listener,
const scoped_refptr<base::SingleThreadTaskRunner>& ipc_thread);
void ClearIPCTaskRunner();
+ void SetListenerTaskRunner(
+ scoped_refptr<base::SingleThreadTaskRunner> listener_task_runner);
base::SingleThreadTaskRunner* ipc_task_runner() const {
return ipc_task_runner_.get();
}