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 "ui/aura/window.h" | 5 #include "ui/aura/window.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
10 #include "base/compiler_specific.h" | 10 #include "base/compiler_specific.h" |
(...skipping 909 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
920 scoped_ptr<Window> w2(CreateTestWindowWithDelegate( | 920 scoped_ptr<Window> w2(CreateTestWindowWithDelegate( |
921 &d2, 0, gfx::Rect(40, 0, 40, 20), NULL)); | 921 &d2, 0, gfx::Rect(40, 0, 40, 20), NULL)); |
922 ui::TouchEvent p2(ui::ET_TOUCH_PRESSED, gfx::Point(41, 10), 1, getTime()); | 922 ui::TouchEvent p2(ui::ET_TOUCH_PRESSED, gfx::Point(41, 10), 1, getTime()); |
923 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&p2); | 923 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&p2); |
924 EXPECT_EQ(0, d1.gesture_event_count()); | 924 EXPECT_EQ(0, d1.gesture_event_count()); |
925 // We will get both GESTURE_BEGIN and GESTURE_TAP_DOWN for new target window. | 925 // We will get both GESTURE_BEGIN and GESTURE_TAP_DOWN for new target window. |
926 EXPECT_EQ(2, d2.gesture_event_count()); | 926 EXPECT_EQ(2, d2.gesture_event_count()); |
927 d1.ResetCounts(); | 927 d1.ResetCounts(); |
928 d2.ResetCounts(); | 928 d2.ResetCounts(); |
929 | 929 |
930 // Set capture on |w2|, this should send a cancel to |w1| but not |w2|. | 930 // Set capture on |w2|, this should send a cancel (TAP_CANCEL, END) to |w1| |
| 931 // but not |w2|. |
931 w2->SetCapture(); | 932 w2->SetCapture(); |
932 EXPECT_EQ(1, d1.gesture_event_count()); | 933 EXPECT_EQ(2, d1.gesture_event_count()); |
933 EXPECT_EQ(0, d2.gesture_event_count()); | 934 EXPECT_EQ(0, d2.gesture_event_count()); |
934 d1.ResetCounts(); | 935 d1.ResetCounts(); |
935 d2.ResetCounts(); | 936 d2.ResetCounts(); |
936 | 937 |
937 CaptureWindowDelegateImpl d3; | 938 CaptureWindowDelegateImpl d3; |
938 scoped_ptr<Window> w3(CreateTestWindowWithDelegate( | 939 scoped_ptr<Window> w3(CreateTestWindowWithDelegate( |
939 &d3, 0, gfx::Rect(0, 0, 100, 101), NULL)); | 940 &d3, 0, gfx::Rect(0, 0, 100, 101), NULL)); |
940 // Set capture on w3. No new events should be received. | 941 // Set capture on w3. No new events should be received. |
941 w3->SetCapture(); | 942 w3->SetCapture(); |
942 EXPECT_EQ(0, d1.gesture_event_count()); | 943 EXPECT_EQ(0, d1.gesture_event_count()); |
943 EXPECT_EQ(0, d2.gesture_event_count()); | 944 EXPECT_EQ(0, d2.gesture_event_count()); |
944 EXPECT_EQ(0, d3.gesture_event_count()); | 945 EXPECT_EQ(0, d3.gesture_event_count()); |
945 | 946 |
946 // Move touch id originally associated with |w2|. Since capture was transfered | 947 // Move touch id originally associated with |w2|. Since capture was transfered |
947 // from 2 to 3 only |w3| should get the event. | 948 // from 2 to 3 only |w3| should get the event. |
948 ui::TouchEvent m3(ui::ET_TOUCH_MOVED, gfx::Point(110, 105), 1, getTime()); | 949 ui::TouchEvent m3(ui::ET_TOUCH_MOVED, gfx::Point(110, 105), 1, getTime()); |
949 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&m3); | 950 root_window()->AsRootWindowHostDelegate()->OnHostTouchEvent(&m3); |
950 EXPECT_EQ(0, d1.gesture_event_count()); | 951 EXPECT_EQ(0, d1.gesture_event_count()); |
951 EXPECT_EQ(0, d2.gesture_event_count()); | 952 EXPECT_EQ(0, d2.gesture_event_count()); |
952 // |w3| gets two events, both scroll related. | 953 // |w3| gets a TAP_CANCEL and two scroll related events. |
953 EXPECT_EQ(2, d3.gesture_event_count()); | 954 EXPECT_EQ(3, d3.gesture_event_count()); |
954 } | 955 } |
955 | 956 |
956 // Changes capture while capture is already ongoing. | 957 // Changes capture while capture is already ongoing. |
957 TEST_F(WindowTest, ChangeCaptureWhileMouseDown) { | 958 TEST_F(WindowTest, ChangeCaptureWhileMouseDown) { |
958 CaptureWindowDelegateImpl delegate; | 959 CaptureWindowDelegateImpl delegate; |
959 scoped_ptr<Window> window(CreateTestWindowWithDelegate( | 960 scoped_ptr<Window> window(CreateTestWindowWithDelegate( |
960 &delegate, 0, gfx::Rect(0, 0, 20, 20), NULL)); | 961 &delegate, 0, gfx::Rect(0, 0, 20, 20), NULL)); |
961 CaptureWindowDelegateImpl delegate2; | 962 CaptureWindowDelegateImpl delegate2; |
962 scoped_ptr<Window> w2(CreateTestWindowWithDelegate( | 963 scoped_ptr<Window> w2(CreateTestWindowWithDelegate( |
963 &delegate2, 0, gfx::Rect(20, 20, 20, 20), NULL)); | 964 &delegate2, 0, gfx::Rect(20, 20, 20, 20), NULL)); |
(...skipping 1573 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2537 // Move |w2| to be a child of |w1|. | 2538 // Move |w2| to be a child of |w1|. |
2538 w1->AddChild(w2.get()); | 2539 w1->AddChild(w2.get()); |
2539 // Sine we moved in the same root, observer shouldn't be notified. | 2540 // Sine we moved in the same root, observer shouldn't be notified. |
2540 EXPECT_EQ("0 0", observer.CountStringAndReset()); | 2541 EXPECT_EQ("0 0", observer.CountStringAndReset()); |
2541 // |w2| should still have focus after moving. | 2542 // |w2| should still have focus after moving. |
2542 EXPECT_TRUE(w2->HasFocus()); | 2543 EXPECT_TRUE(w2->HasFocus()); |
2543 } | 2544 } |
2544 | 2545 |
2545 } // namespace test | 2546 } // namespace test |
2546 } // namespace aura | 2547 } // namespace aura |
OLD | NEW |