| 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 #include "mojo/services/public/cpp/view_manager/view_tree_node.h" | 5 #include "mojo/services/public/cpp/view_manager/view_tree_node.h" |
| 6 | 6 |
| 7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 #include "base/strings/stringprintf.h" | 8 #include "base/strings/stringprintf.h" |
| 9 #include "mojo/services/public/cpp/view_manager/lib/view_tree_node_private.h" | 9 #include "mojo/services/public/cpp/view_manager/lib/view_tree_node_private.h" |
| 10 #include "mojo/services/public/cpp/view_manager/util.h" | 10 #include "mojo/services/public/cpp/view_manager/util.h" |
| (...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 133 EXPECT_TRUE(o1.received_params().empty()); | 133 EXPECT_TRUE(o1.received_params().empty()); |
| 134 | 134 |
| 135 TestViewTreeNode v11; | 135 TestViewTreeNode v11; |
| 136 TreeChangeObserver o11(&v11); | 136 TreeChangeObserver o11(&v11); |
| 137 EXPECT_TRUE(o11.received_params().empty()); | 137 EXPECT_TRUE(o11.received_params().empty()); |
| 138 | 138 |
| 139 // Add. | 139 // Add. |
| 140 | 140 |
| 141 v1.AddChild(&v11); | 141 v1.AddChild(&v11); |
| 142 | 142 |
| 143 EXPECT_EQ(1U, o1.received_params().size()); | 143 EXPECT_EQ(2U, o1.received_params().size()); |
| 144 ViewTreeNodeObserver::TreeChangeParams p1; | 144 ViewTreeNodeObserver::TreeChangeParams p1; |
| 145 p1.target = &v11; | 145 p1.target = &v11; |
| 146 p1.receiver = &v1; | 146 p1.receiver = &v1; |
| 147 p1.old_parent = NULL; | 147 p1.old_parent = NULL; |
| 148 p1.new_parent = &v1; | 148 p1.new_parent = &v1; |
| 149 p1.phase = ViewTreeNodeObserver::DISPOSITION_CHANGED; | 149 p1.phase = ViewTreeNodeObserver::DISPOSITION_CHANGED; |
| 150 EXPECT_TRUE(TreeChangeParamsMatch(p1, o1.received_params().back())); | 150 EXPECT_TRUE(TreeChangeParamsMatch(p1, o1.received_params().back())); |
| 151 | 151 |
| 152 EXPECT_EQ(2U, o11.received_params().size()); | 152 EXPECT_EQ(2U, o11.received_params().size()); |
| 153 ViewTreeNodeObserver::TreeChangeParams p11 = p1; | 153 ViewTreeNodeObserver::TreeChangeParams p11 = p1; |
| 154 p11.receiver = &v11; | 154 p11.receiver = &v11; |
| 155 p11.phase = ViewTreeNodeObserver::DISPOSITION_CHANGING; | 155 p11.phase = ViewTreeNodeObserver::DISPOSITION_CHANGING; |
| 156 EXPECT_TRUE(TreeChangeParamsMatch(p11, o11.received_params().front())); | 156 EXPECT_TRUE(TreeChangeParamsMatch(p11, o11.received_params().front())); |
| 157 p11.phase = ViewTreeNodeObserver::DISPOSITION_CHANGED; | 157 p11.phase = ViewTreeNodeObserver::DISPOSITION_CHANGED; |
| 158 EXPECT_TRUE(TreeChangeParamsMatch(p11, o11.received_params().back())); | 158 EXPECT_TRUE(TreeChangeParamsMatch(p11, o11.received_params().back())); |
| 159 | 159 |
| 160 o1.Reset(); | 160 o1.Reset(); |
| 161 o11.Reset(); | 161 o11.Reset(); |
| 162 EXPECT_TRUE(o1.received_params().empty()); | 162 EXPECT_TRUE(o1.received_params().empty()); |
| 163 EXPECT_TRUE(o11.received_params().empty()); | 163 EXPECT_TRUE(o11.received_params().empty()); |
| 164 | 164 |
| 165 // Remove. | 165 // Remove. |
| 166 | 166 |
| 167 v1.RemoveChild(&v11); | 167 v1.RemoveChild(&v11); |
| 168 | 168 |
| 169 EXPECT_EQ(1U, o1.received_params().size()); | 169 EXPECT_EQ(2U, o1.received_params().size()); |
| 170 p1.target = &v11; | 170 p1.target = &v11; |
| 171 p1.receiver = &v1; | 171 p1.receiver = &v1; |
| 172 p1.old_parent = &v1; | 172 p1.old_parent = &v1; |
| 173 p1.new_parent = NULL; | 173 p1.new_parent = NULL; |
| 174 p1.phase = ViewTreeNodeObserver::DISPOSITION_CHANGING; | 174 p1.phase = ViewTreeNodeObserver::DISPOSITION_CHANGING; |
| 175 EXPECT_TRUE(TreeChangeParamsMatch(p1, o1.received_params().back())); | 175 EXPECT_TRUE(TreeChangeParamsMatch(p1, o1.received_params().front())); |
| 176 | 176 |
| 177 EXPECT_EQ(2U, o11.received_params().size()); | 177 EXPECT_EQ(2U, o11.received_params().size()); |
| 178 p11 = p1; | 178 p11 = p1; |
| 179 p11.receiver = &v11; | 179 p11.receiver = &v11; |
| 180 EXPECT_TRUE(TreeChangeParamsMatch(p11, o11.received_params().front())); | 180 EXPECT_TRUE(TreeChangeParamsMatch(p11, o11.received_params().front())); |
| 181 p11.phase = ViewTreeNodeObserver::DISPOSITION_CHANGED; | 181 p11.phase = ViewTreeNodeObserver::DISPOSITION_CHANGED; |
| 182 EXPECT_TRUE(TreeChangeParamsMatch(p11, o11.received_params().back())); | 182 EXPECT_TRUE(TreeChangeParamsMatch(p11, o11.received_params().back())); |
| 183 } | 183 } |
| 184 | 184 |
| 185 // Creates these two trees: | 185 // Creates these two trees: |
| (...skipping 14 matching lines...) Expand all Loading... |
| 200 v111.AddChild(&v1112); | 200 v111.AddChild(&v1112); |
| 201 | 201 |
| 202 TreeChangeObserver o1(&v1), o11(&v11), o111(&v111), o1111(&v1111), | 202 TreeChangeObserver o1(&v1), o11(&v11), o111(&v111), o1111(&v1111), |
| 203 o1112(&v1112); | 203 o1112(&v1112); |
| 204 ViewTreeNodeObserver::TreeChangeParams p1, p11, p111, p1111, p1112; | 204 ViewTreeNodeObserver::TreeChangeParams p1, p11, p111, p1111, p1112; |
| 205 | 205 |
| 206 // Add. | 206 // Add. |
| 207 | 207 |
| 208 v11.AddChild(&v111); | 208 v11.AddChild(&v111); |
| 209 | 209 |
| 210 EXPECT_EQ(1U, o1.received_params().size()); | 210 EXPECT_EQ(2U, o1.received_params().size()); |
| 211 p1.target = &v111; | 211 p1.target = &v111; |
| 212 p1.receiver = &v1; | 212 p1.receiver = &v1; |
| 213 p1.old_parent = NULL; | 213 p1.old_parent = NULL; |
| 214 p1.new_parent = &v11; | 214 p1.new_parent = &v11; |
| 215 p1.phase = ViewTreeNodeObserver::DISPOSITION_CHANGED; | 215 p1.phase = ViewTreeNodeObserver::DISPOSITION_CHANGED; |
| 216 EXPECT_TRUE(TreeChangeParamsMatch(p1, o1.received_params().back())); | 216 EXPECT_TRUE(TreeChangeParamsMatch(p1, o1.received_params().back())); |
| 217 | 217 |
| 218 EXPECT_EQ(1U, o11.received_params().size()); | 218 EXPECT_EQ(2U, o11.received_params().size()); |
| 219 p11 = p1; | 219 p11 = p1; |
| 220 p11.receiver = &v11; | 220 p11.receiver = &v11; |
| 221 EXPECT_TRUE(TreeChangeParamsMatch(p11, o11.received_params().back())); | 221 EXPECT_TRUE(TreeChangeParamsMatch(p11, o11.received_params().back())); |
| 222 | 222 |
| 223 EXPECT_EQ(2U, o111.received_params().size()); | 223 EXPECT_EQ(2U, o111.received_params().size()); |
| 224 p111 = p11; | 224 p111 = p11; |
| 225 p111.receiver = &v111; | 225 p111.receiver = &v111; |
| 226 p111.phase = ViewTreeNodeObserver::DISPOSITION_CHANGING; | 226 p111.phase = ViewTreeNodeObserver::DISPOSITION_CHANGING; |
| 227 EXPECT_TRUE(TreeChangeParamsMatch(p111, o111.received_params().front())); | 227 EXPECT_TRUE(TreeChangeParamsMatch(p111, o111.received_params().front())); |
| 228 p111.phase = ViewTreeNodeObserver::DISPOSITION_CHANGED; | 228 p111.phase = ViewTreeNodeObserver::DISPOSITION_CHANGED; |
| (...skipping 22 matching lines...) Expand all Loading... |
| 251 o1111.Reset(); | 251 o1111.Reset(); |
| 252 o1112.Reset(); | 252 o1112.Reset(); |
| 253 EXPECT_TRUE(o1.received_params().empty()); | 253 EXPECT_TRUE(o1.received_params().empty()); |
| 254 EXPECT_TRUE(o11.received_params().empty()); | 254 EXPECT_TRUE(o11.received_params().empty()); |
| 255 EXPECT_TRUE(o111.received_params().empty()); | 255 EXPECT_TRUE(o111.received_params().empty()); |
| 256 EXPECT_TRUE(o1111.received_params().empty()); | 256 EXPECT_TRUE(o1111.received_params().empty()); |
| 257 EXPECT_TRUE(o1112.received_params().empty()); | 257 EXPECT_TRUE(o1112.received_params().empty()); |
| 258 | 258 |
| 259 v11.RemoveChild(&v111); | 259 v11.RemoveChild(&v111); |
| 260 | 260 |
| 261 EXPECT_EQ(1U, o1.received_params().size()); | 261 EXPECT_EQ(2U, o1.received_params().size()); |
| 262 p1.target = &v111; | 262 p1.target = &v111; |
| 263 p1.receiver = &v1; | 263 p1.receiver = &v1; |
| 264 p1.old_parent = &v11; | 264 p1.old_parent = &v11; |
| 265 p1.new_parent = NULL; | 265 p1.new_parent = NULL; |
| 266 p1.phase = ViewTreeNodeObserver::DISPOSITION_CHANGING; | 266 p1.phase = ViewTreeNodeObserver::DISPOSITION_CHANGING; |
| 267 EXPECT_TRUE(TreeChangeParamsMatch(p1, o1.received_params().back())); | 267 EXPECT_TRUE(TreeChangeParamsMatch(p1, o1.received_params().front())); |
| 268 | 268 |
| 269 EXPECT_EQ(1U, o11.received_params().size()); | 269 EXPECT_EQ(2U, o11.received_params().size()); |
| 270 p11 = p1; | 270 p11 = p1; |
| 271 p11.receiver = &v11; | 271 p11.receiver = &v11; |
| 272 EXPECT_TRUE(TreeChangeParamsMatch(p11, o11.received_params().back())); | 272 EXPECT_TRUE(TreeChangeParamsMatch(p11, o11.received_params().front())); |
| 273 | 273 |
| 274 EXPECT_EQ(2U, o111.received_params().size()); | 274 EXPECT_EQ(2U, o111.received_params().size()); |
| 275 p111 = p11; | 275 p111 = p11; |
| 276 p111.receiver = &v111; | 276 p111.receiver = &v111; |
| 277 p111.phase = ViewTreeNodeObserver::DISPOSITION_CHANGING; | 277 p111.phase = ViewTreeNodeObserver::DISPOSITION_CHANGING; |
| 278 EXPECT_TRUE(TreeChangeParamsMatch(p111, o111.received_params().front())); | 278 EXPECT_TRUE(TreeChangeParamsMatch(p111, o111.received_params().front())); |
| 279 p111.phase = ViewTreeNodeObserver::DISPOSITION_CHANGED; | 279 p111.phase = ViewTreeNodeObserver::DISPOSITION_CHANGED; |
| 280 EXPECT_TRUE(TreeChangeParamsMatch(p111, o111.received_params().back())); | 280 EXPECT_TRUE(TreeChangeParamsMatch(p111, o111.received_params().back())); |
| 281 | 281 |
| 282 EXPECT_EQ(2U, o1111.received_params().size()); | 282 EXPECT_EQ(2U, o1111.received_params().size()); |
| (...skipping 18 matching lines...) Expand all Loading... |
| 301 v1.AddChild(&v11); | 301 v1.AddChild(&v11); |
| 302 v1.AddChild(&v12); | 302 v1.AddChild(&v12); |
| 303 v11.AddChild(&v111); | 303 v11.AddChild(&v111); |
| 304 | 304 |
| 305 TreeChangeObserver o1(&v1), o11(&v11), o12(&v12), o111(&v111); | 305 TreeChangeObserver o1(&v1), o11(&v11), o12(&v12), o111(&v111); |
| 306 | 306 |
| 307 // Reparent. | 307 // Reparent. |
| 308 v12.AddChild(&v111); | 308 v12.AddChild(&v111); |
| 309 | 309 |
| 310 // v1 (root) should see both changing and changed notifications. | 310 // v1 (root) should see both changing and changed notifications. |
| 311 EXPECT_EQ(2U, o1.received_params().size()); | 311 EXPECT_EQ(4U, o1.received_params().size()); |
| 312 ViewTreeNodeObserver::TreeChangeParams p1; | 312 ViewTreeNodeObserver::TreeChangeParams p1; |
| 313 p1.target = &v111; | 313 p1.target = &v111; |
| 314 p1.receiver = &v1; | 314 p1.receiver = &v1; |
| 315 p1.old_parent = &v11; | 315 p1.old_parent = &v11; |
| 316 p1.new_parent = &v12; | 316 p1.new_parent = &v12; |
| 317 p1.phase = ViewTreeNodeObserver::DISPOSITION_CHANGING; | 317 p1.phase = ViewTreeNodeObserver::DISPOSITION_CHANGING; |
| 318 EXPECT_TRUE(TreeChangeParamsMatch(p1, o1.received_params().front())); | 318 EXPECT_TRUE(TreeChangeParamsMatch(p1, o1.received_params().front())); |
| 319 p1.phase = ViewTreeNodeObserver::DISPOSITION_CHANGED; | 319 p1.phase = ViewTreeNodeObserver::DISPOSITION_CHANGED; |
| 320 EXPECT_TRUE(TreeChangeParamsMatch(p1, o1.received_params().back())); | 320 EXPECT_TRUE(TreeChangeParamsMatch(p1, o1.received_params().back())); |
| 321 | 321 |
| 322 // v11 should see changing notifications. | 322 // v11 should see changing notifications. |
| 323 EXPECT_EQ(1U, o11.received_params().size()); | 323 EXPECT_EQ(2U, o11.received_params().size()); |
| 324 ViewTreeNodeObserver::TreeChangeParams p11; | 324 ViewTreeNodeObserver::TreeChangeParams p11; |
| 325 p11 = p1; | 325 p11 = p1; |
| 326 p11.receiver = &v11; | 326 p11.receiver = &v11; |
| 327 p11.phase = ViewTreeNodeObserver::DISPOSITION_CHANGING; | 327 p11.phase = ViewTreeNodeObserver::DISPOSITION_CHANGING; |
| 328 EXPECT_TRUE(TreeChangeParamsMatch(p11, o11.received_params().back())); | 328 EXPECT_TRUE(TreeChangeParamsMatch(p11, o11.received_params().front())); |
| 329 | 329 |
| 330 // v12 should see changed notifications. | 330 // v12 should see changed notifications. |
| 331 EXPECT_EQ(1U, o12.received_params().size()); | 331 EXPECT_EQ(2U, o12.received_params().size()); |
| 332 ViewTreeNodeObserver::TreeChangeParams p12; | 332 ViewTreeNodeObserver::TreeChangeParams p12; |
| 333 p12 = p1; | 333 p12 = p1; |
| 334 p12.receiver = &v12; | 334 p12.receiver = &v12; |
| 335 p12.phase = ViewTreeNodeObserver::DISPOSITION_CHANGED; | 335 p12.phase = ViewTreeNodeObserver::DISPOSITION_CHANGED; |
| 336 EXPECT_TRUE(TreeChangeParamsMatch(p12, o12.received_params().back())); | 336 EXPECT_TRUE(TreeChangeParamsMatch(p12, o12.received_params().back())); |
| 337 | 337 |
| 338 // v111 should see both changing and changed notifications. | 338 // v111 should see both changing and changed notifications. |
| 339 EXPECT_EQ(2U, o111.received_params().size()); | 339 EXPECT_EQ(2U, o111.received_params().size()); |
| 340 ViewTreeNodeObserver::TreeChangeParams p111; | 340 ViewTreeNodeObserver::TreeChangeParams p111; |
| 341 p111 = p1; | 341 p111 = p1; |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 415 "node=0,1 old_bounds=0,0 0x0 new_bounds=0,0 100x100 phase=changing", | 415 "node=0,1 old_bounds=0,0 0x0 new_bounds=0,0 100x100 phase=changing", |
| 416 changes[0]); | 416 changes[0]); |
| 417 EXPECT_EQ( | 417 EXPECT_EQ( |
| 418 "node=0,1 old_bounds=0,0 0x0 new_bounds=0,0 100x100 phase=changed", | 418 "node=0,1 old_bounds=0,0 0x0 new_bounds=0,0 100x100 phase=changed", |
| 419 changes[1]); | 419 changes[1]); |
| 420 } | 420 } |
| 421 } | 421 } |
| 422 | 422 |
| 423 } // namespace view_manager | 423 } // namespace view_manager |
| 424 } // namespace mojo | 424 } // namespace mojo |
| OLD | NEW |