Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / metrics / signin_status_metrics_provider.h
index 71caef8..28c8207 100644 (file)
@@ -61,6 +61,7 @@ class SigninStatusMetricsProvider : public metrics::MetricsProvider,
     ALL_PROFILES_NOT_SIGNED_IN,
     MIXED_SIGNIN_STATUS,
     UNKNOWN_SIGNIN_STATUS,
+    ERROR_GETTING_SIGNIN_STATUS,
     SIGNIN_STATUS_MAX,
   };
 
@@ -73,9 +74,11 @@ class SigninStatusMetricsProvider : public metrics::MetricsProvider,
   virtual void SigninManagerShutdown(SigninManagerBase* manager) OVERRIDE;
 
   // SigninManagerBase::Observer:
-  virtual void GoogleSigninSucceeded(const std::string& username,
+  virtual void GoogleSigninSucceeded(const std::string& account_id,
+                                     const std::string& username,
                                      const std::string& password) OVERRIDE;
-  virtual void GoogleSignedOut(const std::string& username) OVERRIDE;
+  virtual void GoogleSignedOut(const std::string& account_id,
+                               const std::string& username) OVERRIDE;
 
   // Obtain sign-in status and add observers.
   void Initialize();
@@ -93,6 +96,10 @@ class SigninStatusMetricsProvider : public metrics::MetricsProvider,
   // Compute current sign-in status of all opened profiles.
   void ComputeCurrentSigninStatus();
 
+  // Sets the value of |signin_status_|. It ensures that |signin_status_| will
+  // not be changed if its value is already ERROR_GETTING_SIGNIN_STATUS.
+  void SetSigninStatus(ProfilesSigninStatus new_status);
+
   // Get the current recorded sign-in status. For testing purpose only.
   ProfilesSigninStatus GetSigninStatusForTesting();