| 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;
|
| + 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
|
|
|