| Index: chrome/browser/chromeos/login/screens/user_image_screen.h
|
| diff --git a/chrome/browser/chromeos/login/screens/user_image_screen.h b/chrome/browser/chromeos/login/screens/user_image_screen.h
|
| index 8afe9c29d584eb6346d8e81ffb1c4dc7e11bea02..ac6e2f9fa827ae5de89af9e4c6cb4720a2302513 100644
|
| --- a/chrome/browser/chromeos/login/screens/user_image_screen.h
|
| +++ b/chrome/browser/chromeos/login/screens/user_image_screen.h
|
| @@ -7,6 +7,7 @@
|
|
|
| #include "base/compiler_specific.h"
|
| #include "base/memory/scoped_ptr.h"
|
| +#include "base/time/time.h"
|
| #include "chrome/browser/chromeos/camera_presence_notifier.h"
|
| #include "chrome/browser/chromeos/login/screens/base_screen.h"
|
| #include "chrome/browser/chromeos/login/screens/user_image_model.h"
|
| @@ -75,6 +76,8 @@ class UserImageScreen : public UserImageModel,
|
| bool user_selected_image() const { return user_has_selected_image_; }
|
|
|
| private:
|
| + enum class SyncResult { SUCCEED, TIMED_OUT };
|
| +
|
| // Called when whaiting for sync timed out.
|
| void OnSyncTimeout();
|
|
|
| @@ -101,6 +104,9 @@ class UserImageScreen : public UserImageModel,
|
| // Closes the screen.
|
| void ExitScreen();
|
|
|
| + // Reports sync duration and result to UMA.
|
| + void ReportSyncResult(SyncResult timed_out) const;
|
| +
|
| content::NotificationRegistrar notification_registrar_;
|
|
|
| scoped_ptr<policy::PolicyChangeRegistrar> policy_registrar_;
|
| @@ -127,6 +133,9 @@ class UserImageScreen : public UserImageModel,
|
| // True if user has explicitly selected some image.
|
| bool user_has_selected_image_;
|
|
|
| + // The time when we started wait for user image sync.
|
| + base::Time sync_waiting_start_time_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(UserImageScreen);
|
| };
|
|
|
|
|