Commit 1739062d authored by tim@chromium.org's avatar tim@chromium.org

Revert of [sync]: add ManagedUserSigninManagerWrapper and pass to...

Revert of [sync]: add ManagedUserSigninManagerWrapper and pass to ProfileSyncService (https://codereview.chromium.org/137753012/)

Reason for revert:
Possible build bustage on Win64.

Original issue's description:
> [sync]: add ManagedUserSigninManagerWrapper and pass to ProfileSyncService
> 
> BUG=80194
> 
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=250814

TBR=bauerb@chromium.org,rogerta@chromium.org,pavely@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=80194

Review URL: https://codereview.chromium.org/162943002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@250967 0039d316-1c4b-4281-b951-d872f2087c98
parent 2aa3fb13
// Copyright 2014 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/managed_mode/managed_user_signin_manager_wrapper.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/signin/signin_manager_base.h"
#if defined(ENABLE_MANAGED_USERS)
#include "chrome/browser/managed_mode/managed_user_constants.h"
#endif
ManagedUserSigninManagerWrapper::ManagedUserSigninManagerWrapper(
SigninManagerBase* original) : original_(original) {
}
ManagedUserSigninManagerWrapper::~ManagedUserSigninManagerWrapper() {
}
SigninManagerBase* ManagedUserSigninManagerWrapper::GetOriginal() {
return original_;
}
std::string ManagedUserSigninManagerWrapper::GetEffectiveUsername() const {
if (original_->profile()->IsManaged()) {
#if defined(ENABLE_MANAGED_USERS)
DCHECK_EQ(std::string(), original_->GetAuthenticatedUsername());
return managed_users::kManagedUserPseudoEmail;
#else
NOTREACHED();
#endif
}
return original_->GetAuthenticatedUsername();
}
std::string ManagedUserSigninManagerWrapper::GetAccountIdToUse() const {
if (original_->profile()->IsManaged()) {
#if defined(ENABLE_MANAGED_USERS)
return managed_users::kManagedUserPseudoEmail;
#else
NOTREACHED();
#endif
}
return original_->GetAuthenticatedAccountId();
}
// Copyright 2014 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.
#ifndef CHROME_BROWSER_MANAGED_MODE_MANAGED_USER_SIGNIN_MANAGER_WRAPPER_H_
#define CHROME_BROWSER_MANAGED_MODE_MANAGED_USER_SIGNIN_MANAGER_WRAPPER_H_
#include <string>
#include "base/basictypes.h"
class SigninManagerBase;
// Some chrome cloud services support managed users as well as normally
// authenticated users that sign in through SigninManager. To facilitate
// getting the "effective" username and account identifiers, services can
// use this class to wrap the SigninManager and return managed user account
// information when appropriate.
class ManagedUserSigninManagerWrapper {
public:
explicit ManagedUserSigninManagerWrapper(SigninManagerBase* original);
~ManagedUserSigninManagerWrapper();
std::string GetEffectiveUsername() const;
std::string GetAccountIdToUse() const;
SigninManagerBase* GetOriginal();
private:
SigninManagerBase* original_;
DISALLOW_COPY_AND_ASSIGN(ManagedUserSigninManagerWrapper);
};
#endif // CHROME_BROWSER_MANAGED_MODE_MANAGED_USER_SIGNIN_MANAGER_WRAPPER_H_
......@@ -25,7 +25,6 @@
#include "chrome/browser/browser_process.h"
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/defaults.h"
#include "chrome/browser/managed_mode/managed_user_signin_manager_wrapper.h"
#include "chrome/browser/net/chrome_cookie_notification_details.h"
#include "chrome/browser/prefs/pref_service_syncable.h"
#include "chrome/browser/profiles/profile.h"
......@@ -159,7 +158,7 @@ bool ShouldShowActionOnUI(
ProfileSyncService::ProfileSyncService(
ProfileSyncComponentsFactory* factory,
Profile* profile,
ManagedUserSigninManagerWrapper* signin_wrapper,
SigninManagerBase* signin_manager,
ProfileOAuth2TokenService* oauth2_token_service,
StartBehavior start_behavior)
: OAuth2TokenService::Consumer("sync"),
......@@ -174,7 +173,7 @@ ProfileSyncService::ProfileSyncService(
backend_initialized_(false),
sync_disabled_by_admin_(false),
is_auth_in_progress_(false),
signin_(signin_wrapper),
signin_(signin_manager),
unrecoverable_error_reason_(ERROR_REASON_UNSET),
expect_sync_configuration_aborted_(false),
encrypted_types_(syncer::SyncEncryptionHandler::SensitiveTypes()),
......@@ -226,15 +225,14 @@ bool ProfileSyncService::IsSyncEnabledAndLoggedIn() {
return false;
// Sync is logged in if there is a non-empty effective username.
return !signin_->GetEffectiveUsername().empty();
return !GetEffectiveUsername().empty();
}
bool ProfileSyncService::IsOAuthRefreshTokenAvailable() {
if (!oauth2_token_service_)
return false;
return oauth2_token_service_->RefreshTokenIsAvailable(
signin_->GetAccountIdToUse());
return oauth2_token_service_->RefreshTokenIsAvailable(GetAccountIdToUse());
}
void ProfileSyncService::Initialize() {
......@@ -255,7 +253,7 @@ void ProfileSyncService::Initialize() {
RegisterAuthNotifications();
if (!HasSyncSetupCompleted() || signin_->GetEffectiveUsername().empty()) {
if (!HasSyncSetupCompleted() || GetEffectiveUsername().empty()) {
// Clean up in case of previous crash / setup abort / signout.
DisableForUser();
}
......@@ -536,7 +534,7 @@ void ProfileSyncService::InitSettings() {
SyncCredentials ProfileSyncService::GetCredentials() {
SyncCredentials credentials;
credentials.email = signin_->GetEffectiveUsername();
credentials.email = GetEffectiveUsername();
DCHECK(!credentials.email.empty());
credentials.sync_token = access_token_;
......@@ -748,7 +746,7 @@ void ProfileSyncService::OnGetTokenFailure(
void ProfileSyncService::OnRefreshTokenAvailable(
const std::string& account_id) {
if (account_id == signin_->GetAccountIdToUse())
if (account_id == GetAccountIdToUse())
OnRefreshTokensLoaded();
}
......@@ -1975,7 +1973,7 @@ void ProfileSyncService::RequestAccessToken() {
// Invalidate previous token, otherwise token service will return the same
// token again.
const std::string& account_id = signin_->GetAccountIdToUse();
const std::string& account_id = GetAccountIdToUse();
if (!access_token_.empty()) {
oauth2_token_service_->InvalidateToken(
account_id, oauth2_scopes, access_token_);
......@@ -2161,19 +2159,13 @@ bool ProfileSyncService::IsStartSuppressed() const {
return sync_prefs_.IsStartSuppressed();
}
SigninManagerBase* ProfileSyncService::signin() const {
return signin_->GetOriginal();
}
void ProfileSyncService::UnsuppressAndStart() {
DCHECK(profile_);
sync_prefs_.SetStartSuppressed(false);
// Set username in SigninManager, as SigninManager::OnGetUserInfoSuccess
// is never called for some clients.
if (signin_.get() &&
signin_->GetOriginal()->GetAuthenticatedUsername().empty()) {
signin_->GetOriginal()->SetAuthenticatedUsername(
sync_prefs_.GetGoogleServicesUsername());
if (signin_ && signin_->GetAuthenticatedUsername().empty()) {
signin_->SetAuthenticatedUsername(sync_prefs_.GetGoogleServicesUsername());
}
TryStart();
}
......@@ -2223,6 +2215,32 @@ std::string ProfileSyncService::GetAccessTokenForTest() const {
return access_token_;
}
std::string ProfileSyncService::GetEffectiveUsername() {
if (profile_->IsManaged()) {
#if defined(ENABLE_MANAGED_USERS)
DCHECK_EQ(std::string(), signin_->GetAuthenticatedUsername());
return managed_users::kManagedUserPseudoEmail;
#else
NOTREACHED();
#endif
}
return signin_->GetAuthenticatedUsername();
}
std::string ProfileSyncService::GetAccountIdToUse() {
if (profile_->IsManaged()) {
#if defined(ENABLE_MANAGED_USERS)
return managed_users::kManagedUserPseudoEmail;
#else
NOTREACHED();
#endif
}
// TODO(fgorski): Use GetPrimaryAccountId() when it's available.
return signin_->GetAuthenticatedUsername();
}
WeakHandle<syncer::JsEventHandler> ProfileSyncService::GetJsEventHandler() {
return MakeWeakHandle(sync_js_controller_.AsWeakPtr());
}
......
......@@ -48,7 +48,6 @@
#include "sync/js/sync_js_controller.h"
#include "url/gurl.h"
class ManagedUserSigninManagerWrapper;
class Profile;
class ProfileOAuth2TokenService;
class ProfileSyncComponentsFactory;
......@@ -260,10 +259,10 @@ class ProfileSyncService
// Sync server URL for dev channel users
static const char* kDevServerUrl;
// Takes ownership of |factory| and |signin_wrapper|.
// Takes ownership of |factory|.
ProfileSyncService(ProfileSyncComponentsFactory* factory,
Profile* profile,
ManagedUserSigninManagerWrapper* signin_wrapper,
SigninManagerBase* signin,
ProfileOAuth2TokenService* oauth2_token_service,
StartBehavior start_behavior);
virtual ~ProfileSyncService();
......@@ -642,7 +641,7 @@ class ProfileSyncService
const GURL& sync_service_url() const { return sync_service_url_; }
bool auto_start_enabled() const { return auto_start_enabled_; }
SigninManagerBase* signin() const;
SigninManagerBase* signin() const { return signin_; }
bool setup_in_progress() const { return setup_in_progress_; }
// Stops the sync backend and sets the flag for suppressing sync startup.
......@@ -934,7 +933,7 @@ class ProfileSyncService
// Encapsulates user signin - used to set/get the user's authenticated
// email address.
scoped_ptr<ManagedUserSigninManagerWrapper> signin_;
SigninManagerBase* signin_;
// Information describing an unrecoverable error.
UnrecoverableErrorReason unrecoverable_error_reason_;
......
......@@ -13,7 +13,6 @@
#include "chrome/browser/extensions/extension_system_factory.h"
#include "chrome/browser/history/history_service_factory.h"
#include "chrome/browser/invalidation/invalidation_service_factory.h"
#include "chrome/browser/managed_mode/managed_user_signin_manager_wrapper.h"
#include "chrome/browser/password_manager/password_store_factory.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/profiles/profile_manager.h"
......@@ -118,7 +117,7 @@ BrowserContextKeyedService* ProfileSyncServiceFactory::BuildServiceInstanceFor(
new ProfileSyncComponentsFactoryImpl(profile,
CommandLine::ForCurrentProcess()),
profile,
new ManagedUserSigninManagerWrapper(signin),
signin,
ProfileOAuth2TokenServiceFactory::GetForProfile(profile),
behavior);
......
......@@ -4,7 +4,6 @@
#include "base/prefs/pref_service.h"
#include "base/prefs/testing_pref_store.h"
#include "chrome/browser/managed_mode/managed_user_signin_manager_wrapper.h"
#include "chrome/browser/signin/profile_oauth2_token_service.h"
#include "chrome/browser/signin/profile_oauth2_token_service_factory.h"
#include "chrome/browser/signin/signin_manager.h"
......@@ -18,8 +17,7 @@ ProfileSyncServiceMock::ProfileSyncServiceMock(Profile* profile)
: ProfileSyncService(
NULL,
profile,
new ManagedUserSigninManagerWrapper(
SigninManagerFactory::GetForProfile(profile)),
SigninManagerFactory::GetForProfile(profile),
ProfileOAuth2TokenServiceFactory::GetForProfile(profile),
ProfileSyncService::MANUAL_START) {}
......
......@@ -6,7 +6,6 @@
#include "base/memory/scoped_ptr.h"
#include "base/prefs/pref_service.h"
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/managed_mode/managed_user_signin_manager_wrapper.h"
#include "chrome/browser/signin/fake_profile_oauth2_token_service.h"
#include "chrome/browser/signin/fake_signin_manager.h"
#include "chrome/browser/signin/profile_oauth2_token_service.h"
......@@ -95,8 +94,7 @@ class ProfileSyncServiceStartupTest : public testing::Test {
return new ProfileSyncService(
new ProfileSyncComponentsFactoryMock(),
profile,
new ManagedUserSigninManagerWrapper(
SigninManagerFactory::GetForProfile(profile)),
SigninManagerFactory::GetForProfile(profile),
ProfileOAuth2TokenServiceFactory::GetForProfile(profile),
ProfileSyncService::MANUAL_START);
}
......@@ -164,7 +162,7 @@ class ProfileSyncServiceStartupCrosTest : public ProfileSyncServiceStartupTest {
return new ProfileSyncService(
new ProfileSyncComponentsFactoryMock(),
profile,
new ManagedUserSigninManagerWrapper(signin),
signin,
oauth2_token_service,
ProfileSyncService::AUTO_START);
}
......
......@@ -8,7 +8,6 @@
#include "base/run_loop.h"
#include "base/values.h"
#include "chrome/browser/invalidation/invalidation_service_factory.h"
#include "chrome/browser/managed_mode/managed_user_signin_manager_wrapper.h"
#include "chrome/browser/signin/fake_profile_oauth2_token_service.h"
#include "chrome/browser/signin/profile_oauth2_token_service_factory.h"
#include "chrome/browser/signin/signin_manager.h"
......@@ -126,7 +125,7 @@ class ProfileSyncServiceTest : public ::testing::Test {
service_.reset(new ProfileSyncService(
components_factory_,
profile_.get(),
new ManagedUserSigninManagerWrapper(signin),
signin,
oauth2_token_service,
behavior));
}
......
......@@ -5,7 +5,6 @@
#include "chrome/browser/sync/test_profile_sync_service.h"
#include "chrome/browser/chrome_notification_types.h"
#include "chrome/browser/managed_mode/managed_user_signin_manager_wrapper.h"
#include "chrome/browser/signin/profile_oauth2_token_service_factory.h"
#include "chrome/browser/signin/signin_manager.h"
#include "chrome/browser/signin/signin_manager_factory.h"
......@@ -104,7 +103,7 @@ TestProfileSyncService::TestProfileSyncService(
ProfileSyncService::StartBehavior behavior)
: ProfileSyncService(factory,
profile,
new ManagedUserSigninManagerWrapper(signin),
signin,
oauth2_token_service,
behavior) {
SetSyncSetupCompleted();
......
......@@ -1089,8 +1089,6 @@
'browser/managed_mode/managed_user_shared_settings_service_factory.h',
'browser/managed_mode/managed_user_shared_settings_update.cc',
'browser/managed_mode/managed_user_shared_settings_update.h',
'browser/managed_mode/managed_user_signin_manager_wrapper.cc',
'browser/managed_mode/managed_user_signin_manager_wrapper.h',
'browser/managed_mode/managed_user_sync_service.cc',
'browser/managed_mode/managed_user_sync_service.h',
'browser/managed_mode/managed_user_sync_service_factory.cc',
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment