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

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

Issue 1681813003: arc: Use incognito profile for OptIn and cookie fetcher (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 10 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 1e3eea4b649ee1c6aa77fa3a40d901b9721ffc6b..a5ee3623583c47bb8663a99607a7f5445c8e58d3 100644
--- a/chrome/browser/chromeos/arc/arc_auth_service.h
+++ b/chrome/browser/chromeos/arc/arc_auth_service.h
@@ -16,11 +16,19 @@
#include "components/arc/auth/arc_auth_fetcher.h"
#include "components/arc/common/auth.mojom.h"
#include "components/prefs/pref_change_registrar.h"
+#include "google_apis/gaia/gaia_auth_consumer.h"
+#include "google_apis/gaia/ubertoken_fetcher.h"
#include "mojo/public/cpp/bindings/binding.h"
+#include "net/cookies/canonical_cookie.h"
+class GaiaAuthFetcher;
class PrefService;
class Profile;
+namespace net {
+class URLRequestContextGetter;
+}
+
namespace user_prefs {
class PrefRegistrySyncable;
}
@@ -33,7 +41,9 @@ class ArcAuthService : public ArcService,
public AuthHost,
public ArcBridgeService::Observer,
public ArcAuthFetcher::Delegate,
- public ArcAuthUI::Delegate {
+ public ArcAuthUI::Delegate,
+ public UbertokenConsumer,
+ public GaiaAuthConsumer {
public:
enum class State {
DISABLE, // ARC is not allowed to run (default).
@@ -88,17 +98,46 @@ class ArcAuthService : public ArcService,
void OnAuthCodeFailed() override;
// ArcAuthUI::Delegate:
+ void OnAuthCodeFetchedFromUI(const std::string& auth_code) override;
void OnAuthUIClosed() override;
+ // 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;
+
private:
void FetchAuthCode();
+ void ShowUI();
void CloseUI();
void SetState(State state);
void ShutdownBridgeAndCloseUI();
void OnOptInPreferenceChanged();
+ void CopyCookiesAndStartFetching();
+ void StartFetcherOnUIThread();
+ void CleanupSigninProfile();
+
+ void StartCopyFromArcCookiesOnIOThread(
+ net::URLRequestContextGetter* context_getter_from,
+ net::URLRequestContextGetter* context_getter_to);
+ void CopyFromArcCookiesOnIOThread(
+ net::URLRequestContextGetter* context_getter,
+ const net::CookieList& cookie_list);
+ void StartCopyToArcCookiesOnIOThread(
+ const std::string& auth_code,
+ net::URLRequestContextGetter* context_getter_from,
+ net::URLRequestContextGetter* context_getter_to);
+ void CopyToArcCookiesOnIOThread(const std::string& auth_code,
+ net::URLRequestContextGetter* context_getter,
+ const net::CookieList& cookie_list);
// Unowned pointer. Keeps current profile.
Profile* profile_ = nullptr;
+ // Unowned pointer. Keeps sign-in profile.
+ Profile* signin_profile_ = nullptr;
// Owned by view hierarchy.
ArcAuthUI* auth_ui_ = nullptr;
@@ -111,7 +150,11 @@ class ArcAuthService : public ArcService,
State state_ = State::DISABLE;
base::ObserverList<Observer> observer_list_;
scoped_ptr<ArcAuthFetcher> auth_fetcher_;
+ scoped_ptr<GaiaAuthFetcher> merger_fetcher_;
+ scoped_ptr<UbertokenFetcher> ubertoken_fethcher_;
std::string auth_code_;
+ bool signin_profile_dirty_ = false;
+ int retry_cnt_ = 0;
DISALLOW_COPY_AND_ASSIGN(ArcAuthService);
};
« no previous file with comments | « no previous file | chrome/browser/chromeos/arc/arc_auth_service.cc » ('j') | chrome/browser/chromeos/arc/arc_auth_service.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698