| Index: chrome/browser/sync_file_system/drive_backend/sync_task_manager.h
|
| diff --git a/chrome/browser/sync_file_system/drive_backend/sync_task_manager.h b/chrome/browser/sync_file_system/drive_backend/sync_task_manager.h
|
| index d80bd96afb9bb8b2668cbf1ae99ffeac2276168e..efa313af8134cacd8a19617aaa1b16d614739233 100644
|
| --- a/chrome/browser/sync_file_system/drive_backend/sync_task_manager.h
|
| +++ b/chrome/browser/sync_file_system/drive_backend/sync_task_manager.h
|
| @@ -19,6 +19,10 @@
|
| #include "chrome/browser/sync_file_system/sync_status_code.h"
|
| #include "chrome/browser/sync_file_system/task_logger.h"
|
|
|
| +namespace base {
|
| +class SequencedTaskRunner;
|
| +}
|
| +
|
| namespace tracked_objects {
|
| class Location;
|
| }
|
| @@ -68,7 +72,8 @@ class SyncTaskManager
|
| // Runs at most |maximum_background_tasks| parallel as background tasks.
|
| // If |maximum_background_tasks| is zero, all task runs as foreground task.
|
| SyncTaskManager(base::WeakPtr<Client> client,
|
| - size_t maximum_background_task);
|
| + size_t maximum_background_task,
|
| + base::SequencedTaskRunner* task_runner);
|
| virtual ~SyncTaskManager();
|
|
|
| // This needs to be called to start task scheduling.
|
| @@ -160,7 +165,9 @@ class SyncTaskManager
|
| void RunTask(scoped_ptr<SyncTaskToken> token,
|
| scoped_ptr<SyncTask> task);
|
|
|
| - void StartNextTask();
|
| + // Runs a pending task as a foreground task if possible.
|
| + // If |token| is non-NULL, put |token| back to |token_| beforehand.
|
| + void MaybeStartNextForegroundTask(scoped_ptr<SyncTaskToken> token);
|
|
|
| base::WeakPtr<Client> client_;
|
|
|
| @@ -190,6 +197,7 @@ class SyncTaskManager
|
|
|
| TaskDependencyManager dependency_manager_;
|
|
|
| + scoped_refptr<base::SequencedTaskRunner> task_runner_;
|
| base::SequenceChecker sequence_checker_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(SyncTaskManager);
|
|
|