Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / chromeos / login / screens / user_image_screen.h
index a002269..7f5ab2b 100644 (file)
@@ -7,11 +7,12 @@
 
 #include "base/compiler_specific.h"
 #include "base/memory/scoped_ptr.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_screen_actor.h"
-#include "chrome/browser/chromeos/login/screens/wizard_screen.h"
-#include "chrome/browser/chromeos/login/user.h"
-#include "chrome/browser/chromeos/login/user_image_sync_observer.h"
+#include "chrome/browser/chromeos/login/users/avatar/user_image_sync_observer.h"
 #include "chrome/browser/image_decoder.h"
+#include "components/user_manager/user.h"
 #include "content/public/browser/notification_observer.h"
 #include "content/public/browser/notification_registrar.h"
 
@@ -26,53 +27,56 @@ class PolicyChangeRegistrar;
 
 namespace chromeos {
 
-class UserImageScreen: public WizardScreen,
-                       public UserImageScreenActor::Delegate,
-                       public ImageDecoder::Delegate,
-                       public content::NotificationObserver,
-                       public UserImageSyncObserver::Observer {
+class UserImageManager;
+class ScreenManager;
+
+class UserImageScreen : public BaseScreen,
+                        public UserImageScreenActor::Delegate,
+                        public ImageDecoder::Delegate,
+                        public content::NotificationObserver,
+                        public UserImageSyncObserver::Observer,
+                        public CameraPresenceNotifier::Observer {
  public:
-  UserImageScreen(ScreenObserver* screen_observer,
+  UserImageScreen(BaseScreenDelegate* base_screen_delegate,
                   UserImageScreenActor* actor);
   virtual ~UserImageScreen();
 
-  // Indicates whether profile picture is enabled for given user.
-  void SetProfilePictureEnabled(bool support_profile_picture);
-  // Sets |user_id| of user that would have picture updated.
-  void SetUserID(const std::string& user_id);
+  static UserImageScreen* Get(ScreenManager* manager);
 
-  // WizardScreen implementation:
-  virtual void PrepareToShow() OVERRIDE;
-  virtual void Show() OVERRIDE;
-  virtual void Hide() OVERRIDE;
-  virtual std::string GetName() const OVERRIDE;
+  // BaseScreen implementation:
+  virtual void PrepareToShow() override;
+  virtual void Show() override;
+  virtual void Hide() override;
+  virtual std::string GetName() const override;
 
   // UserImageScreenActor::Delegate implementation:
-  virtual void OnScreenReady() OVERRIDE;
-  virtual void OnPhotoTaken(const std::string& raw_data) OVERRIDE;
+  virtual void OnScreenReady() override;
+  virtual void OnPhotoTaken(const std::string& raw_data) override;
   virtual void OnImageSelected(const std::string& image_url,
                                const std::string& image_type,
-                               bool is_user_selection) OVERRIDE;
-  virtual void OnImageAccepted() OVERRIDE;
-  virtual void OnActorDestroyed(UserImageScreenActor* actor) OVERRIDE;
+                               bool is_user_selection) override;
+  virtual void OnImageAccepted() override;
+  virtual void OnActorDestroyed(UserImageScreenActor* actor) override;
 
-  virtual bool profile_picture_absent() OVERRIDE;
-  virtual int selected_image() OVERRIDE;
-  virtual std::string profile_picture_data_url() OVERRIDE;
+  virtual bool profile_picture_absent() override;
+  virtual int selected_image() override;
+  virtual std::string profile_picture_data_url() override;
 
   // content::NotificationObserver implementation:
   virtual void Observe(int type,
                        const content::NotificationSource& source,
-                       const content::NotificationDetails& details) OVERRIDE;
+                       const content::NotificationDetails& details) override;
 
   // ImageDecoder::Delegate implementation:
   virtual void OnImageDecoded(const ImageDecoder* decoder,
-                              const SkBitmap& decoded_image) OVERRIDE;
-  virtual void OnDecodeImageFailed(const ImageDecoder* decoder) OVERRIDE;
-  virtual void OnCameraPresenceCheckDone(bool is_camera_present) OVERRIDE;
+                              const SkBitmap& decoded_image) override;
+  virtual void OnDecodeImageFailed(const ImageDecoder* decoder) override;
+
+  // CameraPresenceNotifier::Observer implementation:
+  virtual void OnCameraPresenceCheckDone(bool is_camera_present) override;
 
   // UserImageSyncObserver::Observer implementation:
-  virtual void OnInitialSync(bool local_image_updated) OVERRIDE;
+  virtual void OnInitialSync(bool local_image_updated) override;
 
   bool user_selected_image() const { return user_has_selected_image_; }
 
@@ -89,7 +93,7 @@ class UserImageScreen: public WizardScreen,
                                 const base::Value* current);
 
   // Returns current user.
-  const User* GetUser();
+  const user_manager::User* GetUser();
 
   // Returns UserImageManager for the current user.
   UserImageManager* GetUserImageManager();
@@ -124,16 +128,12 @@ class UserImageScreen: public WizardScreen,
   // Index of the selected user image.
   int selected_image_;
 
-  bool profile_picture_enabled_;
-
   // Encoded profile picture.
   std::string profile_picture_data_url_;
 
   // True if user has no custom profile picture.
   bool profile_picture_absent_;
 
-  std::string user_id_;
-
   // Timer used for waiting for user image sync.
   scoped_ptr<base::Timer> sync_timer_;