Commit 2f094883 authored by Mario Sanchez Prada's avatar Mario Sanchez Prada Committed by Commit Bot

Convert SyncEngine to IdentityManager::Observer

Converted implementations for GoogleSigninFailed, GoogleSigninSucceeded
and GoogleSignedOut, and updated unit tests accordingly.

Bug: 887457
Change-Id: I9ced1e6e5b91d5b05dd10b4520201b48e202fe75
Reviewed-on: https://chromium-review.googlesource.com/c/1286824Reviewed-by: default avatarColin Blundell <blundell@chromium.org>
Reviewed-by: default avatarTaiju Tsuiki <tzik@chromium.org>
Commit-Queue: Mario Sanchez Prada <mario@igalia.com>
Cr-Commit-Position: refs/heads/master@{#605365}
parent cd05804c
......@@ -18,6 +18,7 @@
#include "chrome/browser/sync_file_system/sync_file_system_service.h"
#include "chrome/browser/sync_file_system/sync_file_system_service_factory.h"
#include "components/drive/service/fake_drive_service.h"
#include "components/signin/core/browser/account_info.h"
#include "extensions/test/extension_test_message_listener.h"
#include "extensions/test/result_catcher.h"
#include "services/identity/public/cpp/identity_manager.h"
......@@ -28,6 +29,9 @@ namespace sync_file_system {
namespace {
const char kGaiaId[] = "gaia_id";
const char kEmail[] = "email@example.com";
class FakeDriveServiceFactory
: public drive_backend::SyncEngine::DriveServiceFactory {
public:
......@@ -117,8 +121,9 @@ class SyncFileSystemTest : public extensions::PlatformAppBrowserTest,
}
void SignIn() {
fake_signin_manager_->SetAuthenticatedAccountInfo("12345", "tester");
sync_engine()->GoogleSigninSucceeded("12345", "tester");
fake_signin_manager_->SetAuthenticatedAccountInfo(kGaiaId, kEmail);
sync_engine()->OnPrimaryAccountSet(
fake_signin_manager_->GetAuthenticatedAccountInfo());
}
void SetSyncEnabled(bool enabled) {
......@@ -169,7 +174,10 @@ IN_PROC_BROWSER_TEST_F(SyncFileSystemTest, AuthorizationTest) {
// service. Wait for the completion and resume the app.
WaitUntilIdle();
sync_engine()->GoogleSignedOut("test_account", std::string());
AccountInfo info;
info.account_id = kGaiaId;
info.account_id = kEmail;
sync_engine()->OnPrimaryAccountCleared(info);
foo_created.Reply("resume");
ASSERT_TRUE(bar_created.WaitUntilSatisfied());
......@@ -182,7 +190,7 @@ IN_PROC_BROWSER_TEST_F(SyncFileSystemTest, AuthorizationTest) {
EXPECT_EQ(REMOTE_SERVICE_AUTHENTICATION_REQUIRED,
sync_engine()->GetCurrentState());
sync_engine()->GoogleSigninSucceeded("test_account", "tester");
sync_engine()->OnPrimaryAccountSet(info);
WaitUntilIdle();
bar_created.Reply("resume");
......
......@@ -244,8 +244,8 @@ SyncEngine::~SyncEngine() {
Reset();
content::GetNetworkConnectionTracker()->RemoveNetworkConnectionObserver(this);
if (signin_manager_)
signin_manager_->RemoveObserver(this);
if (identity_manager_)
identity_manager_->RemoveObserver(this);
if (notification_manager_)
notification_manager_->RemoveObserver(this);
}
......@@ -706,19 +706,19 @@ void SyncEngine::OnConnectionChanged(network::mojom::ConnectionType type) {
}
}
void SyncEngine::GoogleSigninFailed(const GoogleServiceAuthError& error) {
void SyncEngine::OnPrimaryAccountSigninFailed(
const GoogleServiceAuthError& error) {
Reset();
UpdateServiceState(REMOTE_SERVICE_AUTHENTICATION_REQUIRED,
"Failed to sign in.");
}
void SyncEngine::GoogleSigninSucceeded(const std::string& account_id,
const std::string& username) {
void SyncEngine::OnPrimaryAccountSet(const AccountInfo& primary_account_info) {
Initialize();
}
void SyncEngine::GoogleSignedOut(const std::string& account_id,
const std::string& username) {
void SyncEngine::OnPrimaryAccountCleared(
const AccountInfo& previous_primary_account_info) {
Reset();
UpdateServiceState(REMOTE_SERVICE_AUTHENTICATION_REQUIRED,
"User signed out.");
......@@ -758,8 +758,8 @@ SyncEngine::SyncEngine(
DCHECK(sync_file_system_dir_.IsAbsolute());
if (notification_manager_)
notification_manager_->AddObserver(this);
if (signin_manager_)
signin_manager_->AddObserver(this);
if (identity_manager_)
identity_manager_->AddObserver(this);
content::GetNetworkConnectionTracker()->AddNetworkConnectionObserver(this);
}
......
......@@ -20,7 +20,9 @@
#include "chrome/browser/sync_file_system/sync_direction.h"
#include "components/drive/drive_notification_observer.h"
#include "components/drive/service/drive_service_interface.h"
#include "components/signin/core/browser/account_info.h"
#include "components/signin/core/browser/signin_manager_base.h"
#include "services/identity/public/cpp/identity_manager.h"
#include "services/network/public/cpp/network_connection_tracker.h"
#include "services/network/public/cpp/shared_url_loader_factory.h"
......@@ -38,10 +40,6 @@ namespace extensions {
class ExtensionServiceInterface;
}
namespace identity {
class IdentityManager;
}
namespace leveldb {
class Env;
}
......@@ -68,8 +66,8 @@ class SyncEngine
public LocalChangeProcessor,
public drive::DriveNotificationObserver,
public drive::DriveServiceObserver,
public network::NetworkConnectionTracker::NetworkConnectionObserver,
public SigninManagerBase::Observer {
public identity::IdentityManager::Observer,
public network::NetworkConnectionTracker::NetworkConnectionObserver {
public:
typedef RemoteFileSyncService::Observer SyncServiceObserver;
......@@ -149,12 +147,12 @@ class SyncEngine
// network::NetworkConnectionTracker::NetworkConnectionObserver overrides.
void OnConnectionChanged(network::mojom::ConnectionType type) override;
// SigninManagerBase::Observer overrides.
void GoogleSigninFailed(const GoogleServiceAuthError& error) override;
void GoogleSigninSucceeded(const std::string& account_id,
const std::string& username) override;
void GoogleSignedOut(const std::string& account_id,
const std::string& username) override;
// IdentityManager::Observer overrides.
void OnPrimaryAccountSet(const AccountInfo& primary_account_info) override;
void OnPrimaryAccountCleared(
const AccountInfo& previous_primary_account_info) override;
void OnPrimaryAccountSigninFailed(
const GoogleServiceAuthError& error) override;
private:
class WorkerObserver;
......
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