| Index: chrome/browser/after_startup_task_utils.cc
|
| diff --git a/chrome/browser/after_startup_task_utils.cc b/chrome/browser/after_startup_task_utils.cc
|
| index 0d0eab653c4381260cd7a7291e3dfc8927f07c68..c5c29e8b8cb599f7305a2df9b0a82abce8dd1e7c 100644
|
| --- a/chrome/browser/after_startup_task_utils.cc
|
| +++ b/chrome/browser/after_startup_task_utils.cc
|
| @@ -192,6 +192,27 @@ void StartupObserver::Start() {
|
|
|
| } // namespace
|
|
|
| +AfterStartupTaskUtils::Runner::Runner(
|
| + scoped_refptr<base::TaskRunner> destination_runner)
|
| + : destination_runner_(std::move(destination_runner)) {
|
| + DCHECK(destination_runner_);
|
| +}
|
| +
|
| +AfterStartupTaskUtils::Runner::~Runner() = default;
|
| +
|
| +bool AfterStartupTaskUtils::Runner::PostDelayedTask(
|
| + const tracked_objects::Location& from_here,
|
| + const base::Closure& task,
|
| + base::TimeDelta delay) {
|
| + DCHECK(delay.is_zero());
|
| + AfterStartupTaskUtils::PostTask(from_here, destination_runner_, task);
|
| + return true;
|
| +}
|
| +
|
| +bool AfterStartupTaskUtils::Runner::RunsTasksOnCurrentThread() const {
|
| + return destination_runner_->RunsTasksOnCurrentThread();
|
| +}
|
| +
|
| void AfterStartupTaskUtils::StartMonitoringStartup() {
|
| // The observer is self-deleting.
|
| (new StartupObserver)->Start();
|
| @@ -199,15 +220,15 @@ void AfterStartupTaskUtils::StartMonitoringStartup() {
|
|
|
| void AfterStartupTaskUtils::PostTask(
|
| const tracked_objects::Location& from_here,
|
| - const scoped_refptr<base::TaskRunner>& task_runner,
|
| + const scoped_refptr<base::TaskRunner>& destination_runner,
|
| const base::Closure& task) {
|
| if (IsBrowserStartupComplete()) {
|
| - task_runner->PostTask(from_here, task);
|
| + destination_runner->PostTask(from_here, task);
|
| return;
|
| }
|
|
|
| std::unique_ptr<AfterStartupTask> queued_task(
|
| - new AfterStartupTask(from_here, task_runner, task));
|
| + new AfterStartupTask(from_here, destination_runner, task));
|
| QueueTask(std::move(queued_task));
|
| }
|
|
|
|
|