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)); |
} |