diff options
Diffstat (limited to 'chromium/chrome/browser/signin/signin_manager_factory.cc')
-rw-r--r-- | chromium/chrome/browser/signin/signin_manager_factory.cc | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/chromium/chrome/browser/signin/signin_manager_factory.cc b/chromium/chrome/browser/signin/signin_manager_factory.cc new file mode 100644 index 00000000000..788dbee7f54 --- /dev/null +++ b/chromium/chrome/browser/signin/signin_manager_factory.cc @@ -0,0 +1,48 @@ +// Copyright 2020 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/signin/signin_manager_factory.h" + +#include "base/logging.h" +#include "build/build_config.h" +#include "chrome/browser/profiles/profile.h" +#include "chrome/browser/signin/identity_manager_factory.h" +#include "chrome/browser/signin/signin_features.h" +#include "components/keyed_service/content/browser_context_dependency_manager.h" + +// static +SigninManagerFactory* SigninManagerFactory::GetInstance() { + return base::Singleton<SigninManagerFactory>::get(); +} + +// static +SigninManager* SigninManagerFactory::GetForProfile(Profile* profile) { + DCHECK(profile); + return static_cast<SigninManager*>( + GetInstance()->GetServiceForBrowserContext(profile, true)); +} + +SigninManagerFactory::SigninManagerFactory() + : BrowserContextKeyedServiceFactory( + "SigninManager", + BrowserContextDependencyManager::GetInstance()) { + DependsOn(IdentityManagerFactory::GetInstance()); +} + +SigninManagerFactory::~SigninManagerFactory() = default; + +KeyedService* SigninManagerFactory::BuildServiceInstanceFor( + content::BrowserContext* context) const { + Profile* profile = Profile::FromBrowserContext(context); + return new SigninManager(profile->GetPrefs(), + IdentityManagerFactory::GetForProfile(profile)); +} + +bool SigninManagerFactory::ServiceIsCreatedWithBrowserContext() const { + return true; +} + +bool SigninManagerFactory::ServiceIsNULLWhileTesting() const { + return true; +} |