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

Side by Side Diff: content/browser/renderer_host/render_widget_host_unittest.cc

Issue 10895024: Use new gesture event fields in more places (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/basictypes.h" 5 #include "base/basictypes.h"
6 #include "base/memory/scoped_ptr.h" 6 #include "base/memory/scoped_ptr.h"
7 #include "base/shared_memory.h" 7 #include "base/shared_memory.h"
8 #include "base/timer.h" 8 #include "base/timer.h"
9 #include "content/browser/browser_thread_impl.h" 9 #include "content/browser/browser_thread_impl.h"
10 #include "content/browser/renderer_host/backing_store.h" 10 #include "content/browser/renderer_host/backing_store.h"
(...skipping 338 matching lines...) Expand 10 before | Expand all | Expand 10 after
349 349
350 void SimulateWheelEvent(float dX, float dY, int modifiers) { 350 void SimulateWheelEvent(float dX, float dY, int modifiers) {
351 WebMouseWheelEvent wheel_event; 351 WebMouseWheelEvent wheel_event;
352 wheel_event.type = WebInputEvent::MouseWheel; 352 wheel_event.type = WebInputEvent::MouseWheel;
353 wheel_event.deltaX = dX; 353 wheel_event.deltaX = dX;
354 wheel_event.deltaY = dY; 354 wheel_event.deltaY = dY;
355 wheel_event.modifiers = modifiers; 355 wheel_event.modifiers = modifiers;
356 host_->ForwardWheelEvent(wheel_event); 356 host_->ForwardWheelEvent(wheel_event);
357 } 357 }
358 358
359 // Inject synthetic WebGestureEvent instances. 359 // Inject simple synthetic WebGestureEvent instances.
360 void SimulateGestureEvent(float dX, float dY, int modifiers, 360 void SimulateGestureEvent(WebInputEvent::Type type) {
361 WebInputEvent::Type type) {
362 WebGestureEvent gesture_event; 361 WebGestureEvent gesture_event;
363 gesture_event.type = type; 362 gesture_event.type = type;
364 gesture_event.deltaX = dX; 363 host_->ForwardGestureEvent(gesture_event);
365 gesture_event.deltaY = dY; 364 }
365
366 void SimulateGestureScrollUpdateEvent(float dX, float dY, int modifiers) {
rjkroege 2012/08/31 00:39:35 it might be conservative to preserve the setting o
Rick Byers 2012/08/31 14:49:29 Sure. I kind of liked the idea of showing that the
367 WebGestureEvent gesture_event;
368 gesture_event.type = WebInputEvent::GestureScrollUpdate;
369 gesture_event.data.scrollUpdate.deltaX = dX;
370 gesture_event.data.scrollUpdate.deltaY = dY;
366 gesture_event.modifiers = modifiers; 371 gesture_event.modifiers = modifiers;
367 host_->ForwardGestureEvent(gesture_event); 372 host_->ForwardGestureEvent(gesture_event);
368 } 373 }
369 374
375 // Inject simple synthetic WebGestureEvent instances.
376 void SimulateGestureFlingStartEvent(float velocityX, float velocityY) {
377 WebGestureEvent gesture_event;
378 gesture_event.type = WebInputEvent::GestureFlingStart;
379 gesture_event.data.flingStart.velocityX = velocityX;
380 gesture_event.data.flingStart.velocityY = velocityY;
381 host_->ForwardGestureEvent(gesture_event);
382 }
383
370 MessageLoopForUI message_loop_; 384 MessageLoopForUI message_loop_;
371 385
372 scoped_ptr<content::TestBrowserContext> browser_context_; 386 scoped_ptr<content::TestBrowserContext> browser_context_;
373 RenderWidgetHostProcess* process_; // Deleted automatically by the widget. 387 RenderWidgetHostProcess* process_; // Deleted automatically by the widget.
374 scoped_ptr<MockRenderWidgetHostDelegate> delegate_; 388 scoped_ptr<MockRenderWidgetHostDelegate> delegate_;
375 scoped_ptr<MockRenderWidgetHost> host_; 389 scoped_ptr<MockRenderWidgetHost> host_;
376 scoped_ptr<TestView> view_; 390 scoped_ptr<TestView> view_;
377 391
378 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostTest); 392 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostTest);
379 }; 393 };
(...skipping 419 matching lines...) Expand 10 before | Expand all | Expand 10 after
799 MessageLoop::current()->RunAllPending(); 813 MessageLoop::current()->RunAllPending();
800 EXPECT_EQ(0U, process_->sink().message_count()); 814 EXPECT_EQ(0U, process_->sink().message_count());
801 } 815 }
802 816
803 TEST_F(RenderWidgetHostTest, CoalescesGesturesEvents) { 817 TEST_F(RenderWidgetHostTest, CoalescesGesturesEvents) {
804 process_->sink().ClearMessages(); 818 process_->sink().ClearMessages();
805 // Only GestureScrollUpdate events can be coalesced. 819 // Only GestureScrollUpdate events can be coalesced.
806 // Simulate gesture events. 820 // Simulate gesture events.
807 821
808 // Sent. 822 // Sent.
809 SimulateGestureEvent(0, -10, 0, WebInputEvent::GestureScrollBegin); 823 SimulateGestureEvent(WebInputEvent::GestureScrollBegin);
810 824
811 // Enqueued. 825 // Enqueued.
812 SimulateGestureEvent(8, -5, 0, WebInputEvent::GestureScrollUpdate); 826 SimulateGestureScrollUpdateEvent(8, -5, 0);
813 827
814 // Make sure that the queue contains what we think it should. 828 // Make sure that the queue contains what we think it should.
815 WebGestureEvent merged_event = host_->GestureEventLastQueueEvent(); 829 WebGestureEvent merged_event = host_->GestureEventLastQueueEvent();
816 EXPECT_EQ(2U, host_->GestureEventLastQueueEventSize()); 830 EXPECT_EQ(2U, host_->GestureEventLastQueueEventSize());
817 EXPECT_EQ(WebInputEvent::GestureScrollUpdate, merged_event.type); 831 EXPECT_EQ(WebInputEvent::GestureScrollUpdate, merged_event.type);
818 832
819 // Coalesced. 833 // Coalesced.
820 SimulateGestureEvent(8, -6, 0, WebInputEvent::GestureScrollUpdate); 834 SimulateGestureScrollUpdateEvent(8, -6, 0);
821 835
822 // Check that coalescing updated the correct values. 836 // Check that coalescing updated the correct values.
823 merged_event = host_->GestureEventLastQueueEvent(); 837 merged_event = host_->GestureEventLastQueueEvent();
824 EXPECT_EQ(WebInputEvent::GestureScrollUpdate, merged_event.type); 838 EXPECT_EQ(WebInputEvent::GestureScrollUpdate, merged_event.type);
825 EXPECT_EQ(0, merged_event.modifiers); 839 EXPECT_EQ(0, merged_event.modifiers);
826 EXPECT_EQ(16, merged_event.deltaX); 840 EXPECT_EQ(16, merged_event.data.scrollUpdate.deltaX);
827 EXPECT_EQ(-11, merged_event.deltaY); 841 EXPECT_EQ(-11, merged_event.data.scrollUpdate.deltaY);
828 842
829 // Enqueued. 843 // Enqueued.
830 SimulateGestureEvent(8, -7, 1, WebInputEvent::GestureScrollUpdate); 844 SimulateGestureScrollUpdateEvent(8, -7, 1);
831 845
832 // Check that we didn't wrongly coalesce. 846 // Check that we didn't wrongly coalesce.
833 merged_event = host_->GestureEventLastQueueEvent(); 847 merged_event = host_->GestureEventLastQueueEvent();
834 EXPECT_EQ(WebInputEvent::GestureScrollUpdate, merged_event.type); 848 EXPECT_EQ(WebInputEvent::GestureScrollUpdate, merged_event.type);
835 EXPECT_EQ(1, merged_event.modifiers); 849 EXPECT_EQ(1, merged_event.modifiers);
836 850
837 // Different. 851 // Different.
838 SimulateGestureEvent(9, -8, 0, WebInputEvent::GestureScrollEnd); 852 SimulateGestureEvent(WebInputEvent::GestureScrollEnd);
839 853
840 // Check that only the first event was sent. 854 // Check that only the first event was sent.
841 EXPECT_EQ(1U, process_->sink().message_count()); 855 EXPECT_EQ(1U, process_->sink().message_count());
842 EXPECT_TRUE(process_->sink().GetUniqueMessageMatching( 856 EXPECT_TRUE(process_->sink().GetUniqueMessageMatching(
843 ViewMsg_HandleInputEvent::ID)); 857 ViewMsg_HandleInputEvent::ID));
844 process_->sink().ClearMessages(); 858 process_->sink().ClearMessages();
845 859
846 // Check that the ACK sends the second message. 860 // Check that the ACK sends the second message.
847 SendInputEventACK(WebInputEvent::GestureScrollBegin, true); 861 SendInputEventACK(WebInputEvent::GestureScrollBegin, true);
848 MessageLoop::current()->RunAllPending(); 862 MessageLoop::current()->RunAllPending();
(...skipping 20 matching lines...) Expand all
869 883
870 // After the final ack, the queue should be empty. 884 // After the final ack, the queue should be empty.
871 SendInputEventACK(WebInputEvent::GestureScrollEnd, true); 885 SendInputEventACK(WebInputEvent::GestureScrollEnd, true);
872 MessageLoop::current()->RunAllPending(); 886 MessageLoop::current()->RunAllPending();
873 EXPECT_EQ(0U, process_->sink().message_count()); 887 EXPECT_EQ(0U, process_->sink().message_count());
874 } 888 }
875 889
876 TEST_F(RenderWidgetHostTest, GestureFlingCancelsFiltered) { 890 TEST_F(RenderWidgetHostTest, GestureFlingCancelsFiltered) {
877 process_->sink().ClearMessages(); 891 process_->sink().ClearMessages();
878 // GFC without previous GFS is dropped. 892 // GFC without previous GFS is dropped.
879 SimulateGestureEvent(0, -10, 0, WebInputEvent::GestureFlingCancel); 893 SimulateGestureEvent(WebInputEvent::GestureFlingCancel);
880 EXPECT_EQ(0U, process_->sink().message_count()); 894 EXPECT_EQ(0U, process_->sink().message_count());
881 EXPECT_EQ(0U, host_->GestureEventLastQueueEventSize()); 895 EXPECT_EQ(0U, host_->GestureEventLastQueueEventSize());
882 896
883 // GFC after previous GFS is dispatched and acked. 897 // GFC after previous GFS is dispatched and acked.
884 process_->sink().ClearMessages(); 898 process_->sink().ClearMessages();
885 SimulateGestureEvent(0, -10, 0, WebInputEvent::GestureFlingStart); 899 SimulateGestureFlingStartEvent(0, -10);
886 EXPECT_TRUE(host_->FlingInProgress()); 900 EXPECT_TRUE(host_->FlingInProgress());
887 SendInputEventACK(WebInputEvent::GestureFlingStart, true); 901 SendInputEventACK(WebInputEvent::GestureFlingStart, true);
888 MessageLoop::current()->RunAllPending(); 902 MessageLoop::current()->RunAllPending();
889 SimulateGestureEvent(0, -10, 0, WebInputEvent::GestureFlingCancel); 903 SimulateGestureEvent(WebInputEvent::GestureFlingCancel);
890 EXPECT_FALSE(host_->FlingInProgress()); 904 EXPECT_FALSE(host_->FlingInProgress());
891 EXPECT_EQ(2U, process_->sink().message_count()); 905 EXPECT_EQ(2U, process_->sink().message_count());
892 SendInputEventACK(WebInputEvent::GestureFlingCancel, true); 906 SendInputEventACK(WebInputEvent::GestureFlingCancel, true);
893 MessageLoop::current()->RunAllPending(); 907 MessageLoop::current()->RunAllPending();
894 EXPECT_EQ(0U, host_->GestureEventLastQueueEventSize()); 908 EXPECT_EQ(0U, host_->GestureEventLastQueueEventSize());
895 909
896 // GFC before previous GFS is acked. 910 // GFC before previous GFS is acked.
897 process_->sink().ClearMessages(); 911 process_->sink().ClearMessages();
898 SimulateGestureEvent(0, -10, 0, WebInputEvent::GestureFlingStart); 912 SimulateGestureFlingStartEvent(0, -10);
899 EXPECT_TRUE(host_->FlingInProgress()); 913 EXPECT_TRUE(host_->FlingInProgress());
900 SimulateGestureEvent(0, -10, 0, WebInputEvent::GestureFlingCancel); 914 SimulateGestureEvent(WebInputEvent::GestureFlingCancel);
901 EXPECT_FALSE(host_->FlingInProgress()); 915 EXPECT_FALSE(host_->FlingInProgress());
902 EXPECT_EQ(1U, process_->sink().message_count()); 916 EXPECT_EQ(1U, process_->sink().message_count());
903 EXPECT_EQ(2U, host_->GestureEventLastQueueEventSize()); 917 EXPECT_EQ(2U, host_->GestureEventLastQueueEventSize());
904 918
905 // Advance state realistically. 919 // Advance state realistically.
906 SendInputEventACK(WebInputEvent::GestureFlingStart, true); 920 SendInputEventACK(WebInputEvent::GestureFlingStart, true);
907 MessageLoop::current()->RunAllPending(); 921 MessageLoop::current()->RunAllPending();
908 SendInputEventACK(WebInputEvent::GestureFlingCancel, true); 922 SendInputEventACK(WebInputEvent::GestureFlingCancel, true);
909 MessageLoop::current()->RunAllPending(); 923 MessageLoop::current()->RunAllPending();
910 EXPECT_EQ(0U, host_->GestureEventLastQueueEventSize()); 924 EXPECT_EQ(0U, host_->GestureEventLastQueueEventSize());
911 925
912 // GFS is added to the queue if another event is pending 926 // GFS is added to the queue if another event is pending
913 process_->sink().ClearMessages(); 927 process_->sink().ClearMessages();
914 SimulateGestureEvent(8, -7, 0, WebInputEvent::GestureScrollUpdate); 928 SimulateGestureScrollUpdateEvent(8, -7, 0);
915 SimulateGestureEvent(0, -10, 0, WebInputEvent::GestureFlingStart); 929 SimulateGestureFlingStartEvent(0, -10);
916 EXPECT_EQ(2U, host_->GestureEventLastQueueEventSize()); 930 EXPECT_EQ(2U, host_->GestureEventLastQueueEventSize());
917 EXPECT_EQ(1U, process_->sink().message_count()); 931 EXPECT_EQ(1U, process_->sink().message_count());
918 WebGestureEvent merged_event = host_->GestureEventLastQueueEvent(); 932 WebGestureEvent merged_event = host_->GestureEventLastQueueEvent();
919 EXPECT_EQ(WebInputEvent::GestureFlingStart, merged_event.type); 933 EXPECT_EQ(WebInputEvent::GestureFlingStart, merged_event.type);
920 EXPECT_TRUE(host_->FlingInProgress()); 934 EXPECT_TRUE(host_->FlingInProgress());
921 EXPECT_EQ(2U, host_->GestureEventLastQueueEventSize()); 935 EXPECT_EQ(2U, host_->GestureEventLastQueueEventSize());
922 936
923 // GFS in queue means that a GFC is added to the queue 937 // GFS in queue means that a GFC is added to the queue
924 SimulateGestureEvent(0, -10, 0, WebInputEvent::GestureFlingCancel); 938 SimulateGestureEvent(WebInputEvent::GestureFlingCancel);
925 merged_event =host_->GestureEventLastQueueEvent(); 939 merged_event =host_->GestureEventLastQueueEvent();
926 EXPECT_EQ(WebInputEvent::GestureFlingCancel, merged_event.type); 940 EXPECT_EQ(WebInputEvent::GestureFlingCancel, merged_event.type);
927 EXPECT_FALSE(host_->FlingInProgress()); 941 EXPECT_FALSE(host_->FlingInProgress());
928 EXPECT_EQ(3U, host_->GestureEventLastQueueEventSize()); 942 EXPECT_EQ(3U, host_->GestureEventLastQueueEventSize());
929 943
930 // Adding a second GFC is dropped. 944 // Adding a second GFC is dropped.
931 SimulateGestureEvent(0, -10, 0, WebInputEvent::GestureFlingCancel); 945 SimulateGestureEvent(WebInputEvent::GestureFlingCancel);
932 EXPECT_FALSE(host_->FlingInProgress()); 946 EXPECT_FALSE(host_->FlingInProgress());
933 EXPECT_EQ(3U, host_->GestureEventLastQueueEventSize()); 947 EXPECT_EQ(3U, host_->GestureEventLastQueueEventSize());
934 948
935 // Adding another GFS will add it to the queue. 949 // Adding another GFS will add it to the queue.
936 SimulateGestureEvent(0, -10, 0, WebInputEvent::GestureFlingStart); 950 SimulateGestureFlingStartEvent(0, -10);
937 merged_event = host_->GestureEventLastQueueEvent(); 951 merged_event = host_->GestureEventLastQueueEvent();
938 EXPECT_EQ(WebInputEvent::GestureFlingStart, merged_event.type); 952 EXPECT_EQ(WebInputEvent::GestureFlingStart, merged_event.type);
939 EXPECT_TRUE(host_->FlingInProgress()); 953 EXPECT_TRUE(host_->FlingInProgress());
940 EXPECT_EQ(4U, host_->GestureEventLastQueueEventSize()); 954 EXPECT_EQ(4U, host_->GestureEventLastQueueEventSize());
941 955
942 // GFS in queue means that a GFC is added to the queue 956 // GFS in queue means that a GFC is added to the queue
943 SimulateGestureEvent(0, -10, 0, WebInputEvent::GestureFlingCancel); 957 SimulateGestureEvent(WebInputEvent::GestureFlingCancel);
944 merged_event = host_->GestureEventLastQueueEvent(); 958 merged_event = host_->GestureEventLastQueueEvent();
945 EXPECT_EQ(WebInputEvent::GestureFlingCancel, merged_event.type); 959 EXPECT_EQ(WebInputEvent::GestureFlingCancel, merged_event.type);
946 EXPECT_FALSE(host_->FlingInProgress()); 960 EXPECT_FALSE(host_->FlingInProgress());
947 EXPECT_EQ(5U, host_->GestureEventLastQueueEventSize()); 961 EXPECT_EQ(5U, host_->GestureEventLastQueueEventSize());
948 962
949 // Adding another GFC with a GFC already there is dropped. 963 // Adding another GFC with a GFC already there is dropped.
950 SimulateGestureEvent(0, -10, 0, WebInputEvent::GestureFlingCancel); 964 SimulateGestureEvent(WebInputEvent::GestureFlingCancel);
951 merged_event = host_->GestureEventLastQueueEvent(); 965 merged_event = host_->GestureEventLastQueueEvent();
952 EXPECT_EQ(WebInputEvent::GestureFlingCancel, merged_event.type); 966 EXPECT_EQ(WebInputEvent::GestureFlingCancel, merged_event.type);
953 EXPECT_FALSE(host_->FlingInProgress()); 967 EXPECT_FALSE(host_->FlingInProgress());
954 EXPECT_EQ(5U, host_->GestureEventLastQueueEventSize()); 968 EXPECT_EQ(5U, host_->GestureEventLastQueueEventSize());
955 } 969 }
956 970
957 // Test that GestureTapDown events are deferred. 971 // Test that GestureTapDown events are deferred.
958 TEST_F(RenderWidgetHostTest, DeferredGestureTapDown) { 972 TEST_F(RenderWidgetHostTest, DeferredGestureTapDown) {
959 process_->sink().ClearMessages(); 973 process_->sink().ClearMessages();
960 974
961 // Set some sort of short deferral timeout 975 // Set some sort of short deferral timeout
962 host_->set_maximum_tap_gap_time_ms(5); 976 host_->set_maximum_tap_gap_time_ms(5);
963 977
964 SimulateGestureEvent(0, -10, 0, WebInputEvent::GestureTapDown); 978 SimulateGestureEvent(WebInputEvent::GestureTapDown);
965 EXPECT_EQ(0U, process_->sink().message_count()); 979 EXPECT_EQ(0U, process_->sink().message_count());
966 EXPECT_EQ(0U, host_->GestureEventLastQueueEventSize()); 980 EXPECT_EQ(0U, host_->GestureEventLastQueueEventSize());
967 981
968 // Wait long enough for first timeout and see if it fired. 982 // Wait long enough for first timeout and see if it fired.
969 MessageLoop::current()->PostDelayedTask( 983 MessageLoop::current()->PostDelayedTask(
970 FROM_HERE, MessageLoop::QuitClosure(), TimeDelta::FromMilliseconds(10)); 984 FROM_HERE, MessageLoop::QuitClosure(), TimeDelta::FromMilliseconds(10));
971 MessageLoop::current()->Run(); 985 MessageLoop::current()->Run();
972 986
973 EXPECT_EQ(1U, process_->sink().message_count()); 987 EXPECT_EQ(1U, process_->sink().message_count());
974 EXPECT_EQ(1U, host_->GestureEventLastQueueEventSize()); 988 EXPECT_EQ(1U, host_->GestureEventLastQueueEventSize());
975 } 989 }
976 990
977 // Test that GestureTapDown events are sent immediately on GestureTap. 991 // Test that GestureTapDown events are sent immediately on GestureTap.
978 TEST_F(RenderWidgetHostTest, DeferredGestureTapDownSentOnTap) { 992 TEST_F(RenderWidgetHostTest, DeferredGestureTapDownSentOnTap) {
979 process_->sink().ClearMessages(); 993 process_->sink().ClearMessages();
980 994
981 // Set some sort of short deferral timeout 995 // Set some sort of short deferral timeout
982 host_->set_maximum_tap_gap_time_ms(5); 996 host_->set_maximum_tap_gap_time_ms(5);
983 997
984 SimulateGestureEvent(0, -10, 0, WebInputEvent::GestureTapDown); 998 SimulateGestureEvent(WebInputEvent::GestureTapDown);
985 EXPECT_EQ(0U, process_->sink().message_count()); 999 EXPECT_EQ(0U, process_->sink().message_count());
986 EXPECT_EQ(0U, host_->GestureEventLastQueueEventSize()); 1000 EXPECT_EQ(0U, host_->GestureEventLastQueueEventSize());
987 1001
988 SimulateGestureEvent(0, -10, 0, WebInputEvent::GestureTap); 1002 SimulateGestureEvent(WebInputEvent::GestureTap);
989 EXPECT_EQ(1U, process_->sink().message_count()); 1003 EXPECT_EQ(1U, process_->sink().message_count());
990 EXPECT_EQ(2U, host_->GestureEventLastQueueEventSize()); 1004 EXPECT_EQ(2U, host_->GestureEventLastQueueEventSize());
991 1005
992 MessageLoop::current()->PostDelayedTask( 1006 MessageLoop::current()->PostDelayedTask(
993 FROM_HERE, MessageLoop::QuitClosure(), TimeDelta::FromMilliseconds(10)); 1007 FROM_HERE, MessageLoop::QuitClosure(), TimeDelta::FromMilliseconds(10));
994 MessageLoop::current()->Run(); 1008 MessageLoop::current()->Run();
995 1009
996 // If the deferral timer incorrectly fired, it sent an extra message. 1010 // If the deferral timer incorrectly fired, it sent an extra message.
997 EXPECT_EQ(1U, process_->sink().message_count()); 1011 EXPECT_EQ(1U, process_->sink().message_count());
998 } 1012 }
999 1013
1000 // Test that scroll events during the deferral internal drop the GestureTapDown. 1014 // Test that scroll events during the deferral internal drop the GestureTapDown.
1001 TEST_F(RenderWidgetHostTest, DeferredGestureTapDownAnulledOnScroll) { 1015 TEST_F(RenderWidgetHostTest, DeferredGestureTapDownAnulledOnScroll) {
1002 process_->sink().ClearMessages(); 1016 process_->sink().ClearMessages();
1003 1017
1004 // Set some sort of short deferral timeout 1018 // Set some sort of short deferral timeout
1005 host_->set_maximum_tap_gap_time_ms(5); 1019 host_->set_maximum_tap_gap_time_ms(5);
1006 1020
1007 SimulateGestureEvent(0, -10, 0, WebInputEvent::GestureTapDown); 1021 SimulateGestureEvent(WebInputEvent::GestureTapDown);
1008 EXPECT_EQ(0U, process_->sink().message_count()); 1022 EXPECT_EQ(0U, process_->sink().message_count());
1009 EXPECT_EQ(0U, host_->GestureEventLastQueueEventSize()); 1023 EXPECT_EQ(0U, host_->GestureEventLastQueueEventSize());
1010 1024
1011 SimulateGestureEvent(0, -10, 0, WebInputEvent::GestureScrollBegin); 1025 SimulateGestureEvent(WebInputEvent::GestureScrollBegin);
1012 EXPECT_EQ(1U, process_->sink().message_count()); 1026 EXPECT_EQ(1U, process_->sink().message_count());
1013 EXPECT_EQ(1U, host_->GestureEventLastQueueEventSize()); 1027 EXPECT_EQ(1U, host_->GestureEventLastQueueEventSize());
1014 1028
1015 MessageLoop::current()->PostDelayedTask( 1029 MessageLoop::current()->PostDelayedTask(
1016 FROM_HERE, MessageLoop::QuitClosure(), TimeDelta::FromMilliseconds(10)); 1030 FROM_HERE, MessageLoop::QuitClosure(), TimeDelta::FromMilliseconds(10));
1017 MessageLoop::current()->Run(); 1031 MessageLoop::current()->Run();
1018 1032
1019 // If the deferral timer incorrectly fired, it will send an extra message. 1033 // If the deferral timer incorrectly fired, it will send an extra message.
1020 EXPECT_EQ(1U, process_->sink().message_count()); 1034 EXPECT_EQ(1U, process_->sink().message_count());
1021 } 1035 }
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
1084 SimulateKeyboardEvent(WebInputEvent::RawKeyDown); 1098 SimulateKeyboardEvent(WebInputEvent::RawKeyDown);
1085 SimulateKeyboardEvent(WebInputEvent::RawKeyDown); 1099 SimulateKeyboardEvent(WebInputEvent::RawKeyDown);
1086 SendInputEventACK(WebInputEvent::RawKeyDown, true); 1100 SendInputEventACK(WebInputEvent::RawKeyDown, true);
1087 1101
1088 // Wait long enough for first timeout and see if it fired. 1102 // Wait long enough for first timeout and see if it fired.
1089 MessageLoop::current()->PostDelayedTask( 1103 MessageLoop::current()->PostDelayedTask(
1090 FROM_HERE, MessageLoop::QuitClosure(), TimeDelta::FromMilliseconds(40)); 1104 FROM_HERE, MessageLoop::QuitClosure(), TimeDelta::FromMilliseconds(40));
1091 MessageLoop::current()->Run(); 1105 MessageLoop::current()->Run();
1092 EXPECT_TRUE(host_->unresponsive_timer_fired()); 1106 EXPECT_TRUE(host_->unresponsive_timer_fired());
1093 } 1107 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698