OLD | NEW |
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 "base/memory/scoped_vector.h" | 5 #include "base/memory/scoped_vector.h" |
6 #include "base/run_loop.h" | 6 #include "base/run_loop.h" |
7 #include "base/string_number_conversions.h" | 7 #include "base/string_number_conversions.h" |
8 #include "base/timer.h" | 8 #include "base/timer.h" |
9 #include "testing/gtest/include/gtest/gtest.h" | 9 #include "testing/gtest/include/gtest/gtest.h" |
10 #include "ui/aura/env.h" | 10 #include "ui/aura/env.h" |
(...skipping 512 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
523 | 523 |
524 // Check that appropriate touch events generate tap gesture events. | 524 // Check that appropriate touch events generate tap gesture events. |
525 TEST_F(GestureRecognizerTest, GestureEventTap) { | 525 TEST_F(GestureRecognizerTest, GestureEventTap) { |
526 scoped_ptr<GestureEventConsumeDelegate> delegate( | 526 scoped_ptr<GestureEventConsumeDelegate> delegate( |
527 new GestureEventConsumeDelegate()); | 527 new GestureEventConsumeDelegate()); |
528 const int kWindowWidth = 123; | 528 const int kWindowWidth = 123; |
529 const int kWindowHeight = 45; | 529 const int kWindowHeight = 45; |
530 const int kTouchId = 2; | 530 const int kTouchId = 2; |
531 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); | 531 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); |
532 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( | 532 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( |
533 delegate.get(), -1234, bounds, NULL)); | 533 delegate.get(), -1234, bounds, root_window())); |
534 | 534 |
535 delegate->Reset(); | 535 delegate->Reset(); |
536 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), | 536 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), |
537 kTouchId, GetTime()); | 537 kTouchId, GetTime()); |
538 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press); | 538 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press); |
539 EXPECT_FALSE(delegate->tap()); | 539 EXPECT_FALSE(delegate->tap()); |
540 EXPECT_TRUE(delegate->tap_down()); | 540 EXPECT_TRUE(delegate->tap_down()); |
541 EXPECT_FALSE(delegate->tap_cancel()); | 541 EXPECT_FALSE(delegate->tap_cancel()); |
542 EXPECT_TRUE(delegate->begin()); | 542 EXPECT_TRUE(delegate->begin()); |
543 EXPECT_FALSE(delegate->double_tap()); | 543 EXPECT_FALSE(delegate->double_tap()); |
(...skipping 26 matching lines...) Expand all Loading... |
570 // Check that appropriate touch events generate tap gesture events | 570 // Check that appropriate touch events generate tap gesture events |
571 // when information about the touch radii are provided. | 571 // when information about the touch radii are provided. |
572 TEST_F(GestureRecognizerTest, GestureEventTapRegion) { | 572 TEST_F(GestureRecognizerTest, GestureEventTapRegion) { |
573 scoped_ptr<GestureEventConsumeDelegate> delegate( | 573 scoped_ptr<GestureEventConsumeDelegate> delegate( |
574 new GestureEventConsumeDelegate()); | 574 new GestureEventConsumeDelegate()); |
575 const int kWindowWidth = 800; | 575 const int kWindowWidth = 800; |
576 const int kWindowHeight = 600; | 576 const int kWindowHeight = 600; |
577 const int kTouchId = 2; | 577 const int kTouchId = 2; |
578 gfx::Rect bounds(0, 0, kWindowWidth, kWindowHeight); | 578 gfx::Rect bounds(0, 0, kWindowWidth, kWindowHeight); |
579 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( | 579 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( |
580 delegate.get(), -1234, bounds, NULL)); | 580 delegate.get(), -1234, bounds, root_window())); |
581 | 581 |
582 // Test with no ET_TOUCH_MOVED events. | 582 // Test with no ET_TOUCH_MOVED events. |
583 { | 583 { |
584 delegate->Reset(); | 584 delegate->Reset(); |
585 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), | 585 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), |
586 kTouchId, GetTime()); | 586 kTouchId, GetTime()); |
587 press.set_radius_x(5); | 587 press.set_radius_x(5); |
588 press.set_radius_y(12); | 588 press.set_radius_y(12); |
589 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press); | 589 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press); |
590 EXPECT_FALSE(delegate->tap()); | 590 EXPECT_FALSE(delegate->tap()); |
(...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
829 | 829 |
830 // Check that appropriate touch events generate scroll gesture events. | 830 // Check that appropriate touch events generate scroll gesture events. |
831 TEST_F(GestureRecognizerTest, GestureEventScroll) { | 831 TEST_F(GestureRecognizerTest, GestureEventScroll) { |
832 scoped_ptr<GestureEventConsumeDelegate> delegate( | 832 scoped_ptr<GestureEventConsumeDelegate> delegate( |
833 new GestureEventConsumeDelegate()); | 833 new GestureEventConsumeDelegate()); |
834 const int kWindowWidth = 123; | 834 const int kWindowWidth = 123; |
835 const int kWindowHeight = 45; | 835 const int kWindowHeight = 45; |
836 const int kTouchId = 5; | 836 const int kTouchId = 5; |
837 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); | 837 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); |
838 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( | 838 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( |
839 delegate.get(), -1234, bounds, NULL)); | 839 delegate.get(), -1234, bounds, root_window())); |
840 | 840 |
841 delegate->Reset(); | 841 delegate->Reset(); |
842 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), | 842 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), |
843 kTouchId, GetTime()); | 843 kTouchId, GetTime()); |
844 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press); | 844 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press); |
845 EXPECT_2_EVENTS(delegate->events(), | 845 EXPECT_2_EVENTS(delegate->events(), |
846 ui::ET_GESTURE_BEGIN, | 846 ui::ET_GESTURE_BEGIN, |
847 ui::ET_GESTURE_TAP_DOWN); | 847 ui::ET_GESTURE_TAP_DOWN); |
848 | 848 |
849 // Move the touch-point enough so that it is considered as a scroll. This | 849 // Move the touch-point enough so that it is considered as a scroll. This |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
895 TEST_F(GestureRecognizerTest, GestureEventScrollBoundingBox) { | 895 TEST_F(GestureRecognizerTest, GestureEventScrollBoundingBox) { |
896 for (int radius = 1; radius <= 10; ++radius) { | 896 for (int radius = 1; radius <= 10; ++radius) { |
897 ui::GestureConfiguration::set_default_radius(radius); | 897 ui::GestureConfiguration::set_default_radius(radius); |
898 scoped_ptr<GestureEventConsumeDelegate> delegate( | 898 scoped_ptr<GestureEventConsumeDelegate> delegate( |
899 new GestureEventConsumeDelegate()); | 899 new GestureEventConsumeDelegate()); |
900 const int kWindowWidth = 123; | 900 const int kWindowWidth = 123; |
901 const int kWindowHeight = 45; | 901 const int kWindowHeight = 45; |
902 const int kTouchId = 5; | 902 const int kTouchId = 5; |
903 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); | 903 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); |
904 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( | 904 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( |
905 delegate.get(), -1234, bounds, NULL)); | 905 delegate.get(), -1234, bounds, root_window())); |
906 | 906 |
907 const int kPositionX = 101; | 907 const int kPositionX = 101; |
908 const int kPositionY = 201; | 908 const int kPositionY = 201; |
909 delegate->Reset(); | 909 delegate->Reset(); |
910 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, | 910 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, |
911 gfx::Point(kPositionX, kPositionY), | 911 gfx::Point(kPositionX, kPositionY), |
912 kTouchId, | 912 kTouchId, |
913 GetTime()); | 913 GetTime()); |
914 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press); | 914 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press); |
915 EXPECT_EQ(gfx::Rect(kPositionX - radius, | 915 EXPECT_EQ(gfx::Rect(kPositionX - radius, |
(...skipping 30 matching lines...) Expand all Loading... |
946 } | 946 } |
947 | 947 |
948 // Check Scroll End Events report correct velocities | 948 // Check Scroll End Events report correct velocities |
949 // if the user was on a horizontal rail | 949 // if the user was on a horizontal rail |
950 TEST_F(GestureRecognizerTest, GestureEventHorizontalRailFling) { | 950 TEST_F(GestureRecognizerTest, GestureEventHorizontalRailFling) { |
951 scoped_ptr<GestureEventConsumeDelegate> delegate( | 951 scoped_ptr<GestureEventConsumeDelegate> delegate( |
952 new GestureEventConsumeDelegate()); | 952 new GestureEventConsumeDelegate()); |
953 const int kTouchId = 7; | 953 const int kTouchId = 7; |
954 gfx::Rect bounds(0, 0, 1000, 1000); | 954 gfx::Rect bounds(0, 0, 1000, 1000); |
955 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( | 955 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( |
956 delegate.get(), -1234, bounds, NULL)); | 956 delegate.get(), -1234, bounds, root_window())); |
957 | 957 |
958 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(0, 0), | 958 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(0, 0), |
959 kTouchId, GetTime()); | 959 kTouchId, GetTime()); |
960 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press); | 960 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press); |
961 | 961 |
962 // Move the touch-point horizontally enough that it is considered a | 962 // Move the touch-point horizontally enough that it is considered a |
963 // horizontal scroll. | 963 // horizontal scroll. |
964 SendScrollEvent(root_window(), 20, 1, kTouchId, delegate.get()); | 964 SendScrollEvent(root_window(), 20, 1, kTouchId, delegate.get()); |
965 EXPECT_EQ(0, delegate->scroll_y()); | 965 EXPECT_EQ(0, delegate->scroll_y()); |
966 EXPECT_EQ(20, delegate->scroll_x()); | 966 EXPECT_EQ(20, delegate->scroll_x()); |
(...skipping 20 matching lines...) Expand all Loading... |
987 } | 987 } |
988 | 988 |
989 // Check Scroll End Events report correct velocities | 989 // Check Scroll End Events report correct velocities |
990 // if the user was on a vertical rail | 990 // if the user was on a vertical rail |
991 TEST_F(GestureRecognizerTest, GestureEventVerticalRailFling) { | 991 TEST_F(GestureRecognizerTest, GestureEventVerticalRailFling) { |
992 scoped_ptr<GestureEventConsumeDelegate> delegate( | 992 scoped_ptr<GestureEventConsumeDelegate> delegate( |
993 new GestureEventConsumeDelegate()); | 993 new GestureEventConsumeDelegate()); |
994 const int kTouchId = 7; | 994 const int kTouchId = 7; |
995 gfx::Rect bounds(0, 0, 1000, 1000); | 995 gfx::Rect bounds(0, 0, 1000, 1000); |
996 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( | 996 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( |
997 delegate.get(), -1234, bounds, NULL)); | 997 delegate.get(), -1234, bounds, root_window())); |
998 | 998 |
999 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(0, 0), | 999 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(0, 0), |
1000 kTouchId, GetTime()); | 1000 kTouchId, GetTime()); |
1001 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press); | 1001 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press); |
1002 | 1002 |
1003 // Move the touch-point vertically enough that it is considered a | 1003 // Move the touch-point vertically enough that it is considered a |
1004 // vertical scroll. | 1004 // vertical scroll. |
1005 SendScrollEvent(root_window(), 1, 20, kTouchId, delegate.get()); | 1005 SendScrollEvent(root_window(), 1, 20, kTouchId, delegate.get()); |
1006 EXPECT_EQ(20, delegate->scroll_y()); | 1006 EXPECT_EQ(20, delegate->scroll_y()); |
1007 EXPECT_EQ(0, delegate->scroll_x()); | 1007 EXPECT_EQ(0, delegate->scroll_x()); |
(...skipping 20 matching lines...) Expand all Loading... |
1028 } | 1028 } |
1029 | 1029 |
1030 // Check Scroll End Events reports zero velocities | 1030 // Check Scroll End Events reports zero velocities |
1031 // if the user is not on a rail | 1031 // if the user is not on a rail |
1032 TEST_F(GestureRecognizerTest, GestureEventNonRailFling) { | 1032 TEST_F(GestureRecognizerTest, GestureEventNonRailFling) { |
1033 scoped_ptr<GestureEventConsumeDelegate> delegate( | 1033 scoped_ptr<GestureEventConsumeDelegate> delegate( |
1034 new GestureEventConsumeDelegate()); | 1034 new GestureEventConsumeDelegate()); |
1035 const int kTouchId = 7; | 1035 const int kTouchId = 7; |
1036 gfx::Rect bounds(0, 0, 1000, 1000); | 1036 gfx::Rect bounds(0, 0, 1000, 1000); |
1037 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( | 1037 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( |
1038 delegate.get(), -1234, bounds, NULL)); | 1038 delegate.get(), -1234, bounds, root_window())); |
1039 | 1039 |
1040 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(0, 0), | 1040 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(0, 0), |
1041 kTouchId, GetTime()); | 1041 kTouchId, GetTime()); |
1042 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press); | 1042 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press); |
1043 | 1043 |
1044 // Move the touch-point such that a non-rail scroll begins | 1044 // Move the touch-point such that a non-rail scroll begins |
1045 SendScrollEvent(root_window(), 20, 20, kTouchId, delegate.get()); | 1045 SendScrollEvent(root_window(), 20, 20, kTouchId, delegate.get()); |
1046 EXPECT_EQ(20, delegate->scroll_y()); | 1046 EXPECT_EQ(20, delegate->scroll_y()); |
1047 EXPECT_EQ(20, delegate->scroll_x()); | 1047 EXPECT_EQ(20, delegate->scroll_x()); |
1048 | 1048 |
(...skipping 15 matching lines...) Expand all Loading... |
1064 | 1064 |
1065 // Check that appropriate touch events generate long press events | 1065 // Check that appropriate touch events generate long press events |
1066 TEST_F(GestureRecognizerTest, GestureEventLongPress) { | 1066 TEST_F(GestureRecognizerTest, GestureEventLongPress) { |
1067 scoped_ptr<GestureEventConsumeDelegate> delegate( | 1067 scoped_ptr<GestureEventConsumeDelegate> delegate( |
1068 new GestureEventConsumeDelegate()); | 1068 new GestureEventConsumeDelegate()); |
1069 const int kWindowWidth = 123; | 1069 const int kWindowWidth = 123; |
1070 const int kWindowHeight = 45; | 1070 const int kWindowHeight = 45; |
1071 const int kTouchId = 2; | 1071 const int kTouchId = 2; |
1072 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); | 1072 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); |
1073 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( | 1073 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( |
1074 delegate.get(), -1234, bounds, NULL)); | 1074 delegate.get(), -1234, bounds, root_window())); |
1075 | 1075 |
1076 delegate->Reset(); | 1076 delegate->Reset(); |
1077 | 1077 |
1078 TimerTestGestureRecognizer* gesture_recognizer = | 1078 TimerTestGestureRecognizer* gesture_recognizer = |
1079 new TimerTestGestureRecognizer(root_window()); | 1079 new TimerTestGestureRecognizer(root_window()); |
1080 | 1080 |
1081 root_window()->SetGestureRecognizerForTesting(gesture_recognizer); | 1081 root_window()->SetGestureRecognizerForTesting(gesture_recognizer); |
1082 | 1082 |
1083 ui::TouchEvent press1(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), | 1083 ui::TouchEvent press1(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), |
1084 kTouchId, GetTime()); | 1084 kTouchId, GetTime()); |
(...skipping 23 matching lines...) Expand all Loading... |
1108 | 1108 |
1109 // Check that scrolling cancels a long press | 1109 // Check that scrolling cancels a long press |
1110 TEST_F(GestureRecognizerTest, GestureEventLongPressCancelledByScroll) { | 1110 TEST_F(GestureRecognizerTest, GestureEventLongPressCancelledByScroll) { |
1111 scoped_ptr<GestureEventConsumeDelegate> delegate( | 1111 scoped_ptr<GestureEventConsumeDelegate> delegate( |
1112 new GestureEventConsumeDelegate()); | 1112 new GestureEventConsumeDelegate()); |
1113 const int kWindowWidth = 123; | 1113 const int kWindowWidth = 123; |
1114 const int kWindowHeight = 45; | 1114 const int kWindowHeight = 45; |
1115 const int kTouchId = 6; | 1115 const int kTouchId = 6; |
1116 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); | 1116 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); |
1117 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( | 1117 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( |
1118 delegate.get(), -1234, bounds, NULL)); | 1118 delegate.get(), -1234, bounds, root_window())); |
1119 | 1119 |
1120 delegate->Reset(); | 1120 delegate->Reset(); |
1121 | 1121 |
1122 TimerTestGestureRecognizer* gesture_recognizer = | 1122 TimerTestGestureRecognizer* gesture_recognizer = |
1123 new TimerTestGestureRecognizer(root_window()); | 1123 new TimerTestGestureRecognizer(root_window()); |
1124 TimerTestGestureSequence* gesture_sequence = | 1124 TimerTestGestureSequence* gesture_sequence = |
1125 static_cast<TimerTestGestureSequence*>( | 1125 static_cast<TimerTestGestureSequence*>( |
1126 gesture_recognizer->GetGestureSequenceForTesting(window.get())); | 1126 gesture_recognizer->GetGestureSequenceForTesting(window.get())); |
1127 | 1127 |
1128 root_window()->SetGestureRecognizerForTesting(gesture_recognizer); | 1128 root_window()->SetGestureRecognizerForTesting(gesture_recognizer); |
(...skipping 24 matching lines...) Expand all Loading... |
1153 | 1153 |
1154 // Check that appropriate touch events generate long tap events | 1154 // Check that appropriate touch events generate long tap events |
1155 TEST_F(GestureRecognizerTest, GestureEventLongTap) { | 1155 TEST_F(GestureRecognizerTest, GestureEventLongTap) { |
1156 scoped_ptr<GestureEventConsumeDelegate> delegate( | 1156 scoped_ptr<GestureEventConsumeDelegate> delegate( |
1157 new GestureEventConsumeDelegate()); | 1157 new GestureEventConsumeDelegate()); |
1158 const int kWindowWidth = 123; | 1158 const int kWindowWidth = 123; |
1159 const int kWindowHeight = 45; | 1159 const int kWindowHeight = 45; |
1160 const int kTouchId = 2; | 1160 const int kTouchId = 2; |
1161 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); | 1161 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); |
1162 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( | 1162 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( |
1163 delegate.get(), -1234, bounds, NULL)); | 1163 delegate.get(), -1234, bounds, root_window())); |
1164 | 1164 |
1165 delegate->Reset(); | 1165 delegate->Reset(); |
1166 | 1166 |
1167 TimerTestGestureRecognizer* gesture_recognizer = | 1167 TimerTestGestureRecognizer* gesture_recognizer = |
1168 new TimerTestGestureRecognizer(root_window()); | 1168 new TimerTestGestureRecognizer(root_window()); |
1169 | 1169 |
1170 root_window()->SetGestureRecognizerForTesting(gesture_recognizer); | 1170 root_window()->SetGestureRecognizerForTesting(gesture_recognizer); |
1171 | 1171 |
1172 ui::TouchEvent press1(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), | 1172 ui::TouchEvent press1(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), |
1173 kTouchId, GetTime()); | 1173 kTouchId, GetTime()); |
(...skipping 25 matching lines...) Expand all Loading... |
1199 // Check that second tap cancels a long press | 1199 // Check that second tap cancels a long press |
1200 TEST_F(GestureRecognizerTest, GestureEventLongPressCancelledBySecondTap) { | 1200 TEST_F(GestureRecognizerTest, GestureEventLongPressCancelledBySecondTap) { |
1201 scoped_ptr<GestureEventConsumeDelegate> delegate( | 1201 scoped_ptr<GestureEventConsumeDelegate> delegate( |
1202 new GestureEventConsumeDelegate()); | 1202 new GestureEventConsumeDelegate()); |
1203 const int kWindowWidth = 300; | 1203 const int kWindowWidth = 300; |
1204 const int kWindowHeight = 400; | 1204 const int kWindowHeight = 400; |
1205 const int kTouchId1 = 8; | 1205 const int kTouchId1 = 8; |
1206 const int kTouchId2 = 2; | 1206 const int kTouchId2 = 2; |
1207 gfx::Rect bounds(5, 5, kWindowWidth, kWindowHeight); | 1207 gfx::Rect bounds(5, 5, kWindowWidth, kWindowHeight); |
1208 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( | 1208 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( |
1209 delegate.get(), -1234, bounds, NULL)); | 1209 delegate.get(), -1234, bounds, root_window())); |
1210 | 1210 |
1211 TimerTestGestureRecognizer* gesture_recognizer = | 1211 TimerTestGestureRecognizer* gesture_recognizer = |
1212 new TimerTestGestureRecognizer(root_window()); | 1212 new TimerTestGestureRecognizer(root_window()); |
1213 TimerTestGestureSequence* gesture_sequence = | 1213 TimerTestGestureSequence* gesture_sequence = |
1214 static_cast<TimerTestGestureSequence*>( | 1214 static_cast<TimerTestGestureSequence*>( |
1215 gesture_recognizer->GetGestureSequenceForTesting(window.get())); | 1215 gesture_recognizer->GetGestureSequenceForTesting(window.get())); |
1216 | 1216 |
1217 root_window()->SetGestureRecognizerForTesting(gesture_recognizer); | 1217 root_window()->SetGestureRecognizerForTesting(gesture_recognizer); |
1218 | 1218 |
1219 delegate->Reset(); | 1219 delegate->Reset(); |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1251 } | 1251 } |
1252 | 1252 |
1253 // Check that horizontal scroll gestures cause scrolls on horizontal rails. | 1253 // Check that horizontal scroll gestures cause scrolls on horizontal rails. |
1254 // Also tests that horizontal rails can be broken. | 1254 // Also tests that horizontal rails can be broken. |
1255 TEST_F(GestureRecognizerTest, GestureEventHorizontalRailScroll) { | 1255 TEST_F(GestureRecognizerTest, GestureEventHorizontalRailScroll) { |
1256 scoped_ptr<GestureEventConsumeDelegate> delegate( | 1256 scoped_ptr<GestureEventConsumeDelegate> delegate( |
1257 new GestureEventConsumeDelegate()); | 1257 new GestureEventConsumeDelegate()); |
1258 const int kTouchId = 7; | 1258 const int kTouchId = 7; |
1259 gfx::Rect bounds(0, 0, 1000, 1000); | 1259 gfx::Rect bounds(0, 0, 1000, 1000); |
1260 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( | 1260 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( |
1261 delegate.get(), -1234, bounds, NULL)); | 1261 delegate.get(), -1234, bounds, root_window())); |
1262 | 1262 |
1263 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(0, 0), | 1263 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(0, 0), |
1264 kTouchId, GetTime()); | 1264 kTouchId, GetTime()); |
1265 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press); | 1265 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press); |
1266 | 1266 |
1267 // Move the touch-point horizontally enough that it is considered a | 1267 // Move the touch-point horizontally enough that it is considered a |
1268 // horizontal scroll. | 1268 // horizontal scroll. |
1269 SendScrollEvent(root_window(), 20, 1, kTouchId, delegate.get()); | 1269 SendScrollEvent(root_window(), 20, 1, kTouchId, delegate.get()); |
1270 EXPECT_EQ(0, delegate->scroll_y()); | 1270 EXPECT_EQ(0, delegate->scroll_y()); |
1271 EXPECT_EQ(20, delegate->scroll_x()); | 1271 EXPECT_EQ(20, delegate->scroll_x()); |
(...skipping 27 matching lines...) Expand all Loading... |
1299 } | 1299 } |
1300 | 1300 |
1301 // Check that vertical scroll gestures cause scrolls on vertical rails. | 1301 // Check that vertical scroll gestures cause scrolls on vertical rails. |
1302 // Also tests that vertical rails can be broken. | 1302 // Also tests that vertical rails can be broken. |
1303 TEST_F(GestureRecognizerTest, GestureEventVerticalRailScroll) { | 1303 TEST_F(GestureRecognizerTest, GestureEventVerticalRailScroll) { |
1304 scoped_ptr<GestureEventConsumeDelegate> delegate( | 1304 scoped_ptr<GestureEventConsumeDelegate> delegate( |
1305 new GestureEventConsumeDelegate()); | 1305 new GestureEventConsumeDelegate()); |
1306 const int kTouchId = 7; | 1306 const int kTouchId = 7; |
1307 gfx::Rect bounds(0, 0, 1000, 1000); | 1307 gfx::Rect bounds(0, 0, 1000, 1000); |
1308 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( | 1308 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( |
1309 delegate.get(), -1234, bounds, NULL)); | 1309 delegate.get(), -1234, bounds, root_window())); |
1310 | 1310 |
1311 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(0, 0), | 1311 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(0, 0), |
1312 kTouchId, GetTime()); | 1312 kTouchId, GetTime()); |
1313 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press); | 1313 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press); |
1314 | 1314 |
1315 // Move the touch-point vertically enough that it is considered a | 1315 // Move the touch-point vertically enough that it is considered a |
1316 // vertical scroll. | 1316 // vertical scroll. |
1317 SendScrollEvent(root_window(), 1, 20, kTouchId, delegate.get()); | 1317 SendScrollEvent(root_window(), 1, 20, kTouchId, delegate.get()); |
1318 EXPECT_EQ(0, delegate->scroll_x()); | 1318 EXPECT_EQ(0, delegate->scroll_x()); |
1319 EXPECT_EQ(20, delegate->scroll_y()); | 1319 EXPECT_EQ(20, delegate->scroll_y()); |
(...skipping 26 matching lines...) Expand all Loading... |
1346 | 1346 |
1347 TEST_F(GestureRecognizerTest, GestureTapFollowedByScroll) { | 1347 TEST_F(GestureRecognizerTest, GestureTapFollowedByScroll) { |
1348 // First, tap. Then, do a scroll using the same touch-id. | 1348 // First, tap. Then, do a scroll using the same touch-id. |
1349 scoped_ptr<GestureEventConsumeDelegate> delegate( | 1349 scoped_ptr<GestureEventConsumeDelegate> delegate( |
1350 new GestureEventConsumeDelegate()); | 1350 new GestureEventConsumeDelegate()); |
1351 const int kWindowWidth = 123; | 1351 const int kWindowWidth = 123; |
1352 const int kWindowHeight = 45; | 1352 const int kWindowHeight = 45; |
1353 const int kTouchId = 3; | 1353 const int kTouchId = 3; |
1354 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); | 1354 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); |
1355 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( | 1355 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( |
1356 delegate.get(), -1234, bounds, NULL)); | 1356 delegate.get(), -1234, bounds, root_window())); |
1357 | 1357 |
1358 delegate->Reset(); | 1358 delegate->Reset(); |
1359 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), | 1359 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), |
1360 kTouchId, GetTime()); | 1360 kTouchId, GetTime()); |
1361 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press); | 1361 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press); |
1362 EXPECT_FALSE(delegate->tap()); | 1362 EXPECT_FALSE(delegate->tap()); |
1363 EXPECT_TRUE(delegate->tap_down()); | 1363 EXPECT_TRUE(delegate->tap_down()); |
1364 EXPECT_FALSE(delegate->tap_cancel()); | 1364 EXPECT_FALSE(delegate->tap_cancel()); |
1365 EXPECT_FALSE(delegate->double_tap()); | 1365 EXPECT_FALSE(delegate->double_tap()); |
1366 EXPECT_FALSE(delegate->scroll_begin()); | 1366 EXPECT_FALSE(delegate->scroll_begin()); |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1460 | 1460 |
1461 TEST_F(GestureRecognizerTest, AsynchronousGestureRecognition) { | 1461 TEST_F(GestureRecognizerTest, AsynchronousGestureRecognition) { |
1462 scoped_ptr<QueueTouchEventDelegate> queued_delegate( | 1462 scoped_ptr<QueueTouchEventDelegate> queued_delegate( |
1463 new QueueTouchEventDelegate(root_window())); | 1463 new QueueTouchEventDelegate(root_window())); |
1464 const int kWindowWidth = 123; | 1464 const int kWindowWidth = 123; |
1465 const int kWindowHeight = 45; | 1465 const int kWindowHeight = 45; |
1466 const int kTouchId1 = 6; | 1466 const int kTouchId1 = 6; |
1467 const int kTouchId2 = 4; | 1467 const int kTouchId2 = 4; |
1468 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); | 1468 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); |
1469 scoped_ptr<aura::Window> queue(CreateTestWindowWithDelegate( | 1469 scoped_ptr<aura::Window> queue(CreateTestWindowWithDelegate( |
1470 queued_delegate.get(), -1234, bounds, NULL)); | 1470 queued_delegate.get(), -1234, bounds, root_window())); |
1471 | 1471 |
1472 queued_delegate->set_window(queue.get()); | 1472 queued_delegate->set_window(queue.get()); |
1473 | 1473 |
1474 // Touch down on the window. This should not generate any gesture event. | 1474 // Touch down on the window. This should not generate any gesture event. |
1475 queued_delegate->Reset(); | 1475 queued_delegate->Reset(); |
1476 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), | 1476 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), |
1477 kTouchId1, GetTime()); | 1477 kTouchId1, GetTime()); |
1478 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press); | 1478 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press); |
1479 EXPECT_FALSE(queued_delegate->tap()); | 1479 EXPECT_FALSE(queued_delegate->tap()); |
1480 EXPECT_FALSE(queued_delegate->tap_down()); | 1480 EXPECT_FALSE(queued_delegate->tap_down()); |
(...skipping 19 matching lines...) Expand all Loading... |
1500 EXPECT_FALSE(queued_delegate->double_tap()); | 1500 EXPECT_FALSE(queued_delegate->double_tap()); |
1501 EXPECT_FALSE(queued_delegate->scroll_begin()); | 1501 EXPECT_FALSE(queued_delegate->scroll_begin()); |
1502 EXPECT_FALSE(queued_delegate->scroll_update()); | 1502 EXPECT_FALSE(queued_delegate->scroll_update()); |
1503 EXPECT_FALSE(queued_delegate->scroll_end()); | 1503 EXPECT_FALSE(queued_delegate->scroll_end()); |
1504 | 1504 |
1505 // Create another window, and place a touch-down on it. This should create a | 1505 // Create another window, and place a touch-down on it. This should create a |
1506 // tap-down gesture. | 1506 // tap-down gesture. |
1507 scoped_ptr<GestureEventConsumeDelegate> delegate( | 1507 scoped_ptr<GestureEventConsumeDelegate> delegate( |
1508 new GestureEventConsumeDelegate()); | 1508 new GestureEventConsumeDelegate()); |
1509 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( | 1509 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( |
1510 delegate.get(), -2345, gfx::Rect(0, 0, 50, 50), NULL)); | 1510 delegate.get(), -2345, gfx::Rect(0, 0, 50, 50), root_window())); |
1511 delegate->Reset(); | 1511 delegate->Reset(); |
1512 ui::TouchEvent press2(ui::ET_TOUCH_PRESSED, gfx::Point(10, 20), | 1512 ui::TouchEvent press2(ui::ET_TOUCH_PRESSED, gfx::Point(10, 20), |
1513 kTouchId2, GetTime()); | 1513 kTouchId2, GetTime()); |
1514 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press2); | 1514 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press2); |
1515 EXPECT_FALSE(delegate->tap()); | 1515 EXPECT_FALSE(delegate->tap()); |
1516 EXPECT_TRUE(delegate->tap_down()); | 1516 EXPECT_TRUE(delegate->tap_down()); |
1517 EXPECT_FALSE(delegate->tap_cancel()); | 1517 EXPECT_FALSE(delegate->tap_cancel()); |
1518 EXPECT_FALSE(queued_delegate->begin()); | 1518 EXPECT_FALSE(queued_delegate->begin()); |
1519 EXPECT_FALSE(queued_delegate->end()); | 1519 EXPECT_FALSE(queued_delegate->end()); |
1520 EXPECT_FALSE(delegate->double_tap()); | 1520 EXPECT_FALSE(delegate->double_tap()); |
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1665 // Check that appropriate touch events generate pinch gesture events. | 1665 // Check that appropriate touch events generate pinch gesture events. |
1666 TEST_F(GestureRecognizerTest, GestureEventPinchFromScroll) { | 1666 TEST_F(GestureRecognizerTest, GestureEventPinchFromScroll) { |
1667 scoped_ptr<GestureEventConsumeDelegate> delegate( | 1667 scoped_ptr<GestureEventConsumeDelegate> delegate( |
1668 new GestureEventConsumeDelegate()); | 1668 new GestureEventConsumeDelegate()); |
1669 const int kWindowWidth = 300; | 1669 const int kWindowWidth = 300; |
1670 const int kWindowHeight = 400; | 1670 const int kWindowHeight = 400; |
1671 const int kTouchId1 = 5; | 1671 const int kTouchId1 = 5; |
1672 const int kTouchId2 = 3; | 1672 const int kTouchId2 = 3; |
1673 gfx::Rect bounds(5, 5, kWindowWidth, kWindowHeight); | 1673 gfx::Rect bounds(5, 5, kWindowWidth, kWindowHeight); |
1674 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( | 1674 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( |
1675 delegate.get(), -1234, bounds, NULL)); | 1675 delegate.get(), -1234, bounds, root_window())); |
1676 | 1676 |
1677 aura::RootWindow* root = root_window(); | 1677 aura::RootWindow* root = root_window(); |
1678 | 1678 |
1679 delegate->Reset(); | 1679 delegate->Reset(); |
1680 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), | 1680 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), |
1681 kTouchId1, GetTime()); | 1681 kTouchId1, GetTime()); |
1682 root->AsRootWindowHostDelegate()->OnHostTouchEvent(&press); | 1682 root->AsRootWindowHostDelegate()->OnHostTouchEvent(&press); |
1683 EXPECT_2_EVENTS(delegate->events(), | 1683 EXPECT_2_EVENTS(delegate->events(), |
1684 ui::ET_GESTURE_BEGIN, | 1684 ui::ET_GESTURE_BEGIN, |
1685 ui::ET_GESTURE_TAP_DOWN); | 1685 ui::ET_GESTURE_TAP_DOWN); |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1752 | 1752 |
1753 TEST_F(GestureRecognizerTest, GestureEventPinchFromScrollFromPinch) { | 1753 TEST_F(GestureRecognizerTest, GestureEventPinchFromScrollFromPinch) { |
1754 scoped_ptr<GestureEventConsumeDelegate> delegate( | 1754 scoped_ptr<GestureEventConsumeDelegate> delegate( |
1755 new GestureEventConsumeDelegate()); | 1755 new GestureEventConsumeDelegate()); |
1756 const int kWindowWidth = 300; | 1756 const int kWindowWidth = 300; |
1757 const int kWindowHeight = 400; | 1757 const int kWindowHeight = 400; |
1758 const int kTouchId1 = 5; | 1758 const int kTouchId1 = 5; |
1759 const int kTouchId2 = 3; | 1759 const int kTouchId2 = 3; |
1760 gfx::Rect bounds(5, 5, kWindowWidth, kWindowHeight); | 1760 gfx::Rect bounds(5, 5, kWindowWidth, kWindowHeight); |
1761 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( | 1761 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( |
1762 delegate.get(), -1234, bounds, NULL)); | 1762 delegate.get(), -1234, bounds, root_window())); |
1763 | 1763 |
1764 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(101, 301), | 1764 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(101, 301), |
1765 kTouchId1, GetTime()); | 1765 kTouchId1, GetTime()); |
1766 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press); | 1766 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press); |
1767 delegate->Reset(); | 1767 delegate->Reset(); |
1768 ui::TouchEvent press2(ui::ET_TOUCH_PRESSED, gfx::Point(10, 10), | 1768 ui::TouchEvent press2(ui::ET_TOUCH_PRESSED, gfx::Point(10, 10), |
1769 kTouchId2, GetTime()); | 1769 kTouchId2, GetTime()); |
1770 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press2); | 1770 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press2); |
1771 // Since the touch points are far enough we will go to pinch rather than two | 1771 // Since the touch points are far enough we will go to pinch rather than two |
1772 // finger tap. | 1772 // finger tap. |
(...skipping 30 matching lines...) Expand all Loading... |
1803 | 1803 |
1804 TEST_F(GestureRecognizerTest, GestureEventPinchFromTap) { | 1804 TEST_F(GestureRecognizerTest, GestureEventPinchFromTap) { |
1805 scoped_ptr<GestureEventConsumeDelegate> delegate( | 1805 scoped_ptr<GestureEventConsumeDelegate> delegate( |
1806 new GestureEventConsumeDelegate()); | 1806 new GestureEventConsumeDelegate()); |
1807 const int kWindowWidth = 300; | 1807 const int kWindowWidth = 300; |
1808 const int kWindowHeight = 400; | 1808 const int kWindowHeight = 400; |
1809 const int kTouchId1 = 3; | 1809 const int kTouchId1 = 3; |
1810 const int kTouchId2 = 5; | 1810 const int kTouchId2 = 5; |
1811 gfx::Rect bounds(5, 5, kWindowWidth, kWindowHeight); | 1811 gfx::Rect bounds(5, 5, kWindowWidth, kWindowHeight); |
1812 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( | 1812 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( |
1813 delegate.get(), -1234, bounds, NULL)); | 1813 delegate.get(), -1234, bounds, root_window())); |
1814 | 1814 |
1815 aura::RootWindow* root = root_window(); | 1815 aura::RootWindow* root = root_window(); |
1816 | 1816 |
1817 delegate->Reset(); | 1817 delegate->Reset(); |
1818 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(101, 301), | 1818 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(101, 301), |
1819 kTouchId1, GetTime()); | 1819 kTouchId1, GetTime()); |
1820 root->AsRootWindowHostDelegate()->OnHostTouchEvent(&press); | 1820 root->AsRootWindowHostDelegate()->OnHostTouchEvent(&press); |
1821 EXPECT_2_EVENTS(delegate->events(), | 1821 EXPECT_2_EVENTS(delegate->events(), |
1822 ui::ET_GESTURE_BEGIN, | 1822 ui::ET_GESTURE_BEGIN, |
1823 ui::ET_GESTURE_TAP_DOWN); | 1823 ui::ET_GESTURE_TAP_DOWN); |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1913 window_bounds[2] = gfx::Rect(0, 500, 1, 1); | 1913 window_bounds[2] = gfx::Rect(0, 500, 1, 1); |
1914 window_bounds[3] = gfx::Rect(500, 500, 1, 1); | 1914 window_bounds[3] = gfx::Rect(500, 500, 1, 1); |
1915 | 1915 |
1916 scoped_array<aura::Window*> windows(new aura::Window*[kNumWindows]); | 1916 scoped_array<aura::Window*> windows(new aura::Window*[kNumWindows]); |
1917 | 1917 |
1918 // Instantiate windows with |window_bounds| and touch each window at | 1918 // Instantiate windows with |window_bounds| and touch each window at |
1919 // its origin. | 1919 // its origin. |
1920 for (int i = 0; i < kNumWindows; ++i) { | 1920 for (int i = 0; i < kNumWindows; ++i) { |
1921 delegates[i] = new GestureEventConsumeDelegate(); | 1921 delegates[i] = new GestureEventConsumeDelegate(); |
1922 windows[i] = CreateTestWindowWithDelegate( | 1922 windows[i] = CreateTestWindowWithDelegate( |
1923 delegates[i], i, window_bounds[i], NULL); | 1923 delegates[i], i, window_bounds[i], root_window()); |
1924 windows[i]->set_id(i); | 1924 windows[i]->set_id(i); |
1925 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, window_bounds[i].origin(), | 1925 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, window_bounds[i].origin(), |
1926 i, GetTime()); | 1926 i, GetTime()); |
1927 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press); | 1927 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press); |
1928 } | 1928 } |
1929 | 1929 |
1930 // Touches should now be associated with the closest touch within | 1930 // Touches should now be associated with the closest touch within |
1931 // ui::GestureConfiguration::max_separation_for_gesture_touches_in_pixels | 1931 // ui::GestureConfiguration::max_separation_for_gesture_touches_in_pixels |
1932 target = gesture_recognizer->GetTargetForLocation(gfx::Point(11, 11)); | 1932 target = gesture_recognizer->GetTargetForLocation(gfx::Point(11, 11)); |
1933 EXPECT_EQ("0", WindowIDAsString(target)); | 1933 EXPECT_EQ("0", WindowIDAsString(target)); |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1978 } | 1978 } |
1979 | 1979 |
1980 // Check that touch events outside the root window are still handled | 1980 // Check that touch events outside the root window are still handled |
1981 // by the root window's gesture sequence. | 1981 // by the root window's gesture sequence. |
1982 TEST_F(GestureRecognizerTest, GestureEventOutsideRootWindowTap) { | 1982 TEST_F(GestureRecognizerTest, GestureEventOutsideRootWindowTap) { |
1983 TestGestureRecognizer* gesture_recognizer = | 1983 TestGestureRecognizer* gesture_recognizer = |
1984 new TestGestureRecognizer(root_window()); | 1984 new TestGestureRecognizer(root_window()); |
1985 root_window()->SetGestureRecognizerForTesting(gesture_recognizer); | 1985 root_window()->SetGestureRecognizerForTesting(gesture_recognizer); |
1986 | 1986 |
1987 scoped_ptr<aura::Window> window(CreateTestWindowWithBounds( | 1987 scoped_ptr<aura::Window> window(CreateTestWindowWithBounds( |
1988 gfx::Rect(-100, -100, 2000, 2000), NULL)); | 1988 gfx::Rect(-100, -100, 2000, 2000), root_window())); |
1989 | 1989 |
1990 ui::GestureSequence* window_gesture_sequence = | 1990 ui::GestureSequence* window_gesture_sequence = |
1991 gesture_recognizer->GetGestureSequenceForTesting(window.get()); | 1991 gesture_recognizer->GetGestureSequenceForTesting(window.get()); |
1992 | 1992 |
1993 ui::GestureSequence* root_window_gesture_sequence = | 1993 ui::GestureSequence* root_window_gesture_sequence = |
1994 gesture_recognizer->GetGestureSequenceForTesting(root_window()); | 1994 gesture_recognizer->GetGestureSequenceForTesting(root_window()); |
1995 | 1995 |
1996 gfx::Point pos1(-10, -10); | 1996 gfx::Point pos1(-10, -10); |
1997 ui::TouchEvent press1(ui::ET_TOUCH_PRESSED, pos1, 0, GetTime()); | 1997 ui::TouchEvent press1(ui::ET_TOUCH_PRESSED, pos1, 0, GetTime()); |
1998 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press1); | 1998 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press1); |
1999 | 1999 |
2000 gfx::Point pos2(1000, 1000); | 2000 gfx::Point pos2(1000, 1000); |
2001 ui::TouchEvent press2(ui::ET_TOUCH_PRESSED, pos2, 1, GetTime()); | 2001 ui::TouchEvent press2(ui::ET_TOUCH_PRESSED, pos2, 1, GetTime()); |
2002 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press2); | 2002 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press2); |
2003 | 2003 |
2004 // As these presses were outside the root window, they should be | 2004 // As these presses were outside the root window, they should be |
2005 // associated with the root window. | 2005 // associated with the root window. |
2006 EXPECT_EQ(0, window_gesture_sequence->point_count()); | 2006 EXPECT_EQ(0, window_gesture_sequence->point_count()); |
2007 EXPECT_EQ(2, root_window_gesture_sequence->point_count()); | 2007 EXPECT_EQ(2, root_window_gesture_sequence->point_count()); |
2008 } | 2008 } |
2009 | 2009 |
2010 TEST_F(GestureRecognizerTest, NoTapWithPreventDefaultedRelease) { | 2010 TEST_F(GestureRecognizerTest, NoTapWithPreventDefaultedRelease) { |
2011 scoped_ptr<QueueTouchEventDelegate> delegate( | 2011 scoped_ptr<QueueTouchEventDelegate> delegate( |
2012 new QueueTouchEventDelegate(root_window())); | 2012 new QueueTouchEventDelegate(root_window())); |
2013 const int kTouchId = 2; | 2013 const int kTouchId = 2; |
2014 gfx::Rect bounds(100, 200, 100, 100); | 2014 gfx::Rect bounds(100, 200, 100, 100); |
2015 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( | 2015 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( |
2016 delegate.get(), -1234, bounds, NULL)); | 2016 delegate.get(), -1234, bounds, root_window())); |
2017 delegate->set_window(window.get()); | 2017 delegate->set_window(window.get()); |
2018 | 2018 |
2019 delegate->Reset(); | 2019 delegate->Reset(); |
2020 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), | 2020 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), |
2021 kTouchId, GetTime()); | 2021 kTouchId, GetTime()); |
2022 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press); | 2022 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press); |
2023 ui::TouchEvent release(ui::ET_TOUCH_RELEASED, gfx::Point(101, 201), | 2023 ui::TouchEvent release(ui::ET_TOUCH_RELEASED, gfx::Point(101, 201), |
2024 kTouchId, press.time_stamp() + | 2024 kTouchId, press.time_stamp() + |
2025 base::TimeDelta::FromMilliseconds(50)); | 2025 base::TimeDelta::FromMilliseconds(50)); |
2026 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&release); | 2026 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&release); |
2027 | 2027 |
2028 delegate->Reset(); | 2028 delegate->Reset(); |
2029 delegate->ReceivedAck(); | 2029 delegate->ReceivedAck(); |
2030 EXPECT_TRUE(delegate->tap_down()); | 2030 EXPECT_TRUE(delegate->tap_down()); |
2031 delegate->Reset(); | 2031 delegate->Reset(); |
2032 delegate->ReceivedAckPreventDefaulted(); | 2032 delegate->ReceivedAckPreventDefaulted(); |
2033 EXPECT_FALSE(delegate->tap()); | 2033 EXPECT_FALSE(delegate->tap()); |
2034 EXPECT_TRUE(delegate->tap_cancel()); | 2034 EXPECT_TRUE(delegate->tap_cancel()); |
2035 } | 2035 } |
2036 | 2036 |
2037 TEST_F(GestureRecognizerTest, PinchScrollWithPreventDefaultedRelease) { | 2037 TEST_F(GestureRecognizerTest, PinchScrollWithPreventDefaultedRelease) { |
2038 scoped_ptr<QueueTouchEventDelegate> delegate( | 2038 scoped_ptr<QueueTouchEventDelegate> delegate( |
2039 new QueueTouchEventDelegate(root_window())); | 2039 new QueueTouchEventDelegate(root_window())); |
2040 const int kTouchId1 = 7; | 2040 const int kTouchId1 = 7; |
2041 const int kTouchId2 = 5; | 2041 const int kTouchId2 = 5; |
2042 gfx::Rect bounds(10, 20, 100, 100); | 2042 gfx::Rect bounds(10, 20, 100, 100); |
2043 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( | 2043 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( |
2044 delegate.get(), -1234, bounds, NULL)); | 2044 delegate.get(), -1234, bounds, root_window())); |
2045 delegate->set_window(window.get()); | 2045 delegate->set_window(window.get()); |
2046 | 2046 |
2047 delegate->Reset(); | 2047 delegate->Reset(); |
2048 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(15, 25), kTouchId1, | 2048 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(15, 25), kTouchId1, |
2049 GetTime()); | 2049 GetTime()); |
2050 ui::TouchEvent move(ui::ET_TOUCH_MOVED, gfx::Point(20, 95), kTouchId1, | 2050 ui::TouchEvent move(ui::ET_TOUCH_MOVED, gfx::Point(20, 95), kTouchId1, |
2051 press.time_stamp() + base::TimeDelta::FromMilliseconds(200)); | 2051 press.time_stamp() + base::TimeDelta::FromMilliseconds(200)); |
2052 ui::TouchEvent release(ui::ET_TOUCH_RELEASED, gfx::Point(15, 25), kTouchId1, | 2052 ui::TouchEvent release(ui::ET_TOUCH_RELEASED, gfx::Point(15, 25), kTouchId1, |
2053 move.time_stamp() + base::TimeDelta::FromMilliseconds(50)); | 2053 move.time_stamp() + base::TimeDelta::FromMilliseconds(50)); |
2054 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press); | 2054 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press); |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2120 } | 2120 } |
2121 | 2121 |
2122 TEST_F(GestureRecognizerTest, CaptureSendsGestureEnd) { | 2122 TEST_F(GestureRecognizerTest, CaptureSendsGestureEnd) { |
2123 scoped_ptr<GestureEventConsumeDelegate> delegate( | 2123 scoped_ptr<GestureEventConsumeDelegate> delegate( |
2124 new GestureEventConsumeDelegate()); | 2124 new GestureEventConsumeDelegate()); |
2125 TestGestureRecognizer* gesture_recognizer = | 2125 TestGestureRecognizer* gesture_recognizer = |
2126 new TestGestureRecognizer(root_window()); | 2126 new TestGestureRecognizer(root_window()); |
2127 root_window()->SetGestureRecognizerForTesting(gesture_recognizer); | 2127 root_window()->SetGestureRecognizerForTesting(gesture_recognizer); |
2128 | 2128 |
2129 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( | 2129 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( |
2130 delegate.get(), -1234, gfx::Rect(10, 10, 300, 300), NULL)); | 2130 delegate.get(), -1234, gfx::Rect(10, 10, 300, 300), root_window())); |
2131 EventGenerator generator(root_window()); | 2131 EventGenerator generator(root_window()); |
2132 | 2132 |
2133 generator.MoveMouseRelativeTo(window.get(), gfx::Point(10, 10)); | 2133 generator.MoveMouseRelativeTo(window.get(), gfx::Point(10, 10)); |
2134 generator.PressTouch(); | 2134 generator.PressTouch(); |
2135 RunAllPendingInMessageLoop(); | 2135 RunAllPendingInMessageLoop(); |
2136 | 2136 |
2137 EXPECT_TRUE(delegate->tap_down()); | 2137 EXPECT_TRUE(delegate->tap_down()); |
2138 | 2138 |
2139 scoped_ptr<aura::Window> capture(CreateTestWindowWithBounds( | 2139 scoped_ptr<aura::Window> capture(CreateTestWindowWithBounds( |
2140 gfx::Rect(10, 10, 200, 200), NULL)); | 2140 gfx::Rect(10, 10, 200, 200), root_window())); |
2141 capture->SetCapture(); | 2141 capture->SetCapture(); |
2142 RunAllPendingInMessageLoop(); | 2142 RunAllPendingInMessageLoop(); |
2143 | 2143 |
2144 EXPECT_TRUE(delegate->end()); | 2144 EXPECT_TRUE(delegate->end()); |
2145 EXPECT_TRUE(delegate->tap_cancel()); | 2145 EXPECT_TRUE(delegate->tap_cancel()); |
2146 } | 2146 } |
2147 | 2147 |
2148 TEST_F(GestureRecognizerTest, PressDoesNotCrash) { | 2148 TEST_F(GestureRecognizerTest, PressDoesNotCrash) { |
2149 scoped_ptr<GestureEventConsumeDelegate> delegate( | 2149 scoped_ptr<GestureEventConsumeDelegate> delegate( |
2150 new GestureEventConsumeDelegate()); | 2150 new GestureEventConsumeDelegate()); |
2151 TestGestureRecognizer* gesture_recognizer = | 2151 TestGestureRecognizer* gesture_recognizer = |
2152 new TestGestureRecognizer(root_window()); | 2152 new TestGestureRecognizer(root_window()); |
2153 root_window()->SetGestureRecognizerForTesting(gesture_recognizer); | 2153 root_window()->SetGestureRecognizerForTesting(gesture_recognizer); |
2154 | 2154 |
2155 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( | 2155 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( |
2156 delegate.get(), -1234, gfx::Rect(10, 10, 300, 300), NULL)); | 2156 delegate.get(), -1234, gfx::Rect(10, 10, 300, 300), root_window())); |
2157 | 2157 |
2158 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(45, 45), 7, GetTime()); | 2158 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(45, 45), 7, GetTime()); |
2159 press.set_radius_x(40); | 2159 press.set_radius_x(40); |
2160 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press); | 2160 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press); |
2161 EXPECT_TRUE(delegate->tap_down()); | 2161 EXPECT_TRUE(delegate->tap_down()); |
2162 EXPECT_EQ(gfx::Rect(5, 5, 80, 80).ToString(), | 2162 EXPECT_EQ(gfx::Rect(5, 5, 80, 80).ToString(), |
2163 delegate->bounding_box().ToString()); | 2163 delegate->bounding_box().ToString()); |
2164 delegate->Reset(); | 2164 delegate->Reset(); |
2165 | 2165 |
2166 ui::TouchEvent press2(ui::ET_TOUCH_PRESSED, gfx::Point(55, 45), 7, GetTime()); | 2166 ui::TouchEvent press2(ui::ET_TOUCH_PRESSED, gfx::Point(55, 45), 7, GetTime()); |
2167 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press2); | 2167 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press2); |
2168 | 2168 |
2169 // This new press should not generate a tap-down. | 2169 // This new press should not generate a tap-down. |
2170 EXPECT_FALSE(delegate->begin()); | 2170 EXPECT_FALSE(delegate->begin()); |
2171 EXPECT_FALSE(delegate->tap_down()); | 2171 EXPECT_FALSE(delegate->tap_down()); |
2172 EXPECT_FALSE(delegate->tap_cancel()); | 2172 EXPECT_FALSE(delegate->tap_cancel()); |
2173 EXPECT_FALSE(delegate->scroll_begin()); | 2173 EXPECT_FALSE(delegate->scroll_begin()); |
2174 } | 2174 } |
2175 | 2175 |
2176 TEST_F(GestureRecognizerTest, TwoFingerTap) { | 2176 TEST_F(GestureRecognizerTest, TwoFingerTap) { |
2177 scoped_ptr<GestureEventConsumeDelegate> delegate( | 2177 scoped_ptr<GestureEventConsumeDelegate> delegate( |
2178 new GestureEventConsumeDelegate()); | 2178 new GestureEventConsumeDelegate()); |
2179 const int kWindowWidth = 123; | 2179 const int kWindowWidth = 123; |
2180 const int kWindowHeight = 45; | 2180 const int kWindowHeight = 45; |
2181 const int kTouchId1 = 2; | 2181 const int kTouchId1 = 2; |
2182 const int kTouchId2 = 3; | 2182 const int kTouchId2 = 3; |
2183 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); | 2183 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); |
2184 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( | 2184 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( |
2185 delegate.get(), -1234, bounds, NULL)); | 2185 delegate.get(), -1234, bounds, root_window())); |
2186 | 2186 |
2187 delegate->Reset(); | 2187 delegate->Reset(); |
2188 ui::TouchEvent press1(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), | 2188 ui::TouchEvent press1(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), |
2189 kTouchId1, GetTime()); | 2189 kTouchId1, GetTime()); |
2190 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press1); | 2190 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press1); |
2191 EXPECT_FALSE(delegate->tap()); | 2191 EXPECT_FALSE(delegate->tap()); |
2192 EXPECT_TRUE(delegate->tap_down()); | 2192 EXPECT_TRUE(delegate->tap_down()); |
2193 EXPECT_FALSE(delegate->tap_cancel()); | 2193 EXPECT_FALSE(delegate->tap_cancel()); |
2194 EXPECT_FALSE(delegate->double_tap()); | 2194 EXPECT_FALSE(delegate->double_tap()); |
2195 EXPECT_FALSE(delegate->scroll_begin()); | 2195 EXPECT_FALSE(delegate->scroll_begin()); |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2268 | 2268 |
2269 TEST_F(GestureRecognizerTest, TwoFingerTapExpired) { | 2269 TEST_F(GestureRecognizerTest, TwoFingerTapExpired) { |
2270 scoped_ptr<GestureEventConsumeDelegate> delegate( | 2270 scoped_ptr<GestureEventConsumeDelegate> delegate( |
2271 new GestureEventConsumeDelegate()); | 2271 new GestureEventConsumeDelegate()); |
2272 const int kWindowWidth = 123; | 2272 const int kWindowWidth = 123; |
2273 const int kWindowHeight = 45; | 2273 const int kWindowHeight = 45; |
2274 const int kTouchId1 = 2; | 2274 const int kTouchId1 = 2; |
2275 const int kTouchId2 = 3; | 2275 const int kTouchId2 = 3; |
2276 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); | 2276 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); |
2277 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( | 2277 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( |
2278 delegate.get(), -1234, bounds, NULL)); | 2278 delegate.get(), -1234, bounds, root_window())); |
2279 | 2279 |
2280 delegate->Reset(); | 2280 delegate->Reset(); |
2281 ui::TouchEvent press1(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), | 2281 ui::TouchEvent press1(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), |
2282 kTouchId1, GetTime()); | 2282 kTouchId1, GetTime()); |
2283 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press1); | 2283 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press1); |
2284 | 2284 |
2285 delegate->Reset(); | 2285 delegate->Reset(); |
2286 ui::TouchEvent press2(ui::ET_TOUCH_PRESSED, gfx::Point(130, 201), | 2286 ui::TouchEvent press2(ui::ET_TOUCH_PRESSED, gfx::Point(130, 201), |
2287 kTouchId2, GetTime()); | 2287 kTouchId2, GetTime()); |
2288 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press2); | 2288 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press2); |
(...skipping 24 matching lines...) Expand all Loading... |
2313 new GestureEventConsumeDelegate()); | 2313 new GestureEventConsumeDelegate()); |
2314 const int kWindowWidth = 123; | 2314 const int kWindowWidth = 123; |
2315 const int kWindowHeight = 45; | 2315 const int kWindowHeight = 45; |
2316 const int kTouchId1 = 2; | 2316 const int kTouchId1 = 2; |
2317 const int kTouchId2 = 3; | 2317 const int kTouchId2 = 3; |
2318 | 2318 |
2319 // Test moving first finger | 2319 // Test moving first finger |
2320 { | 2320 { |
2321 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); | 2321 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); |
2322 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( | 2322 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( |
2323 delegate.get(), -1234, bounds, NULL)); | 2323 delegate.get(), -1234, bounds, root_window())); |
2324 | 2324 |
2325 delegate->Reset(); | 2325 delegate->Reset(); |
2326 ui::TouchEvent press1(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), | 2326 ui::TouchEvent press1(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), |
2327 kTouchId1, GetTime()); | 2327 kTouchId1, GetTime()); |
2328 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press1); | 2328 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press1); |
2329 | 2329 |
2330 delegate->Reset(); | 2330 delegate->Reset(); |
2331 ui::TouchEvent press2(ui::ET_TOUCH_PRESSED, gfx::Point(130, 201), | 2331 ui::TouchEvent press2(ui::ET_TOUCH_PRESSED, gfx::Point(130, 201), |
2332 kTouchId2, GetTime()); | 2332 kTouchId2, GetTime()); |
2333 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press2); | 2333 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press2); |
(...skipping 11 matching lines...) Expand all Loading... |
2345 | 2345 |
2346 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&release); | 2346 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&release); |
2347 EXPECT_FALSE(delegate->two_finger_tap()); | 2347 EXPECT_FALSE(delegate->two_finger_tap()); |
2348 EXPECT_TRUE(delegate->pinch_end()); | 2348 EXPECT_TRUE(delegate->pinch_end()); |
2349 } | 2349 } |
2350 | 2350 |
2351 // Test moving second finger | 2351 // Test moving second finger |
2352 { | 2352 { |
2353 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); | 2353 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); |
2354 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( | 2354 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( |
2355 delegate.get(), -1234, bounds, NULL)); | 2355 delegate.get(), -1234, bounds, root_window())); |
2356 | 2356 |
2357 delegate->Reset(); | 2357 delegate->Reset(); |
2358 ui::TouchEvent press1(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), | 2358 ui::TouchEvent press1(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), |
2359 kTouchId1, GetTime()); | 2359 kTouchId1, GetTime()); |
2360 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press1); | 2360 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press1); |
2361 | 2361 |
2362 delegate->Reset(); | 2362 delegate->Reset(); |
2363 ui::TouchEvent press2(ui::ET_TOUCH_PRESSED, gfx::Point(130, 201), | 2363 ui::TouchEvent press2(ui::ET_TOUCH_PRESSED, gfx::Point(130, 201), |
2364 kTouchId2, GetTime()); | 2364 kTouchId2, GetTime()); |
2365 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press2); | 2365 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press2); |
(...skipping 16 matching lines...) Expand all Loading... |
2382 } | 2382 } |
2383 | 2383 |
2384 TEST_F(GestureRecognizerTest, MultiFingerSwipe) { | 2384 TEST_F(GestureRecognizerTest, MultiFingerSwipe) { |
2385 scoped_ptr<GestureEventConsumeDelegate> delegate( | 2385 scoped_ptr<GestureEventConsumeDelegate> delegate( |
2386 new GestureEventConsumeDelegate()); | 2386 new GestureEventConsumeDelegate()); |
2387 const int kWindowWidth = 123; | 2387 const int kWindowWidth = 123; |
2388 const int kWindowHeight = 45; | 2388 const int kWindowHeight = 45; |
2389 | 2389 |
2390 gfx::Rect bounds(5, 10, kWindowWidth, kWindowHeight); | 2390 gfx::Rect bounds(5, 10, kWindowWidth, kWindowHeight); |
2391 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( | 2391 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( |
2392 delegate.get(), -1234, bounds, NULL)); | 2392 delegate.get(), -1234, bounds, root_window())); |
2393 | 2393 |
2394 const int kSteps = 15; | 2394 const int kSteps = 15; |
2395 const int kTouchPoints = 4; | 2395 const int kTouchPoints = 4; |
2396 gfx::Point points[kTouchPoints] = { | 2396 gfx::Point points[kTouchPoints] = { |
2397 gfx::Point(10, 30), | 2397 gfx::Point(10, 30), |
2398 gfx::Point(30, 20), | 2398 gfx::Point(30, 20), |
2399 gfx::Point(50, 30), | 2399 gfx::Point(50, 30), |
2400 gfx::Point(80, 50) | 2400 gfx::Point(80, 50) |
2401 }; | 2401 }; |
2402 | 2402 |
(...skipping 23 matching lines...) Expand all Loading... |
2426 new GestureEventConsumeDelegate()); | 2426 new GestureEventConsumeDelegate()); |
2427 const int kWindowWidth = 123; | 2427 const int kWindowWidth = 123; |
2428 const int kWindowHeight = 45; | 2428 const int kWindowHeight = 45; |
2429 const int kTouchId1 = 2; | 2429 const int kTouchId1 = 2; |
2430 const int kTouchId2 = 3; | 2430 const int kTouchId2 = 3; |
2431 | 2431 |
2432 // Test canceling first finger. | 2432 // Test canceling first finger. |
2433 { | 2433 { |
2434 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); | 2434 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); |
2435 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( | 2435 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( |
2436 delegate.get(), -1234, bounds, NULL)); | 2436 delegate.get(), -1234, bounds, root_window())); |
2437 | 2437 |
2438 delegate->Reset(); | 2438 delegate->Reset(); |
2439 ui::TouchEvent press1(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), | 2439 ui::TouchEvent press1(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), |
2440 kTouchId1, GetTime()); | 2440 kTouchId1, GetTime()); |
2441 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press1); | 2441 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press1); |
2442 | 2442 |
2443 delegate->Reset(); | 2443 delegate->Reset(); |
2444 ui::TouchEvent press2(ui::ET_TOUCH_PRESSED, gfx::Point(130, 201), | 2444 ui::TouchEvent press2(ui::ET_TOUCH_PRESSED, gfx::Point(130, 201), |
2445 kTouchId2, GetTime()); | 2445 kTouchId2, GetTime()); |
2446 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press2); | 2446 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press2); |
(...skipping 12 matching lines...) Expand all Loading... |
2459 base::TimeDelta::FromMilliseconds(50)); | 2459 base::TimeDelta::FromMilliseconds(50)); |
2460 | 2460 |
2461 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&release); | 2461 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&release); |
2462 EXPECT_FALSE(delegate->two_finger_tap()); | 2462 EXPECT_FALSE(delegate->two_finger_tap()); |
2463 } | 2463 } |
2464 | 2464 |
2465 // Test canceling second finger | 2465 // Test canceling second finger |
2466 { | 2466 { |
2467 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); | 2467 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); |
2468 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( | 2468 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( |
2469 delegate.get(), -1234, bounds, NULL)); | 2469 delegate.get(), -1234, bounds, root_window())); |
2470 | 2470 |
2471 delegate->Reset(); | 2471 delegate->Reset(); |
2472 ui::TouchEvent press1(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), | 2472 ui::TouchEvent press1(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), |
2473 kTouchId1, GetTime()); | 2473 kTouchId1, GetTime()); |
2474 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press1); | 2474 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press1); |
2475 | 2475 |
2476 delegate->Reset(); | 2476 delegate->Reset(); |
2477 ui::TouchEvent press2(ui::ET_TOUCH_PRESSED, gfx::Point(130, 201), | 2477 ui::TouchEvent press2(ui::ET_TOUCH_PRESSED, gfx::Point(130, 201), |
2478 kTouchId2, GetTime()); | 2478 kTouchId2, GetTime()); |
2479 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press2); | 2479 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press2); |
(...skipping 18 matching lines...) Expand all Loading... |
2498 | 2498 |
2499 TEST_F(GestureRecognizerTest, VeryWideTwoFingerTouchDownShouldBeAPinch) { | 2499 TEST_F(GestureRecognizerTest, VeryWideTwoFingerTouchDownShouldBeAPinch) { |
2500 scoped_ptr<GestureEventConsumeDelegate> delegate( | 2500 scoped_ptr<GestureEventConsumeDelegate> delegate( |
2501 new GestureEventConsumeDelegate()); | 2501 new GestureEventConsumeDelegate()); |
2502 const int kWindowWidth = 523; | 2502 const int kWindowWidth = 523; |
2503 const int kWindowHeight = 45; | 2503 const int kWindowHeight = 45; |
2504 const int kTouchId1 = 2; | 2504 const int kTouchId1 = 2; |
2505 const int kTouchId2 = 3; | 2505 const int kTouchId2 = 3; |
2506 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); | 2506 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); |
2507 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( | 2507 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( |
2508 delegate.get(), -1234, bounds, NULL)); | 2508 delegate.get(), -1234, bounds, root_window())); |
2509 | 2509 |
2510 delegate->Reset(); | 2510 delegate->Reset(); |
2511 ui::TouchEvent press1(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), | 2511 ui::TouchEvent press1(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), |
2512 kTouchId1, GetTime()); | 2512 kTouchId1, GetTime()); |
2513 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press1); | 2513 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press1); |
2514 EXPECT_FALSE(delegate->tap()); | 2514 EXPECT_FALSE(delegate->tap()); |
2515 EXPECT_TRUE(delegate->tap_down()); | 2515 EXPECT_TRUE(delegate->tap_down()); |
2516 EXPECT_FALSE(delegate->tap_cancel()); | 2516 EXPECT_FALSE(delegate->tap_cancel()); |
2517 EXPECT_FALSE(delegate->double_tap()); | 2517 EXPECT_FALSE(delegate->double_tap()); |
2518 EXPECT_FALSE(delegate->scroll_begin()); | 2518 EXPECT_FALSE(delegate->scroll_begin()); |
(...skipping 18 matching lines...) Expand all Loading... |
2537 EXPECT_TRUE(delegate->pinch_begin()); | 2537 EXPECT_TRUE(delegate->pinch_begin()); |
2538 } | 2538 } |
2539 | 2539 |
2540 // Verifies if a window is the target of multiple touch-ids and we hide the | 2540 // Verifies if a window is the target of multiple touch-ids and we hide the |
2541 // window everything is cleaned up correctly. | 2541 // window everything is cleaned up correctly. |
2542 TEST_F(GestureRecognizerTest, FlushAllOnHide) { | 2542 TEST_F(GestureRecognizerTest, FlushAllOnHide) { |
2543 scoped_ptr<GestureEventConsumeDelegate> delegate( | 2543 scoped_ptr<GestureEventConsumeDelegate> delegate( |
2544 new GestureEventConsumeDelegate()); | 2544 new GestureEventConsumeDelegate()); |
2545 gfx::Rect bounds(0, 0, 200, 200); | 2545 gfx::Rect bounds(0, 0, 200, 200); |
2546 scoped_ptr<aura::Window> window( | 2546 scoped_ptr<aura::Window> window( |
2547 CreateTestWindowWithDelegate(delegate.get(), 0, bounds, NULL)); | 2547 CreateTestWindowWithDelegate(delegate.get(), 0, bounds, root_window())); |
2548 const int kTouchId1 = 8; | 2548 const int kTouchId1 = 8; |
2549 const int kTouchId2 = 2; | 2549 const int kTouchId2 = 2; |
2550 ui::TouchEvent press1(ui::ET_TOUCH_PRESSED, gfx::Point(10, 10), | 2550 ui::TouchEvent press1(ui::ET_TOUCH_PRESSED, gfx::Point(10, 10), |
2551 kTouchId1, GetTime()); | 2551 kTouchId1, GetTime()); |
2552 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press1); | 2552 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press1); |
2553 ui::TouchEvent press2(ui::ET_TOUCH_PRESSED, gfx::Point(20, 20), | 2553 ui::TouchEvent press2(ui::ET_TOUCH_PRESSED, gfx::Point(20, 20), |
2554 kTouchId2, GetTime()); | 2554 kTouchId2, GetTime()); |
2555 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press2); | 2555 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press2); |
2556 window->Hide(); | 2556 window->Hide(); |
2557 EXPECT_EQ(NULL, | 2557 EXPECT_EQ(NULL, |
2558 root_window()->gesture_recognizer()->GetTouchLockedTarget(&press1)); | 2558 root_window()->gesture_recognizer()->GetTouchLockedTarget(&press1)); |
2559 EXPECT_EQ(NULL, | 2559 EXPECT_EQ(NULL, |
2560 root_window()->gesture_recognizer()->GetTouchLockedTarget(&press2)); | 2560 root_window()->gesture_recognizer()->GetTouchLockedTarget(&press2)); |
2561 } | 2561 } |
2562 | 2562 |
2563 TEST_F(GestureRecognizerTest, LongPressTimerStopsOnPreventDefaultedTouchMoves) { | 2563 TEST_F(GestureRecognizerTest, LongPressTimerStopsOnPreventDefaultedTouchMoves) { |
2564 scoped_ptr<QueueTouchEventDelegate> delegate( | 2564 scoped_ptr<QueueTouchEventDelegate> delegate( |
2565 new QueueTouchEventDelegate(root_window())); | 2565 new QueueTouchEventDelegate(root_window())); |
2566 const int kTouchId = 2; | 2566 const int kTouchId = 2; |
2567 gfx::Rect bounds(100, 200, 100, 100); | 2567 gfx::Rect bounds(100, 200, 100, 100); |
2568 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( | 2568 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( |
2569 delegate.get(), -1234, bounds, NULL)); | 2569 delegate.get(), -1234, bounds, root_window())); |
2570 delegate->set_window(window.get()); | 2570 delegate->set_window(window.get()); |
2571 | 2571 |
2572 TimerTestGestureRecognizer* gesture_recognizer = | 2572 TimerTestGestureRecognizer* gesture_recognizer = |
2573 new TimerTestGestureRecognizer(root_window()); | 2573 new TimerTestGestureRecognizer(root_window()); |
2574 TimerTestGestureSequence* gesture_sequence = | 2574 TimerTestGestureSequence* gesture_sequence = |
2575 static_cast<TimerTestGestureSequence*>( | 2575 static_cast<TimerTestGestureSequence*>( |
2576 gesture_recognizer->GetGestureSequenceForTesting(window.get())); | 2576 gesture_recognizer->GetGestureSequenceForTesting(window.get())); |
2577 | 2577 |
2578 root_window()->SetGestureRecognizerForTesting(gesture_recognizer); | 2578 root_window()->SetGestureRecognizerForTesting(gesture_recognizer); |
2579 | 2579 |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2619 // Same as GestureEventScroll, but tests that the behavior is the same | 2619 // Same as GestureEventScroll, but tests that the behavior is the same |
2620 // even if all the touch-move events are consumed. | 2620 // even if all the touch-move events are consumed. |
2621 TEST_F(GestureRecognizerTest, GestureEventScrollTouchMoveConsumed) { | 2621 TEST_F(GestureRecognizerTest, GestureEventScrollTouchMoveConsumed) { |
2622 scoped_ptr<ConsumesTouchMovesDelegate> delegate( | 2622 scoped_ptr<ConsumesTouchMovesDelegate> delegate( |
2623 new ConsumesTouchMovesDelegate()); | 2623 new ConsumesTouchMovesDelegate()); |
2624 const int kWindowWidth = 123; | 2624 const int kWindowWidth = 123; |
2625 const int kWindowHeight = 45; | 2625 const int kWindowHeight = 45; |
2626 const int kTouchId = 5; | 2626 const int kTouchId = 5; |
2627 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); | 2627 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); |
2628 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( | 2628 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( |
2629 delegate.get(), -1234, bounds, NULL)); | 2629 delegate.get(), -1234, bounds, root_window())); |
2630 | 2630 |
2631 delegate->Reset(); | 2631 delegate->Reset(); |
2632 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), | 2632 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), |
2633 kTouchId, GetTime()); | 2633 kTouchId, GetTime()); |
2634 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press); | 2634 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press); |
2635 EXPECT_FALSE(delegate->tap()); | 2635 EXPECT_FALSE(delegate->tap()); |
2636 EXPECT_TRUE(delegate->tap_down()); | 2636 EXPECT_TRUE(delegate->tap_down()); |
2637 EXPECT_FALSE(delegate->tap_cancel()); | 2637 EXPECT_FALSE(delegate->tap_cancel()); |
2638 EXPECT_TRUE(delegate->begin()); | 2638 EXPECT_TRUE(delegate->begin()); |
2639 EXPECT_FALSE(delegate->double_tap()); | 2639 EXPECT_FALSE(delegate->double_tap()); |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2678 // depending on whether the events were consumed before or after the scroll | 2678 // depending on whether the events were consumed before or after the scroll |
2679 // started. | 2679 // started. |
2680 TEST_F(GestureRecognizerTest, GestureEventScrollTouchMovePartialConsumed) { | 2680 TEST_F(GestureRecognizerTest, GestureEventScrollTouchMovePartialConsumed) { |
2681 scoped_ptr<ConsumesTouchMovesDelegate> delegate( | 2681 scoped_ptr<ConsumesTouchMovesDelegate> delegate( |
2682 new ConsumesTouchMovesDelegate()); | 2682 new ConsumesTouchMovesDelegate()); |
2683 const int kWindowWidth = 123; | 2683 const int kWindowWidth = 123; |
2684 const int kWindowHeight = 45; | 2684 const int kWindowHeight = 45; |
2685 const int kTouchId = 5; | 2685 const int kTouchId = 5; |
2686 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); | 2686 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); |
2687 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( | 2687 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( |
2688 delegate.get(), -1234, bounds, NULL)); | 2688 delegate.get(), -1234, bounds, root_window())); |
2689 | 2689 |
2690 delegate->Reset(); | 2690 delegate->Reset(); |
2691 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), | 2691 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), |
2692 kTouchId, GetTime()); | 2692 kTouchId, GetTime()); |
2693 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press); | 2693 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press); |
2694 EXPECT_FALSE(delegate->tap()); | 2694 EXPECT_FALSE(delegate->tap()); |
2695 EXPECT_TRUE(delegate->tap_down()); | 2695 EXPECT_TRUE(delegate->tap_down()); |
2696 EXPECT_FALSE(delegate->tap_cancel()); | 2696 EXPECT_FALSE(delegate->tap_cancel()); |
2697 EXPECT_TRUE(delegate->begin()); | 2697 EXPECT_TRUE(delegate->begin()); |
2698 EXPECT_FALSE(delegate->double_tap()); | 2698 EXPECT_FALSE(delegate->double_tap()); |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2782 | 2782 |
2783 // Check that appropriate touch events generate double tap gesture events. | 2783 // Check that appropriate touch events generate double tap gesture events. |
2784 TEST_F(GestureRecognizerTest, GestureEventDoubleTap) { | 2784 TEST_F(GestureRecognizerTest, GestureEventDoubleTap) { |
2785 scoped_ptr<GestureEventConsumeDelegate> delegate( | 2785 scoped_ptr<GestureEventConsumeDelegate> delegate( |
2786 new GestureEventConsumeDelegate()); | 2786 new GestureEventConsumeDelegate()); |
2787 const int kWindowWidth = 123; | 2787 const int kWindowWidth = 123; |
2788 const int kWindowHeight = 45; | 2788 const int kWindowHeight = 45; |
2789 const int kTouchId = 2; | 2789 const int kTouchId = 2; |
2790 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); | 2790 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); |
2791 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( | 2791 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( |
2792 delegate.get(), -1234, bounds, NULL)); | 2792 delegate.get(), -1234, bounds, root_window())); |
2793 | 2793 |
2794 // First tap (tested in GestureEventTap) | 2794 // First tap (tested in GestureEventTap) |
2795 ui::TouchEvent press1(ui::ET_TOUCH_PRESSED, gfx::Point(104, 201), | 2795 ui::TouchEvent press1(ui::ET_TOUCH_PRESSED, gfx::Point(104, 201), |
2796 kTouchId, GetTime()); | 2796 kTouchId, GetTime()); |
2797 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press1); | 2797 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press1); |
2798 ui::TouchEvent release1(ui::ET_TOUCH_RELEASED, gfx::Point(104, 201), | 2798 ui::TouchEvent release1(ui::ET_TOUCH_RELEASED, gfx::Point(104, 201), |
2799 kTouchId, press1.time_stamp() + | 2799 kTouchId, press1.time_stamp() + |
2800 base::TimeDelta::FromMilliseconds(50)); | 2800 base::TimeDelta::FromMilliseconds(50)); |
2801 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&release1); | 2801 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&release1); |
2802 delegate->Reset(); | 2802 delegate->Reset(); |
(...skipping 23 matching lines...) Expand all Loading... |
2826 | 2826 |
2827 // Check that we don't get a double tap when the two taps are far apart. | 2827 // Check that we don't get a double tap when the two taps are far apart. |
2828 TEST_F(GestureRecognizerTest, TwoTapsFarApart) { | 2828 TEST_F(GestureRecognizerTest, TwoTapsFarApart) { |
2829 scoped_ptr<GestureEventConsumeDelegate> delegate( | 2829 scoped_ptr<GestureEventConsumeDelegate> delegate( |
2830 new GestureEventConsumeDelegate()); | 2830 new GestureEventConsumeDelegate()); |
2831 const int kWindowWidth = 123; | 2831 const int kWindowWidth = 123; |
2832 const int kWindowHeight = 45; | 2832 const int kWindowHeight = 45; |
2833 const int kTouchId = 2; | 2833 const int kTouchId = 2; |
2834 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); | 2834 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); |
2835 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( | 2835 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( |
2836 delegate.get(), -1234, bounds, NULL)); | 2836 delegate.get(), -1234, bounds, root_window())); |
2837 | 2837 |
2838 // First tap (tested in GestureEventTap) | 2838 // First tap (tested in GestureEventTap) |
2839 ui::TouchEvent press1(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), | 2839 ui::TouchEvent press1(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), |
2840 kTouchId, GetTime()); | 2840 kTouchId, GetTime()); |
2841 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press1); | 2841 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press1); |
2842 ui::TouchEvent release1(ui::ET_TOUCH_RELEASED, gfx::Point(101, 201), | 2842 ui::TouchEvent release1(ui::ET_TOUCH_RELEASED, gfx::Point(101, 201), |
2843 kTouchId, press1.time_stamp() + | 2843 kTouchId, press1.time_stamp() + |
2844 base::TimeDelta::FromMilliseconds(50)); | 2844 base::TimeDelta::FromMilliseconds(50)); |
2845 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&release1); | 2845 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&release1); |
2846 delegate->Reset(); | 2846 delegate->Reset(); |
(...skipping 24 matching lines...) Expand all Loading... |
2871 // Check that we don't get a double tap when the two taps have a long enough | 2871 // Check that we don't get a double tap when the two taps have a long enough |
2872 // delay in between. | 2872 // delay in between. |
2873 TEST_F(GestureRecognizerTest, TwoTapsWithDelayBetween) { | 2873 TEST_F(GestureRecognizerTest, TwoTapsWithDelayBetween) { |
2874 scoped_ptr<GestureEventConsumeDelegate> delegate( | 2874 scoped_ptr<GestureEventConsumeDelegate> delegate( |
2875 new GestureEventConsumeDelegate()); | 2875 new GestureEventConsumeDelegate()); |
2876 const int kWindowWidth = 123; | 2876 const int kWindowWidth = 123; |
2877 const int kWindowHeight = 45; | 2877 const int kWindowHeight = 45; |
2878 const int kTouchId = 2; | 2878 const int kTouchId = 2; |
2879 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); | 2879 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); |
2880 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( | 2880 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( |
2881 delegate.get(), -1234, bounds, NULL)); | 2881 delegate.get(), -1234, bounds, root_window())); |
2882 | 2882 |
2883 // First tap (tested in GestureEventTap) | 2883 // First tap (tested in GestureEventTap) |
2884 ui::TouchEvent press1(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), | 2884 ui::TouchEvent press1(ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), |
2885 kTouchId, GetTime()); | 2885 kTouchId, GetTime()); |
2886 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press1); | 2886 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press1); |
2887 ui::TouchEvent release1(ui::ET_TOUCH_RELEASED, gfx::Point(101, 201), | 2887 ui::TouchEvent release1(ui::ET_TOUCH_RELEASED, gfx::Point(101, 201), |
2888 kTouchId, press1.time_stamp() + | 2888 kTouchId, press1.time_stamp() + |
2889 base::TimeDelta::FromMilliseconds(50)); | 2889 base::TimeDelta::FromMilliseconds(50)); |
2890 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&release1); | 2890 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&release1); |
2891 delegate->Reset(); | 2891 delegate->Reset(); |
(...skipping 25 matching lines...) Expand all Loading... |
2917 // radius of a touch-point, and not because of change in position, then there | 2917 // radius of a touch-point, and not because of change in position, then there |
2918 // are not gesture events from that. | 2918 // are not gesture events from that. |
2919 TEST_F(GestureRecognizerTest, BoundingBoxRadiusChange) { | 2919 TEST_F(GestureRecognizerTest, BoundingBoxRadiusChange) { |
2920 scoped_ptr<GestureEventConsumeDelegate> delegate( | 2920 scoped_ptr<GestureEventConsumeDelegate> delegate( |
2921 new GestureEventConsumeDelegate()); | 2921 new GestureEventConsumeDelegate()); |
2922 const int kWindowWidth = 234; | 2922 const int kWindowWidth = 234; |
2923 const int kWindowHeight = 345; | 2923 const int kWindowHeight = 345; |
2924 const int kTouchId = 5, kTouchId2 = 7; | 2924 const int kTouchId = 5, kTouchId2 = 7; |
2925 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); | 2925 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); |
2926 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( | 2926 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( |
2927 delegate.get(), -1234, bounds, NULL)); | 2927 delegate.get(), -1234, bounds, root_window())); |
2928 | 2928 |
2929 ui::TouchEvent press1( | 2929 ui::TouchEvent press1( |
2930 ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), kTouchId, GetTime()); | 2930 ui::ET_TOUCH_PRESSED, gfx::Point(101, 201), kTouchId, GetTime()); |
2931 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press1); | 2931 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press1); |
2932 EXPECT_TRUE(delegate->bounding_box().IsEmpty()); | 2932 EXPECT_TRUE(delegate->bounding_box().IsEmpty()); |
2933 | 2933 |
2934 delegate->Reset(); | 2934 delegate->Reset(); |
2935 | 2935 |
2936 ui::TouchEvent press2( | 2936 ui::TouchEvent press2( |
2937 ui::ET_TOUCH_PRESSED, gfx::Point(201, 201), kTouchId2, | 2937 ui::ET_TOUCH_PRESSED, gfx::Point(201, 201), kTouchId2, |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2972 TEST_F(GestureRecognizerTest, NoDriftInScroll) { | 2972 TEST_F(GestureRecognizerTest, NoDriftInScroll) { |
2973 ui::GestureConfiguration::set_max_touch_move_in_pixels_for_click(3); | 2973 ui::GestureConfiguration::set_max_touch_move_in_pixels_for_click(3); |
2974 ui::GestureConfiguration::set_min_scroll_delta_squared(9); | 2974 ui::GestureConfiguration::set_min_scroll_delta_squared(9); |
2975 scoped_ptr<GestureEventConsumeDelegate> delegate( | 2975 scoped_ptr<GestureEventConsumeDelegate> delegate( |
2976 new GestureEventConsumeDelegate()); | 2976 new GestureEventConsumeDelegate()); |
2977 const int kWindowWidth = 234; | 2977 const int kWindowWidth = 234; |
2978 const int kWindowHeight = 345; | 2978 const int kWindowHeight = 345; |
2979 const int kTouchId = 5; | 2979 const int kTouchId = 5; |
2980 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); | 2980 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); |
2981 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( | 2981 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( |
2982 delegate.get(), -1234, bounds, NULL)); | 2982 delegate.get(), -1234, bounds, root_window())); |
2983 | 2983 |
2984 ui::TouchEvent press1( | 2984 ui::TouchEvent press1( |
2985 ui::ET_TOUCH_PRESSED, gfx::Point(101, 208), kTouchId, GetTime()); | 2985 ui::ET_TOUCH_PRESSED, gfx::Point(101, 208), kTouchId, GetTime()); |
2986 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press1); | 2986 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&press1); |
2987 EXPECT_TRUE(delegate->begin()); | 2987 EXPECT_TRUE(delegate->begin()); |
2988 | 2988 |
2989 delegate->Reset(); | 2989 delegate->Reset(); |
2990 | 2990 |
2991 ui::TouchEvent move1(ui::ET_TOUCH_MOVED, gfx::Point(101, 206), kTouchId, | 2991 ui::TouchEvent move1(ui::ET_TOUCH_MOVED, gfx::Point(101, 206), kTouchId, |
2992 press1.time_stamp() + base::TimeDelta::FromMilliseconds(40)); | 2992 press1.time_stamp() + base::TimeDelta::FromMilliseconds(40)); |
(...skipping 23 matching lines...) Expand all Loading... |
3016 press1.time_stamp() + base::TimeDelta::FromMilliseconds(40)); | 3016 press1.time_stamp() + base::TimeDelta::FromMilliseconds(40)); |
3017 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&move4); | 3017 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&move4); |
3018 EXPECT_TRUE(delegate->scroll_update()); | 3018 EXPECT_TRUE(delegate->scroll_update()); |
3019 EXPECT_EQ(-1, delegate->scroll_y()); | 3019 EXPECT_EQ(-1, delegate->scroll_y()); |
3020 | 3020 |
3021 delegate->Reset(); | 3021 delegate->Reset(); |
3022 } | 3022 } |
3023 | 3023 |
3024 } // namespace test | 3024 } // namespace test |
3025 } // namespace aura | 3025 } // namespace aura |
OLD | NEW |