| 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 <string> | 7 #include <string> |
| 8 #include <utility> | 8 #include <utility> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 789 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 800 EXPECT_EQ(0, delegate.capture_lost_count()); | 800 EXPECT_EQ(0, delegate.capture_lost_count()); |
| 801 EXPECT_EQ(0, delegate.capture_changed_event_count()); | 801 EXPECT_EQ(0, delegate.capture_changed_event_count()); |
| 802 ui::test::EventGenerator generator(root_window(), gfx::Point(50, 50)); | 802 ui::test::EventGenerator generator(root_window(), gfx::Point(50, 50)); |
| 803 generator.PressLeftButton(); | 803 generator.PressLeftButton(); |
| 804 EXPECT_EQ(1, delegate.mouse_event_count()); | 804 EXPECT_EQ(1, delegate.mouse_event_count()); |
| 805 generator.ReleaseLeftButton(); | 805 generator.ReleaseLeftButton(); |
| 806 | 806 |
| 807 EXPECT_EQ(2, delegate.mouse_event_count()); | 807 EXPECT_EQ(2, delegate.mouse_event_count()); |
| 808 delegate.ResetCounts(); | 808 delegate.ResetCounts(); |
| 809 | 809 |
| 810 ui::TouchEvent touchev( | 810 ui::TouchEvent touchev(ui::ET_TOUCH_PRESSED, gfx::PointF(50.f, 50.f), 0, |
| 811 ui::ET_TOUCH_PRESSED, gfx::Point(50, 50), 0, getTime()); | 811 getTime()); |
| 812 DispatchEventUsingWindowDispatcher(&touchev); | 812 DispatchEventUsingWindowDispatcher(&touchev); |
| 813 EXPECT_EQ(1, delegate.touch_event_count()); | 813 EXPECT_EQ(1, delegate.touch_event_count()); |
| 814 delegate.ResetCounts(); | 814 delegate.ResetCounts(); |
| 815 | 815 |
| 816 window->ReleaseCapture(); | 816 window->ReleaseCapture(); |
| 817 EXPECT_FALSE(window->HasCapture()); | 817 EXPECT_FALSE(window->HasCapture()); |
| 818 EXPECT_EQ(1, delegate.capture_lost_count()); | 818 EXPECT_EQ(1, delegate.capture_lost_count()); |
| 819 EXPECT_EQ(1, delegate.capture_changed_event_count()); | 819 EXPECT_EQ(1, delegate.capture_changed_event_count()); |
| 820 EXPECT_EQ(1, delegate.mouse_event_count()); | 820 EXPECT_EQ(1, delegate.mouse_event_count()); |
| 821 EXPECT_EQ(0, delegate.touch_event_count()); | 821 EXPECT_EQ(0, delegate.touch_event_count()); |
| 822 | 822 |
| 823 generator.PressLeftButton(); | 823 generator.PressLeftButton(); |
| 824 EXPECT_EQ(1, delegate.mouse_event_count()); | 824 EXPECT_EQ(1, delegate.mouse_event_count()); |
| 825 | 825 |
| 826 ui::TouchEvent touchev2( | 826 ui::TouchEvent touchev2(ui::ET_TOUCH_PRESSED, gfx::PointF(250.f, 250.f), 1, |
| 827 ui::ET_TOUCH_PRESSED, gfx::Point(250, 250), 1, getTime()); | 827 getTime()); |
| 828 DispatchEventUsingWindowDispatcher(&touchev2); | 828 DispatchEventUsingWindowDispatcher(&touchev2); |
| 829 EXPECT_EQ(0, delegate.touch_event_count()); | 829 EXPECT_EQ(0, delegate.touch_event_count()); |
| 830 | 830 |
| 831 // Removing the capture window from parent should reset the capture window | 831 // Removing the capture window from parent should reset the capture window |
| 832 // in the root window. | 832 // in the root window. |
| 833 window->SetCapture(); | 833 window->SetCapture(); |
| 834 EXPECT_EQ(window.get(), aura::client::GetCaptureWindow(root_window())); | 834 EXPECT_EQ(window.get(), aura::client::GetCaptureWindow(root_window())); |
| 835 window->parent()->RemoveChild(window.get()); | 835 window->parent()->RemoveChild(window.get()); |
| 836 EXPECT_FALSE(window->HasCapture()); | 836 EXPECT_FALSE(window->HasCapture()); |
| 837 EXPECT_EQ(NULL, aura::client::GetCaptureWindow(root_window())); | 837 EXPECT_EQ(NULL, aura::client::GetCaptureWindow(root_window())); |
| 838 } | 838 } |
| 839 | 839 |
| 840 TEST_F(WindowTest, TouchCaptureCancelsOtherTouches) { | 840 TEST_F(WindowTest, TouchCaptureCancelsOtherTouches) { |
| 841 CaptureWindowDelegateImpl delegate1; | 841 CaptureWindowDelegateImpl delegate1; |
| 842 scoped_ptr<Window> w1(CreateTestWindowWithDelegate( | 842 scoped_ptr<Window> w1(CreateTestWindowWithDelegate( |
| 843 &delegate1, 0, gfx::Rect(0, 0, 50, 50), root_window())); | 843 &delegate1, 0, gfx::Rect(0, 0, 50, 50), root_window())); |
| 844 CaptureWindowDelegateImpl delegate2; | 844 CaptureWindowDelegateImpl delegate2; |
| 845 scoped_ptr<Window> w2(CreateTestWindowWithDelegate( | 845 scoped_ptr<Window> w2(CreateTestWindowWithDelegate( |
| 846 &delegate2, 0, gfx::Rect(50, 50, 50, 50), root_window())); | 846 &delegate2, 0, gfx::Rect(50, 50, 50, 50), root_window())); |
| 847 | 847 |
| 848 // Press on w1. | 848 // Press on w1. |
| 849 ui::TouchEvent press1( | 849 ui::TouchEvent press1(ui::ET_TOUCH_PRESSED, gfx::PointF(10.f, 10.f), 0, |
| 850 ui::ET_TOUCH_PRESSED, gfx::Point(10, 10), 0, getTime()); | 850 getTime()); |
| 851 DispatchEventUsingWindowDispatcher(&press1); | 851 DispatchEventUsingWindowDispatcher(&press1); |
| 852 // We will get both GESTURE_BEGIN and GESTURE_TAP_DOWN. | 852 // We will get both GESTURE_BEGIN and GESTURE_TAP_DOWN. |
| 853 EXPECT_EQ(2, delegate1.gesture_event_count()); | 853 EXPECT_EQ(2, delegate1.gesture_event_count()); |
| 854 delegate1.ResetCounts(); | 854 delegate1.ResetCounts(); |
| 855 | 855 |
| 856 // Capturing to w2 should cause the touch to be canceled. | 856 // Capturing to w2 should cause the touch to be canceled. |
| 857 w2->SetCapture(); | 857 w2->SetCapture(); |
| 858 EXPECT_EQ(1, delegate1.touch_event_count()); | 858 EXPECT_EQ(1, delegate1.touch_event_count()); |
| 859 EXPECT_EQ(0, delegate2.touch_event_count()); | 859 EXPECT_EQ(0, delegate2.touch_event_count()); |
| 860 delegate1.ResetCounts(); | 860 delegate1.ResetCounts(); |
| 861 delegate2.ResetCounts(); | 861 delegate2.ResetCounts(); |
| 862 | 862 |
| 863 // Events are now untargetted. | 863 // Events are now untargetted. |
| 864 ui::TouchEvent move(ui::ET_TOUCH_MOVED, gfx::Point(10, 20), 0, getTime()); | 864 ui::TouchEvent move(ui::ET_TOUCH_MOVED, gfx::PointF(10.f, 20.f), 0, |
| 865 getTime()); |
| 865 DispatchEventUsingWindowDispatcher(&move); | 866 DispatchEventUsingWindowDispatcher(&move); |
| 866 EXPECT_EQ(0, delegate1.gesture_event_count()); | 867 EXPECT_EQ(0, delegate1.gesture_event_count()); |
| 867 EXPECT_EQ(0, delegate1.touch_event_count()); | 868 EXPECT_EQ(0, delegate1.touch_event_count()); |
| 868 EXPECT_EQ(0, delegate2.gesture_event_count()); | 869 EXPECT_EQ(0, delegate2.gesture_event_count()); |
| 869 EXPECT_EQ(0, delegate2.touch_event_count()); | 870 EXPECT_EQ(0, delegate2.touch_event_count()); |
| 870 | 871 |
| 871 ui::TouchEvent release( | 872 ui::TouchEvent release(ui::ET_TOUCH_RELEASED, gfx::PointF(10.f, 20.f), 0, |
| 872 ui::ET_TOUCH_RELEASED, gfx::Point(10, 20), 0, getTime()); | 873 getTime()); |
| 873 DispatchEventUsingWindowDispatcher(&release); | 874 DispatchEventUsingWindowDispatcher(&release); |
| 874 EXPECT_EQ(0, delegate1.gesture_event_count()); | 875 EXPECT_EQ(0, delegate1.gesture_event_count()); |
| 875 EXPECT_EQ(0, delegate2.gesture_event_count()); | 876 EXPECT_EQ(0, delegate2.gesture_event_count()); |
| 876 | 877 |
| 877 // A new press is captured by w2. | 878 // A new press is captured by w2. |
| 878 ui::TouchEvent press2( | 879 ui::TouchEvent press2(ui::ET_TOUCH_PRESSED, gfx::PointF(10.f, 10.f), 0, |
| 879 ui::ET_TOUCH_PRESSED, gfx::Point(10, 10), 0, getTime()); | 880 getTime()); |
| 880 DispatchEventUsingWindowDispatcher(&press2); | 881 DispatchEventUsingWindowDispatcher(&press2); |
| 881 EXPECT_EQ(0, delegate1.gesture_event_count()); | 882 EXPECT_EQ(0, delegate1.gesture_event_count()); |
| 882 // We will get both GESTURE_BEGIN and GESTURE_TAP_DOWN. | 883 // We will get both GESTURE_BEGIN and GESTURE_TAP_DOWN. |
| 883 EXPECT_EQ(2, delegate2.gesture_event_count()); | 884 EXPECT_EQ(2, delegate2.gesture_event_count()); |
| 884 delegate1.ResetCounts(); | 885 delegate1.ResetCounts(); |
| 885 delegate2.ResetCounts(); | 886 delegate2.ResetCounts(); |
| 886 | 887 |
| 887 // And releasing capture changes nothing. | 888 // And releasing capture changes nothing. |
| 888 w2->ReleaseCapture(); | 889 w2->ReleaseCapture(); |
| 889 EXPECT_EQ(0, delegate1.gesture_event_count()); | 890 EXPECT_EQ(0, delegate1.gesture_event_count()); |
| 890 EXPECT_EQ(0, delegate1.touch_event_count()); | 891 EXPECT_EQ(0, delegate1.touch_event_count()); |
| 891 EXPECT_EQ(0, delegate2.gesture_event_count()); | 892 EXPECT_EQ(0, delegate2.gesture_event_count()); |
| 892 EXPECT_EQ(0, delegate2.touch_event_count()); | 893 EXPECT_EQ(0, delegate2.touch_event_count()); |
| 893 } | 894 } |
| 894 | 895 |
| 895 TEST_F(WindowTest, TouchCaptureDoesntCancelCapturedTouches) { | 896 TEST_F(WindowTest, TouchCaptureDoesntCancelCapturedTouches) { |
| 896 CaptureWindowDelegateImpl delegate; | 897 CaptureWindowDelegateImpl delegate; |
| 897 scoped_ptr<Window> window(CreateTestWindowWithDelegate( | 898 scoped_ptr<Window> window(CreateTestWindowWithDelegate( |
| 898 &delegate, 0, gfx::Rect(0, 0, 50, 50), root_window())); | 899 &delegate, 0, gfx::Rect(0, 0, 50, 50), root_window())); |
| 899 base::TimeDelta time = getTime(); | 900 base::TimeDelta time = getTime(); |
| 900 const int kTimeDelta = 100; | 901 const int kTimeDelta = 100; |
| 901 | 902 |
| 902 ui::TouchEvent press( | 903 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, gfx::PointF(10.f, 10.f), 0, time); |
| 903 ui::ET_TOUCH_PRESSED, gfx::Point(10, 10), 0, time); | |
| 904 DispatchEventUsingWindowDispatcher(&press); | 904 DispatchEventUsingWindowDispatcher(&press); |
| 905 | 905 |
| 906 // We will get both GESTURE_BEGIN and GESTURE_TAP_DOWN. | 906 // We will get both GESTURE_BEGIN and GESTURE_TAP_DOWN. |
| 907 EXPECT_EQ(2, delegate.gesture_event_count()); | 907 EXPECT_EQ(2, delegate.gesture_event_count()); |
| 908 EXPECT_EQ(1, delegate.touch_event_count()); | 908 EXPECT_EQ(1, delegate.touch_event_count()); |
| 909 delegate.ResetCounts(); | 909 delegate.ResetCounts(); |
| 910 | 910 |
| 911 window->SetCapture(); | 911 window->SetCapture(); |
| 912 EXPECT_EQ(0, delegate.gesture_event_count()); | 912 EXPECT_EQ(0, delegate.gesture_event_count()); |
| 913 EXPECT_EQ(0, delegate.touch_event_count()); | 913 EXPECT_EQ(0, delegate.touch_event_count()); |
| 914 delegate.ResetCounts(); | 914 delegate.ResetCounts(); |
| 915 | 915 |
| 916 // On move We will get TOUCH_MOVED, GESTURE_TAP_CANCEL, | 916 // On move We will get TOUCH_MOVED, GESTURE_TAP_CANCEL, |
| 917 // GESTURE_SCROLL_START and GESTURE_SCROLL_UPDATE. | 917 // GESTURE_SCROLL_START and GESTURE_SCROLL_UPDATE. |
| 918 time += base::TimeDelta::FromMilliseconds(kTimeDelta); | 918 time += base::TimeDelta::FromMilliseconds(kTimeDelta); |
| 919 ui::TouchEvent move(ui::ET_TOUCH_MOVED, gfx::Point(10, 20), 0, time); | 919 ui::TouchEvent move(ui::ET_TOUCH_MOVED, gfx::PointF(10.f, 20.f), 0, time); |
| 920 DispatchEventUsingWindowDispatcher(&move); | 920 DispatchEventUsingWindowDispatcher(&move); |
| 921 EXPECT_EQ(1, delegate.touch_event_count()); | 921 EXPECT_EQ(1, delegate.touch_event_count()); |
| 922 EXPECT_EQ(3, delegate.gesture_event_count()); | 922 EXPECT_EQ(3, delegate.gesture_event_count()); |
| 923 delegate.ResetCounts(); | 923 delegate.ResetCounts(); |
| 924 | 924 |
| 925 // Release capture shouldn't change anything. | 925 // Release capture shouldn't change anything. |
| 926 window->ReleaseCapture(); | 926 window->ReleaseCapture(); |
| 927 EXPECT_EQ(0, delegate.touch_event_count()); | 927 EXPECT_EQ(0, delegate.touch_event_count()); |
| 928 EXPECT_EQ(0, delegate.gesture_event_count()); | 928 EXPECT_EQ(0, delegate.gesture_event_count()); |
| 929 delegate.ResetCounts(); | 929 delegate.ResetCounts(); |
| 930 | 930 |
| 931 // On move we still get TOUCH_MOVED and GESTURE_SCROLL_UPDATE. | 931 // On move we still get TOUCH_MOVED and GESTURE_SCROLL_UPDATE. |
| 932 time += base::TimeDelta::FromMilliseconds(kTimeDelta); | 932 time += base::TimeDelta::FromMilliseconds(kTimeDelta); |
| 933 ui::TouchEvent move2(ui::ET_TOUCH_MOVED, gfx::Point(10, 30), 0, time); | 933 ui::TouchEvent move2(ui::ET_TOUCH_MOVED, gfx::PointF(10.f, 30.f), 0, time); |
| 934 DispatchEventUsingWindowDispatcher(&move2); | 934 DispatchEventUsingWindowDispatcher(&move2); |
| 935 EXPECT_EQ(1, delegate.touch_event_count()); | 935 EXPECT_EQ(1, delegate.touch_event_count()); |
| 936 EXPECT_EQ(1, delegate.gesture_event_count()); | 936 EXPECT_EQ(1, delegate.gesture_event_count()); |
| 937 delegate.ResetCounts(); | 937 delegate.ResetCounts(); |
| 938 | 938 |
| 939 // And on release we get TOUCH_RELEASED, GESTURE_SCROLL_END, GESTURE_END | 939 // And on release we get TOUCH_RELEASED, GESTURE_SCROLL_END, GESTURE_END |
| 940 time += base::TimeDelta::FromMilliseconds(kTimeDelta); | 940 time += base::TimeDelta::FromMilliseconds(kTimeDelta); |
| 941 ui::TouchEvent release( | 941 ui::TouchEvent release(ui::ET_TOUCH_RELEASED, gfx::PointF(10.f, 20.f), 0, |
| 942 ui::ET_TOUCH_RELEASED, gfx::Point(10, 20), 0, time); | 942 time); |
| 943 DispatchEventUsingWindowDispatcher(&release); | 943 DispatchEventUsingWindowDispatcher(&release); |
| 944 EXPECT_EQ(1, delegate.touch_event_count()); | 944 EXPECT_EQ(1, delegate.touch_event_count()); |
| 945 EXPECT_EQ(2, delegate.gesture_event_count()); | 945 EXPECT_EQ(2, delegate.gesture_event_count()); |
| 946 } | 946 } |
| 947 | 947 |
| 948 | 948 |
| 949 // Assertions around SetCapture() and touch/gestures. | 949 // Assertions around SetCapture() and touch/gestures. |
| 950 TEST_F(WindowTest, TransferCaptureTouchEvents) { | 950 TEST_F(WindowTest, TransferCaptureTouchEvents) { |
| 951 // Touch on |w1|. | 951 // Touch on |w1|. |
| 952 CaptureWindowDelegateImpl d1; | 952 CaptureWindowDelegateImpl d1; |
| 953 scoped_ptr<Window> w1(CreateTestWindowWithDelegate( | 953 scoped_ptr<Window> w1(CreateTestWindowWithDelegate( |
| 954 &d1, 0, gfx::Rect(0, 0, 20, 20), root_window())); | 954 &d1, 0, gfx::Rect(0, 0, 20, 20), root_window())); |
| 955 ui::TouchEvent p1(ui::ET_TOUCH_PRESSED, gfx::Point(10, 10), 0, getTime()); | 955 ui::TouchEvent p1(ui::ET_TOUCH_PRESSED, gfx::PointF(10.f, 10.f), 0, |
| 956 getTime()); |
| 956 DispatchEventUsingWindowDispatcher(&p1); | 957 DispatchEventUsingWindowDispatcher(&p1); |
| 957 // We will get both GESTURE_BEGIN and GESTURE_TAP_DOWN. | 958 // We will get both GESTURE_BEGIN and GESTURE_TAP_DOWN. |
| 958 EXPECT_EQ(1, d1.touch_event_count()); | 959 EXPECT_EQ(1, d1.touch_event_count()); |
| 959 EXPECT_EQ(2, d1.gesture_event_count()); | 960 EXPECT_EQ(2, d1.gesture_event_count()); |
| 960 d1.ResetCounts(); | 961 d1.ResetCounts(); |
| 961 | 962 |
| 962 // Touch on |w2| with a different id. | 963 // Touch on |w2| with a different id. |
| 963 CaptureWindowDelegateImpl d2; | 964 CaptureWindowDelegateImpl d2; |
| 964 scoped_ptr<Window> w2(CreateTestWindowWithDelegate( | 965 scoped_ptr<Window> w2(CreateTestWindowWithDelegate( |
| 965 &d2, 0, gfx::Rect(40, 0, 40, 20), root_window())); | 966 &d2, 0, gfx::Rect(40, 0, 40, 20), root_window())); |
| 966 ui::TouchEvent p2(ui::ET_TOUCH_PRESSED, gfx::Point(41, 10), 1, getTime()); | 967 ui::TouchEvent p2(ui::ET_TOUCH_PRESSED, gfx::PointF(41.f, 10.f), 1, |
| 968 getTime()); |
| 967 DispatchEventUsingWindowDispatcher(&p2); | 969 DispatchEventUsingWindowDispatcher(&p2); |
| 968 EXPECT_EQ(0, d1.touch_event_count()); | 970 EXPECT_EQ(0, d1.touch_event_count()); |
| 969 EXPECT_EQ(0, d1.gesture_event_count()); | 971 EXPECT_EQ(0, d1.gesture_event_count()); |
| 970 // We will get both GESTURE_BEGIN and GESTURE_TAP_DOWN for new target window. | 972 // We will get both GESTURE_BEGIN and GESTURE_TAP_DOWN for new target window. |
| 971 EXPECT_EQ(1, d2.touch_event_count()); | 973 EXPECT_EQ(1, d2.touch_event_count()); |
| 972 EXPECT_EQ(2, d2.gesture_event_count()); | 974 EXPECT_EQ(2, d2.gesture_event_count()); |
| 973 d1.ResetCounts(); | 975 d1.ResetCounts(); |
| 974 d2.ResetCounts(); | 976 d2.ResetCounts(); |
| 975 | 977 |
| 976 // Set capture on |w2|, this should send a cancel (TAP_CANCEL, END) to |w1| | 978 // Set capture on |w2|, this should send a cancel (TAP_CANCEL, END) to |w1| |
| (...skipping 14 matching lines...) Expand all Loading... |
| 991 EXPECT_EQ(0, d1.touch_event_count()); | 993 EXPECT_EQ(0, d1.touch_event_count()); |
| 992 EXPECT_EQ(0, d1.gesture_event_count()); | 994 EXPECT_EQ(0, d1.gesture_event_count()); |
| 993 EXPECT_EQ(1, d2.touch_event_count()); | 995 EXPECT_EQ(1, d2.touch_event_count()); |
| 994 EXPECT_EQ(2, d2.gesture_event_count()); | 996 EXPECT_EQ(2, d2.gesture_event_count()); |
| 995 EXPECT_EQ(0, d3.touch_event_count()); | 997 EXPECT_EQ(0, d3.touch_event_count()); |
| 996 EXPECT_EQ(0, d3.gesture_event_count()); | 998 EXPECT_EQ(0, d3.gesture_event_count()); |
| 997 d2.ResetCounts(); | 999 d2.ResetCounts(); |
| 998 | 1000 |
| 999 // Move touch id originally associated with |w2|. The touch has been | 1001 // Move touch id originally associated with |w2|. The touch has been |
| 1000 // cancelled, so no events should be dispatched. | 1002 // cancelled, so no events should be dispatched. |
| 1001 ui::TouchEvent m3(ui::ET_TOUCH_MOVED, gfx::Point(110, 105), 1, getTime()); | 1003 ui::TouchEvent m3(ui::ET_TOUCH_MOVED, gfx::PointF(110.f, 105.f), 1, |
| 1004 getTime()); |
| 1002 DispatchEventUsingWindowDispatcher(&m3); | 1005 DispatchEventUsingWindowDispatcher(&m3); |
| 1003 EXPECT_EQ(0, d1.touch_event_count()); | 1006 EXPECT_EQ(0, d1.touch_event_count()); |
| 1004 EXPECT_EQ(0, d1.gesture_event_count()); | 1007 EXPECT_EQ(0, d1.gesture_event_count()); |
| 1005 EXPECT_EQ(0, d2.touch_event_count()); | 1008 EXPECT_EQ(0, d2.touch_event_count()); |
| 1006 EXPECT_EQ(0, d2.gesture_event_count()); | 1009 EXPECT_EQ(0, d2.gesture_event_count()); |
| 1007 EXPECT_EQ(0, d3.touch_event_count()); | 1010 EXPECT_EQ(0, d3.touch_event_count()); |
| 1008 EXPECT_EQ(0, d3.gesture_event_count()); | 1011 EXPECT_EQ(0, d3.gesture_event_count()); |
| 1009 | 1012 |
| 1010 // When we release capture, no touches are canceled. | 1013 // When we release capture, no touches are canceled. |
| 1011 w3->ReleaseCapture(); | 1014 w3->ReleaseCapture(); |
| 1012 EXPECT_EQ(0, d1.touch_event_count()); | 1015 EXPECT_EQ(0, d1.touch_event_count()); |
| 1013 EXPECT_EQ(0, d1.gesture_event_count()); | 1016 EXPECT_EQ(0, d1.gesture_event_count()); |
| 1014 EXPECT_EQ(0, d2.touch_event_count()); | 1017 EXPECT_EQ(0, d2.touch_event_count()); |
| 1015 EXPECT_EQ(0, d2.gesture_event_count()); | 1018 EXPECT_EQ(0, d2.gesture_event_count()); |
| 1016 EXPECT_EQ(0, d3.touch_event_count()); | 1019 EXPECT_EQ(0, d3.touch_event_count()); |
| 1017 EXPECT_EQ(0, d3.gesture_event_count()); | 1020 EXPECT_EQ(0, d3.gesture_event_count()); |
| 1018 | 1021 |
| 1019 // The touch has been cancelled, so no events are dispatched. | 1022 // The touch has been cancelled, so no events are dispatched. |
| 1020 ui::TouchEvent m4(ui::ET_TOUCH_MOVED, gfx::Point(120, 105), 1, getTime()); | 1023 ui::TouchEvent m4(ui::ET_TOUCH_MOVED, gfx::PointF(120.f, 105.f), 1, |
| 1024 getTime()); |
| 1021 DispatchEventUsingWindowDispatcher(&m4); | 1025 DispatchEventUsingWindowDispatcher(&m4); |
| 1022 EXPECT_EQ(0, d1.touch_event_count()); | 1026 EXPECT_EQ(0, d1.touch_event_count()); |
| 1023 EXPECT_EQ(0, d1.gesture_event_count()); | 1027 EXPECT_EQ(0, d1.gesture_event_count()); |
| 1024 EXPECT_EQ(0, d2.touch_event_count()); | 1028 EXPECT_EQ(0, d2.touch_event_count()); |
| 1025 EXPECT_EQ(0, d2.gesture_event_count()); | 1029 EXPECT_EQ(0, d2.gesture_event_count()); |
| 1026 EXPECT_EQ(0, d3.touch_event_count()); | 1030 EXPECT_EQ(0, d3.touch_event_count()); |
| 1027 EXPECT_EQ(0, d3.gesture_event_count()); | 1031 EXPECT_EQ(0, d3.gesture_event_count()); |
| 1028 } | 1032 } |
| 1029 | 1033 |
| 1030 // Changes capture while capture is already ongoing. | 1034 // Changes capture while capture is already ongoing. |
| (...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1240 scoped_ptr<Window> w1( | 1244 scoped_ptr<Window> w1( |
| 1241 CreateTestWindowWithDelegate(&d1, 1, gfx::Rect(10, 10, 50, 50), | 1245 CreateTestWindowWithDelegate(&d1, 1, gfx::Rect(10, 10, 50, 50), |
| 1242 root_window())); | 1246 root_window())); |
| 1243 | 1247 |
| 1244 ui::test::EventGenerator generator(root_window()); | 1248 ui::test::EventGenerator generator(root_window()); |
| 1245 generator.MoveMouseToCenterOf(w1.get()); | 1249 generator.MoveMouseToCenterOf(w1.get()); |
| 1246 EXPECT_TRUE(d1.entered()); | 1250 EXPECT_TRUE(d1.entered()); |
| 1247 EXPECT_FALSE(d1.exited()); | 1251 EXPECT_FALSE(d1.exited()); |
| 1248 d1.ResetExpectations(); | 1252 d1.ResetExpectations(); |
| 1249 | 1253 |
| 1250 ui::MouseEvent exit_event(ui::ET_MOUSE_EXITED, gfx::Point(), gfx::Point(), | 1254 ui::MouseEvent exit_event(ui::ET_MOUSE_EXITED, gfx::PointF(), gfx::PointF(), |
| 1251 ui::EventTimeForNow(), 0, 0); | 1255 ui::EventTimeForNow(), 0, 0); |
| 1252 DispatchEventUsingWindowDispatcher(&exit_event); | 1256 DispatchEventUsingWindowDispatcher(&exit_event); |
| 1253 EXPECT_FALSE(d1.entered()); | 1257 EXPECT_FALSE(d1.entered()); |
| 1254 EXPECT_TRUE(d1.exited()); | 1258 EXPECT_TRUE(d1.exited()); |
| 1255 } | 1259 } |
| 1256 | 1260 |
| 1257 // Verifies that the WindowDelegate receives MouseExit and MouseEnter events for | 1261 // Verifies that the WindowDelegate receives MouseExit and MouseEnter events for |
| 1258 // mouse transitions from window to window, even if the entered window sets | 1262 // mouse transitions from window to window, even if the entered window sets |
| 1259 // and releases capture. | 1263 // and releases capture. |
| 1260 TEST_F(WindowTest, MouseEnterExitWithClick) { | 1264 TEST_F(WindowTest, MouseEnterExitWithClick) { |
| (...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1614 new GestureTrackPositionDelegate); | 1618 new GestureTrackPositionDelegate); |
| 1615 scoped_ptr<Window> window(CreateTestWindowWithDelegate(delegate.get(), -1234, | 1619 scoped_ptr<Window> window(CreateTestWindowWithDelegate(delegate.get(), -1234, |
| 1616 gfx::Rect(0, 0, 20, 20), root_window())); | 1620 gfx::Rect(0, 0, 20, 20), root_window())); |
| 1617 | 1621 |
| 1618 // Rotate the root-window clock-wise 90 degrees. | 1622 // Rotate the root-window clock-wise 90 degrees. |
| 1619 gfx::Transform transform; | 1623 gfx::Transform transform; |
| 1620 transform.Translate(size.height(), 0.0); | 1624 transform.Translate(size.height(), 0.0); |
| 1621 transform.Rotate(90.0); | 1625 transform.Rotate(90.0); |
| 1622 host()->SetRootTransform(transform); | 1626 host()->SetRootTransform(transform); |
| 1623 | 1627 |
| 1624 ui::TouchEvent press( | 1628 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, |
| 1625 ui::ET_TOUCH_PRESSED, gfx::Point(size.height() - 10, 10), 0, getTime()); | 1629 gfx::PointF(size.height() - 10.f, 10.f), 0, getTime()); |
| 1626 DispatchEventUsingWindowDispatcher(&press); | 1630 DispatchEventUsingWindowDispatcher(&press); |
| 1627 EXPECT_EQ(gfx::Point(10, 10).ToString(), delegate->position().ToString()); | 1631 EXPECT_EQ(gfx::Point(10, 10).ToString(), delegate->position().ToString()); |
| 1628 } | 1632 } |
| 1629 | 1633 |
| 1630 namespace { | 1634 namespace { |
| 1631 DEFINE_WINDOW_PROPERTY_KEY(int, kIntKey, -2); | 1635 DEFINE_WINDOW_PROPERTY_KEY(int, kIntKey, -2); |
| 1632 DEFINE_WINDOW_PROPERTY_KEY(const char*, kStringKey, "squeamish"); | 1636 DEFINE_WINDOW_PROPERTY_KEY(const char*, kStringKey, "squeamish"); |
| 1633 } | 1637 } |
| 1634 | 1638 |
| 1635 TEST_F(WindowTest, Property) { | 1639 TEST_F(WindowTest, Property) { |
| (...skipping 1285 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2921 | 2925 |
| 2922 EXPECT_TRUE(animator.get()); | 2926 EXPECT_TRUE(animator.get()); |
| 2923 EXPECT_FALSE(animator->is_animating()); | 2927 EXPECT_FALSE(animator->is_animating()); |
| 2924 EXPECT_TRUE(observer.animation_completed()); | 2928 EXPECT_TRUE(observer.animation_completed()); |
| 2925 EXPECT_FALSE(observer.animation_aborted()); | 2929 EXPECT_FALSE(observer.animation_aborted()); |
| 2926 animator->RemoveObserver(&observer); | 2930 animator->RemoveObserver(&observer); |
| 2927 } | 2931 } |
| 2928 | 2932 |
| 2929 } // namespace test | 2933 } // namespace test |
| 2930 } // namespace aura | 2934 } // namespace aura |
| OLD | NEW |