Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / profiles / gaia_info_update_service.h
index 51d54f4..03dc918 100644 (file)
@@ -8,22 +8,23 @@
 #include "base/compiler_specific.h"
 #include "base/gtest_prod_util.h"
 #include "base/memory/scoped_ptr.h"
-#include "base/prefs/pref_member.h"
 #include "base/timer/timer.h"
 #include "chrome/browser/profiles/profile_downloader.h"
 #include "chrome/browser/profiles/profile_downloader_delegate.h"
-#include "components/browser_context_keyed_service/browser_context_keyed_service.h"
+#include "components/keyed_service/core/keyed_service.h"
+#include "components/signin/core/browser/signin_manager.h"
 
 class Profile;
 class ProfileDownloader;
 
 // This service kicks off a download of the user's name and profile picture.
 // The results are saved in the profile info cache.
-class GAIAInfoUpdateService : public ProfileDownloaderDelegate,
-                              public BrowserContextKeyedService {
+class GAIAInfoUpdateService : public KeyedService,
+                              public ProfileDownloaderDelegate,
+                              public SigninManagerBase::Observer {
  public:
   explicit GAIAInfoUpdateService(Profile* profile);
-  virtual ~GAIAInfoUpdateService();
+  ~GAIAInfoUpdateService() override;
 
   // Updates the GAIA info for the profile associated with this instance.
   virtual void Update();
@@ -32,24 +33,33 @@ class GAIAInfoUpdateService : public ProfileDownloaderDelegate,
   static bool ShouldUseGAIAProfileInfo(Profile* profile);
 
   // ProfileDownloaderDelegate:
-  virtual bool NeedsProfilePicture() const OVERRIDE;
-  virtual int GetDesiredImageSideLength() const OVERRIDE;
-  virtual Profile* GetBrowserProfile() OVERRIDE;
-  virtual std::string GetCachedPictureURL() const OVERRIDE;
-  virtual void OnProfileDownloadSuccess(ProfileDownloader* downloader) OVERRIDE;
-  virtual void OnProfileDownloadFailure(
+  bool NeedsProfilePicture() const override;
+  int GetDesiredImageSideLength() const override;
+  Profile* GetBrowserProfile() override;
+  std::string GetCachedPictureURL() const override;
+  void OnProfileDownloadSuccess(ProfileDownloader* downloader) override;
+  void OnProfileDownloadFailure(
       ProfileDownloader* downloader,
-      ProfileDownloaderDelegate::FailureReason reason) OVERRIDE;
+      ProfileDownloaderDelegate::FailureReason reason) override;
+
+  // Overridden from KeyedService:
+  void Shutdown() override;
 
  private:
   FRIEND_TEST_ALL_PREFIXES(GAIAInfoUpdateServiceTest, ScheduleUpdate);
 
-  void OnUsernameChanged();
+  void OnUsernameChanged(const std::string& username);
   void ScheduleNextUpdate();
 
+  // Overridden from SigninManagerBase::Observer:
+  void GoogleSigninSucceeded(const std::string& account_id,
+                             const std::string& username,
+                             const std::string& password) override;
+  void GoogleSignedOut(const std::string& account_id,
+                       const std::string& username) override;
+
   Profile* profile_;
   scoped_ptr<ProfileDownloader> profile_image_downloader_;
-  StringPrefMember username_pref_;
   base::Time last_updated_;
   base::OneShotTimer<GAIAInfoUpdateService> timer_;