Chromium Code Reviews| Index: mojo/services/window_manager/window_manager_app.h |
| diff --git a/mojo/services/window_manager/window_manager_app.h b/mojo/services/window_manager/window_manager_app.h |
| index 6f4c64cfbe04de51e87a772c4ab6f9bc064c4093..871420c925071e25ee6c88ab6b3825501cb3fcbc 100644 |
| --- a/mojo/services/window_manager/window_manager_app.h |
| +++ b/mojo/services/window_manager/window_manager_app.h |
| @@ -10,10 +10,18 @@ |
| #include "base/memory/scoped_ptr.h" |
| #include "mojo/aura/window_tree_host_mojo_delegate.h" |
| #include "mojo/public/cpp/application/application_delegate.h" |
| +#include "mojo/public/cpp/bindings/string.h" |
| +#include "mojo/services/public/cpp/view_manager/node_observer.h" |
| #include "mojo/services/public/cpp/view_manager/types.h" |
| #include "mojo/services/public/cpp/view_manager/view_manager_delegate.h" |
| +#include "ui/aura/client/focus_change_observer.h" |
| +#include "ui/wm/public/activation_change_observer.h" |
| namespace aura { |
| +namespace client { |
| +class ActivationClient; |
| +class FocusClient; |
| +} |
| class Window; |
| } |
| @@ -29,7 +37,10 @@ class WindowTreeHostMojo; |
| class WindowManagerApp : public ApplicationDelegate, |
| public view_manager::ViewManagerDelegate, |
| - public WindowTreeHostMojoDelegate { |
| + public view_manager::NodeObserver, |
| + public WindowTreeHostMojoDelegate, |
| + public aura::client::FocusChangeObserver, |
| + public aura::client::ActivationChangeObserver { |
| public: |
| WindowManagerApp(); |
| virtual ~WindowManagerApp(); |
| @@ -38,12 +49,16 @@ class WindowManagerApp : public ApplicationDelegate, |
| void RemoveConnection(WindowManagerServiceImpl* connection); |
| view_manager::Id OpenWindow(); |
| + view_manager::Id OpenWindowWithURL(const String& url); |
| void SetCapture(view_manager::Id node); |
| + void FocusWindow(view_manager::Id node); |
| + void ActivateWindow(view_manager::Id node); |
| bool IsReady() const; |
| private: |
| typedef std::set<WindowManagerServiceImpl*> Connections; |
| + typedef std::map<view_manager::Id, aura::Window*> NodeIdToWindowMap; |
| // Overridden from ApplicationDelegate: |
| virtual void Initialize(ApplicationImpl* impl) MOJO_OVERRIDE; |
| @@ -56,11 +71,27 @@ class WindowManagerApp : public ApplicationDelegate, |
| virtual void OnViewManagerDisconnected( |
| view_manager::ViewManager* view_manager) MOJO_OVERRIDE; |
| + // Overridden from view_manager::NodeObserver: |
| + virtual void OnTreeChanged( |
| + const view_manager::NodeObserver::TreeChangeParams& params) MOJO_OVERRIDE; |
| + virtual void OnNodeDestroyed(view_manager::Node* node) MOJO_OVERRIDE; |
| + |
| // Overridden from WindowTreeHostMojoDelegate: |
| virtual void CompositorContentsChanged(const SkBitmap& bitmap) MOJO_OVERRIDE; |
| + // Overridden from aura::client::FocusChangeObserver: |
| + virtual void OnWindowFocused(aura::Window* gained_focus, |
| + aura::Window* lost_focus) MOJO_OVERRIDE; |
| + |
| + // Overridden from aura::client::ActivationChangeObserver: |
| + virtual void OnWindowActivated(aura::Window* gained_active, |
| + aura::Window* lost_active) MOJO_OVERRIDE; |
| + |
| aura::Window* GetWindowForNodeId(view_manager::Id node) const; |
| + void RegisterSubtree(view_manager::Id id, aura::Window* parent); |
|
sky
2014/07/17 23:15:42
Add descriptions.
|
| + void UnregisterSubtree(view_manager::Id id); |
| + |
| view_manager::ViewManager* view_manager_; |
| view_manager::Node* root_; |
| @@ -68,8 +99,11 @@ class WindowManagerApp : public ApplicationDelegate, |
| scoped_ptr<WindowTreeHostMojo> window_tree_host_; |
| scoped_ptr<wm::ScopedCaptureClient> capture_client_; |
| + scoped_ptr<aura::client::FocusClient> focus_client_; |
| + aura::client::ActivationClient* activation_client_; |
| Connections connections_; |
| + NodeIdToWindowMap node_id_to_window_map_; |
| DISALLOW_COPY_AND_ASSIGN(WindowManagerApp); |
| }; |