| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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 <vector> | 5 #include <vector> |
| 6 | 6 |
| 7 #include "testing/gtest/include/gtest/gtest.h" | 7 #include "testing/gtest/include/gtest/gtest.h" |
| 8 #include "ui/events/event.h" | 8 #include "ui/events/event.h" |
| 9 #include "ui/events/event_targeter.h" | 9 #include "ui/events/event_targeter.h" |
| 10 #include "ui/events/test/events_test_utils.h" | 10 #include "ui/events/test/events_test_utils.h" |
| (...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 245 | 245 |
| 246 ASSERT_EQ(1u, root()->child_count()); | 246 ASSERT_EQ(1u, root()->child_count()); |
| 247 ASSERT_EQ(1u, root()->child_at(0)->child_count()); | 247 ASSERT_EQ(1u, root()->child_at(0)->child_count()); |
| 248 ASSERT_EQ(0u, root()->child_at(0)->child_at(0)->child_count()); | 248 ASSERT_EQ(0u, root()->child_at(0)->child_at(0)->child_count()); |
| 249 | 249 |
| 250 TestEventTarget* child_r = root()->child_at(0); | 250 TestEventTarget* child_r = root()->child_at(0); |
| 251 TestEventTarget* grandchild_r = child_r->child_at(0); | 251 TestEventTarget* grandchild_r = child_r->child_at(0); |
| 252 | 252 |
| 253 // When the root has a BubblingEventTargeter installed, events targeted | 253 // When the root has a BubblingEventTargeter installed, events targeted |
| 254 // at the grandchild target should be dispatched to all three targets. | 254 // at the grandchild target should be dispatched to all three targets. |
| 255 KeyEvent key_event(ET_KEY_PRESSED, VKEY_ESCAPE, 0, false); | 255 KeyEvent key_event(ET_KEY_PRESSED, VKEY_ESCAPE, EF_NONE); |
| 256 DispatchEvent(&key_event); | 256 DispatchEvent(&key_event); |
| 257 EXPECT_TRUE(root()->DidReceiveEvent(ET_KEY_PRESSED)); | 257 EXPECT_TRUE(root()->DidReceiveEvent(ET_KEY_PRESSED)); |
| 258 EXPECT_TRUE(child_r->DidReceiveEvent(ET_KEY_PRESSED)); | 258 EXPECT_TRUE(child_r->DidReceiveEvent(ET_KEY_PRESSED)); |
| 259 EXPECT_TRUE(grandchild_r->DidReceiveEvent(ET_KEY_PRESSED)); | 259 EXPECT_TRUE(grandchild_r->DidReceiveEvent(ET_KEY_PRESSED)); |
| 260 root()->ResetReceivedEvents(); | 260 root()->ResetReceivedEvents(); |
| 261 child_r->ResetReceivedEvents(); | 261 child_r->ResetReceivedEvents(); |
| 262 grandchild_r->ResetReceivedEvents(); | 262 grandchild_r->ResetReceivedEvents(); |
| 263 | 263 |
| 264 // Add a pre-target handler on the child of the root that will mark the event | 264 // Add a pre-target handler on the child of the root that will mark the event |
| 265 // as handled. No targets in the hierarchy should receive the event. | 265 // as handled. No targets in the hierarchy should receive the event. |
| 266 TestEventHandler handler; | 266 TestEventHandler handler; |
| 267 child_r->AddPreTargetHandler(&handler); | 267 child_r->AddPreTargetHandler(&handler); |
| 268 key_event = KeyEvent(ET_KEY_PRESSED, VKEY_ESCAPE, 0, false); | 268 key_event = KeyEvent(ET_KEY_PRESSED, VKEY_ESCAPE, EF_NONE); |
| 269 DispatchEvent(&key_event); | 269 DispatchEvent(&key_event); |
| 270 EXPECT_FALSE(root()->DidReceiveEvent(ET_KEY_PRESSED)); | 270 EXPECT_FALSE(root()->DidReceiveEvent(ET_KEY_PRESSED)); |
| 271 EXPECT_FALSE(child_r->DidReceiveEvent(ET_KEY_PRESSED)); | 271 EXPECT_FALSE(child_r->DidReceiveEvent(ET_KEY_PRESSED)); |
| 272 EXPECT_FALSE(grandchild_r->DidReceiveEvent(ET_KEY_PRESSED)); | 272 EXPECT_FALSE(grandchild_r->DidReceiveEvent(ET_KEY_PRESSED)); |
| 273 EXPECT_EQ(1, handler.num_key_events()); | 273 EXPECT_EQ(1, handler.num_key_events()); |
| 274 handler.Reset(); | 274 handler.Reset(); |
| 275 | 275 |
| 276 // Add a post-target handler on the child of the root that will mark the event | 276 // Add a post-target handler on the child of the root that will mark the event |
| 277 // as handled. Only the grandchild (the initial target) should receive the | 277 // as handled. Only the grandchild (the initial target) should receive the |
| 278 // event. | 278 // event. |
| 279 child_r->RemovePreTargetHandler(&handler); | 279 child_r->RemovePreTargetHandler(&handler); |
| 280 child_r->AddPostTargetHandler(&handler); | 280 child_r->AddPostTargetHandler(&handler); |
| 281 key_event = KeyEvent(ET_KEY_PRESSED, VKEY_ESCAPE, 0, false); | 281 key_event = KeyEvent(ET_KEY_PRESSED, VKEY_ESCAPE, EF_NONE); |
| 282 DispatchEvent(&key_event); | 282 DispatchEvent(&key_event); |
| 283 EXPECT_FALSE(root()->DidReceiveEvent(ET_KEY_PRESSED)); | 283 EXPECT_FALSE(root()->DidReceiveEvent(ET_KEY_PRESSED)); |
| 284 EXPECT_FALSE(child_r->DidReceiveEvent(ET_KEY_PRESSED)); | 284 EXPECT_FALSE(child_r->DidReceiveEvent(ET_KEY_PRESSED)); |
| 285 EXPECT_TRUE(grandchild_r->DidReceiveEvent(ET_KEY_PRESSED)); | 285 EXPECT_TRUE(grandchild_r->DidReceiveEvent(ET_KEY_PRESSED)); |
| 286 EXPECT_EQ(1, handler.num_key_events()); | 286 EXPECT_EQ(1, handler.num_key_events()); |
| 287 handler.Reset(); | 287 handler.Reset(); |
| 288 grandchild_r->ResetReceivedEvents(); | 288 grandchild_r->ResetReceivedEvents(); |
| 289 child_r->RemovePostTargetHandler(&handler); | 289 child_r->RemovePostTargetHandler(&handler); |
| 290 | 290 |
| 291 // Mark the event as handled when it reaches the EP_TARGET phase of | 291 // Mark the event as handled when it reaches the EP_TARGET phase of |
| 292 // dispatch at the child of the root. The child and grandchild | 292 // dispatch at the child of the root. The child and grandchild |
| 293 // targets should both receive the event, but the root should not. | 293 // targets should both receive the event, but the root should not. |
| 294 child_r->set_mark_events_as_handled(true); | 294 child_r->set_mark_events_as_handled(true); |
| 295 key_event = KeyEvent(ET_KEY_PRESSED, VKEY_ESCAPE, 0, false); | 295 key_event = KeyEvent(ET_KEY_PRESSED, VKEY_ESCAPE, EF_NONE); |
| 296 DispatchEvent(&key_event); | 296 DispatchEvent(&key_event); |
| 297 EXPECT_FALSE(root()->DidReceiveEvent(ET_KEY_PRESSED)); | 297 EXPECT_FALSE(root()->DidReceiveEvent(ET_KEY_PRESSED)); |
| 298 EXPECT_TRUE(child_r->DidReceiveEvent(ET_KEY_PRESSED)); | 298 EXPECT_TRUE(child_r->DidReceiveEvent(ET_KEY_PRESSED)); |
| 299 EXPECT_TRUE(grandchild_r->DidReceiveEvent(ET_KEY_PRESSED)); | 299 EXPECT_TRUE(grandchild_r->DidReceiveEvent(ET_KEY_PRESSED)); |
| 300 root()->ResetReceivedEvents(); | 300 root()->ResetReceivedEvents(); |
| 301 child_r->ResetReceivedEvents(); | 301 child_r->ResetReceivedEvents(); |
| 302 grandchild_r->ResetReceivedEvents(); | 302 grandchild_r->ResetReceivedEvents(); |
| 303 child_r->set_mark_events_as_handled(false); | 303 child_r->set_mark_events_as_handled(false); |
| 304 } | 304 } |
| 305 | 305 |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 365 DispatchEvent(&mouse); | 365 DispatchEvent(&mouse); |
| 366 | 366 |
| 367 std::string expected[] = { "PreR", "PreC", "PreG", "G", "PostG", "PostC", | 367 std::string expected[] = { "PreR", "PreC", "PreG", "G", "PostG", "PostC", |
| 368 "PostR", "PreR", "PreC", "C", "PostC", "PostR", "PreR", "R", "PostR" }; | 368 "PostR", "PreR", "PreC", "C", "PostC", "PostR", "PreR", "R", "PostR" }; |
| 369 EXPECT_EQ(std::vector<std::string>( | 369 EXPECT_EQ(std::vector<std::string>( |
| 370 expected, expected + arraysize(expected)), recorder); | 370 expected, expected + arraysize(expected)), recorder); |
| 371 } | 371 } |
| 372 | 372 |
| 373 } // namespace test | 373 } // namespace test |
| 374 } // namespace ui | 374 } // namespace ui |
| OLD | NEW |