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 COMPONENTS_MUS_TEST_CHANGE_TRACKER_H_ | 5 #ifndef COMPONENTS_MUS_TEST_CHANGE_TRACKER_H_ |
6 #define COMPONENTS_MUS_TEST_CHANGE_TRACKER_H_ | 6 #define COMPONENTS_MUS_TEST_CHANGE_TRACKER_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
11 #include "base/basictypes.h" | 11 #include "base/basictypes.h" |
12 #include "components/mus/public/cpp/types.h" | 12 #include "components/mus/public/cpp/types.h" |
13 #include "components/mus/public/interfaces/view_tree.mojom.h" | 13 #include "components/mus/public/interfaces/view_tree.mojom.h" |
14 #include "third_party/mojo/src/mojo/public/cpp/bindings/array.h" | 14 #include "third_party/mojo/src/mojo/public/cpp/bindings/array.h" |
15 #include "ui/mojo/geometry/geometry.mojom.h" | 15 #include "ui/mojo/geometry/geometry.mojom.h" |
16 | 16 |
17 namespace mus { | 17 namespace view_manager { |
18 | 18 |
19 enum ChangeType { | 19 enum ChangeType { |
20 CHANGE_TYPE_EMBED, | 20 CHANGE_TYPE_EMBED, |
21 CHANGE_TYPE_EMBEDDED_APP_DISCONNECTED, | 21 CHANGE_TYPE_EMBEDDED_APP_DISCONNECTED, |
22 CHANGE_TYPE_UNEMBED, | 22 CHANGE_TYPE_UNEMBED, |
23 // TODO(sky): nuke NODE. | 23 // TODO(sky): nuke NODE. |
24 CHANGE_TYPE_NODE_BOUNDS_CHANGED, | 24 CHANGE_TYPE_NODE_BOUNDS_CHANGED, |
25 CHANGE_TYPE_NODE_VIEWPORT_METRICS_CHANGED, | 25 CHANGE_TYPE_NODE_VIEWPORT_METRICS_CHANGED, |
26 CHANGE_TYPE_NODE_HIERARCHY_CHANGED, | 26 CHANGE_TYPE_NODE_HIERARCHY_CHANGED, |
27 CHANGE_TYPE_NODE_REORDERED, | 27 CHANGE_TYPE_NODE_REORDERED, |
(...skipping 10 matching lines...) Expand all Loading... |
38 struct TestView { | 38 struct TestView { |
39 TestView(); | 39 TestView(); |
40 ~TestView(); | 40 ~TestView(); |
41 | 41 |
42 // Returns a string description of this. | 42 // Returns a string description of this. |
43 std::string ToString() const; | 43 std::string ToString() const; |
44 | 44 |
45 // Returns a string description that includes visible and drawn. | 45 // Returns a string description that includes visible and drawn. |
46 std::string ToString2() const; | 46 std::string ToString2() const; |
47 | 47 |
48 Id parent_id; | 48 mojo::Id parent_id; |
49 Id view_id; | 49 mojo::Id view_id; |
50 bool visible; | 50 bool visible; |
51 bool drawn; | 51 bool drawn; |
52 std::map<std::string, std::vector<uint8_t>> properties; | 52 std::map<std::string, std::vector<uint8_t>> properties; |
53 }; | 53 }; |
54 | 54 |
55 // Tracks a call to ViewTreeClient. See the individual functions for the fields | 55 // Tracks a call to ViewTreeClient. See the individual functions for the fields |
56 // that are used. | 56 // that are used. |
57 struct Change { | 57 struct Change { |
58 Change(); | 58 Change(); |
59 ~Change(); | 59 ~Change(); |
60 | 60 |
61 ChangeType type; | 61 ChangeType type; |
62 ConnectionSpecificId connection_id; | 62 mojo::ConnectionSpecificId connection_id; |
63 std::vector<TestView> views; | 63 std::vector<TestView> views; |
64 Id view_id; | 64 mojo::Id view_id; |
65 Id view_id2; | 65 mojo::Id view_id2; |
66 Id view_id3; | 66 mojo::Id view_id3; |
67 mojo::Rect bounds; | 67 mojo::Rect bounds; |
68 mojo::Rect bounds2; | 68 mojo::Rect bounds2; |
69 int32_t event_action; | 69 int32_t event_action; |
70 mojo::String embed_url; | 70 mojo::String embed_url; |
71 mojo::OrderDirection direction; | 71 mojo::OrderDirection direction; |
72 bool bool_value; | 72 bool bool_value; |
73 std::string property_key; | 73 std::string property_key; |
74 std::string property_value; | 74 std::string property_value; |
75 }; | 75 }; |
76 | 76 |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
110 | 110 |
111 TestChangeTracker(); | 111 TestChangeTracker(); |
112 ~TestChangeTracker(); | 112 ~TestChangeTracker(); |
113 | 113 |
114 void set_delegate(Delegate* delegate) { delegate_ = delegate; } | 114 void set_delegate(Delegate* delegate) { delegate_ = delegate; } |
115 | 115 |
116 std::vector<Change>* changes() { return &changes_; } | 116 std::vector<Change>* changes() { return &changes_; } |
117 | 117 |
118 // Each of these functions generate a Change. There is one per | 118 // Each of these functions generate a Change. There is one per |
119 // ViewTreeClient function. | 119 // ViewTreeClient function. |
120 void OnEmbed(ConnectionSpecificId connection_id, mojo::ViewDataPtr root); | 120 void OnEmbed(mojo::ConnectionSpecificId connection_id, |
121 void OnEmbeddedAppDisconnected(Id view_id); | 121 mojo::ViewDataPtr root); |
| 122 void OnEmbeddedAppDisconnected(mojo::Id view_id); |
122 void OnUnembed(); | 123 void OnUnembed(); |
123 void OnViewBoundsChanged(Id view_id, | 124 void OnViewBoundsChanged(mojo::Id view_id, |
124 mojo::RectPtr old_bounds, | 125 mojo::RectPtr old_bounds, |
125 mojo::RectPtr new_bounds); | 126 mojo::RectPtr new_bounds); |
126 void OnViewViewportMetricsChanged(mojo::ViewportMetricsPtr old_bounds, | 127 void OnViewViewportMetricsChanged(mojo::ViewportMetricsPtr old_bounds, |
127 mojo::ViewportMetricsPtr new_bounds); | 128 mojo::ViewportMetricsPtr new_bounds); |
128 void OnViewHierarchyChanged(Id view_id, | 129 void OnViewHierarchyChanged(mojo::Id view_id, |
129 Id new_parent_id, | 130 mojo::Id new_parent_id, |
130 Id old_parent_id, | 131 mojo::Id old_parent_id, |
131 mojo::Array<mojo::ViewDataPtr> views); | 132 mojo::Array<mojo::ViewDataPtr> views); |
132 void OnViewReordered(Id view_id, | 133 void OnViewReordered(mojo::Id view_id, |
133 Id relative_view_id, | 134 mojo::Id relative_view_id, |
134 mojo::OrderDirection direction); | 135 mojo::OrderDirection direction); |
135 void OnViewDeleted(Id view_id); | 136 void OnViewDeleted(mojo::Id view_id); |
136 void OnViewVisibilityChanged(Id view_id, bool visible); | 137 void OnViewVisibilityChanged(mojo::Id view_id, bool visible); |
137 void OnViewDrawnStateChanged(Id view_id, bool drawn); | 138 void OnViewDrawnStateChanged(mojo::Id view_id, bool drawn); |
138 void OnViewInputEvent(Id view_id, mojo::EventPtr event); | 139 void OnViewInputEvent(mojo::Id view_id, mojo::EventPtr event); |
139 void OnViewSharedPropertyChanged(Id view_id, | 140 void OnViewSharedPropertyChanged(mojo::Id view_id, |
140 mojo::String name, | 141 mojo::String name, |
141 mojo::Array<uint8_t> data); | 142 mojo::Array<uint8_t> data); |
142 void OnViewFocused(Id view_id); | 143 void OnViewFocused(mojo::Id view_id); |
143 void DelegateEmbed(const mojo::String& url); | 144 void DelegateEmbed(const mojo::String& url); |
144 | 145 |
145 private: | 146 private: |
146 void AddChange(const Change& change); | 147 void AddChange(const Change& change); |
147 | 148 |
148 Delegate* delegate_; | 149 Delegate* delegate_; |
149 std::vector<Change> changes_; | 150 std::vector<Change> changes_; |
150 | 151 |
151 DISALLOW_COPY_AND_ASSIGN(TestChangeTracker); | 152 DISALLOW_COPY_AND_ASSIGN(TestChangeTracker); |
152 }; | 153 }; |
153 | 154 |
154 } // namespace mus | 155 } // namespace view_manager |
155 | 156 |
156 #endif // COMPONENTS_MUS_TEST_CHANGE_TRACKER_H_ | 157 #endif // COMPONENTS_MUS_TEST_CHANGE_TRACKER_H_ |
OLD | NEW |