Chromium Code Reviews| Index: content/browser/mojo/mojo_application_host.cc |
| diff --git a/content/browser/mojo/mojo_application_host.cc b/content/browser/mojo/mojo_application_host.cc |
| index 883945f92badedb8198ec0bc0ad776fc89acc62b..a9d00026bd04ee8c352712ff818a1a899dbc6428 100644 |
| --- a/content/browser/mojo/mojo_application_host.cc |
| +++ b/content/browser/mojo/mojo_application_host.cc |
| @@ -63,9 +63,18 @@ bool MojoApplicationHost::Init() { |
| mojo::embedder::PlatformChannelPair channel_pair; |
| + scoped_refptr<base::TaskRunner> io_task_runner; |
|
Hajime Morrita
2015/03/02 23:27:26
We could possibly pass the task runner to the ctor
|
| + if (io_task_runner_override_) { |
| + io_task_runner = io_task_runner_override_; |
| + } else { |
| + io_task_runner = |
| + BrowserThread::UnsafeGetMessageLoopForThread(BrowserThread::IO) |
| + ->task_runner(); |
| + } |
| + |
| mojo::ScopedMessagePipeHandle message_pipe = channel_init_.Init( |
| PlatformFileFromScopedPlatformHandle(channel_pair.PassServerHandle()), |
| - BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO)); |
| + io_task_runner); |
| if (!message_pipe.is_valid()) |
| return false; |
| @@ -93,4 +102,9 @@ void MojoApplicationHost::WillDestroySoon() { |
| channel_init_.WillDestroySoon(); |
| } |
| +void MojoApplicationHost::OverrideIOTaskRunnerForTest( |
| + scoped_refptr<base::TaskRunner> io_task_runner) { |
| + io_task_runner_override_ = io_task_runner; |
| +} |
| + |
| } // namespace content |