Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(12)

Side by Side Diff: ui/aura/window_event_dispatcher_unittest.cc

Issue 306483003: Prepare for Unified Gesture Recognizer landing in Aura (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address sadrul's comments Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "ui/aura/window_event_dispatcher.h" 5 #include "ui/aura/window_event_dispatcher.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/run_loop.h" 10 #include "base/run_loop.h"
(...skipping 377 matching lines...) Expand 10 before | Expand all | Expand 10 after
388 } 388 }
389 389
390 // Tests that touch-events that are beyond the bounds of the root-window do get 390 // Tests that touch-events that are beyond the bounds of the root-window do get
391 // propagated to the event filters correctly with the root as the target. 391 // propagated to the event filters correctly with the root as the target.
392 TEST_F(WindowEventDispatcherTest, TouchEventsOutsideBounds) { 392 TEST_F(WindowEventDispatcherTest, TouchEventsOutsideBounds) {
393 ui::test::TestEventHandler handler; 393 ui::test::TestEventHandler handler;
394 root_window()->AddPreTargetHandler(&handler); 394 root_window()->AddPreTargetHandler(&handler);
395 395
396 gfx::Point position = root_window()->bounds().origin(); 396 gfx::Point position = root_window()->bounds().origin();
397 position.Offset(-10, -10); 397 position.Offset(-10, -10);
398 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, position, 0, base::TimeDelta()); 398 ui::TouchEvent press(
399 ui::ET_TOUCH_PRESSED, position, 0, ui::EventTimeForNow());
399 DispatchEventUsingWindowDispatcher(&press); 400 DispatchEventUsingWindowDispatcher(&press);
400 EXPECT_EQ(1, handler.num_touch_events()); 401 EXPECT_EQ(1, handler.num_touch_events());
401 402
402 position = root_window()->bounds().origin(); 403 position = root_window()->bounds().origin();
403 position.Offset(root_window()->bounds().width() + 10, 404 position.Offset(root_window()->bounds().width() + 10,
404 root_window()->bounds().height() + 10); 405 root_window()->bounds().height() + 10);
405 ui::TouchEvent release(ui::ET_TOUCH_RELEASED, position, 0, base::TimeDelta()); 406 ui::TouchEvent release(
407 ui::ET_TOUCH_RELEASED, position, 0, ui::EventTimeForNow());
406 DispatchEventUsingWindowDispatcher(&release); 408 DispatchEventUsingWindowDispatcher(&release);
407 EXPECT_EQ(2, handler.num_touch_events()); 409 EXPECT_EQ(2, handler.num_touch_events());
408 } 410 }
409 411
410 // Tests that scroll events are dispatched correctly. 412 // Tests that scroll events are dispatched correctly.
411 TEST_F(WindowEventDispatcherTest, ScrollEventDispatch) { 413 TEST_F(WindowEventDispatcherTest, ScrollEventDispatch) {
412 base::TimeDelta now = ui::EventTimeForNow(); 414 base::TimeDelta now = ui::EventTimeForNow();
413 ui::test::TestEventHandler handler; 415 ui::test::TestEventHandler handler;
414 root_window()->AddPreTargetHandler(&handler); 416 root_window()->AddPreTargetHandler(&handler);
415 417
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
492 494
493 virtual void OnMouseEvent(ui::MouseEvent* event) OVERRIDE { 495 virtual void OnMouseEvent(ui::MouseEvent* event) OVERRIDE {
494 mouse_locations_.push_back(event->location()); 496 mouse_locations_.push_back(event->location());
495 mouse_event_flags_.push_back(event->flags()); 497 mouse_event_flags_.push_back(event->flags());
496 } 498 }
497 499
498 virtual void OnTouchEvent(ui::TouchEvent* event) OVERRIDE { 500 virtual void OnTouchEvent(ui::TouchEvent* event) OVERRIDE {
499 touch_locations_.push_back(event->location()); 501 touch_locations_.push_back(event->location());
500 } 502 }
501 503
504 bool HasReceivedEvent(ui::EventType type) {
505 return std::find(events_.begin(), events_.end(), type) != events_.end();
506 }
507
502 private: 508 private:
503 scoped_ptr<base::RunLoop> run_loop_; 509 scoped_ptr<base::RunLoop> run_loop_;
504 ui::EventType wait_until_event_; 510 ui::EventType wait_until_event_;
505 511
506 Events events_; 512 Events events_;
507 EventLocations mouse_locations_; 513 EventLocations mouse_locations_;
508 EventLocations touch_locations_; 514 EventLocations touch_locations_;
509 EventFlags mouse_event_flags_; 515 EventFlags mouse_event_flags_;
510 516
511 DISALLOW_COPY_AND_ASSIGN(EventFilterRecorder); 517 DISALLOW_COPY_AND_ASSIGN(EventFilterRecorder);
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after
720 root_window()->AddPreTargetHandler(&recorder); 726 root_window()->AddPreTargetHandler(&recorder);
721 727
722 test::TestWindowDelegate delegate; 728 test::TestWindowDelegate delegate;
723 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( 729 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate(
724 &delegate, 1, gfx::Rect(50, 50, 100, 100), root_window())); 730 &delegate, 1, gfx::Rect(50, 50, 100, 100), root_window()));
725 731
726 const gfx::Point touch_location(60, 60); 732 const gfx::Point touch_location(60, 60);
727 // Starting the touch and throwing out the first few events, since the system 733 // Starting the touch and throwing out the first few events, since the system
728 // is going to generate synthetic mouse events that are not relevant to the 734 // is going to generate synthetic mouse events that are not relevant to the
729 // test. 735 // test.
730 ui::TouchEvent touch_pressed_event(ui::ET_TOUCH_PRESSED, touch_location, 736 ui::TouchEvent touch_pressed_event(
731 0, base::TimeDelta()); 737 ui::ET_TOUCH_PRESSED, touch_location, 0, ui::EventTimeForNow());
732 DispatchEventUsingWindowDispatcher(&touch_pressed_event); 738 DispatchEventUsingWindowDispatcher(&touch_pressed_event);
733 recorder.WaitUntilReceivedEvent(ui::ET_GESTURE_SHOW_PRESS); 739 recorder.WaitUntilReceivedEvent(ui::ET_GESTURE_SHOW_PRESS);
734 recorder.Reset(); 740 recorder.Reset();
735 741
736 host()->dispatcher()->HoldPointerMoves(); 742 host()->dispatcher()->HoldPointerMoves();
737 743
738 // Check that we don't immediately dispatch the TOUCH_MOVED event. 744 // Check that we don't immediately dispatch the TOUCH_MOVED event.
739 ui::TouchEvent touch_moved_event(ui::ET_TOUCH_MOVED, touch_location, 745 ui::TouchEvent touch_moved_event(
740 0, base::TimeDelta()); 746 ui::ET_TOUCH_MOVED, touch_location, 0, ui::EventTimeForNow());
741 DispatchEventUsingWindowDispatcher(&touch_moved_event); 747 DispatchEventUsingWindowDispatcher(&touch_moved_event);
742 EXPECT_TRUE(recorder.events().empty()); 748 EXPECT_TRUE(recorder.events().empty());
743 749
744 // Check that on ReleasePointerMoves, held events are not dispatched 750 // Check that on ReleasePointerMoves, held events are not dispatched
745 // immediately, but posted instead. 751 // immediately, but posted instead.
746 DispatchEventUsingWindowDispatcher(&touch_moved_event); 752 DispatchEventUsingWindowDispatcher(&touch_moved_event);
747 host()->dispatcher()->ReleasePointerMoves(); 753 host()->dispatcher()->ReleasePointerMoves();
748 EXPECT_TRUE(recorder.events().empty()); 754 EXPECT_TRUE(recorder.events().empty());
749 755
750 RunAllPendingInMessageLoop(); 756 RunAllPendingInMessageLoop();
751 EXPECT_EQ("TOUCH_MOVED", EventTypesToString(recorder.events())); 757 EXPECT_EQ("TOUCH_MOVED", EventTypesToString(recorder.events()));
752 recorder.Reset(); 758 recorder.Reset();
753 759
754 // If another touch event occurs then the held touch should be dispatched 760 // If another touch event occurs then the held touch should be dispatched
755 // immediately before it. 761 // immediately before it.
756 ui::TouchEvent touch_released_event(ui::ET_TOUCH_RELEASED, touch_location, 762 ui::TouchEvent touch_released_event(
757 0, base::TimeDelta()); 763 ui::ET_TOUCH_RELEASED, touch_location, 0, ui::EventTimeForNow());
758 recorder.Reset(); 764 recorder.Reset();
759 host()->dispatcher()->HoldPointerMoves(); 765 host()->dispatcher()->HoldPointerMoves();
760 DispatchEventUsingWindowDispatcher(&touch_moved_event); 766 DispatchEventUsingWindowDispatcher(&touch_moved_event);
761 DispatchEventUsingWindowDispatcher(&touch_released_event); 767 DispatchEventUsingWindowDispatcher(&touch_released_event);
762 EXPECT_EQ("TOUCH_MOVED TOUCH_RELEASED GESTURE_TAP_CANCEL GESTURE_END", 768 EXPECT_EQ("TOUCH_MOVED TOUCH_RELEASED GESTURE_TAP GESTURE_END",
763 EventTypesToString(recorder.events())); 769 EventTypesToString(recorder.events()));
764 recorder.Reset(); 770 recorder.Reset();
765 host()->dispatcher()->ReleasePointerMoves(); 771 host()->dispatcher()->ReleasePointerMoves();
766 RunAllPendingInMessageLoop(); 772 RunAllPendingInMessageLoop();
767 EXPECT_TRUE(recorder.events().empty()); 773 EXPECT_TRUE(recorder.events().empty());
768 } 774 }
769 775
770 class HoldPointerOnScrollHandler : public ui::test::TestEventHandler { 776 class HoldPointerOnScrollHandler : public ui::test::TestEventHandler {
771 public: 777 public:
772 HoldPointerOnScrollHandler(WindowEventDispatcher* dispatcher, 778 HoldPointerOnScrollHandler(WindowEventDispatcher* dispatcher,
(...skipping 433 matching lines...) Expand 10 before | Expand all | Expand 10 after
1206 TEST_F(WindowEventDispatcherTest, RepostTapdownGestureTest) { 1212 TEST_F(WindowEventDispatcherTest, RepostTapdownGestureTest) {
1207 EventFilterRecorder recorder; 1213 EventFilterRecorder recorder;
1208 root_window()->AddPreTargetHandler(&recorder); 1214 root_window()->AddPreTargetHandler(&recorder);
1209 1215
1210 test::TestWindowDelegate delegate; 1216 test::TestWindowDelegate delegate;
1211 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( 1217 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate(
1212 &delegate, 1, gfx::Rect(0, 0, 100, 100), root_window())); 1218 &delegate, 1, gfx::Rect(0, 0, 100, 100), root_window()));
1213 1219
1214 ui::GestureEventDetails details(ui::ET_GESTURE_TAP_DOWN, 0.0f, 0.0f); 1220 ui::GestureEventDetails details(ui::ET_GESTURE_TAP_DOWN, 0.0f, 0.0f);
1215 gfx::Point point(10, 10); 1221 gfx::Point point(10, 10);
1216 ui::GestureEvent event( 1222 ui::GestureEvent event(ui::ET_GESTURE_TAP_DOWN,
1217 ui::ET_GESTURE_TAP_DOWN, 1223 point.x(),
1218 point.x(), 1224 point.y(),
1219 point.y(), 1225 0,
1220 0, 1226 ui::EventTimeForNow(),
1221 ui::EventTimeForNow(), 1227 details,
1222 details, 1228 0);
1223 0);
1224 host()->dispatcher()->RepostEvent(event); 1229 host()->dispatcher()->RepostEvent(event);
1225 RunAllPendingInMessageLoop(); 1230 RunAllPendingInMessageLoop();
1226 // TODO(rbyers): Currently disabled - crbug.com/170987 1231 // TODO(rbyers): Currently disabled - crbug.com/170987
1227 EXPECT_FALSE(EventTypesToString(recorder.events()).find("GESTURE_TAP_DOWN") != 1232 EXPECT_FALSE(EventTypesToString(recorder.events()).find("GESTURE_TAP_DOWN") !=
1228 std::string::npos); 1233 std::string::npos);
1229 recorder.Reset(); 1234 recorder.Reset();
1230 root_window()->RemovePreTargetHandler(&recorder); 1235 root_window()->RemovePreTargetHandler(&recorder);
1231 } 1236 }
1232 1237
1233 // This class inherits from the EventFilterRecorder class which provides a 1238 // This class inherits from the EventFilterRecorder class which provides a
(...skipping 333 matching lines...) Expand 10 before | Expand all | Expand 10 after
1567 1572
1568 TEST_F(WindowEventDispatcherTest, WindowHideCancelsActiveTouches) { 1573 TEST_F(WindowEventDispatcherTest, WindowHideCancelsActiveTouches) {
1569 EventFilterRecorder recorder; 1574 EventFilterRecorder recorder;
1570 root_window()->AddPreTargetHandler(&recorder); 1575 root_window()->AddPreTargetHandler(&recorder);
1571 1576
1572 test::TestWindowDelegate delegate; 1577 test::TestWindowDelegate delegate;
1573 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( 1578 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate(
1574 &delegate, 1, gfx::Rect(0, 0, 100, 100), root_window())); 1579 &delegate, 1, gfx::Rect(0, 0, 100, 100), root_window()));
1575 1580
1576 gfx::Point position1 = root_window()->bounds().origin(); 1581 gfx::Point position1 = root_window()->bounds().origin();
1577 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, position1, 0, base::TimeDelta()); 1582 ui::TouchEvent press(
1583 ui::ET_TOUCH_PRESSED, position1, 0, ui::EventTimeForNow());
1578 DispatchEventUsingWindowDispatcher(&press); 1584 DispatchEventUsingWindowDispatcher(&press);
1579 1585
1580 EXPECT_EQ("TOUCH_PRESSED GESTURE_BEGIN GESTURE_TAP_DOWN", 1586 EXPECT_EQ("TOUCH_PRESSED GESTURE_BEGIN GESTURE_TAP_DOWN",
1581 EventTypesToString(recorder.GetAndResetEvents())); 1587 EventTypesToString(recorder.GetAndResetEvents()));
1582 1588
1583 window->Hide(); 1589 window->Hide();
1584 1590
1585 EXPECT_EQ("TOUCH_CANCELLED GESTURE_TAP_CANCEL GESTURE_END", 1591 EXPECT_EQ(ui::ET_TOUCH_CANCELLED, recorder.events()[0]);
1586 EventTypesToString(recorder.events())); 1592 EXPECT_TRUE(recorder.HasReceivedEvent(ui::ET_GESTURE_TAP_CANCEL));
1593 EXPECT_TRUE(recorder.HasReceivedEvent(ui::ET_GESTURE_END));
1594 EXPECT_EQ(3U, recorder.events().size());
1587 root_window()->RemovePreTargetHandler(&recorder); 1595 root_window()->RemovePreTargetHandler(&recorder);
1588 } 1596 }
1589 1597
1590 TEST_F(WindowEventDispatcherTest, WindowHideCancelsActiveGestures) { 1598 TEST_F(WindowEventDispatcherTest, WindowHideCancelsActiveGestures) {
1591 EventFilterRecorder recorder; 1599 EventFilterRecorder recorder;
1592 root_window()->AddPreTargetHandler(&recorder); 1600 root_window()->AddPreTargetHandler(&recorder);
1593 1601
1594 test::TestWindowDelegate delegate; 1602 test::TestWindowDelegate delegate;
1595 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( 1603 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate(
1596 &delegate, 1, gfx::Rect(0, 0, 100, 100), root_window())); 1604 &delegate, 1, gfx::Rect(0, 0, 100, 100), root_window()));
1597 1605
1598 gfx::Point position1 = root_window()->bounds().origin(); 1606 gfx::Point position1 = root_window()->bounds().origin();
1599 gfx::Point position2 = root_window()->bounds().CenterPoint(); 1607 gfx::Point position2 = root_window()->bounds().CenterPoint();
1600 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, position1, 0, base::TimeDelta()); 1608 ui::TouchEvent press(
1609 ui::ET_TOUCH_PRESSED, position1, 0, ui::EventTimeForNow());
1601 DispatchEventUsingWindowDispatcher(&press); 1610 DispatchEventUsingWindowDispatcher(&press);
1602 1611
1603 ui::TouchEvent move(ui::ET_TOUCH_MOVED, position2, 0, base::TimeDelta()); 1612 ui::TouchEvent move(
1613 ui::ET_TOUCH_MOVED, position2, 0, ui::EventTimeForNow());
1604 DispatchEventUsingWindowDispatcher(&move); 1614 DispatchEventUsingWindowDispatcher(&move);
1605 1615
1606 ui::TouchEvent press2(ui::ET_TOUCH_PRESSED, position1, 1, base::TimeDelta()); 1616 ui::TouchEvent press2(
1617 ui::ET_TOUCH_PRESSED, position1, 1, ui::EventTimeForNow());
1607 DispatchEventUsingWindowDispatcher(&press2); 1618 DispatchEventUsingWindowDispatcher(&press2);
1608 1619
1609 EXPECT_EQ("TOUCH_PRESSED GESTURE_BEGIN GESTURE_TAP_DOWN TOUCH_MOVED " 1620 // TODO(tdresser): once the unified Gesture Recognizer has stuck, remove the
1610 "GESTURE_TAP_CANCEL GESTURE_SCROLL_BEGIN GESTURE_SCROLL_UPDATE " 1621 // special casing here. See crbug.com/332418 for details.
1611 "TOUCH_PRESSED GESTURE_BEGIN GESTURE_PINCH_BEGIN", 1622 std::string expected =
1612 EventTypesToString(recorder.GetAndResetEvents())); 1623 "TOUCH_PRESSED GESTURE_BEGIN GESTURE_TAP_DOWN TOUCH_MOVED "
1624 "GESTURE_TAP_CANCEL GESTURE_SCROLL_BEGIN GESTURE_SCROLL_UPDATE "
1625 "TOUCH_PRESSED GESTURE_BEGIN GESTURE_PINCH_BEGIN";
1626
1627 std::string expected_ugr =
1628 "TOUCH_PRESSED GESTURE_BEGIN GESTURE_TAP_DOWN TOUCH_MOVED "
1629 "GESTURE_TAP_CANCEL GESTURE_SCROLL_BEGIN GESTURE_SCROLL_UPDATE "
1630 "TOUCH_PRESSED GESTURE_BEGIN";
1631
1632 std::string events_string = EventTypesToString(recorder.GetAndResetEvents());
1633 EXPECT_TRUE((expected == events_string) || (expected_ugr == events_string));
1613 1634
1614 window->Hide(); 1635 window->Hide();
1615 1636
1616 EXPECT_EQ("TOUCH_CANCELLED GESTURE_PINCH_END GESTURE_END TOUCH_CANCELLED " 1637 expected =
1617 "GESTURE_SCROLL_END GESTURE_END", 1638 "TOUCH_CANCELLED GESTURE_PINCH_END GESTURE_END TOUCH_CANCELLED "
1618 EventTypesToString(recorder.events())); 1639 "GESTURE_SCROLL_END GESTURE_END";
1640 expected_ugr =
1641 "TOUCH_CANCELLED GESTURE_SCROLL_END GESTURE_END GESTURE_END "
1642 "TOUCH_CANCELLED";
1643
1644 events_string = EventTypesToString(recorder.GetAndResetEvents());
1645 EXPECT_TRUE((expected == events_string) || (expected_ugr == events_string));
1646
1619 root_window()->RemovePreTargetHandler(&recorder); 1647 root_window()->RemovePreTargetHandler(&recorder);
1620 } 1648 }
1621 1649
1622 // Places two windows side by side. Presses down on one window, and starts a 1650 // Places two windows side by side. Presses down on one window, and starts a
1623 // scroll. Sets capture on the other window and ensures that the "ending" events 1651 // scroll. Sets capture on the other window and ensures that the "ending" events
1624 // aren't sent to the window which gained capture. 1652 // aren't sent to the window which gained capture.
1625 TEST_F(WindowEventDispatcherTest, EndingEventDoesntRetarget) { 1653 TEST_F(WindowEventDispatcherTest, EndingEventDoesntRetarget) {
1626 EventFilterRecorder recorder1; 1654 EventFilterRecorder recorder1;
1627 EventFilterRecorder recorder2; 1655 EventFilterRecorder recorder2;
1628 scoped_ptr<Window> window1(CreateNormalWindow(1, root_window(), NULL)); 1656 scoped_ptr<Window> window1(CreateNormalWindow(1, root_window(), NULL));
1629 window1->SetBounds(gfx::Rect(0, 0, 40, 40)); 1657 window1->SetBounds(gfx::Rect(0, 0, 40, 40));
1630 1658
1631 scoped_ptr<Window> window2(CreateNormalWindow(2, root_window(), NULL)); 1659 scoped_ptr<Window> window2(CreateNormalWindow(2, root_window(), NULL));
1632 window2->SetBounds(gfx::Rect(40, 0, 40, 40)); 1660 window2->SetBounds(gfx::Rect(40, 0, 40, 40));
1633 1661
1634 window1->AddPreTargetHandler(&recorder1); 1662 window1->AddPreTargetHandler(&recorder1);
1635 window2->AddPreTargetHandler(&recorder2); 1663 window2->AddPreTargetHandler(&recorder2);
1636 1664
1637 gfx::Point position = window1->bounds().origin(); 1665 gfx::Point position = window1->bounds().origin();
1638 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, position, 0, base::TimeDelta()); 1666 ui::TouchEvent press(
1667 ui::ET_TOUCH_PRESSED, position, 0, ui::EventTimeForNow());
1639 DispatchEventUsingWindowDispatcher(&press); 1668 DispatchEventUsingWindowDispatcher(&press);
1640 1669
1641 gfx::Point position2 = window1->bounds().CenterPoint(); 1670 gfx::Point position2 = window1->bounds().CenterPoint();
1642 ui::TouchEvent move(ui::ET_TOUCH_MOVED, position2, 0, base::TimeDelta()); 1671 ui::TouchEvent move(
1672 ui::ET_TOUCH_MOVED, position2, 0, ui::EventTimeForNow());
1643 DispatchEventUsingWindowDispatcher(&move); 1673 DispatchEventUsingWindowDispatcher(&move);
1644 1674
1645 window2->SetCapture(); 1675 window2->SetCapture();
1646 1676
1647 EXPECT_EQ("TOUCH_PRESSED GESTURE_BEGIN GESTURE_TAP_DOWN TOUCH_MOVED " 1677 EXPECT_EQ("TOUCH_PRESSED GESTURE_BEGIN GESTURE_TAP_DOWN TOUCH_MOVED "
1648 "GESTURE_TAP_CANCEL GESTURE_SCROLL_BEGIN GESTURE_SCROLL_UPDATE " 1678 "GESTURE_TAP_CANCEL GESTURE_SCROLL_BEGIN GESTURE_SCROLL_UPDATE "
1649 "TOUCH_CANCELLED GESTURE_SCROLL_END GESTURE_END", 1679 "TOUCH_CANCELLED GESTURE_SCROLL_END GESTURE_END",
1650 EventTypesToString(recorder1.events())); 1680 EventTypesToString(recorder1.events()));
1651 1681
1652 EXPECT_TRUE(recorder2.events().empty()); 1682 EXPECT_TRUE(recorder2.events().empty());
(...skipping 457 matching lines...) Expand 10 before | Expand all | Expand 10 after
2110 delegate.GetMouseMotionCountsAndReset(); 2140 delegate.GetMouseMotionCountsAndReset();
2111 2141
2112 // Notify both hosts that the cursor is now hidden. This should send a single 2142 // Notify both hosts that the cursor is now hidden. This should send a single
2113 // mouse-exit event to |window|. 2143 // mouse-exit event to |window|.
2114 host()->OnCursorVisibilityChanged(false); 2144 host()->OnCursorVisibilityChanged(false);
2115 second_host->OnCursorVisibilityChanged(false); 2145 second_host->OnCursorVisibilityChanged(false);
2116 EXPECT_EQ("0 0 1", delegate.GetMouseMotionCountsAndReset()); 2146 EXPECT_EQ("0 0 1", delegate.GetMouseMotionCountsAndReset());
2117 } 2147 }
2118 2148
2119 } // namespace aura 2149 } // namespace aura
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698