| Index: ipc/ipc_channel_factory.cc
|
| diff --git a/ipc/ipc_channel_factory.cc b/ipc/ipc_channel_factory.cc
|
| index dbb24c087e0cdf6cfe16b4a438bf14dd7175b690..8fb4d772e0072c8186cc6635bda73593af4c0d74 100644
|
| --- a/ipc/ipc_channel_factory.cc
|
| +++ b/ipc/ipc_channel_factory.cc
|
| @@ -13,8 +13,11 @@ namespace {
|
|
|
| class PlatformChannelFactory : public ChannelFactory {
|
| public:
|
| - PlatformChannelFactory(ChannelHandle handle, Channel::Mode mode)
|
| - : handle_(handle), mode_(mode) {}
|
| + PlatformChannelFactory(
|
| + ChannelHandle handle,
|
| + Channel::Mode mode,
|
| + const scoped_refptr<base::SingleThreadTaskRunner>& ipc_task_runner)
|
| + : handle_(handle), mode_(mode), ipc_task_runner_(ipc_task_runner) {}
|
|
|
| std::string GetName() const override {
|
| return handle_.name;
|
| @@ -23,14 +26,20 @@ class PlatformChannelFactory : public ChannelFactory {
|
| std::unique_ptr<Channel> BuildChannel(Listener* listener) override {
|
| if (handle_.mojo_handle.is_valid()) {
|
| return ChannelMojo::Create(
|
| - mojo::ScopedMessagePipeHandle(handle_.mojo_handle), mode_, listener);
|
| + mojo::ScopedMessagePipeHandle(handle_.mojo_handle), mode_, listener,
|
| + ipc_task_runner_);
|
| }
|
| return Channel::Create(handle_, mode_, listener);
|
| }
|
|
|
| + scoped_refptr<base::SingleThreadTaskRunner> GetIPCTaskRunner() override {
|
| + return ipc_task_runner_;
|
| + }
|
| +
|
| private:
|
| ChannelHandle handle_;
|
| Channel::Mode mode_;
|
| + scoped_refptr<base::SingleThreadTaskRunner> ipc_task_runner_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(PlatformChannelFactory);
|
| };
|
| @@ -40,8 +49,10 @@ class PlatformChannelFactory : public ChannelFactory {
|
| // static
|
| std::unique_ptr<ChannelFactory> ChannelFactory::Create(
|
| const ChannelHandle& handle,
|
| - Channel::Mode mode) {
|
| - return base::WrapUnique(new PlatformChannelFactory(handle, mode));
|
| + Channel::Mode mode,
|
| + const scoped_refptr<base::SingleThreadTaskRunner>& ipc_task_runner) {
|
| + return base::WrapUnique(
|
| + new PlatformChannelFactory(handle, mode, ipc_task_runner));
|
| }
|
|
|
| } // namespace IPC
|
|
|