| Index: ui/aura/window_event_dispatcher_unittest.cc
|
| diff --git a/ui/aura/window_event_dispatcher_unittest.cc b/ui/aura/window_event_dispatcher_unittest.cc
|
| index 9c3a77ec15ac8d33d605fc36c8a93d740c2faa69..b970792cff7c7791226c9ae686009a725052545a 100644
|
| --- a/ui/aura/window_event_dispatcher_unittest.cc
|
| +++ b/ui/aura/window_event_dispatcher_unittest.cc
|
| @@ -499,6 +499,14 @@ class EventFilterRecorder : public ui::EventHandler {
|
| touch_locations_.push_back(event->location());
|
| }
|
|
|
| + bool HasReceivedEvent(ui::EventType type) {
|
| + for (size_t i = 0; i < events_.size(); ++i) {
|
| + if (events_[i] == type)
|
| + return true;
|
| + }
|
| + return false;
|
| + }
|
| +
|
| private:
|
| scoped_ptr<base::RunLoop> run_loop_;
|
| ui::EventType wait_until_event_;
|
| @@ -754,12 +762,12 @@ TEST_F(WindowEventDispatcherTest, TouchMovesHeld) {
|
| // If another touch event occurs then the held touch should be dispatched
|
| // immediately before it.
|
| ui::TouchEvent touch_released_event(ui::ET_TOUCH_RELEASED, touch_location,
|
| - 0, base::TimeDelta());
|
| + 0, base::TimeDelta::FromMilliseconds(50));
|
| recorder.Reset();
|
| host()->dispatcher()->HoldPointerMoves();
|
| DispatchEventUsingWindowDispatcher(&touch_moved_event);
|
| DispatchEventUsingWindowDispatcher(&touch_released_event);
|
| - EXPECT_EQ("TOUCH_MOVED TOUCH_RELEASED GESTURE_TAP_CANCEL GESTURE_END",
|
| + EXPECT_EQ("TOUCH_MOVED TOUCH_RELEASED GESTURE_TAP GESTURE_END",
|
| EventTypesToString(recorder.events()));
|
| recorder.Reset();
|
| host()->dispatcher()->ReleasePointerMoves();
|
| @@ -1582,8 +1590,10 @@ TEST_F(WindowEventDispatcherTest, WindowHideCancelsActiveTouches) {
|
|
|
| window->Hide();
|
|
|
| - EXPECT_EQ("TOUCH_CANCELLED GESTURE_TAP_CANCEL GESTURE_END",
|
| - EventTypesToString(recorder.events()));
|
| + EXPECT_EQ(ui::ET_TOUCH_CANCELLED, recorder.events()[0]);
|
| + EXPECT_TRUE(recorder.HasReceivedEvent(ui::ET_GESTURE_TAP_CANCEL));
|
| + EXPECT_TRUE(recorder.HasReceivedEvent(ui::ET_GESTURE_END));
|
| + EXPECT_EQ(3U, recorder.events().size());
|
| root_window()->RemovePreTargetHandler(&recorder);
|
| }
|
|
|
| @@ -1606,16 +1616,33 @@ TEST_F(WindowEventDispatcherTest, WindowHideCancelsActiveGestures) {
|
| ui::TouchEvent press2(ui::ET_TOUCH_PRESSED, position1, 1, base::TimeDelta());
|
| DispatchEventUsingWindowDispatcher(&press2);
|
|
|
| - EXPECT_EQ("TOUCH_PRESSED GESTURE_BEGIN GESTURE_TAP_DOWN TOUCH_MOVED "
|
| - "GESTURE_TAP_CANCEL GESTURE_SCROLL_BEGIN GESTURE_SCROLL_UPDATE "
|
| - "TOUCH_PRESSED GESTURE_BEGIN GESTURE_PINCH_BEGIN",
|
| - EventTypesToString(recorder.GetAndResetEvents()));
|
| + // TODO(tdresser): once the unified Gesture Recognizer has stuck, remove the
|
| + // special casing here. See crbug.com/332418 for details.
|
| + std::string expected =
|
| + "TOUCH_PRESSED GESTURE_BEGIN GESTURE_TAP_DOWN TOUCH_MOVED "
|
| + "GESTURE_TAP_CANCEL GESTURE_SCROLL_BEGIN GESTURE_SCROLL_UPDATE "
|
| + "TOUCH_PRESSED GESTURE_BEGIN GESTURE_PINCH_BEGIN";
|
| +
|
| + std::string expected_ugr =
|
| + "TOUCH_PRESSED GESTURE_BEGIN GESTURE_TAP_DOWN TOUCH_MOVED "
|
| + "GESTURE_TAP_CANCEL GESTURE_SCROLL_BEGIN GESTURE_SCROLL_UPDATE "
|
| + "TOUCH_PRESSED GESTURE_BEGIN";
|
| +
|
| + std::string events_string = EventTypesToString(recorder.GetAndResetEvents());
|
| + EXPECT_TRUE((expected == events_string) || (expected_ugr == events_string));
|
|
|
| window->Hide();
|
|
|
| - EXPECT_EQ("TOUCH_CANCELLED GESTURE_PINCH_END GESTURE_END TOUCH_CANCELLED "
|
| - "GESTURE_SCROLL_END GESTURE_END",
|
| - EventTypesToString(recorder.events()));
|
| + expected =
|
| + "TOUCH_CANCELLED GESTURE_PINCH_END GESTURE_END TOUCH_CANCELLED "
|
| + "GESTURE_SCROLL_END GESTURE_END";
|
| + expected_ugr =
|
| + "TOUCH_CANCELLED GESTURE_SCROLL_END GESTURE_END GESTURE_END "
|
| + "TOUCH_CANCELLED";
|
| +
|
| + events_string = EventTypesToString(recorder.GetAndResetEvents());
|
| + EXPECT_TRUE((expected == events_string) || (expected_ugr == events_string));
|
| +
|
| root_window()->RemovePreTargetHandler(&recorder);
|
| }
|
|
|
|
|