Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / ash / display / display_controller.h
index d965131..fb61b84 100644 (file)
@@ -37,7 +37,7 @@ class Insets;
 }
 
 namespace ash {
-namespace internal {
+class AshWindowTreeHost;
 class CursorWindowController;
 class DisplayInfo;
 class DisplayManager;
@@ -45,13 +45,12 @@ class FocusActivationStore;
 class MirrorWindowController;
 class RootWindowController;
 class VirtualKeyboardWindowController;
-}
 
 // DisplayController owns and maintains RootWindows for each attached
 // display, keeping them in sync with display configuration changes.
 class ASH_EXPORT DisplayController : public gfx::DisplayObserver,
                                      public aura::WindowTreeHostObserver,
-                                     public internal::DisplayManager::Delegate {
+                                     public DisplayManager::Delegate {
  public:
   class ASH_EXPORT Observer {
    public:
@@ -81,24 +80,23 @@ class ASH_EXPORT DisplayController : public gfx::DisplayObserver,
   // TODO(oshima): Move this out from DisplayController;
   static int64 GetPrimaryDisplayId();
 
-  internal::CursorWindowController* cursor_window_controller() {
+  CursorWindowController* cursor_window_controller() {
     return cursor_window_controller_.get();
   }
 
-  internal::MirrorWindowController* mirror_window_controller() {
+  MirrorWindowController* mirror_window_controller() {
     return mirror_window_controller_.get();
   }
 
-  internal::VirtualKeyboardWindowController*
-      virtual_keyboard_window_controller() {
+  VirtualKeyboardWindowController* virtual_keyboard_window_controller() {
     return virtual_keyboard_window_controller_.get();
   }
 
-  // Initializes primary display.
-  void InitPrimaryDisplay();
+  // Create a WindowTreeHost for the primary display.
+  void CreatePrimaryHost();
 
-  // Initialize secondary displays.
-  void InitSecondaryDisplays();
+  // Initializes all displays.
+  void InitDisplays();
 
   // Add/Remove observers.
   void AddObserver(Observer* observer);
@@ -133,7 +131,7 @@ class ASH_EXPORT DisplayController : public gfx::DisplayObserver,
 
   // Returns all oot window controllers. In non extended desktop
   // mode, this return a RootWindowController for the primary root window only.
-  std::vector<internal::RootWindowController*> GetAllRootWindowControllers();
+  std::vector<RootWindowController*> GetAllRootWindowControllers();
 
   // Gets/Sets/Clears the overscan insets for the specified |display_id|. See
   // display_manager.h for the details.
@@ -157,8 +155,8 @@ class ASH_EXPORT DisplayController : public gfx::DisplayObserver,
   virtual void OnHostResized(const aura::WindowTreeHost* host) OVERRIDE;
 
   // aura::DisplayManager::Delegate overrides:
-  virtual void CreateOrUpdateNonDesktopDisplay(
-      const internal::DisplayInfo& info) OVERRIDE;
+  virtual void CreateOrUpdateNonDesktopDisplay(const DisplayInfo& info)
+      OVERRIDE;
   virtual void CloseNonDesktopDisplay() OVERRIDE;
   virtual void PreDisplayConfigurationChange(bool clear_focus) OVERRIDE;
   virtual void PostDisplayConfigurationChange() OVERRIDE;
@@ -166,13 +164,12 @@ class ASH_EXPORT DisplayController : public gfx::DisplayObserver,
  private:
   FRIEND_TEST_ALL_PREFIXES(DisplayControllerTest, BoundsUpdated);
   FRIEND_TEST_ALL_PREFIXES(DisplayControllerTest, SecondaryDisplayLayout);
-  friend class internal::DisplayManager;
-  friend class internal::MirrorWindowController;
+  friend class DisplayManager;
+  friend class MirrorWindowController;
 
-  // Creates a WindowTreeHost for |display| and stores it in the |root_windows_|
-  // map.
-  aura::WindowTreeHost* AddWindowTreeHostForDisplay(
-      const gfx::Display& display);
+  // Creates a WindowTreeHost for |display| and stores it in the
+  // |window_tree_hosts_| map.
+  AshWindowTreeHost* AddWindowTreeHostForDisplay(const gfx::Display& display);
 
   void OnFadeOutForSwapDisplayFinished();
 
@@ -198,20 +195,21 @@ class ASH_EXPORT DisplayController : public gfx::DisplayObserver,
   // change the display configuration.
   scoped_ptr<DisplayChangeLimiter> limiter_;
 
-  // The mapping from display ID to its root window.
-  std::map<int64, aura::Window*> root_windows_;
+  typedef std::map<int64, AshWindowTreeHost*> WindowTreeHostMap;
+  // The mapping from display ID to its window tree host.
+  WindowTreeHostMap window_tree_hosts_;
 
   ObserverList<Observer> observers_;
 
-  // Store the primary root window temporarily while replacing
+  // Store the primary window tree host temporarily while replacing
   // display.
-  aura::Window* primary_root_window_for_replace_;
+  AshWindowTreeHost* primary_tree_host_for_replace_;
 
-  scoped_ptr<internal::FocusActivationStore> focus_activation_store_;
+  scoped_ptr<FocusActivationStore> focus_activation_store_;
 
-  scoped_ptr<internal::CursorWindowController> cursor_window_controller_;
-  scoped_ptr<internal::MirrorWindowController> mirror_window_controller_;
-  scoped_ptr<internal::VirtualKeyboardWindowController>
+  scoped_ptr<CursorWindowController> cursor_window_controller_;
+  scoped_ptr<MirrorWindowController> mirror_window_controller_;
+  scoped_ptr<VirtualKeyboardWindowController>
       virtual_keyboard_window_controller_;
 
   // Stores the curent cursor location (in native coordinates) used to