Commit d96d1e00 authored by Antonio Gomes's avatar Antonio Gomes Committed by Commit Bot

Port SigninStatusMetricsProvider and its delegates to talk to IdentityManager

... rather than SigninManager.

The delegates now pass IdentityManager instances rather than SigninManager instances
to SigninStatusMetricsProvider, and SigninStatusMetricsProvider interact with those
IdentityManager instances.

PS: In a later CL, both //chrome's SigninManagerFactory::Observer and //ios/chrome's
SigninManagerFactoryObserver can be removed.

BUG=927345

Change-Id: Ic007bffd658e112261a97cf7027c50f916ba470e
Reviewed-on: https://chromium-review.googlesource.com/c/1449278Reviewed-by: default avatarColin Blundell <blundell@chromium.org>
Reviewed-by: default avatarDavid Roger <droger@chromium.org>
Commit-Queue: Antonio Gomes <tonikitoo@igalia.com>
Auto-Submit: Antonio Gomes <tonikitoo@igalia.com>
Cr-Commit-Position: refs/heads/master@{#628328}
parent 1ee10f05
...@@ -30,7 +30,7 @@ ChromeSigninStatusMetricsProviderDelegate:: ...@@ -30,7 +30,7 @@ ChromeSigninStatusMetricsProviderDelegate::
BrowserList::RemoveObserver(this); BrowserList::RemoveObserver(this);
#endif #endif
SigninManagerFactory* factory = SigninManagerFactory::GetInstance(); auto* factory = IdentityManagerFactory::GetInstance();
if (factory) if (factory)
factory->RemoveObserver(this); factory->RemoveObserver(this);
} }
...@@ -43,7 +43,7 @@ void ChromeSigninStatusMetricsProviderDelegate::Initialize() { ...@@ -43,7 +43,7 @@ void ChromeSigninStatusMetricsProviderDelegate::Initialize() {
BrowserList::AddObserver(this); BrowserList::AddObserver(this);
#endif #endif
SigninManagerFactory* factory = SigninManagerFactory::GetInstance(); auto* factory = IdentityManagerFactory::GetInstance();
if (factory) if (factory)
factory->AddObserver(this); factory->AddObserver(this);
} }
...@@ -73,17 +73,17 @@ ChromeSigninStatusMetricsProviderDelegate::GetStatusOfAllAccounts() { ...@@ -73,17 +73,17 @@ ChromeSigninStatusMetricsProviderDelegate::GetStatusOfAllAccounts() {
return accounts_status; return accounts_status;
} }
std::vector<SigninManager*> std::vector<identity::IdentityManager*>
ChromeSigninStatusMetricsProviderDelegate::GetSigninManagersForAllAccounts() { ChromeSigninStatusMetricsProviderDelegate::GetIdentityManagersForAllAccounts() {
ProfileManager* profile_manager = g_browser_process->profile_manager(); ProfileManager* profile_manager = g_browser_process->profile_manager();
std::vector<Profile*> profiles = profile_manager->GetLoadedProfiles(); std::vector<Profile*> profiles = profile_manager->GetLoadedProfiles();
std::vector<SigninManager*> managers; std::vector<identity::IdentityManager*> managers;
for (Profile* profile : profiles) { for (Profile* profile : profiles) {
SigninManager* manager = auto* identity_manager =
SigninManagerFactory::GetForProfileIfExists(profile); IdentityManagerFactory::GetForProfileIfExists(profile);
if (manager) if (identity_manager)
managers.push_back(manager); managers.push_back(identity_manager);
} }
return managers; return managers;
...@@ -102,14 +102,14 @@ void ChromeSigninStatusMetricsProviderDelegate::OnBrowserAdded( ...@@ -102,14 +102,14 @@ void ChromeSigninStatusMetricsProviderDelegate::OnBrowserAdded(
UpdateStatusWhenBrowserAdded(signed_in); UpdateStatusWhenBrowserAdded(signed_in);
} }
void ChromeSigninStatusMetricsProviderDelegate::SigninManagerCreated( void ChromeSigninStatusMetricsProviderDelegate::IdentityManagerCreated(
SigninManagerBase* manager) { identity::IdentityManager* identity_manager) {
owner()->OnSigninManagerCreated(manager); owner()->OnIdentityManagerCreated(identity_manager);
} }
void ChromeSigninStatusMetricsProviderDelegate::SigninManagerShutdown( void ChromeSigninStatusMetricsProviderDelegate::IdentityManagerShutdown(
SigninManagerBase* manager) { identity::IdentityManager* identity_manager) {
owner()->OnSigninManagerShutdown(manager); owner()->OnIdentityManagerShutdown(identity_manager);
} }
void ChromeSigninStatusMetricsProviderDelegate::UpdateStatusWhenBrowserAdded( void ChromeSigninStatusMetricsProviderDelegate::UpdateStatusWhenBrowserAdded(
......
...@@ -5,16 +5,18 @@ ...@@ -5,16 +5,18 @@
#ifndef CHROME_BROWSER_SIGNIN_CHROME_SIGNIN_STATUS_METRICS_PROVIDER_DELEGATE_H_ #ifndef CHROME_BROWSER_SIGNIN_CHROME_SIGNIN_STATUS_METRICS_PROVIDER_DELEGATE_H_
#define CHROME_BROWSER_SIGNIN_CHROME_SIGNIN_STATUS_METRICS_PROVIDER_DELEGATE_H_ #define CHROME_BROWSER_SIGNIN_CHROME_SIGNIN_STATUS_METRICS_PROVIDER_DELEGATE_H_
#include <vector>
#include "base/gtest_prod_util.h" #include "base/gtest_prod_util.h"
#include "base/macros.h" #include "base/macros.h"
#include "chrome/browser/signin/signin_manager_factory.h" #include "chrome/browser/signin/identity_manager_factory.h"
#include "chrome/browser/ui/browser_list_observer.h" #include "chrome/browser/ui/browser_list_observer.h"
#include "components/signin/core/browser/signin_status_metrics_provider_delegate.h" #include "components/signin/core/browser/signin_status_metrics_provider_delegate.h"
class ChromeSigninStatusMetricsProviderDelegate class ChromeSigninStatusMetricsProviderDelegate
: public SigninStatusMetricsProviderDelegate, : public SigninStatusMetricsProviderDelegate,
public BrowserListObserver, public BrowserListObserver,
public SigninManagerFactory::Observer { public IdentityManagerFactory::Observer {
public: public:
ChromeSigninStatusMetricsProviderDelegate(); ChromeSigninStatusMetricsProviderDelegate();
~ChromeSigninStatusMetricsProviderDelegate() override; ~ChromeSigninStatusMetricsProviderDelegate() override;
...@@ -26,14 +28,17 @@ class ChromeSigninStatusMetricsProviderDelegate ...@@ -26,14 +28,17 @@ class ChromeSigninStatusMetricsProviderDelegate
// SigninStatusMetricsProviderDelegate: // SigninStatusMetricsProviderDelegate:
void Initialize() override; void Initialize() override;
AccountsStatus GetStatusOfAllAccounts() override; AccountsStatus GetStatusOfAllAccounts() override;
std::vector<SigninManager*> GetSigninManagersForAllAccounts() override; std::vector<identity::IdentityManager*> GetIdentityManagersForAllAccounts()
override;
// BrowserListObserver: // BrowserListObserver:
void OnBrowserAdded(Browser* browser) override; void OnBrowserAdded(Browser* browser) override;
// SigninManagerFactoryObserver: // IdentityManagerFactoryObserver:
void SigninManagerCreated(SigninManagerBase* manager) override; void IdentityManagerCreated(
void SigninManagerShutdown(SigninManagerBase* manager) override; identity::IdentityManager* identity_manager) override;
void IdentityManagerShutdown(
identity::IdentityManager* identity_manager) override;
// Updates the sign-in status right after a new browser is opened. // Updates the sign-in status right after a new browser is opened.
void UpdateStatusWhenBrowserAdded(bool signed_in); void UpdateStatusWhenBrowserAdded(bool signed_in);
......
...@@ -12,7 +12,6 @@ ...@@ -12,7 +12,6 @@
#include "base/metrics/histogram.h" #include "base/metrics/histogram.h"
#include "base/single_thread_task_runner.h" #include "base/single_thread_task_runner.h"
#include "base/threading/thread_task_runner_handle.h" #include "base/threading/thread_task_runner_handle.h"
#include "components/signin/core/browser/signin_manager.h"
SigninStatusMetricsProvider::SigninStatusMetricsProvider( SigninStatusMetricsProvider::SigninStatusMetricsProvider(
std::unique_ptr<SigninStatusMetricsProviderDelegate> delegate, std::unique_ptr<SigninStatusMetricsProviderDelegate> delegate,
...@@ -53,29 +52,29 @@ SigninStatusMetricsProvider::CreateInstance( ...@@ -53,29 +52,29 @@ SigninStatusMetricsProvider::CreateInstance(
new SigninStatusMetricsProvider(std::move(delegate), false)); new SigninStatusMetricsProvider(std::move(delegate), false));
} }
void SigninStatusMetricsProvider::OnSigninManagerCreated( void SigninStatusMetricsProvider::OnIdentityManagerCreated(
SigninManagerBase* manager) { identity::IdentityManager* identity_manager) {
// Whenever a new profile is created, a new SigninManagerBase will be created // Whenever a new profile is created, a new IdentityManager will be created
// for it. This ensures that all sign-in or sign-out actions of all opened // for it. This ensures that all sign-in or sign-out actions of all opened
// profiles are being monitored. // profiles are being monitored.
scoped_observer_.Add(manager); scoped_observer_.Add(identity_manager);
// If the status is unknown, it means this is the first created // If the status is unknown, it means this is the first created
// SigninManagerBase and the corresponding profile should be the only opened // IdentityManager and the corresponding profile should be the only opened
// profile. // profile.
if (signin_status() == UNKNOWN_SIGNIN_STATUS) { if (signin_status() == UNKNOWN_SIGNIN_STATUS) {
size_t signed_in_count = manager->IsAuthenticated() ? 1 : 0; size_t signed_in_count = identity_manager->HasPrimaryAccount() ? 1 : 0;
UpdateInitialSigninStatus(1, signed_in_count); UpdateInitialSigninStatus(1, signed_in_count);
} }
} }
void SigninStatusMetricsProvider::OnSigninManagerShutdown( void SigninStatusMetricsProvider::OnIdentityManagerShutdown(
SigninManagerBase* manager) { identity::IdentityManager* identity_manager) {
if (scoped_observer_.IsObserving(manager)) if (scoped_observer_.IsObserving(identity_manager))
scoped_observer_.Remove(manager); scoped_observer_.Remove(identity_manager);
} }
void SigninStatusMetricsProvider::GoogleSigninSucceeded( void SigninStatusMetricsProvider::OnPrimaryAccountSet(
const AccountInfo& account_info) { const AccountInfo& account_info) {
SigninStatus recorded_signin_status = signin_status(); SigninStatus recorded_signin_status = signin_status();
if (recorded_signin_status == ALL_PROFILES_NOT_SIGNED_IN) { if (recorded_signin_status == ALL_PROFILES_NOT_SIGNED_IN) {
...@@ -87,7 +86,7 @@ void SigninStatusMetricsProvider::GoogleSigninSucceeded( ...@@ -87,7 +86,7 @@ void SigninStatusMetricsProvider::GoogleSigninSucceeded(
} }
} }
void SigninStatusMetricsProvider::GoogleSignedOut( void SigninStatusMetricsProvider::OnPrimaryAccountCleared(
const AccountInfo& account_info) { const AccountInfo& account_info) {
SigninStatus recorded_signin_status = signin_status(); SigninStatus recorded_signin_status = signin_status();
if (recorded_signin_status == ALL_PROFILES_SIGNED_IN) { if (recorded_signin_status == ALL_PROFILES_SIGNED_IN) {
...@@ -102,13 +101,14 @@ void SigninStatusMetricsProvider::GoogleSignedOut( ...@@ -102,13 +101,14 @@ void SigninStatusMetricsProvider::GoogleSignedOut(
void SigninStatusMetricsProvider::Initialize() { void SigninStatusMetricsProvider::Initialize() {
delegate_->Initialize(); delegate_->Initialize();
// Start observing all already-created SigninManagers. // Start observing all already-created IdentityManagers.
for (SigninManager* manager : delegate_->GetSigninManagersForAllAccounts()) { for (identity::IdentityManager* manager :
delegate_->GetIdentityManagersForAllAccounts()) {
DCHECK(!scoped_observer_.IsObserving(manager)); DCHECK(!scoped_observer_.IsObserving(manager));
scoped_observer_.Add(manager); scoped_observer_.Add(manager);
} }
// It is possible that when this object is created, no SigninManager is // It is possible that when this object is created, no IdentityManager is
// created yet, for example, when Chrome is opened for the first time after // created yet, for example, when Chrome is opened for the first time after
// installation on desktop, or when Chrome on Android is loaded into memory. // installation on desktop, or when Chrome on Android is loaded into memory.
if (delegate_->GetStatusOfAllAccounts().num_accounts == 0) { if (delegate_->GetStatusOfAllAccounts().num_accounts == 0) {
......
...@@ -14,9 +14,9 @@ ...@@ -14,9 +14,9 @@
#include "base/memory/weak_ptr.h" #include "base/memory/weak_ptr.h"
#include "base/scoped_observer.h" #include "base/scoped_observer.h"
#include "build/build_config.h" #include "build/build_config.h"
#include "components/signin/core/browser/signin_manager_base.h"
#include "components/signin/core/browser/signin_status_metrics_provider_base.h" #include "components/signin/core/browser/signin_status_metrics_provider_base.h"
#include "components/signin/core/browser/signin_status_metrics_provider_delegate.h" #include "components/signin/core/browser/signin_status_metrics_provider_delegate.h"
#include "services/identity/public/cpp/identity_manager.h"
namespace metrics { namespace metrics {
class ChromeUserMetricsExtension; class ChromeUserMetricsExtension;
...@@ -28,7 +28,7 @@ class SigninStatusMetricsProviderDelegate; ...@@ -28,7 +28,7 @@ class SigninStatusMetricsProviderDelegate;
// record the value into a histogram before UMA log is uploaded on platform // record the value into a histogram before UMA log is uploaded on platform
// Windows, Linux, Mac and Android. // Windows, Linux, Mac and Android.
class SigninStatusMetricsProvider : public SigninStatusMetricsProviderBase, class SigninStatusMetricsProvider : public SigninStatusMetricsProviderBase,
public SigninManagerBase::Observer { public identity::IdentityManager::Observer {
public: public:
~SigninStatusMetricsProvider() override; ~SigninStatusMetricsProvider() override;
...@@ -40,11 +40,11 @@ class SigninStatusMetricsProvider : public SigninStatusMetricsProviderBase, ...@@ -40,11 +40,11 @@ class SigninStatusMetricsProvider : public SigninStatusMetricsProviderBase,
static std::unique_ptr<SigninStatusMetricsProvider> CreateInstance( static std::unique_ptr<SigninStatusMetricsProvider> CreateInstance(
std::unique_ptr<SigninStatusMetricsProviderDelegate> delegate); std::unique_ptr<SigninStatusMetricsProviderDelegate> delegate);
// Update the sign-in status when a SigninManager is created. // Update the sign-in status when a IdentityManager is created.
void OnSigninManagerCreated(SigninManagerBase* manager); void OnIdentityManagerCreated(identity::IdentityManager* identity_manager);
// Update the sign-in status when a SigninManager is shut down. // Update the sign-in status when a IdentityManager is shut down.
void OnSigninManagerShutdown(SigninManagerBase* manager); void OnIdentityManagerShutdown(identity::IdentityManager* identity_manager);
// Updates the initial sign-in status. For testing purpose only. // Updates the initial sign-in status. For testing purpose only.
void UpdateInitialSigninStatusForTesting(size_t total_count, void UpdateInitialSigninStatusForTesting(size_t total_count,
...@@ -57,8 +57,9 @@ class SigninStatusMetricsProvider : public SigninStatusMetricsProviderBase, ...@@ -57,8 +57,9 @@ class SigninStatusMetricsProvider : public SigninStatusMetricsProviderBase,
FRIEND_TEST_ALL_PREFIXES(SigninStatusMetricsProviderTest, FRIEND_TEST_ALL_PREFIXES(SigninStatusMetricsProviderTest,
UpdateInitialSigninStatus); UpdateInitialSigninStatus);
FRIEND_TEST_ALL_PREFIXES(SigninStatusMetricsProviderTest, FRIEND_TEST_ALL_PREFIXES(SigninStatusMetricsProviderTest,
GoogleSigninSucceeded); OnPrimaryAccountSet);
FRIEND_TEST_ALL_PREFIXES(SigninStatusMetricsProviderTest, GoogleSignedOut); FRIEND_TEST_ALL_PREFIXES(SigninStatusMetricsProviderTest,
OnPrimaryAccountCleared);
// The boolean |is_test| indicates whether or not this is an instance for // The boolean |is_test| indicates whether or not this is an instance for
// testing purpose. If so, skip the initialization. Except for testing // testing purpose. If so, skip the initialization. Except for testing
...@@ -68,9 +69,9 @@ class SigninStatusMetricsProvider : public SigninStatusMetricsProviderBase, ...@@ -68,9 +69,9 @@ class SigninStatusMetricsProvider : public SigninStatusMetricsProviderBase,
std::unique_ptr<SigninStatusMetricsProviderDelegate> delegate, std::unique_ptr<SigninStatusMetricsProviderDelegate> delegate,
bool is_test); bool is_test);
// SigninManagerBase::Observer: // IdentityManager::Observer:
void GoogleSigninSucceeded(const AccountInfo& account_info) override; void OnPrimaryAccountSet(const AccountInfo& account_info) override;
void GoogleSignedOut(const AccountInfo& account_info) override; void OnPrimaryAccountCleared(const AccountInfo& account_info) override;
// Obtain sign-in status and add observers. // Obtain sign-in status and add observers.
void Initialize(); void Initialize();
...@@ -87,9 +88,9 @@ class SigninStatusMetricsProvider : public SigninStatusMetricsProviderBase, ...@@ -87,9 +88,9 @@ class SigninStatusMetricsProvider : public SigninStatusMetricsProviderBase,
std::unique_ptr<SigninStatusMetricsProviderDelegate> delegate_; std::unique_ptr<SigninStatusMetricsProviderDelegate> delegate_;
// Used to track the SigninManagers that this instance is observing so that // Used to track the IdentityManagers that this instance is observing so that
// this instance can be removed as an observer on its destruction. // this instance can be removed as an observer on its destruction.
ScopedObserver<SigninManagerBase, SigninManagerBase::Observer> ScopedObserver<identity::IdentityManager, identity::IdentityManager::Observer>
scoped_observer_; scoped_observer_;
// Whether the instance is for testing or not. // Whether the instance is for testing or not.
......
...@@ -12,9 +12,12 @@ ...@@ -12,9 +12,12 @@
#include "base/macros.h" #include "base/macros.h"
#include "build/build_config.h" #include "build/build_config.h"
class SigninManager;
class SigninStatusMetricsProvider; class SigninStatusMetricsProvider;
namespace identity {
class IdentityManager;
}
// Provides information relating to the status of accounts in the embedder: how // Provides information relating to the status of accounts in the embedder: how
// many there are, how many are open, and how many are signed in. Note that // many there are, how many are open, and how many are signed in. Note that
// "open" is an embedder-defined concept; in some embedders, all accounts are // "open" is an embedder-defined concept; in some embedders, all accounts are
...@@ -44,8 +47,9 @@ class SigninStatusMetricsProviderDelegate { ...@@ -44,8 +47,9 @@ class SigninStatusMetricsProviderDelegate {
// Returns the status of all accounts. // Returns the status of all accounts.
virtual AccountsStatus GetStatusOfAllAccounts() = 0; virtual AccountsStatus GetStatusOfAllAccounts() = 0;
// Returns the SigninManager instance (if any) associated with each account. // Returns the IdentityManager instance (if any) associated with each account.
virtual std::vector<SigninManager*> GetSigninManagersForAllAccounts() = 0; virtual std::vector<identity::IdentityManager*>
GetIdentityManagersForAllAccounts() = 0;
protected: protected:
SigninStatusMetricsProvider* owner() { return owner_; } SigninStatusMetricsProvider* owner() { return owner_; }
......
...@@ -22,34 +22,34 @@ TEST(SigninStatusMetricsProviderTest, UpdateInitialSigninStatus) { ...@@ -22,34 +22,34 @@ TEST(SigninStatusMetricsProviderTest, UpdateInitialSigninStatus) {
metrics_provider.GetSigninStatusForTesting()); metrics_provider.GetSigninStatusForTesting());
} }
TEST(SigninStatusMetricsProviderTest, GoogleSigninSucceeded) { TEST(SigninStatusMetricsProviderTest, OnPrimaryAccountSet) {
SigninStatusMetricsProvider metrics_provider(nullptr, true); SigninStatusMetricsProvider metrics_provider(nullptr, true);
// Initial status is all signed out and then one of the profiles is signed in. // Initial status is all signed out and then one of the profiles is signed in.
metrics_provider.UpdateInitialSigninStatus(2, 0); metrics_provider.UpdateInitialSigninStatus(2, 0);
metrics_provider.GoogleSigninSucceeded(AccountInfo()); metrics_provider.OnPrimaryAccountSet(AccountInfo());
EXPECT_EQ(SigninStatusMetricsProviderBase::MIXED_SIGNIN_STATUS, EXPECT_EQ(SigninStatusMetricsProviderBase::MIXED_SIGNIN_STATUS,
metrics_provider.GetSigninStatusForTesting()); metrics_provider.GetSigninStatusForTesting());
// Initial status is mixed and then one of the profiles is signed in. // Initial status is mixed and then one of the profiles is signed in.
metrics_provider.UpdateInitialSigninStatus(2, 1); metrics_provider.UpdateInitialSigninStatus(2, 1);
metrics_provider.GoogleSigninSucceeded(AccountInfo()); metrics_provider.OnPrimaryAccountSet(AccountInfo());
EXPECT_EQ(SigninStatusMetricsProviderBase::MIXED_SIGNIN_STATUS, EXPECT_EQ(SigninStatusMetricsProviderBase::MIXED_SIGNIN_STATUS,
metrics_provider.GetSigninStatusForTesting()); metrics_provider.GetSigninStatusForTesting());
} }
TEST(SigninStatusMetricsProviderTest, GoogleSignedOut) { TEST(SigninStatusMetricsProviderTest, OnPrimaryAccountCleared) {
SigninStatusMetricsProvider metrics_provider(nullptr, true); SigninStatusMetricsProvider metrics_provider(nullptr, true);
// Initial status is all signed in and then one of the profiles is signed out. // Initial status is all signed in and then one of the profiles is signed out.
metrics_provider.UpdateInitialSigninStatus(2, 2); metrics_provider.UpdateInitialSigninStatus(2, 2);
metrics_provider.GoogleSignedOut(AccountInfo()); metrics_provider.OnPrimaryAccountCleared(AccountInfo());
EXPECT_EQ(SigninStatusMetricsProviderBase::MIXED_SIGNIN_STATUS, EXPECT_EQ(SigninStatusMetricsProviderBase::MIXED_SIGNIN_STATUS,
metrics_provider.GetSigninStatusForTesting()); metrics_provider.GetSigninStatusForTesting());
// Initial status is mixed and then one of the profiles is signed out. // Initial status is mixed and then one of the profiles is signed out.
metrics_provider.UpdateInitialSigninStatus(2, 1); metrics_provider.UpdateInitialSigninStatus(2, 1);
metrics_provider.GoogleSignedOut(AccountInfo()); metrics_provider.OnPrimaryAccountCleared(AccountInfo());
EXPECT_EQ(SigninStatusMetricsProviderBase::MIXED_SIGNIN_STATUS, EXPECT_EQ(SigninStatusMetricsProviderBase::MIXED_SIGNIN_STATUS,
metrics_provider.GetSigninStatusForTesting()); metrics_provider.GetSigninStatusForTesting());
} }
...@@ -4,13 +4,11 @@ ...@@ -4,13 +4,11 @@
#include "ios/chrome/browser/signin/ios_chrome_signin_status_metrics_provider_delegate.h" #include "ios/chrome/browser/signin/ios_chrome_signin_status_metrics_provider_delegate.h"
#include "components/signin/core/browser/signin_manager.h"
#include "components/signin/core/browser/signin_status_metrics_provider.h" #include "components/signin/core/browser/signin_status_metrics_provider.h"
#include "ios/chrome/browser/application_context.h" #include "ios/chrome/browser/application_context.h"
#include "ios/chrome/browser/browser_state/chrome_browser_state.h" #include "ios/chrome/browser/browser_state/chrome_browser_state.h"
#include "ios/chrome/browser/browser_state/chrome_browser_state_manager.h" #include "ios/chrome/browser/browser_state/chrome_browser_state_manager.h"
#include "ios/chrome/browser/signin/identity_manager_factory.h" #include "ios/chrome/browser/signin/identity_manager_factory.h"
#include "ios/chrome/browser/signin/signin_manager_factory.h"
#include "services/identity/public/cpp/identity_manager.h" #include "services/identity/public/cpp/identity_manager.h"
IOSChromeSigninStatusMetricsProviderDelegate:: IOSChromeSigninStatusMetricsProviderDelegate::
...@@ -18,13 +16,13 @@ IOSChromeSigninStatusMetricsProviderDelegate:: ...@@ -18,13 +16,13 @@ IOSChromeSigninStatusMetricsProviderDelegate::
IOSChromeSigninStatusMetricsProviderDelegate:: IOSChromeSigninStatusMetricsProviderDelegate::
~IOSChromeSigninStatusMetricsProviderDelegate() { ~IOSChromeSigninStatusMetricsProviderDelegate() {
ios::SigninManagerFactory* factory = ios::SigninManagerFactory::GetInstance(); IdentityManagerFactory* factory = IdentityManagerFactory::GetInstance();
if (factory) if (factory)
factory->RemoveObserver(this); factory->RemoveObserver(this);
} }
void IOSChromeSigninStatusMetricsProviderDelegate::Initialize() { void IOSChromeSigninStatusMetricsProviderDelegate::Initialize() {
ios::SigninManagerFactory* factory = ios::SigninManagerFactory::GetInstance(); IdentityManagerFactory* factory = IdentityManagerFactory::GetInstance();
if (factory) if (factory)
factory->AddObserver(this); factory->AddObserver(this);
} }
...@@ -47,13 +45,14 @@ IOSChromeSigninStatusMetricsProviderDelegate::GetStatusOfAllAccounts() { ...@@ -47,13 +45,14 @@ IOSChromeSigninStatusMetricsProviderDelegate::GetStatusOfAllAccounts() {
return accounts_status; return accounts_status;
} }
std::vector<SigninManager*> IOSChromeSigninStatusMetricsProviderDelegate:: std::vector<identity::IdentityManager*>
GetSigninManagersForAllAccounts() { IOSChromeSigninStatusMetricsProviderDelegate::
std::vector<SigninManager*> managers; GetIdentityManagersForAllAccounts() {
std::vector<identity::IdentityManager*> managers;
for (ios::ChromeBrowserState* browser_state : for (ios::ChromeBrowserState* browser_state :
GetLoadedChromeBrowserStates()) { GetLoadedChromeBrowserStates()) {
SigninManager* manager = identity::IdentityManager* manager =
ios::SigninManagerFactory::GetForBrowserStateIfExists(browser_state); IdentityManagerFactory::GetForBrowserStateIfExists(browser_state);
if (manager) { if (manager) {
managers.push_back(manager); managers.push_back(manager);
} }
...@@ -62,14 +61,14 @@ std::vector<SigninManager*> IOSChromeSigninStatusMetricsProviderDelegate:: ...@@ -62,14 +61,14 @@ std::vector<SigninManager*> IOSChromeSigninStatusMetricsProviderDelegate::
return managers; return managers;
} }
void IOSChromeSigninStatusMetricsProviderDelegate::SigninManagerCreated( void IOSChromeSigninStatusMetricsProviderDelegate::IdentityManagerCreated(
SigninManager* manager) { identity::IdentityManager* manager) {
owner()->OnSigninManagerCreated(manager); owner()->OnIdentityManagerCreated(manager);
} }
void IOSChromeSigninStatusMetricsProviderDelegate::SigninManagerShutdown( void IOSChromeSigninStatusMetricsProviderDelegate::IdentityManagerShutdown(
SigninManager* manager) { identity::IdentityManager* manager) {
owner()->OnSigninManagerShutdown(manager); owner()->OnIdentityManagerShutdown(manager);
} }
std::vector<ios::ChromeBrowserState*> std::vector<ios::ChromeBrowserState*>
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
#include "base/macros.h" #include "base/macros.h"
#include "components/signin/core/browser/signin_status_metrics_provider_delegate.h" #include "components/signin/core/browser/signin_status_metrics_provider_delegate.h"
#include "ios/chrome/browser/signin/signin_manager_factory_observer.h" #include "ios/chrome/browser/signin/identity_manager_factory_observer.h"
namespace ios { namespace ios {
class ChromeBrowserState; class ChromeBrowserState;
...@@ -17,7 +17,7 @@ class ChromeBrowserState; ...@@ -17,7 +17,7 @@ class ChromeBrowserState;
class IOSChromeSigninStatusMetricsProviderDelegate class IOSChromeSigninStatusMetricsProviderDelegate
: public SigninStatusMetricsProviderDelegate, : public SigninStatusMetricsProviderDelegate,
public SigninManagerFactoryObserver { public IdentityManagerFactoryObserver {
public: public:
IOSChromeSigninStatusMetricsProviderDelegate(); IOSChromeSigninStatusMetricsProviderDelegate();
~IOSChromeSigninStatusMetricsProviderDelegate() override; ~IOSChromeSigninStatusMetricsProviderDelegate() override;
...@@ -26,11 +26,12 @@ class IOSChromeSigninStatusMetricsProviderDelegate ...@@ -26,11 +26,12 @@ class IOSChromeSigninStatusMetricsProviderDelegate
// SigninStatusMetricsProviderDelegate implementation. // SigninStatusMetricsProviderDelegate implementation.
void Initialize() override; void Initialize() override;
AccountsStatus GetStatusOfAllAccounts() override; AccountsStatus GetStatusOfAllAccounts() override;
std::vector<SigninManager*> GetSigninManagersForAllAccounts() override; std::vector<identity::IdentityManager*> GetIdentityManagersForAllAccounts()
override;
// SigninManagerFactoryObserver implementation. // IdentityManagerFactoryObserver implementation.
void SigninManagerCreated(SigninManager* manager) override; void IdentityManagerCreated(identity::IdentityManager* manager) override;
void SigninManagerShutdown(SigninManager* manager) override; void IdentityManagerShutdown(identity::IdentityManager* manager) override;
// Returns the loaded ChromeBrowserState instances. // Returns the loaded ChromeBrowserState instances.
std::vector<ios::ChromeBrowserState*> GetLoadedChromeBrowserStates(); std::vector<ios::ChromeBrowserState*> GetLoadedChromeBrowserStates();
......
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