Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(92)

Unified Diff: chrome/browser/chromeos/login/auth_sync_observer.cc

Issue 286933002: [cros login] Split login related classes into subfolders. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix includes in new tests Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/login/auth_sync_observer.cc
diff --git a/chrome/browser/chromeos/login/auth_sync_observer.cc b/chrome/browser/chromeos/login/auth_sync_observer.cc
deleted file mode 100644
index 29e5deede66875fc09812938994571f79770d8c6..0000000000000000000000000000000000000000
--- a/chrome/browser/chromeos/login/auth_sync_observer.cc
+++ /dev/null
@@ -1,96 +0,0 @@
-// Copyright 2013 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/login/auth_sync_observer.h"
-
-#include "base/metrics/user_metrics.h"
-#include "base/metrics/user_metrics_action.h"
-#include "base/prefs/pref_service.h"
-#include "chrome/browser/chromeos/login/supervised_user_manager.h"
-#include "chrome/browser/chromeos/login/user_manager.h"
-#include "chrome/browser/sync/profile_sync_service.h"
-#include "chrome/browser/sync/profile_sync_service_factory.h"
-#include "chrome/common/pref_names.h"
-#include "content/public/browser/user_metrics.h"
-#include "google_apis/gaia/gaia_auth_util.h"
-
-class Profile;
-class ProfileSyncService;
-
-namespace chromeos {
-
-AuthSyncObserver::AuthSyncObserver(Profile* profile)
- : profile_(profile) {
-}
-
-AuthSyncObserver::~AuthSyncObserver() {
-}
-
-void AuthSyncObserver::StartObserving() {
- ProfileSyncService* sync_service =
- ProfileSyncServiceFactory::GetForProfile(profile_);
- if (sync_service)
- sync_service->AddObserver(this);
-}
-
-void AuthSyncObserver::Shutdown() {
- ProfileSyncService* sync_service =
- ProfileSyncServiceFactory::GetForProfile(profile_);
- if (sync_service)
- sync_service->RemoveObserver(this);
-}
-
-void AuthSyncObserver::OnStateChanged() {
- DCHECK(UserManager::Get()->IsLoggedInAsRegularUser() ||
- UserManager::Get()->IsLoggedInAsLocallyManagedUser());
- ProfileSyncService* sync_service =
- ProfileSyncServiceFactory::GetForProfile(profile_);
- User* user = UserManager::Get()->GetUserByProfile(profile_);
- GoogleServiceAuthError::State state =
- sync_service->GetAuthError().state();
- if (state != GoogleServiceAuthError::NONE &&
- state != GoogleServiceAuthError::CONNECTION_FAILED &&
- state != GoogleServiceAuthError::SERVICE_UNAVAILABLE &&
- state != GoogleServiceAuthError::REQUEST_CANCELED) {
- // Invalidate OAuth2 refresh token to force Gaia sign-in flow. This is
- // needed because sign-out/sign-in solution is suggested to the user.
- // TODO(nkostylev): Remove after crosbug.com/25978 is implemented.
- LOG(WARNING) << "Invalidate OAuth token because of a sync error: "
- << sync_service->GetAuthError().ToString();
- std::string email = user->email();
- DCHECK(!email.empty());
- // TODO(nkostyelv): Change observer after active user has changed.
- User::OAuthTokenStatus old_status = user->oauth_token_status();
- UserManager::Get()->SaveUserOAuthStatus(email,
- User::OAUTH2_TOKEN_STATUS_INVALID);
- if (user->GetType() == User::USER_TYPE_LOCALLY_MANAGED &&
- old_status != User::OAUTH2_TOKEN_STATUS_INVALID) {
- // Attempt to restore token from file.
- UserManager::Get()->GetSupervisedUserManager()->LoadSupervisedUserToken(
- profile_,
- base::Bind(&AuthSyncObserver::OnSupervisedTokenLoaded,
- base::Unretained(this)));
- content::RecordAction(
- base::UserMetricsAction("ManagedUsers_Chromeos_Sync_Invalidated"));
- }
- } else if (state == GoogleServiceAuthError::NONE) {
- if (user->GetType() == User::USER_TYPE_LOCALLY_MANAGED &&
- user->oauth_token_status() == User::OAUTH2_TOKEN_STATUS_INVALID) {
- LOG(ERROR) <<
- "Got an incorrectly invalidated token case, restoring token status.";
- UserManager::Get()->SaveUserOAuthStatus(
- user->email(),
- User::OAUTH2_TOKEN_STATUS_VALID);
- content::RecordAction(
- base::UserMetricsAction("ManagedUsers_Chromeos_Sync_Recovered"));
- }
- }
-}
-
-void AuthSyncObserver::OnSupervisedTokenLoaded(const std::string& token) {
- UserManager::Get()->GetSupervisedUserManager()->ConfigureSyncWithToken(
- profile_, token);
-}
-
-} // namespace chromeos
« no previous file with comments | « chrome/browser/chromeos/login/auth_sync_observer.h ('k') | chrome/browser/chromeos/login/auth_sync_observer_factory.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698