| 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..5050f99c16b0b027e049fe420db7a67aa56d0380 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,15 @@ class UserImageScreen : public UserImageModel,
|
| bool user_selected_image() const { return user_has_selected_image_; }
|
|
|
| private:
|
| + // Must be kept synced with |NewUserPriorityPrefsSyncResult| enum from
|
| + // histograms.xml.
|
| + enum class SyncResult {
|
| + SUCCEEDED,
|
| + TIMED_OUT,
|
| + // Keeps a number of different sync results. Should be the last in the list.
|
| + COUNT
|
| + };
|
| +
|
| // Called when whaiting for sync timed out.
|
| void OnSyncTimeout();
|
|
|
| @@ -101,6 +111,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 +140,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);
|
| };
|
|
|
|
|