| OLD | NEW |
| 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_VIEW_MANAGER_TEST_CHANGE_TRACKER_H_ | 5 #ifndef MOJO_SERVICES_VIEW_MANAGER_TEST_CHANGE_TRACKER_H_ |
| 6 #define MOJO_SERVICES_VIEW_MANAGER_TEST_CHANGE_TRACKER_H_ | 6 #define MOJO_SERVICES_VIEW_MANAGER_TEST_CHANGE_TRACKER_H_ |
| 7 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| 11 #include "mojo/public/cpp/bindings/array.h" | 11 #include "mojo/public/cpp/bindings/array.h" |
| 12 #include "mojo/services/public/cpp/view_manager/types.h" | 12 #include "mojo/services/public/cpp/view_manager/types.h" |
| 13 #include "mojo/services/public/interfaces/view_manager/view_manager.mojom.h" | 13 #include "mojo/services/public/interfaces/view_manager/view_manager.mojom.h" |
| 14 #include "ui/gfx/rect.h" | 14 #include "ui/gfx/rect.h" |
| 15 | 15 |
| 16 namespace mojo { | 16 namespace mojo { |
| 17 namespace view_manager { | 17 namespace view_manager { |
| 18 namespace service { | 18 namespace service { |
| 19 | 19 |
| 20 enum ChangeType { | 20 enum ChangeType { |
| 21 CHANGE_TYPE_CONNECTION_ESTABLISHED, | 21 CHANGE_TYPE_CONNECTION_ESTABLISHED, |
| 22 CHANGE_TYPE_ROOTS_ADDED, | 22 CHANGE_TYPE_ROOTS_ADDED, |
| 23 CHANGE_TYPE_SERVER_CHANGE_ID_ADVANCED, | |
| 24 CHANGE_TYPE_NODE_BOUNDS_CHANGED, | 23 CHANGE_TYPE_NODE_BOUNDS_CHANGED, |
| 25 CHANGE_TYPE_NODE_HIERARCHY_CHANGED, | 24 CHANGE_TYPE_NODE_HIERARCHY_CHANGED, |
| 26 CHANGE_TYPE_NODE_REORDERED, | 25 CHANGE_TYPE_NODE_REORDERED, |
| 27 CHANGE_TYPE_NODE_DELETED, | 26 CHANGE_TYPE_NODE_DELETED, |
| 28 CHANGE_TYPE_VIEW_DELETED, | 27 CHANGE_TYPE_VIEW_DELETED, |
| 29 CHANGE_TYPE_VIEW_REPLACED, | 28 CHANGE_TYPE_VIEW_REPLACED, |
| 30 CHANGE_TYPE_INPUT_EVENT, | 29 CHANGE_TYPE_INPUT_EVENT, |
| 31 }; | 30 }; |
| 32 | 31 |
| 33 // TODO(sky): consider nuking and converting directly to NodeData. | 32 // TODO(sky): consider nuking and converting directly to NodeData. |
| 34 struct TestNode { | 33 struct TestNode { |
| 35 // Returns a string description of this. | 34 // Returns a string description of this. |
| 36 std::string ToString() const; | 35 std::string ToString() const; |
| 37 | 36 |
| 38 Id parent_id; | 37 Id parent_id; |
| 39 Id node_id; | 38 Id node_id; |
| 40 Id view_id; | 39 Id view_id; |
| 41 }; | 40 }; |
| 42 | 41 |
| 43 // Tracks a call to ViewManagerClient. See the individual functions for the | 42 // Tracks a call to ViewManagerClient. See the individual functions for the |
| 44 // fields that are used. | 43 // fields that are used. |
| 45 struct Change { | 44 struct Change { |
| 46 Change(); | 45 Change(); |
| 47 ~Change(); | 46 ~Change(); |
| 48 | 47 |
| 49 ChangeType type; | 48 ChangeType type; |
| 50 ConnectionSpecificId connection_id; | 49 ConnectionSpecificId connection_id; |
| 51 Id change_id; | |
| 52 std::vector<TestNode> nodes; | 50 std::vector<TestNode> nodes; |
| 53 Id node_id; | 51 Id node_id; |
| 54 Id node_id2; | 52 Id node_id2; |
| 55 Id node_id3; | 53 Id node_id3; |
| 56 Id view_id; | 54 Id view_id; |
| 57 Id view_id2; | 55 Id view_id2; |
| 58 gfx::Rect bounds; | 56 gfx::Rect bounds; |
| 59 gfx::Rect bounds2; | 57 gfx::Rect bounds2; |
| 60 int32 event_action; | 58 int32 event_action; |
| 61 String creator_url; | 59 String creator_url; |
| (...skipping 30 matching lines...) Expand all Loading... |
| 92 ~TestChangeTracker(); | 90 ~TestChangeTracker(); |
| 93 | 91 |
| 94 void set_delegate(Delegate* delegate) { delegate_ = delegate; } | 92 void set_delegate(Delegate* delegate) { delegate_ = delegate; } |
| 95 | 93 |
| 96 std::vector<Change>* changes() { return &changes_; } | 94 std::vector<Change>* changes() { return &changes_; } |
| 97 | 95 |
| 98 // Each of these functions generate a Change. There is one per | 96 // Each of these functions generate a Change. There is one per |
| 99 // ViewManagerClient function. | 97 // ViewManagerClient function. |
| 100 void OnViewManagerConnectionEstablished(ConnectionSpecificId connection_id, | 98 void OnViewManagerConnectionEstablished(ConnectionSpecificId connection_id, |
| 101 const String& creator_url, | 99 const String& creator_url, |
| 102 Id next_server_change_id, | |
| 103 Array<NodeDataPtr> nodes); | 100 Array<NodeDataPtr> nodes); |
| 104 void OnRootAdded(Array<NodeDataPtr> nodes); | 101 void OnRootAdded(Array<NodeDataPtr> nodes); |
| 105 void OnServerChangeIdAdvanced(Id change_id); | |
| 106 void OnNodeBoundsChanged(Id node_id, RectPtr old_bounds, RectPtr new_bounds); | 102 void OnNodeBoundsChanged(Id node_id, RectPtr old_bounds, RectPtr new_bounds); |
| 107 void OnNodeHierarchyChanged(Id node_id, | 103 void OnNodeHierarchyChanged(Id node_id, |
| 108 Id new_parent_id, | 104 Id new_parent_id, |
| 109 Id old_parent_id, | 105 Id old_parent_id, |
| 110 Id server_change_id, | |
| 111 Array<NodeDataPtr> nodes); | 106 Array<NodeDataPtr> nodes); |
| 112 void OnNodeReordered(Id node_id, | 107 void OnNodeReordered(Id node_id, |
| 113 Id relative_node_id, | 108 Id relative_node_id, |
| 114 OrderDirection direction, | 109 OrderDirection direction); |
| 115 Id server_change_id); | 110 void OnNodeDeleted(Id node_id); |
| 116 void OnNodeDeleted(Id node_id, Id server_change_id); | |
| 117 void OnViewDeleted(Id view_id); | 111 void OnViewDeleted(Id view_id); |
| 118 void OnNodeViewReplaced(Id node_id, Id new_view_id, Id old_view_id); | 112 void OnNodeViewReplaced(Id node_id, Id new_view_id, Id old_view_id); |
| 119 void OnViewInputEvent(Id view_id, EventPtr event); | 113 void OnViewInputEvent(Id view_id, EventPtr event); |
| 120 | 114 |
| 121 private: | 115 private: |
| 122 void AddChange(const Change& change); | 116 void AddChange(const Change& change); |
| 123 | 117 |
| 124 Delegate* delegate_; | 118 Delegate* delegate_; |
| 125 std::vector<Change> changes_; | 119 std::vector<Change> changes_; |
| 126 | 120 |
| 127 DISALLOW_COPY_AND_ASSIGN(TestChangeTracker); | 121 DISALLOW_COPY_AND_ASSIGN(TestChangeTracker); |
| 128 }; | 122 }; |
| 129 | 123 |
| 130 } // namespace service | 124 } // namespace service |
| 131 } // namespace view_manager | 125 } // namespace view_manager |
| 132 } // namespace mojo | 126 } // namespace mojo |
| 133 | 127 |
| 134 #endif // MOJO_SERVICES_VIEW_MANAGER_TEST_CHANGE_TRACKER_H_ | 128 #endif // MOJO_SERVICES_VIEW_MANAGER_TEST_CHANGE_TRACKER_H_ |
| OLD | NEW |