Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / mojo / services / public / cpp / view_manager / lib / view_manager_client_impl.h
index bd09a58..f40e3a8 100644 (file)
@@ -9,20 +9,17 @@
 #include "base/callback.h"
 #include "base/memory/scoped_vector.h"
 #include "base/memory/weak_ptr.h"
-#include "mojo/services/public/cpp/geometry/geometry_type_converters.h"
 #include "mojo/services/public/cpp/view_manager/types.h"
 #include "mojo/services/public/cpp/view_manager/view.h"
 #include "mojo/services/public/cpp/view_manager/view_manager.h"
 #include "mojo/services/public/interfaces/view_manager/view_manager.mojom.h"
 #include "mojo/services/public/interfaces/window_manager/window_manager.mojom.h"
 
-class SkBitmap;
-
 namespace mojo {
+class Shell;
 class ViewManager;
 class ViewManagerDelegate;
 class ViewManagerTransaction;
-class Shell;
 
 // Manages the connection with the View Manager service.
 class ViewManagerClientImpl : public ViewManager,
@@ -30,7 +27,7 @@ class ViewManagerClientImpl : public ViewManager,
                               public WindowManagerClient {
  public:
   ViewManagerClientImpl(ViewManagerDelegate* delegate, Shell* shell);
-  virtual ~ViewManagerClientImpl();
+  ~ViewManagerClientImpl() override;
 
   bool connected() const { return connected_; }
   ConnectionSpecificId connection_id() const { return connection_id_; }
@@ -51,10 +48,13 @@ class ViewManagerClientImpl : public ViewManager,
   // Returns true if the specified view was created by this connection.
   bool OwnsView(Id id) const;
 
-  void SetBounds(Id view_id, const gfx::Rect& bounds);
+  void SetBounds(Id view_id, const Rect& bounds);
   void SetSurfaceId(Id view_id, SurfaceIdPtr surface_id);
   void SetFocus(Id view_id);
   void SetVisible(Id view_id, bool visible);
+  void SetProperty(Id view_id,
+                   const std::string& name,
+                   const std::vector<uint8_t>& data);
 
   void Embed(const String& url, Id view_id);
   void Embed(const String& url,
@@ -73,66 +73,58 @@ class ViewManagerClientImpl : public ViewManager,
   void AddView(View* view);
   void RemoveView(Id view_id);
 
-  Shell* shell() { return shell_; }
-
  private:
   friend class RootObserver;
 
   typedef std::map<Id, View*> IdToViewMap;
 
   // Overridden from ViewManager:
-  virtual void SetWindowManagerDelegate(
-      WindowManagerDelegate* delegate) OVERRIDE;
-  virtual void DispatchEvent(View* target, EventPtr event) OVERRIDE;
-  virtual const std::string& GetEmbedderURL() const OVERRIDE;
-  virtual const std::vector<View*>& GetRoots() const OVERRIDE;
-  virtual View* GetViewById(Id id) OVERRIDE;
+  const std::string& GetEmbedderURL() const override;
+  const std::vector<View*>& GetRoots() const override;
+  View* GetViewById(Id id) override;
 
   // Overridden from InterfaceImpl:
-  virtual void OnConnectionEstablished() OVERRIDE;
+  void OnConnectionEstablished() override;
 
   // Overridden from ViewManagerClient:
-  virtual void OnEmbed(ConnectionSpecificId connection_id,
-                       const String& creator_url,
-                       ViewDataPtr root,
-                       InterfaceRequest<ServiceProvider> services) OVERRIDE;
-  virtual void OnViewBoundsChanged(Id view_id,
-                                   RectPtr old_bounds,
-                                   RectPtr new_bounds) OVERRIDE;
-  virtual void OnViewHierarchyChanged(Id view_id,
-                                      Id new_parent_id,
-                                      Id old_parent_id,
-                                      Array<ViewDataPtr> views) OVERRIDE;
-  virtual void OnViewReordered(Id view_id,
-                               Id relative_view_id,
-                               OrderDirection direction) OVERRIDE;
-  virtual void OnViewDeleted(Id view_id) OVERRIDE;
-  virtual void OnViewVisibilityChanged(Id view_id, bool visible) OVERRIDE;
-  virtual void OnViewDrawnStateChanged(Id view_id, bool drawn) OVERRIDE;
-  virtual void OnViewInputEvent(Id view_id,
-                                EventPtr event,
-                                const Callback<void()>& callback) OVERRIDE;
-  virtual void Embed(
-      const String& url,
-      InterfaceRequest<ServiceProvider> service_provider) OVERRIDE;
-  virtual void DispatchOnViewInputEvent(EventPtr event) OVERRIDE;
-
-    // Overridden from WindowManagerClient:
-  virtual void OnWindowManagerReady() OVERRIDE;
-  virtual void OnCaptureChanged(Id old_capture_view_id,
-                                Id new_capture_view_id) OVERRIDE;
-  virtual void OnFocusChanged(Id old_focused_view_id,
-                              Id new_focused_view_id) OVERRIDE;
-  virtual void OnActiveWindowChanged(Id old_focused_window,
-                                     Id new_focused_window) OVERRIDE;
+  void OnEmbed(ConnectionSpecificId connection_id,
+               const String& creator_url,
+               ViewDataPtr root,
+               InterfaceRequest<ServiceProvider> parent_services,
+               ScopedMessagePipeHandle window_manager_pipe) override;
+  void OnEmbeddedAppDisconnected(Id view_id) override;
+  void OnViewBoundsChanged(Id view_id,
+                           RectPtr old_bounds,
+                           RectPtr new_bounds) override;
+  void OnViewHierarchyChanged(Id view_id,
+                              Id new_parent_id,
+                              Id old_parent_id,
+                              Array<ViewDataPtr> views) override;
+  void OnViewReordered(Id view_id,
+                       Id relative_view_id,
+                       OrderDirection direction) override;
+  void OnViewDeleted(Id view_id) override;
+  void OnViewVisibilityChanged(Id view_id, bool visible) override;
+  void OnViewDrawnStateChanged(Id view_id, bool drawn) override;
+  void OnViewPropertyChanged(Id view_id,
+                             const String& name,
+                             Array<uint8_t> new_data) override;
+  void OnViewInputEvent(Id view_id,
+                        EventPtr event,
+                        const Callback<void()>& callback) override;
+
+  // Overridden from WindowManagerClient:
+  void OnCaptureChanged(Id old_capture_view_id,
+                        Id new_capture_view_id) override;
+  void OnFocusChanged(Id old_focused_view_id, Id new_focused_view_id) override;
+  void OnActiveWindowChanged(Id old_focused_window,
+                             Id new_focused_window) override;
 
   void RemoveRoot(View* root);
 
   void OnActionCompleted(bool success);
   void OnActionCompletedWithErrorCode(ErrorCode code);
 
-  BitmapUploader* BitmapUploaderForView(Id view_id);
-
   base::Callback<void(bool)> ActionCompletedCallback();
   base::Callback<void(ErrorCode)> ActionCompletedCallbackWithErrorCode();
 
@@ -145,7 +137,6 @@ class ViewManagerClientImpl : public ViewManager,
   base::Callback<void(void)> change_acked_callback_;
 
   ViewManagerDelegate* delegate_;
-  WindowManagerDelegate* window_manager_delegate_;
 
   std::vector<View*> roots_;
 
@@ -153,11 +144,7 @@ class ViewManagerClientImpl : public ViewManager,
 
   ViewManagerService* service_;
 
-  WindowManagerServicePtr window_manager_;
-
-  // TODO(jamesr): Remove once all callers switch from SetContents to
-  // SetSurfaceId.
-  Shell* shell_;
+  WindowManagerPtr window_manager_;
 
   DISALLOW_COPY_AND_ASSIGN(ViewManagerClientImpl);
 };