| Index: components/sync_driver/sync_service.cc
|
| diff --git a/components/sync_driver/sync_service.cc b/components/sync_driver/sync_service.cc
|
| index ab73a66a9f6780baef7710a45b6e1733dbb16ac3..ccff75fe2e8bf8ed891be3c3bac444ebfc8f5016 100644
|
| --- a/components/sync_driver/sync_service.cc
|
| +++ b/components/sync_driver/sync_service.cc
|
| @@ -9,9 +9,31 @@
|
|
|
| namespace sync_driver {
|
|
|
| +SyncSetupInProgressHandle::SyncSetupInProgressHandle(base::Closure on_destroy)
|
| + : on_destroy_(on_destroy) {}
|
| +
|
| +SyncSetupInProgressHandle::~SyncSetupInProgressHandle() {
|
| + on_destroy_.Run();
|
| +}
|
| +
|
| SyncService::SyncTokenStatus::SyncTokenStatus()
|
| : connection_status(syncer::CONNECTION_NOT_ATTEMPTED),
|
| last_get_token_error(GoogleServiceAuthError::AuthErrorNone()) {}
|
| -SyncService::SyncTokenStatus::~SyncTokenStatus() {}
|
|
|
| +std::unique_ptr<SyncSetupInProgressHandle>
|
| +SyncService::GetSetupInProgressHandle() {
|
| + if (++outstanding_setup_in_progress_handles_ == 1)
|
| + SetSetupInProgress(true);
|
| +
|
| + return std::unique_ptr<SyncSetupInProgressHandle>(
|
| + new SyncSetupInProgressHandle(
|
| + base::Bind(&SyncService::OnSetupInProgressHandleDestroyed,
|
| + base::Unretained(this))));
|
| }
|
| +
|
| +void SyncService::OnSetupInProgressHandleDestroyed() {
|
| + if (--outstanding_setup_in_progress_handles_ == 0)
|
| + SetSetupInProgress(false);
|
| +}
|
| +
|
| +} // namespace sync_driver
|
|
|