Index: components/scheduler/child/scheduler_message_loop_delegate.cc |
diff --git a/components/scheduler/child/scheduler_message_loop_delegate.cc b/components/scheduler/child/scheduler_message_loop_delegate.cc |
index ba0d6b404e3dd3d5f7555e22b559e71046a7e658..b80c82165eb77216acf87c7d38b3a6b777f55c6b 100644 |
--- a/components/scheduler/child/scheduler_message_loop_delegate.cc |
+++ b/components/scheduler/child/scheduler_message_loop_delegate.cc |
@@ -14,29 +14,37 @@ SchedulerMessageLoopDelegate::Create(base::MessageLoop* message_loop) { |
SchedulerMessageLoopDelegate::SchedulerMessageLoopDelegate( |
base::MessageLoop* message_loop) |
- : message_loop_(message_loop) { |
+ : message_loop_(message_loop), |
+ message_loop_task_runner_(message_loop->task_runner()) { |
} |
SchedulerMessageLoopDelegate::~SchedulerMessageLoopDelegate() { |
+ // Restore the original task runner to the message loop. |
+ message_loop_->SetTaskRunner(message_loop_task_runner_); |
+} |
+ |
+void SchedulerMessageLoopDelegate::SetDefaultTaskRunner( |
+ scoped_refptr<base::SingleThreadTaskRunner> task_runner) { |
+ message_loop_->SetTaskRunner(task_runner); |
} |
bool SchedulerMessageLoopDelegate::PostDelayedTask( |
const tracked_objects::Location& from_here, |
const base::Closure& task, |
base::TimeDelta delay) { |
- return message_loop_->task_runner()->PostDelayedTask(from_here, task, delay); |
+ return message_loop_task_runner_->PostDelayedTask(from_here, task, delay); |
} |
bool SchedulerMessageLoopDelegate::PostNonNestableDelayedTask( |
const tracked_objects::Location& from_here, |
const base::Closure& task, |
base::TimeDelta delay) { |
- return message_loop_->task_runner()->PostNonNestableDelayedTask(from_here, |
- task, delay); |
+ return message_loop_task_runner_->PostNonNestableDelayedTask(from_here, task, |
+ delay); |
} |
bool SchedulerMessageLoopDelegate::RunsTasksOnCurrentThread() const { |
- return message_loop_->task_runner()->RunsTasksOnCurrentThread(); |
+ return message_loop_task_runner_->RunsTasksOnCurrentThread(); |
} |
bool SchedulerMessageLoopDelegate::IsNested() const { |