| Index: chrome/browser/sync_file_system/sync_process_runner.cc
|
| diff --git a/chrome/browser/sync_file_system/sync_process_runner.cc b/chrome/browser/sync_file_system/sync_process_runner.cc
|
| index 5b91b3544cf991a7e7060a038b6295bc1194b734..a6320c744563cab94791021c89e4cc0658c3b225 100644
|
| --- a/chrome/browser/sync_file_system/sync_process_runner.cc
|
| +++ b/chrome/browser/sync_file_system/sync_process_runner.cc
|
| @@ -145,14 +145,17 @@ void SyncProcessRunner::ResetThrottling() {
|
| throttle_until_ = base::TimeTicks();
|
| }
|
|
|
| +SyncServiceState SyncProcessRunner::GetServiceState() {
|
| + return client_->GetSyncServiceState();
|
| +}
|
| +
|
| void SyncProcessRunner::OnChangesUpdated(
|
| int64 pending_changes) {
|
| DCHECK_GE(pending_changes, 0);
|
| int64 old_pending_changes = pending_changes_;
|
| pending_changes_ = pending_changes;
|
| if (old_pending_changes != pending_changes) {
|
| - if (pending_changes == 0)
|
| - client_->OnSyncIdle();
|
| + CheckIfIdle();
|
| util::Log(logging::LOG_VERBOSE, FROM_HERE,
|
| "[%s] pending_changes updated: %" PRId64,
|
| name_.c_str(), pending_changes);
|
| @@ -164,15 +167,12 @@ SyncFileSystemService* SyncProcessRunner::GetSyncService() {
|
| return client_->GetSyncService();
|
| }
|
|
|
| -SyncServiceState SyncProcessRunner::GetServiceState() {
|
| - return client_->GetSyncServiceState();
|
| -}
|
| -
|
| void SyncProcessRunner::Finished(const base::TimeTicks& start_time,
|
| SyncStatusCode status) {
|
| DCHECK_LT(0u, running_tasks_);
|
| DCHECK_LE(running_tasks_, max_parallel_task_);
|
| --running_tasks_;
|
| + CheckIfIdle();
|
| util::Log(logging::LOG_VERBOSE, FROM_HERE,
|
| "[%s] * Finished (elapsed: %" PRId64 " ms)", name_.c_str(),
|
| (timer_helper_->Now() - start_time).InMilliseconds());
|
| @@ -238,4 +238,9 @@ void SyncProcessRunner::ScheduleInternal(int64 delay) {
|
| base::Bind(&SyncProcessRunner::Run, base::Unretained(this)));
|
| }
|
|
|
| +void SyncProcessRunner::CheckIfIdle() {
|
| + if (pending_changes_ == 0 && running_tasks_ == 0)
|
| + client_->OnSyncIdle();
|
| +}
|
| +
|
| } // namespace sync_file_system
|
|
|