diff options
author | hashimoto@chromium.org <hashimoto@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-09-05 21:02:44 +0000 |
---|---|---|
committer | hashimoto@chromium.org <hashimoto@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-09-05 21:02:44 +0000 |
commit | 3383a9334b18ae0c38743880996b4d3fa3bebe0f (patch) | |
tree | 6faaa461409d2e8aad482d3c7af08f8fe2237892 /chrome/browser/chromeos/gdata/gdata_wapi_service.cc | |
parent | 31f8cbeecdb40346cd74076c4d2c582c4b2c2a2f (diff) | |
download | chromium_src-3383a9334b18ae0c38743880996b4d3fa3bebe0f.zip chromium_src-3383a9334b18ae0c38743880996b4d3fa3bebe0f.tar.gz chromium_src-3383a9334b18ae0c38743880996b4d3fa3bebe0f.tar.bz2 |
drive: Add DriveServiceInterface::OnOperationReadinessChanged()
Add OnOperationReadinessChanged() to initiate operation on startup
Remove unused OperationRunner::OnOAuth2RefreshTokenChanged()
Add DriveServiceInterface::CanStartOperation(). Even if it is an alias of HasRefreshToken(), it's added since user code should not care about detail of OAuth tokens.
BUG=145903
TEST=unit_tests --gtest_filter="GData*"
Review URL: https://chromiumcodereview.appspot.com/10909074
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155015 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/chromeos/gdata/gdata_wapi_service.cc')
-rw-r--r-- | chrome/browser/chromeos/gdata/gdata_wapi_service.cc | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/chrome/browser/chromeos/gdata/gdata_wapi_service.cc b/chrome/browser/chromeos/gdata/gdata_wapi_service.cc index 464f163..ba84c87 100644 --- a/chrome/browser/chromeos/gdata/gdata_wapi_service.cc +++ b/chrome/browser/chromeos/gdata/gdata_wapi_service.cc @@ -74,6 +74,8 @@ GDataWapiService::GDataWapiService() GDataWapiService::~GDataWapiService() { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); + if (runner_.get()) + runner_->auth_service()->RemoveObserver(this); } AuthService* GDataWapiService::auth_service_for_testing() { @@ -92,12 +94,28 @@ void GDataWapiService::Initialize(Profile* profile) { scopes.push_back(kDriveAppsScope); runner_.reset(new OperationRunner(profile, scopes)); runner_->Initialize(); + + runner_->auth_service()->AddObserver(this); +} + +void GDataWapiService::AddObserver(DriveServiceObserver* observer) { + observers_.AddObserver(observer); +} + +void GDataWapiService::RemoveObserver(DriveServiceObserver* observer) { + observers_.RemoveObserver(observer); } OperationRegistry* GDataWapiService::operation_registry() const { return runner_->operation_registry(); } +bool GDataWapiService::CanStartOperation() const { + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); + + return HasRefreshToken(); +} + void GDataWapiService::CancelAll() { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); runner_->CancelAll(); @@ -274,7 +292,6 @@ void GDataWapiService::ResumeUpload(const ResumeUploadParams& params, new ResumeUploadOperation(operation_registry(), callback, params)); } - void GDataWapiService::AuthorizeApp(const GURL& resource_url, const std::string& app_ids, const GetDataCallback& callback) { @@ -297,4 +314,10 @@ bool GDataWapiService::HasRefreshToken() const { return runner_->auth_service()->HasRefreshToken(); } +void GDataWapiService::OnOAuth2RefreshTokenChanged() { + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); + FOR_EACH_OBSERVER( + DriveServiceObserver, observers_, OnOperationReadinessChanged()); +} + } // namespace gdata |