Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(84)

Side by Side Diff: mojo/services/public/cpp/view_manager/lib/view_manager_client_impl.h

Issue 460863002: Rename Node to View in the View Manager mojom & client lib. Service TBD. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef MOJO_SERVICES_PUBLIC_CPP_VIEW_MANAGER_LIB_VIEW_MANAGER_CLIENT_IMPL_H_ 5 #ifndef MOJO_SERVICES_PUBLIC_CPP_VIEW_MANAGER_LIB_VIEW_MANAGER_CLIENT_IMPL_H_
6 #define MOJO_SERVICES_PUBLIC_CPP_VIEW_MANAGER_LIB_VIEW_MANAGER_CLIENT_IMPL_H_ 6 #define MOJO_SERVICES_PUBLIC_CPP_VIEW_MANAGER_LIB_VIEW_MANAGER_CLIENT_IMPL_H_
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "base/callback.h" 9 #include "base/callback.h"
10 #include "base/memory/scoped_vector.h" 10 #include "base/memory/scoped_vector.h"
11 #include "base/memory/weak_ptr.h" 11 #include "base/memory/weak_ptr.h"
12 #include "mojo/services/public/cpp/geometry/geometry_type_converters.h" 12 #include "mojo/services/public/cpp/geometry/geometry_type_converters.h"
13 #include "mojo/services/public/cpp/view_manager/node.h"
14 #include "mojo/services/public/cpp/view_manager/types.h" 13 #include "mojo/services/public/cpp/view_manager/types.h"
14 #include "mojo/services/public/cpp/view_manager/view.h"
15 #include "mojo/services/public/cpp/view_manager/view_manager.h" 15 #include "mojo/services/public/cpp/view_manager/view_manager.h"
16 #include "mojo/services/public/interfaces/view_manager/view_manager.mojom.h" 16 #include "mojo/services/public/interfaces/view_manager/view_manager.mojom.h"
17 17
18 class SkBitmap; 18 class SkBitmap;
19 19
20 namespace mojo { 20 namespace mojo {
21 class ApplicationConnection; 21 class ApplicationConnection;
22 class ViewManager; 22 class ViewManager;
23 class ViewManagerDelegate; 23 class ViewManagerDelegate;
24 class ViewManagerTransaction; 24 class ViewManagerTransaction;
25 25
26 // Manages the connection with the View Manager service. 26 // Manages the connection with the View Manager service.
27 class ViewManagerClientImpl : public ViewManager, 27 class ViewManagerClientImpl : public ViewManager,
28 public InterfaceImpl<ViewManagerClient> { 28 public InterfaceImpl<ViewManagerClient> {
29 public: 29 public:
30 explicit ViewManagerClientImpl(ViewManagerDelegate* delegate); 30 explicit ViewManagerClientImpl(ViewManagerDelegate* delegate);
31 virtual ~ViewManagerClientImpl(); 31 virtual ~ViewManagerClientImpl();
32 32
33 bool connected() const { return connected_; } 33 bool connected() const { return connected_; }
34 ConnectionSpecificId connection_id() const { return connection_id_; } 34 ConnectionSpecificId connection_id() const { return connection_id_; }
35 35
36 // API exposed to the node/view implementations that pushes local changes to 36 // API exposed to the view implementations that pushes local changes to the
37 // the service. 37 // service.
38 Id CreateNode(); 38 Id CreateView();
39 void DestroyNode(Id node_id); 39 void DestroyView(Id view_id);
40 40
41 // These methods take TransportIds. For views owned by the current connection, 41 // These methods take TransportIds. For views owned by the current connection,
42 // the connection id high word can be zero. In all cases, the TransportId 0x1 42 // the connection id high word can be zero. In all cases, the TransportId 0x1
43 // refers to the root node. 43 // refers to the root view.
44 void AddChild(Id child_id, Id parent_id); 44 void AddChild(Id child_id, Id parent_id);
45 void RemoveChild(Id child_id, Id parent_id); 45 void RemoveChild(Id child_id, Id parent_id);
46 46
47 void Reorder(Id node_id, Id relative_node_id, OrderDirection direction); 47 void Reorder(Id view_id, Id relative_view_id, OrderDirection direction);
48 48
49 // Returns true if the specified node was created by this connection. 49 // Returns true if the specified view was created by this connection.
50 bool OwnsNode(Id id) const; 50 bool OwnsView(Id id) const;
51 51
52 void SetBounds(Id node_id, const gfx::Rect& bounds); 52 void SetBounds(Id view_id, const gfx::Rect& bounds);
53 void SetNodeContents(Id node_id, const SkBitmap& contents); 53 void SetViewContents(Id view_id, const SkBitmap& contents);
54 void SetFocus(Id node_id); 54 void SetFocus(Id view_id);
55 void SetVisible(Id node_id, bool visible); 55 void SetVisible(Id view_id, bool visible);
56 56
57 void Embed(const String& url, Id node_id); 57 void Embed(const String& url, Id view_id);
58 void Embed(const String& url, 58 void Embed(const String& url,
59 Id node_id, 59 Id view_id,
60 ServiceProviderPtr service_provider); 60 ServiceProviderPtr service_provider);
61 61
62 void set_change_acked_callback(const base::Callback<void(void)>& callback) { 62 void set_change_acked_callback(const base::Callback<void(void)>& callback) {
63 change_acked_callback_ = callback; 63 change_acked_callback_ = callback;
64 } 64 }
65 void ClearChangeAckedCallback() { 65 void ClearChangeAckedCallback() {
66 change_acked_callback_ = base::Callback<void(void)>(); 66 change_acked_callback_ = base::Callback<void(void)>();
67 } 67 }
68 68
69 // Start/stop tracking nodes. While tracked, they can be retrieved via 69 // Start/stop tracking views. While tracked, they can be retrieved via
70 // ViewManager::GetNodeById. 70 // ViewManager::GetViewById.
71 void AddNode(Node* node); 71 void AddView(View* view);
72 void RemoveNode(Id node_id); 72 void RemoveView(Id view_id);
73 73
74 private: 74 private:
75 friend class RootObserver; 75 friend class RootObserver;
76 76
77 typedef std::map<Id, Node*> IdToNodeMap; 77 typedef std::map<Id, View*> IdToViewMap;
78 typedef std::map<Id, View*> IdToViewMap; 78 typedef std::map<Id, View*> IdToViewMap;
79 79
80 // Overridden from ViewManager: 80 // Overridden from ViewManager:
81 virtual void SetWindowManagerDelegate( 81 virtual void SetWindowManagerDelegate(
82 WindowManagerDelegate* delegate) OVERRIDE; 82 WindowManagerDelegate* delegate) OVERRIDE;
83 virtual void DispatchEvent(Node* target, EventPtr event) OVERRIDE; 83 virtual void DispatchEvent(View* target, EventPtr event) OVERRIDE;
84 virtual const std::string& GetEmbedderURL() const OVERRIDE; 84 virtual const std::string& GetEmbedderURL() const OVERRIDE;
85 virtual const std::vector<Node*>& GetRoots() const OVERRIDE; 85 virtual const std::vector<View*>& GetRoots() const OVERRIDE;
86 virtual Node* GetNodeById(Id id) OVERRIDE; 86 virtual View* GetViewById(Id id) OVERRIDE;
87 87
88 // Overridden from InterfaceImpl: 88 // Overridden from InterfaceImpl:
89 virtual void OnConnectionEstablished() OVERRIDE; 89 virtual void OnConnectionEstablished() OVERRIDE;
90 90
91 // Overridden from ViewManagerClient: 91 // Overridden from ViewManagerClient:
92 virtual void OnEmbed(ConnectionSpecificId connection_id, 92 virtual void OnEmbed(ConnectionSpecificId connection_id,
93 const String& creator_url, 93 const String& creator_url,
94 NodeDataPtr root, 94 ViewDataPtr root,
95 InterfaceRequest<ServiceProvider> services) OVERRIDE; 95 InterfaceRequest<ServiceProvider> services) OVERRIDE;
96 virtual void OnNodeBoundsChanged(Id node_id, 96 virtual void OnViewBoundsChanged(Id view_id,
97 RectPtr old_bounds, 97 RectPtr old_bounds,
98 RectPtr new_bounds) OVERRIDE; 98 RectPtr new_bounds) OVERRIDE;
99 virtual void OnNodeHierarchyChanged(Id node_id, 99 virtual void OnViewHierarchyChanged(Id view_id,
100 Id new_parent_id, 100 Id new_parent_id,
101 Id old_parent_id, 101 Id old_parent_id,
102 Array<NodeDataPtr> nodes) OVERRIDE; 102 Array<ViewDataPtr> views) OVERRIDE;
103 virtual void OnNodeReordered(Id node_id, 103 virtual void OnViewReordered(Id view_id,
104 Id relative_node_id, 104 Id relative_view_id,
105 OrderDirection direction) OVERRIDE; 105 OrderDirection direction) OVERRIDE;
106 virtual void OnNodeDeleted(Id node_id) OVERRIDE; 106 virtual void OnViewDeleted(Id view_id) OVERRIDE;
107 virtual void OnNodeInputEvent(Id node, 107 virtual void OnViewInputEvent(Id view,
108 EventPtr event, 108 EventPtr event,
109 const Callback<void()>& callback) OVERRIDE; 109 const Callback<void()>& callback) OVERRIDE;
110 virtual void OnFocusChanged(Id gained_focus_id, Id lost_focus_id) OVERRIDE; 110 virtual void OnFocusChanged(Id gained_focus_id, Id lost_focus_id) OVERRIDE;
111 virtual void Embed( 111 virtual void Embed(
112 const String& url, 112 const String& url,
113 InterfaceRequest<ServiceProvider> service_provider) OVERRIDE; 113 InterfaceRequest<ServiceProvider> service_provider) OVERRIDE;
114 virtual void DispatchOnNodeInputEvent(Id node_id, EventPtr event) OVERRIDE; 114 virtual void DispatchOnViewInputEvent(Id view_id, EventPtr event) OVERRIDE;
115 115
116 void RemoveRoot(Node* root); 116 void RemoveRoot(View* root);
117 117
118 void OnActionCompleted(bool success); 118 void OnActionCompleted(bool success);
119 void OnActionCompletedWithErrorCode(ErrorCode code); 119 void OnActionCompletedWithErrorCode(ErrorCode code);
120 120
121 base::Callback<void(bool)> ActionCompletedCallback(); 121 base::Callback<void(bool)> ActionCompletedCallback();
122 base::Callback<void(ErrorCode)> ActionCompletedCallbackWithErrorCode(); 122 base::Callback<void(ErrorCode)> ActionCompletedCallbackWithErrorCode();
123 123
124 bool connected_; 124 bool connected_;
125 ConnectionSpecificId connection_id_; 125 ConnectionSpecificId connection_id_;
126 ConnectionSpecificId next_id_; 126 ConnectionSpecificId next_id_;
127 127
128 std::string creator_url_; 128 std::string creator_url_;
129 129
130 base::Callback<void(void)> change_acked_callback_; 130 base::Callback<void(void)> change_acked_callback_;
131 131
132 ViewManagerDelegate* delegate_; 132 ViewManagerDelegate* delegate_;
133 WindowManagerDelegate* window_manager_delegate_; 133 WindowManagerDelegate* window_manager_delegate_;
134 134
135 std::vector<Node*> roots_; 135 std::vector<View*> roots_;
136 136
137 IdToNodeMap nodes_; 137 IdToViewMap views_;
138 138
139 ViewManagerService* service_; 139 ViewManagerService* service_;
140 140
141 DISALLOW_COPY_AND_ASSIGN(ViewManagerClientImpl); 141 DISALLOW_COPY_AND_ASSIGN(ViewManagerClientImpl);
142 }; 142 };
143 143
144 } // namespace mojo 144 } // namespace mojo
145 145
146 #endif // MOJO_SERVICES_PUBLIC_CPP_VIEW_MANAGER_LIB_VIEW_MANAGER_CLIENT_IMPL_H_ 146 #endif // MOJO_SERVICES_PUBLIC_CPP_VIEW_MANAGER_LIB_VIEW_MANAGER_CLIENT_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698