Index: ui/aura/root_window_unittest.cc |
diff --git a/ui/aura/root_window_unittest.cc b/ui/aura/root_window_unittest.cc |
index 0749851ac123ba6c30356169aa0e8e789976bc8e..abf8947ca9dd4b4514f88a43de511aa3eab19bc5 100644 |
--- a/ui/aura/root_window_unittest.cc |
+++ b/ui/aura/root_window_unittest.cc |
@@ -117,7 +117,7 @@ TEST_F(RootWindowTest, OnHostMouseEvent) { |
ui::MouseEvent event1( |
ui::ET_MOUSE_PRESSED, point, point, ui::EF_LEFT_MOUSE_BUTTON, |
ui::EF_LEFT_MOUSE_BUTTON); |
- dispatcher()->AsWindowTreeHostDelegate()->OnHostMouseEvent(&event1); |
+ DispatchEventUsingWindowDispatcher(&event1); |
// Event was tested for non-client area for the target window. |
EXPECT_EQ(1, delegate1->non_client_count()); |
@@ -160,7 +160,7 @@ TEST_F(RootWindowTest, MouseButtonState) { |
location, |
ui::EF_LEFT_MOUSE_BUTTON, |
ui::EF_LEFT_MOUSE_BUTTON)); |
- dispatcher()->AsWindowTreeHostDelegate()->OnHostMouseEvent(event.get()); |
+ DispatchEventUsingWindowDispatcher(event.get()); |
EXPECT_TRUE(Env::GetInstance()->IsMouseButtonDown()); |
// Additionally press the right. |
@@ -170,7 +170,7 @@ TEST_F(RootWindowTest, MouseButtonState) { |
location, |
ui::EF_LEFT_MOUSE_BUTTON | ui::EF_RIGHT_MOUSE_BUTTON, |
ui::EF_RIGHT_MOUSE_BUTTON)); |
- dispatcher()->AsWindowTreeHostDelegate()->OnHostMouseEvent(event.get()); |
+ DispatchEventUsingWindowDispatcher(event.get()); |
EXPECT_TRUE(Env::GetInstance()->IsMouseButtonDown()); |
// Release the left button. |
@@ -180,7 +180,7 @@ TEST_F(RootWindowTest, MouseButtonState) { |
location, |
ui::EF_RIGHT_MOUSE_BUTTON, |
ui::EF_LEFT_MOUSE_BUTTON)); |
- dispatcher()->AsWindowTreeHostDelegate()->OnHostMouseEvent(event.get()); |
+ DispatchEventUsingWindowDispatcher(event.get()); |
EXPECT_TRUE(Env::GetInstance()->IsMouseButtonDown()); |
// Release the right button. We should ignore the Shift-is-down flag. |
@@ -190,7 +190,7 @@ TEST_F(RootWindowTest, MouseButtonState) { |
location, |
ui::EF_SHIFT_DOWN, |
ui::EF_RIGHT_MOUSE_BUTTON)); |
- dispatcher()->AsWindowTreeHostDelegate()->OnHostMouseEvent(event.get()); |
+ DispatchEventUsingWindowDispatcher(event.get()); |
EXPECT_FALSE(Env::GetInstance()->IsMouseButtonDown()); |
// Press the middle button. |
@@ -200,7 +200,7 @@ TEST_F(RootWindowTest, MouseButtonState) { |
location, |
ui::EF_MIDDLE_MOUSE_BUTTON, |
ui::EF_MIDDLE_MOUSE_BUTTON)); |
- dispatcher()->AsWindowTreeHostDelegate()->OnHostMouseEvent(event.get()); |
+ DispatchEventUsingWindowDispatcher(event.get()); |
EXPECT_TRUE(Env::GetInstance()->IsMouseButtonDown()); |
} |
@@ -345,13 +345,13 @@ TEST_F(RootWindowTest, IgnoreUnknownKeys) { |
root_window()->SetEventFilter(filter); // passes ownership |
ui::KeyEvent unknown_event(ui::ET_KEY_PRESSED, ui::VKEY_UNKNOWN, 0, false); |
- EXPECT_FALSE(dispatcher()->AsWindowTreeHostDelegate()->OnHostKeyEvent( |
- &unknown_event)); |
+ DispatchEventUsingWindowDispatcher(&unknown_event); |
+ EXPECT_FALSE(unknown_event.handled()); |
EXPECT_EQ(0, filter->num_key_events()); |
ui::KeyEvent known_event(ui::ET_KEY_PRESSED, ui::VKEY_A, 0, false); |
- EXPECT_TRUE(dispatcher()->AsWindowTreeHostDelegate()->OnHostKeyEvent( |
- &known_event)); |
+ DispatchEventUsingWindowDispatcher(&known_event); |
+ EXPECT_TRUE(known_event.handled()); |
EXPECT_EQ(1, filter->num_key_events()); |
} |
@@ -363,8 +363,8 @@ TEST_F(RootWindowTest, NoDelegateWindowReceivesKeyEvents) { |
test::TestEventHandler handler; |
w1->AddPreTargetHandler(&handler); |
ui::KeyEvent key_press(ui::ET_KEY_PRESSED, ui::VKEY_A, 0, false); |
- EXPECT_TRUE(dispatcher()->AsWindowTreeHostDelegate()->OnHostKeyEvent( |
- &key_press)); |
+ DispatchEventUsingWindowDispatcher(&key_press); |
+ EXPECT_TRUE(key_press.handled()); |
EXPECT_EQ(1, handler.num_key_events()); |
w1->RemovePreTargetHandler(&handler); |
@@ -379,14 +379,14 @@ TEST_F(RootWindowTest, TouchEventsOutsideBounds) { |
gfx::Point position = root_window()->bounds().origin(); |
position.Offset(-10, -10); |
ui::TouchEvent press(ui::ET_TOUCH_PRESSED, position, 0, base::TimeDelta()); |
- dispatcher()->AsWindowTreeHostDelegate()->OnHostTouchEvent(&press); |
+ DispatchEventUsingWindowDispatcher(&press); |
EXPECT_EQ(1, filter->num_touch_events()); |
position = root_window()->bounds().origin(); |
position.Offset(root_window()->bounds().width() + 10, |
root_window()->bounds().height() + 10); |
ui::TouchEvent release(ui::ET_TOUCH_RELEASED, position, 0, base::TimeDelta()); |
- dispatcher()->AsWindowTreeHostDelegate()->OnHostTouchEvent(&release); |
+ DispatchEventUsingWindowDispatcher(&release); |
EXPECT_EQ(2, filter->num_touch_events()); |
} |
@@ -408,7 +408,7 @@ TEST_F(RootWindowTest, ScrollEventDispatch) { |
0, -10, |
0, -10, |
2); |
- dispatcher()->AsWindowTreeHostDelegate()->OnHostScrollEvent(&scroll1); |
+ DispatchEventUsingWindowDispatcher(&scroll1); |
EXPECT_EQ(1, filter->num_scroll_events()); |
// Scroll event on a window should be dispatched properly. |
@@ -419,7 +419,7 @@ TEST_F(RootWindowTest, ScrollEventDispatch) { |
-10, 0, |
-10, 0, |
2); |
- dispatcher()->AsWindowTreeHostDelegate()->OnHostScrollEvent(&scroll2); |
+ DispatchEventUsingWindowDispatcher(&scroll2); |
EXPECT_EQ(2, filter->num_scroll_events()); |
} |
@@ -610,8 +610,7 @@ TEST_F(RootWindowTest, MouseMovesHeld) { |
ui::MouseEvent mouse_move_event(ui::ET_MOUSE_MOVED, gfx::Point(0, 0), |
gfx::Point(0, 0), 0, 0); |
- dispatcher()->AsWindowTreeHostDelegate()->OnHostMouseEvent( |
- &mouse_move_event); |
+ DispatchEventUsingWindowDispatcher(&mouse_move_event); |
// Discard MOUSE_ENTER. |
filter->Reset(); |
@@ -620,16 +619,14 @@ TEST_F(RootWindowTest, MouseMovesHeld) { |
// Check that we don't immediately dispatch the MOUSE_DRAGGED event. |
ui::MouseEvent mouse_dragged_event(ui::ET_MOUSE_DRAGGED, gfx::Point(0, 0), |
gfx::Point(0, 0), 0, 0); |
- dispatcher()->AsWindowTreeHostDelegate()->OnHostMouseEvent( |
- &mouse_dragged_event); |
+ DispatchEventUsingWindowDispatcher(&mouse_dragged_event); |
EXPECT_TRUE(filter->events().empty()); |
// Check that we do dispatch the held MOUSE_DRAGGED event before another type |
// of event. |
ui::MouseEvent mouse_pressed_event(ui::ET_MOUSE_PRESSED, gfx::Point(0, 0), |
gfx::Point(0, 0), 0, 0); |
- dispatcher()->AsWindowTreeHostDelegate()->OnHostMouseEvent( |
- &mouse_pressed_event); |
+ DispatchEventUsingWindowDispatcher(&mouse_pressed_event); |
EXPECT_EQ("MOUSE_DRAGGED MOUSE_PRESSED", |
EventTypesToString(filter->events())); |
filter->Reset(); |
@@ -637,21 +634,17 @@ TEST_F(RootWindowTest, MouseMovesHeld) { |
// Check that we coalesce held MOUSE_DRAGGED events. |
ui::MouseEvent mouse_dragged_event2(ui::ET_MOUSE_DRAGGED, gfx::Point(1, 1), |
gfx::Point(1, 1), 0, 0); |
- dispatcher()->AsWindowTreeHostDelegate()->OnHostMouseEvent( |
- &mouse_dragged_event); |
- dispatcher()->AsWindowTreeHostDelegate()->OnHostMouseEvent( |
- &mouse_dragged_event2); |
+ DispatchEventUsingWindowDispatcher(&mouse_dragged_event); |
+ DispatchEventUsingWindowDispatcher(&mouse_dragged_event2); |
EXPECT_TRUE(filter->events().empty()); |
- dispatcher()->AsWindowTreeHostDelegate()->OnHostMouseEvent( |
- &mouse_pressed_event); |
+ DispatchEventUsingWindowDispatcher(&mouse_pressed_event); |
EXPECT_EQ("MOUSE_DRAGGED MOUSE_PRESSED", |
EventTypesToString(filter->events())); |
filter->Reset(); |
// Check that on ReleasePointerMoves, held events are not dispatched |
// immediately, but posted instead. |
- dispatcher()->AsWindowTreeHostDelegate()->OnHostMouseEvent( |
- &mouse_dragged_event); |
+ DispatchEventUsingWindowDispatcher(&mouse_dragged_event); |
dispatcher()->ReleasePointerMoves(); |
EXPECT_TRUE(filter->events().empty()); |
RunAllPendingInMessageLoop(); |
@@ -661,11 +654,9 @@ TEST_F(RootWindowTest, MouseMovesHeld) { |
// However if another message comes in before the dispatch of the posted |
// event, check that the posted event is dispatched before this new event. |
dispatcher()->HoldPointerMoves(); |
- dispatcher()->AsWindowTreeHostDelegate()->OnHostMouseEvent( |
- &mouse_dragged_event); |
+ DispatchEventUsingWindowDispatcher(&mouse_dragged_event); |
dispatcher()->ReleasePointerMoves(); |
- dispatcher()->AsWindowTreeHostDelegate()->OnHostMouseEvent( |
- &mouse_pressed_event); |
+ DispatchEventUsingWindowDispatcher(&mouse_pressed_event); |
EXPECT_EQ("MOUSE_DRAGGED MOUSE_PRESSED", |
EventTypesToString(filter->events())); |
filter->Reset(); |
@@ -675,11 +666,9 @@ TEST_F(RootWindowTest, MouseMovesHeld) { |
// Check that if the other message is another MOUSE_DRAGGED, we still coalesce |
// them. |
dispatcher()->HoldPointerMoves(); |
- dispatcher()->AsWindowTreeHostDelegate()->OnHostMouseEvent( |
- &mouse_dragged_event); |
+ DispatchEventUsingWindowDispatcher(&mouse_dragged_event); |
dispatcher()->ReleasePointerMoves(); |
- dispatcher()->AsWindowTreeHostDelegate()->OnHostMouseEvent( |
- &mouse_dragged_event2); |
+ DispatchEventUsingWindowDispatcher(&mouse_dragged_event2); |
EXPECT_EQ("MOUSE_DRAGGED", EventTypesToString(filter->events())); |
filter->Reset(); |
RunAllPendingInMessageLoop(); |
@@ -700,8 +689,7 @@ TEST_F(RootWindowTest, TouchMovesHeld) { |
// test. |
ui::TouchEvent touch_pressed_event(ui::ET_TOUCH_PRESSED, touch_location, |
0, base::TimeDelta()); |
- dispatcher()->AsWindowTreeHostDelegate()->OnHostTouchEvent( |
- &touch_pressed_event); |
+ DispatchEventUsingWindowDispatcher(&touch_pressed_event); |
filter->WaitUntilReceivedEvent(ui::ET_GESTURE_SHOW_PRESS); |
filter->Reset(); |
@@ -710,14 +698,12 @@ TEST_F(RootWindowTest, TouchMovesHeld) { |
// Check that we don't immediately dispatch the TOUCH_MOVED event. |
ui::TouchEvent touch_moved_event(ui::ET_TOUCH_MOVED, touch_location, |
0, base::TimeDelta()); |
- dispatcher()->AsWindowTreeHostDelegate()->OnHostTouchEvent( |
- &touch_moved_event); |
+ DispatchEventUsingWindowDispatcher(&touch_moved_event); |
EXPECT_TRUE(filter->events().empty()); |
// Check that on ReleasePointerMoves, held events are not dispatched |
// immediately, but posted instead. |
- dispatcher()->AsWindowTreeHostDelegate()->OnHostTouchEvent( |
- &touch_moved_event); |
+ DispatchEventUsingWindowDispatcher(&touch_moved_event); |
dispatcher()->ReleasePointerMoves(); |
EXPECT_TRUE(filter->events().empty()); |
@@ -731,10 +717,8 @@ TEST_F(RootWindowTest, TouchMovesHeld) { |
0, base::TimeDelta()); |
filter->Reset(); |
dispatcher()->HoldPointerMoves(); |
- dispatcher()->AsWindowTreeHostDelegate()->OnHostTouchEvent( |
- &touch_moved_event); |
- dispatcher()->AsWindowTreeHostDelegate()->OnHostTouchEvent( |
- &touch_released_event); |
+ DispatchEventUsingWindowDispatcher(&touch_moved_event); |
+ DispatchEventUsingWindowDispatcher(&touch_released_event); |
EXPECT_EQ("TOUCH_MOVED TOUCH_RELEASED GESTURE_TAP_CANCEL GESTURE_END", |
EventTypesToString(filter->events())); |
filter->Reset(); |
@@ -821,20 +805,20 @@ TEST_F(RootWindowTest, DispatchSyntheticMouseEvents) { |
// Dispatch a non-synthetic mouse event when mouse events are enabled. |
ui::MouseEvent mouse1(ui::ET_MOUSE_MOVED, gfx::Point(10, 10), |
gfx::Point(10, 10), 0, 0); |
- dispatcher()->AsWindowTreeHostDelegate()->OnHostMouseEvent(&mouse1); |
+ DispatchEventUsingWindowDispatcher(&mouse1); |
EXPECT_FALSE(filter->events().empty()); |
filter->Reset(); |
// Dispatch a synthetic mouse event when mouse events are enabled. |
ui::MouseEvent mouse2(ui::ET_MOUSE_MOVED, gfx::Point(10, 10), |
gfx::Point(10, 10), ui::EF_IS_SYNTHESIZED, 0); |
- dispatcher()->AsWindowTreeHostDelegate()->OnHostMouseEvent(&mouse2); |
+ DispatchEventUsingWindowDispatcher(&mouse2); |
EXPECT_FALSE(filter->events().empty()); |
filter->Reset(); |
// Dispatch a synthetic mouse event when mouse events are disabled. |
cursor_client.DisableMouseEvents(); |
- dispatcher()->AsWindowTreeHostDelegate()->OnHostMouseEvent(&mouse2); |
+ DispatchEventUsingWindowDispatcher(&mouse2); |
EXPECT_TRUE(filter->events().empty()); |
} |
@@ -856,7 +840,7 @@ TEST_F(RootWindowTest, DispatchMouseExitWhenCursorHidden) { |
ui::MouseEvent mouse1(ui::ET_MOUSE_MOVED, mouse_location, |
mouse_location, 0, 0); |
EXPECT_TRUE(filter->events().empty()); |
- dispatcher()->AsWindowTreeHostDelegate()->OnHostMouseEvent(&mouse1); |
+ DispatchEventUsingWindowDispatcher(&mouse1); |
EXPECT_FALSE(filter->events().empty()); |
filter->Reset(); |
@@ -1371,8 +1355,6 @@ class DontResetHeldEventWindowDelegate : public test::TestWindowDelegate { |
TEST_F(RootWindowTest, DontResetHeldEvent) { |
DontResetHeldEventWindowDelegate delegate(root_window()); |
scoped_ptr<Window> w1(CreateNormalWindow(1, root_window(), &delegate)); |
- WindowTreeHostDelegate* root_window_delegate = |
- static_cast<WindowTreeHostDelegate*>(root_window()->GetDispatcher()); |
w1->SetBounds(gfx::Rect(0, 0, 40, 40)); |
ui::MouseEvent pressed(ui::ET_MOUSE_PRESSED, |
gfx::Point(10, 10), gfx::Point(10, 10), |
@@ -1380,13 +1362,13 @@ TEST_F(RootWindowTest, DontResetHeldEvent) { |
root_window()->GetDispatcher()->RepostEvent(pressed); |
ui::MouseEvent pressed2(ui::ET_MOUSE_PRESSED, |
gfx::Point(10, 10), gfx::Point(10, 10), 0, 0); |
- // Invoke OnHostMouseEvent() to flush event scheduled by way of RepostEvent(). |
- root_window_delegate->OnHostMouseEvent(&pressed2); |
+ // Dispatch an event to flush event scheduled by way of RepostEvent(). |
+ DispatchEventUsingWindowDispatcher(&pressed2); |
// Delegate should have seen reposted event (identified by way of |
- // EF_SHIFT_DOWN). Invoke OnHostMouseEvent() to flush the second |
+ // EF_SHIFT_DOWN). Dispatch another event to flush the second |
// RepostedEvent(). |
EXPECT_EQ(1, delegate.mouse_event_count()); |
- root_window_delegate->OnHostMouseEvent(&pressed2); |
+ DispatchEventUsingWindowDispatcher(&pressed2); |
EXPECT_EQ(2, delegate.mouse_event_count()); |
} |
@@ -1464,7 +1446,7 @@ TEST_F(RootWindowTest, WindowHideCancelsActiveTouches) { |
gfx::Point position1 = root_window()->bounds().origin(); |
ui::TouchEvent press(ui::ET_TOUCH_PRESSED, position1, 0, base::TimeDelta()); |
- dispatcher()->AsWindowTreeHostDelegate()->OnHostTouchEvent(&press); |
+ DispatchEventUsingWindowDispatcher(&press); |
EXPECT_EQ("TOUCH_PRESSED GESTURE_BEGIN GESTURE_TAP_DOWN", |
EventTypesToString(filter->GetAndResetEvents())); |
@@ -1486,13 +1468,13 @@ TEST_F(RootWindowTest, WindowHideCancelsActiveGestures) { |
gfx::Point position1 = root_window()->bounds().origin(); |
gfx::Point position2 = root_window()->bounds().CenterPoint(); |
ui::TouchEvent press(ui::ET_TOUCH_PRESSED, position1, 0, base::TimeDelta()); |
- dispatcher()->AsWindowTreeHostDelegate()->OnHostTouchEvent(&press); |
+ DispatchEventUsingWindowDispatcher(&press); |
ui::TouchEvent move(ui::ET_TOUCH_MOVED, position2, 0, base::TimeDelta()); |
- dispatcher()->AsWindowTreeHostDelegate()->OnHostTouchEvent(&move); |
+ DispatchEventUsingWindowDispatcher(&move); |
ui::TouchEvent press2(ui::ET_TOUCH_PRESSED, position1, 1, base::TimeDelta()); |
- dispatcher()->AsWindowTreeHostDelegate()->OnHostTouchEvent(&press2); |
+ DispatchEventUsingWindowDispatcher(&press2); |
EXPECT_EQ("TOUCH_PRESSED GESTURE_BEGIN GESTURE_TAP_DOWN TOUCH_MOVED " |
"GESTURE_TAP_CANCEL GESTURE_SCROLL_BEGIN GESTURE_SCROLL_UPDATE " |
@@ -1523,11 +1505,11 @@ TEST_F(RootWindowTest, EndingEventDoesntRetarget) { |
gfx::Point position = window1->bounds().origin(); |
ui::TouchEvent press(ui::ET_TOUCH_PRESSED, position, 0, base::TimeDelta()); |
- dispatcher()->AsWindowTreeHostDelegate()->OnHostTouchEvent(&press); |
+ DispatchEventUsingWindowDispatcher(&press); |
gfx::Point position2 = window1->bounds().CenterPoint(); |
ui::TouchEvent move(ui::ET_TOUCH_MOVED, position2, 0, base::TimeDelta()); |
- dispatcher()->AsWindowTreeHostDelegate()->OnHostTouchEvent(&move); |
+ DispatchEventUsingWindowDispatcher(&move); |
window2->SetCapture(); |
@@ -1646,8 +1628,7 @@ TEST_F(RootWindowTestInHighDPI, EventLocationTransform) { |
ui::MouseEvent move(ui::ET_MOUSE_MOVED, |
gfx::Point(30, 30), gfx::Point(30, 30), |
ui::EF_NONE, ui::EF_NONE); |
- ui::EventDispatchDetails details = dispatcher()->OnEventFromSource(&move); |
- ASSERT_FALSE(details.dispatcher_destroyed); |
+ DispatchEventUsingWindowDispatcher(&move); |
EXPECT_EQ(0, handler_child.num_mouse_events()); |
EXPECT_EQ(1, handler_root.num_mouse_events()); |
} |
@@ -1656,8 +1637,7 @@ TEST_F(RootWindowTestInHighDPI, EventLocationTransform) { |
ui::MouseEvent move(ui::ET_MOUSE_MOVED, |
gfx::Point(50, 50), gfx::Point(50, 50), |
ui::EF_NONE, ui::EF_NONE); |
- ui::EventDispatchDetails details = dispatcher()->OnEventFromSource(&move); |
- ASSERT_FALSE(details.dispatcher_destroyed); |
+ DispatchEventUsingWindowDispatcher(&move); |
// The child receives an ENTER, and a MOVED event. |
EXPECT_EQ(2, handler_child.num_mouse_events()); |
// The root receives both the ENTER and the MOVED events dispatched to |