| Index: chrome/browser/sync_file_system/drive_file_sync_service.cc
|
| diff --git a/chrome/browser/sync_file_system/drive_file_sync_service.cc b/chrome/browser/sync_file_system/drive_file_sync_service.cc
|
| index 6ce0173b2b7b194475e0698be1c64129512eff70..deabb83bb639cecf66301224b6cbb1327be65b8d 100644
|
| --- a/chrome/browser/sync_file_system/drive_file_sync_service.cc
|
| +++ b/chrome/browser/sync_file_system/drive_file_sync_service.cc
|
| @@ -14,7 +14,6 @@
|
| #include "base/message_loop_proxy.h"
|
| #include "base/utf_string_conversions.h"
|
| #include "base/values.h"
|
| -#include "chrome/browser/google_apis/gdata_wapi_service.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| #include "chrome/browser/sync_file_system/drive_file_sync_client.h"
|
| #include "chrome/browser/sync_file_system/drive_file_sync_util.h"
|
| @@ -210,6 +209,7 @@ DriveFileSyncService::DriveFileSyncService(Profile* profile)
|
| token_.reset(new TaskToken(AsWeakPtr()));
|
|
|
| sync_client_.reset(new DriveFileSyncClient(profile));
|
| + sync_client_->AddObserver(this);
|
|
|
| metadata_store_.reset(new DriveMetadataStore(
|
| profile->GetPath().Append(kSyncFileSystemDir),
|
| @@ -226,6 +226,7 @@ DriveFileSyncService::~DriveFileSyncService() {
|
| // Invalidate WeakPtr instances here explicitly to notify TaskToken that we
|
| // can safely discard the token.
|
| weak_factory_.InvalidateWeakPtrs();
|
| + sync_client_->RemoveObserver(this);
|
| token_.reset();
|
| }
|
|
|
| @@ -509,6 +510,17 @@ void DriveFileSyncService::ApplyLocalChange(
|
| callback, fileapi::SYNC_STATUS_FAILED);
|
| }
|
|
|
| +void DriveFileSyncService::OnAuthenticated() {
|
| + DVLOG(1) << "OnAuthenticated";
|
| + if (state_ == REMOTE_SERVICE_AUTHENTICATION_REQUIRED ||
|
| + state_ == REMOTE_SERVICE_TEMPORARY_UNAVAILABLE) {
|
| + state_ = REMOTE_SERVICE_OK;
|
| + FOR_EACH_OBSERVER(
|
| + Observer, observers_,
|
| + OnRemoteServiceStateUpdated(state_, "Authenticated"));
|
| + }
|
| +}
|
| +
|
| // Called by CreateForTesting.
|
| DriveFileSyncService::DriveFileSyncService(
|
| const FilePath& base_dir,
|
|
|