| 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 |