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

Unified Diff: chrome/browser/chromeos/arc/arc_auth_service.h

Issue 2108643007: Revert of arc: Implement silent OptIn mode for managed Arc. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 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/arc/arc_auth_service.h
diff --git a/chrome/browser/chromeos/arc/arc_auth_service.h b/chrome/browser/chromeos/arc/arc_auth_service.h
index fdef0adb56625b90348d21ab8a0f3e37dc0c506e..2fa5cae82739cb5bd73956837754b6d2d00e35ff 100644
--- a/chrome/browser/chromeos/arc/arc_auth_service.h
+++ b/chrome/browser/chromeos/arc/arc_auth_service.h
@@ -13,30 +13,38 @@
#include "base/memory/weak_ptr.h"
#include "base/observer_list.h"
#include "chrome/browser/chromeos/arc/arc_android_management_checker_delegate.h"
-#include "chrome/browser/chromeos/arc/arc_auth_context_delegate.h"
#include "components/arc/arc_bridge_service.h"
#include "components/arc/arc_service.h"
#include "components/arc/common/auth.mojom.h"
#include "components/prefs/pref_change_registrar.h"
#include "components/syncable_prefs/pref_service_syncable_observer.h"
#include "components/syncable_prefs/synced_pref_observer.h"
+#include "google_apis/gaia/ubertoken_fetcher.h"
#include "mojo/public/cpp/bindings/binding.h"
+class ArcAndroidManagementChecker;
class ArcAppLauncher;
+class GaiaAuthFetcher;
class Profile;
+class ProfileOAuth2TokenService;
namespace ash {
class ShelfDelegate;
}
+namespace content {
+class StoragePartition;
+}
+
+namespace net {
+class URLRequestContextGetter;
+}
+
namespace user_prefs {
class PrefRegistrySyncable;
}
namespace arc {
-
-class ArcAndroidManagementChecker;
-class ArcAuthContext;
// This class proxies the request from the client to fetch an auth code from
// LSO.
@@ -44,7 +52,8 @@
public mojom::AuthHost,
public ArcBridgeService::Observer,
public ArcAndroidManagementCheckerDelegate,
- public ArcAuthContextDelegate,
+ public UbertokenConsumer,
+ public GaiaAuthConsumer,
public syncable_prefs::PrefServiceSyncableObserver,
public syncable_prefs::SyncedPrefObserver {
public:
@@ -151,15 +160,19 @@
void EnableArc();
void DisableArc();
+ // UbertokenConsumer:
+ void OnUbertokenSuccess(const std::string& token) override;
+ void OnUbertokenFailure(const GoogleServiceAuthError& error) override;
+
+ // GaiaAuthConsumer:
+ void OnMergeSessionSuccess(const std::string& data) override;
+ void OnMergeSessionFailure(const GoogleServiceAuthError& error) override;
+
// syncable_prefs::PrefServiceSyncableObserver
void OnIsSyncingChanged() override;
// syncable_prefs::SyncedPrefObserver
void OnSyncedPrefChanged(const std::string& path, bool from_sync) override;
-
- // ArcAuthContextDelegate:
- void OnContextReady() override;
- void OnPrepareContextFailed() override;
// ArcAndroidManagementCheckerDelegate:
void OnAndroidManagementChecked(
@@ -173,6 +186,7 @@
private:
void StartArc();
+ void PrepareContext();
void ShowUI(UIPage page, const base::string16& status);
void CloseUI();
void SetUIPage(UIPage page, const base::string16& status);
@@ -182,12 +196,16 @@
void ShutdownBridgeAndShowUI(UIPage page, const base::string16& status);
void OnOptInPreferenceChanged();
void StartUI();
+ void OnPrepareContextFailed();
void StartAndroidManagementClient();
void CheckAndroidManagement(bool background_mode);
void StartArcIfSignedIn();
// Unowned pointer. Keeps current profile.
Profile* profile_ = nullptr;
+ // Owned by content::BrowserContent. Used to isolate cookies for auth server
+ // communication and shared with Arc OptIn UI platform app.
+ content::StoragePartition* storage_partition_ = nullptr;
// Registrar used to monitor ARC enabled state.
PrefChangeRegistrar pref_change_registrar_;
@@ -195,16 +213,20 @@
mojo::Binding<AuthHost> binding_;
State state_ = State::NOT_INITIALIZED;
base::ObserverList<Observer> observer_list_;
+ std::unique_ptr<GaiaAuthFetcher> merger_fetcher_;
+ std::unique_ptr<UbertokenFetcher> ubertoken_fetcher_;
std::unique_ptr<ArcAppLauncher> playstore_launcher_;
std::string auth_code_;
GetAuthCodeCallback auth_callback_;
bool initial_opt_in_ = false;
+ bool context_prepared_ = false;
bool disable_arc_from_ui_ = false;
UIPage ui_page_ = UIPage::NO_PAGE;
base::string16 ui_page_status_;
bool clear_required_ = false;
- std::unique_ptr<ArcAuthContext> context_;
+ ProfileOAuth2TokenService* token_service_;
+ std::string account_id_;
std::unique_ptr<ArcAndroidManagementChecker> android_management_checker_;
base::WeakPtrFactory<ArcAuthService> weak_ptr_factory_;
« no previous file with comments | « chrome/browser/chromeos/arc/arc_auth_context_delegate.h ('k') | chrome/browser/chromeos/arc/arc_auth_service.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698