Index: chrome/browser/chromeos/gdata/gdata_auth_service.cc |
diff --git a/chrome/browser/chromeos/gdata/gdata_auth_service.cc b/chrome/browser/chromeos/gdata/gdata_auth_service.cc |
deleted file mode 100644 |
index 0d71bac73e43d2a93e291d5f8125259a5ff37d74..0000000000000000000000000000000000000000 |
--- a/chrome/browser/chromeos/gdata/gdata_auth_service.cc |
+++ /dev/null |
@@ -1,131 +0,0 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "chrome/browser/chromeos/gdata/gdata_auth_service.h" |
- |
-#include <string> |
- |
-#include "base/bind.h" |
-#include "base/message_loop_proxy.h" |
-#include "chrome/browser/chromeos/gdata/gdata_operations.h" |
-#include "chrome/browser/profiles/profile.h" |
-#include "chrome/browser/signin/token_service.h" |
-#include "chrome/browser/signin/token_service_factory.h" |
-#include "chrome/common/chrome_notification_types.h" |
-#include "chrome/common/net/gaia/gaia_constants.h" |
-#include "content/public/browser/browser_thread.h" |
-#include "content/public/browser/notification_details.h" |
-#include "content/public/browser/notification_source.h" |
-#include "content/public/browser/notification_types.h" |
- |
-using content::BrowserThread; |
- |
-namespace gdata { |
- |
-void GDataAuthService::Initialize(Profile* profile) { |
- profile_ = profile; |
- // Get OAuth2 refresh token (if we have any) and register for its updates. |
- TokenService* service = TokenServiceFactory::GetForProfile(profile_); |
- refresh_token_ = service->GetOAuth2LoginRefreshToken(); |
- registrar_.Add(this, |
- chrome::NOTIFICATION_TOKEN_AVAILABLE, |
- content::Source<TokenService>(service)); |
- registrar_.Add(this, |
- chrome::NOTIFICATION_TOKEN_REQUEST_FAILED, |
- content::Source<TokenService>(service)); |
- |
- if (!refresh_token_.empty()) |
- FOR_EACH_OBSERVER(Observer, observers_, OnOAuth2RefreshTokenChanged()); |
-} |
- |
-GDataAuthService::GDataAuthService() |
- : profile_(NULL), |
- weak_ptr_factory_(ALLOW_THIS_IN_INITIALIZER_LIST(this)) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
-} |
- |
-GDataAuthService::~GDataAuthService() { |
-} |
- |
-void GDataAuthService::StartAuthentication( |
- GDataOperationRegistry* registry, |
- const AuthStatusCallback& callback) { |
- scoped_refptr<base::MessageLoopProxy> relay_proxy( |
- base::MessageLoopProxy::current()); |
- |
- if (HasAccessToken()) { |
- relay_proxy->PostTask(FROM_HERE, |
- base::Bind(callback, gdata::HTTP_SUCCESS, access_token_)); |
- } else if (HasRefreshToken()) { |
- BrowserThread::PostTask( |
- BrowserThread::UI, |
- FROM_HERE, |
- base::Bind(&GDataAuthService::StartAuthenticationOnUIThread, |
- weak_ptr_factory_.GetWeakPtr(), |
- registry, |
- relay_proxy, |
- base::Bind(&GDataAuthService::OnAuthCompleted, |
- weak_ptr_factory_.GetWeakPtr(), |
- relay_proxy, |
- callback))); |
- } else { |
- relay_proxy->PostTask(FROM_HERE, |
- base::Bind(callback, gdata::HTTP_UNAUTHORIZED, std::string())); |
- } |
-} |
- |
-void GDataAuthService::StartAuthenticationOnUIThread( |
- GDataOperationRegistry* registry, |
- scoped_refptr<base::MessageLoopProxy> relay_proxy, |
- const AuthStatusCallback& callback) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- // We have refresh token, let's gets authenticated. |
- (new AuthOperation(registry, callback, refresh_token_))->Start(); |
-} |
- |
-void GDataAuthService::OnAuthCompleted( |
- scoped_refptr<base::MessageLoopProxy> relay_proxy, |
- const AuthStatusCallback& callback, |
- GDataErrorCode error, |
- const std::string& access_token) { |
- DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
- |
- if (error == HTTP_SUCCESS) |
- access_token_ = access_token; |
- |
- // TODO(zelidrag): Add retry, back-off logic when things go wrong here. |
- if (!callback.is_null()) |
- relay_proxy->PostTask(FROM_HERE, base::Bind(callback, error, access_token)); |
-} |
- |
-void GDataAuthService::AddObserver(Observer* observer) { |
- observers_.AddObserver(observer); |
-} |
- |
-void GDataAuthService::RemoveObserver(Observer* observer) { |
- observers_.RemoveObserver(observer); |
-} |
- |
-void GDataAuthService::Observe(int type, |
- const content::NotificationSource& source, |
- const content::NotificationDetails& details) { |
- DCHECK(type == chrome::NOTIFICATION_TOKEN_AVAILABLE || |
- type == chrome::NOTIFICATION_TOKEN_REQUEST_FAILED); |
- |
- TokenService::TokenAvailableDetails* token_details = |
- content::Details<TokenService::TokenAvailableDetails>(details).ptr(); |
- if (token_details->service() != GaiaConstants::kGaiaOAuth2LoginRefreshToken) |
- return; |
- |
- access_token_.clear(); |
- if (type == chrome::NOTIFICATION_TOKEN_AVAILABLE) { |
- TokenService* service = TokenServiceFactory::GetForProfile(profile_); |
- refresh_token_ = service->GetOAuth2LoginRefreshToken(); |
- } else { |
- refresh_token_.clear(); |
- } |
- FOR_EACH_OBSERVER(Observer, observers_, OnOAuth2RefreshTokenChanged()); |
-} |
- |
-} // namespace gdata |