Index: chrome/browser/profiles/profile_downloader.h |
diff --git a/chrome/browser/profiles/profile_downloader.h b/chrome/browser/profiles/profile_downloader.h |
index c21eb30b2e37980f294c6956faaf60f485fa461c..302e27783abb4976d60da0dfaaeee18130838e07 100644 |
--- a/chrome/browser/profiles/profile_downloader.h |
+++ b/chrome/browser/profiles/profile_downloader.h |
@@ -12,7 +12,7 @@ |
#include "base/memory/scoped_ptr.h" |
#include "base/strings/string16.h" |
#include "chrome/browser/image_decoder.h" |
-#include "google_apis/gaia/gaia_oauth_client.h" |
+#include "components/signin/core/browser/account_tracker_service.h" |
#include "google_apis/gaia/oauth2_token_service.h" |
#include "net/url_request/url_fetcher_delegate.h" |
#include "third_party/skia/include/core/SkBitmap.h" |
@@ -27,11 +27,11 @@ class URLFetcher; |
// Downloads user profile information. The profile picture is decoded in a |
// sandboxed process. |
-class ProfileDownloader : public gaia::GaiaOAuthClient::Delegate, |
- public net::URLFetcherDelegate, |
+class ProfileDownloader : public net::URLFetcherDelegate, |
public ImageDecoder::ImageRequest, |
public OAuth2TokenService::Observer, |
- public OAuth2TokenService::Consumer { |
+ public OAuth2TokenService::Consumer, |
+ public AccountTrackerService::Observer { |
public: |
enum PictureStatus { |
PICTURE_SUCCESS, |
@@ -82,14 +82,11 @@ class ProfileDownloader : public gaia::GaiaOAuthClient::Delegate, |
private: |
friend class ProfileDownloaderTest; |
- FRIEND_TEST_ALL_PREFIXES(ProfileDownloaderTest, ParseData); |
+ FRIEND_TEST_ALL_PREFIXES(ProfileDownloaderTest, AccountInfoReady); |
+ FRIEND_TEST_ALL_PREFIXES(ProfileDownloaderTest, AccountInfoNotReady); |
FRIEND_TEST_ALL_PREFIXES(ProfileDownloaderTest, DefaultURL); |
- // gaia::GaiaOAuthClient::Delegate implementation. |
- void OnGetUserInfoResponse( |
- scoped_ptr<base::DictionaryValue> user_info) override; |
- void OnOAuthError() override; |
- void OnNetworkError(int response_code) override; |
+ void FetchImageData(); |
// Overriden from net::URLFetcherDelegate: |
void OnURLFetchComplete(const net::URLFetcher* source) override; |
@@ -108,16 +105,11 @@ class ProfileDownloader : public gaia::GaiaOAuthClient::Delegate, |
void OnGetTokenFailure(const OAuth2TokenService::Request* request, |
const GoogleServiceAuthError& error) override; |
- // Parses the entry response and gets the name, profile image URL and locale. |
- // |data| should be the JSON formatted data return by the response. |
- // Returns false to indicate a parsing error. |
- static bool ParseProfileJSON(base::DictionaryValue* root_dictionary, |
- base::string16* full_name, |
- base::string16* given_name, |
- std::string* url, |
- int image_size, |
- std::string* profile_locale, |
- base::string16* hosted_domain); |
+ |
+ // Implementation of AccountTrackerService::Observer. |
+ void OnAccountUpdated( |
+ const AccountTrackerService::AccountInfo& info) override; |
+ |
// Returns true if the image url is url of the default profile picture. |
static bool IsDefaultProfileImageURL(const std::string& url); |
@@ -134,16 +126,13 @@ class ProfileDownloader : public gaia::GaiaOAuthClient::Delegate, |
ProfileDownloaderDelegate* delegate_; |
std::string account_id_; |
std::string auth_token_; |
- scoped_ptr<gaia::GaiaOAuthClient> gaia_client_; |
scoped_ptr<net::URLFetcher> profile_image_fetcher_; |
scoped_ptr<OAuth2TokenService::Request> oauth2_access_token_request_; |
- base::string16 profile_hosted_domain_; |
- base::string16 profile_full_name_; |
- base::string16 profile_given_name_; |
- std::string profile_locale_; |
+ AccountTrackerService::AccountInfo account_info_; |
SkBitmap profile_picture_; |
PictureStatus picture_status_; |
- std::string picture_url_; |
+ AccountTrackerService* account_tracker_service_; |
+ bool waiting_for_account_info_; |
DISALLOW_COPY_AND_ASSIGN(ProfileDownloader); |
}; |