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

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: Fix CL diff to be against ToT (not one of my other branches) 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;
363 host_->ForwardGestureEvent(gesture_event);
364 }
365
366 void SimulateGestureScrollUpdateEvent(float dX, float dY, int modifiers) {
367 WebGestureEvent gesture_event;
368 gesture_event.type = WebInputEvent::GestureScrollUpdate;
364 gesture_event.deltaX = dX; 369 gesture_event.deltaX = dX;
365 gesture_event.deltaY = dY; 370 gesture_event.deltaY = dY;
371 gesture_event.data.scrollUpdate.deltaX = dX;
372 gesture_event.data.scrollUpdate.deltaY = dY;
366 gesture_event.modifiers = modifiers; 373 gesture_event.modifiers = modifiers;
367 host_->ForwardGestureEvent(gesture_event); 374 host_->ForwardGestureEvent(gesture_event);
368 } 375 }
369 376
377 // Inject simple synthetic WebGestureEvent instances.
378 void SimulateGestureFlingStartEvent(float velocityX, float velocityY) {
379 WebGestureEvent gesture_event;
380 gesture_event.type = WebInputEvent::GestureFlingStart;
381 gesture_event.deltaX = velocityX;
382 gesture_event.deltaY = velocityY;
383 gesture_event.data.flingStart.velocityX = velocityX;
384 gesture_event.data.flingStart.velocityY = velocityY;
385 host_->ForwardGestureEvent(gesture_event);
386 }
387
370 MessageLoopForUI message_loop_; 388 MessageLoopForUI message_loop_;
371 389
372 scoped_ptr<content::TestBrowserContext> browser_context_; 390 scoped_ptr<content::TestBrowserContext> browser_context_;
373 RenderWidgetHostProcess* process_; // Deleted automatically by the widget. 391 RenderWidgetHostProcess* process_; // Deleted automatically by the widget.
374 scoped_ptr<MockRenderWidgetHostDelegate> delegate_; 392 scoped_ptr<MockRenderWidgetHostDelegate> delegate_;
375 scoped_ptr<MockRenderWidgetHost> host_; 393 scoped_ptr<MockRenderWidgetHost> host_;
376 scoped_ptr<TestView> view_; 394 scoped_ptr<TestView> view_;
377 395
378 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostTest); 396 DISALLOW_COPY_AND_ASSIGN(RenderWidgetHostTest);
379 }; 397 };
(...skipping 419 matching lines...) Expand 10 before | Expand all | Expand 10 after
799 MessageLoop::current()->RunAllPending(); 817 MessageLoop::current()->RunAllPending();
800 EXPECT_EQ(0U, process_->sink().message_count()); 818 EXPECT_EQ(0U, process_->sink().message_count());
801 } 819 }
802 820
803 TEST_F(RenderWidgetHostTest, CoalescesGesturesEvents) { 821 TEST_F(RenderWidgetHostTest, CoalescesGesturesEvents) {
804 process_->sink().ClearMessages(); 822 process_->sink().ClearMessages();
805 // Only GestureScrollUpdate events can be coalesced. 823 // Only GestureScrollUpdate events can be coalesced.
806 // Simulate gesture events. 824 // Simulate gesture events.
807 825
808 // Sent. 826 // Sent.
809 SimulateGestureEvent(0, -10, 0, WebInputEvent::GestureScrollBegin); 827 SimulateGestureEvent(WebInputEvent::GestureScrollBegin);
810 828
811 // Enqueued. 829 // Enqueued.
812 SimulateGestureEvent(8, -5, 0, WebInputEvent::GestureScrollUpdate); 830 SimulateGestureScrollUpdateEvent(8, -5, 0);
813 831
814 // Make sure that the queue contains what we think it should. 832 // Make sure that the queue contains what we think it should.
815 WebGestureEvent merged_event = host_->GestureEventLastQueueEvent(); 833 WebGestureEvent merged_event = host_->GestureEventLastQueueEvent();
816 EXPECT_EQ(2U, host_->GestureEventLastQueueEventSize()); 834 EXPECT_EQ(2U, host_->GestureEventLastQueueEventSize());
817 EXPECT_EQ(WebInputEvent::GestureScrollUpdate, merged_event.type); 835 EXPECT_EQ(WebInputEvent::GestureScrollUpdate, merged_event.type);
818 836
819 // Coalesced. 837 // Coalesced.
820 SimulateGestureEvent(8, -6, 0, WebInputEvent::GestureScrollUpdate); 838 SimulateGestureScrollUpdateEvent(8, -6, 0);
821 839
822 // Check that coalescing updated the correct values. 840 // Check that coalescing updated the correct values.
823 merged_event = host_->GestureEventLastQueueEvent(); 841 merged_event = host_->GestureEventLastQueueEvent();
824 EXPECT_EQ(WebInputEvent::GestureScrollUpdate, merged_event.type); 842 EXPECT_EQ(WebInputEvent::GestureScrollUpdate, merged_event.type);
825 EXPECT_EQ(0, merged_event.modifiers); 843 EXPECT_EQ(0, merged_event.modifiers);
826 EXPECT_EQ(16, merged_event.deltaX); 844 EXPECT_EQ(16, merged_event.data.scrollUpdate.deltaX);
827 EXPECT_EQ(-11, merged_event.deltaY); 845 EXPECT_EQ(-11, merged_event.data.scrollUpdate.deltaY);
828 846
829 // Enqueued. 847 // Enqueued.
830 SimulateGestureEvent(8, -7, 1, WebInputEvent::GestureScrollUpdate); 848 SimulateGestureScrollUpdateEvent(8, -7, 1);
831 849
832 // Check that we didn't wrongly coalesce. 850 // Check that we didn't wrongly coalesce.
833 merged_event = host_->GestureEventLastQueueEvent(); 851 merged_event = host_->GestureEventLastQueueEvent();
834 EXPECT_EQ(WebInputEvent::GestureScrollUpdate, merged_event.type); 852 EXPECT_EQ(WebInputEvent::GestureScrollUpdate, merged_event.type);
835 EXPECT_EQ(1, merged_event.modifiers); 853 EXPECT_EQ(1, merged_event.modifiers);
836 854
837 // Different. 855 // Different.
838 SimulateGestureEvent(9, -8, 0, WebInputEvent::GestureScrollEnd); 856 SimulateGestureEvent(WebInputEvent::GestureScrollEnd);
839 857
840 // Check that only the first event was sent. 858 // Check that only the first event was sent.
841 EXPECT_EQ(1U, process_->sink().message_count()); 859 EXPECT_EQ(1U, process_->sink().message_count());
842 EXPECT_TRUE(process_->sink().GetUniqueMessageMatching( 860 EXPECT_TRUE(process_->sink().GetUniqueMessageMatching(
843 ViewMsg_HandleInputEvent::ID)); 861 ViewMsg_HandleInputEvent::ID));
844 process_->sink().ClearMessages(); 862 process_->sink().ClearMessages();
845 863
846 // Check that the ACK sends the second message. 864 // Check that the ACK sends the second message.
847 SendInputEventACK(WebInputEvent::GestureScrollBegin, true); 865 SendInputEventACK(WebInputEvent::GestureScrollBegin, true);
848 MessageLoop::current()->RunAllPending(); 866 MessageLoop::current()->RunAllPending();
(...skipping 20 matching lines...) Expand all
869 887
870 // After the final ack, the queue should be empty. 888 // After the final ack, the queue should be empty.
871 SendInputEventACK(WebInputEvent::GestureScrollEnd, true); 889 SendInputEventACK(WebInputEvent::GestureScrollEnd, true);
872 MessageLoop::current()->RunAllPending(); 890 MessageLoop::current()->RunAllPending();
873 EXPECT_EQ(0U, process_->sink().message_count()); 891 EXPECT_EQ(0U, process_->sink().message_count());
874 } 892 }
875 893
876 TEST_F(RenderWidgetHostTest, GestureFlingCancelsFiltered) { 894 TEST_F(RenderWidgetHostTest, GestureFlingCancelsFiltered) {
877 process_->sink().ClearMessages(); 895 process_->sink().ClearMessages();
878 // GFC without previous GFS is dropped. 896 // GFC without previous GFS is dropped.
879 SimulateGestureEvent(0, -10, 0, WebInputEvent::GestureFlingCancel); 897 SimulateGestureEvent(WebInputEvent::GestureFlingCancel);
880 EXPECT_EQ(0U, process_->sink().message_count()); 898 EXPECT_EQ(0U, process_->sink().message_count());
881 EXPECT_EQ(0U, host_->GestureEventLastQueueEventSize()); 899 EXPECT_EQ(0U, host_->GestureEventLastQueueEventSize());
882 900
883 // GFC after previous GFS is dispatched and acked. 901 // GFC after previous GFS is dispatched and acked.
884 process_->sink().ClearMessages(); 902 process_->sink().ClearMessages();
885 SimulateGestureEvent(0, -10, 0, WebInputEvent::GestureFlingStart); 903 SimulateGestureFlingStartEvent(0, -10);
886 EXPECT_TRUE(host_->FlingInProgress()); 904 EXPECT_TRUE(host_->FlingInProgress());
887 SendInputEventACK(WebInputEvent::GestureFlingStart, true); 905 SendInputEventACK(WebInputEvent::GestureFlingStart, true);
888 MessageLoop::current()->RunAllPending(); 906 MessageLoop::current()->RunAllPending();
889 SimulateGestureEvent(0, -10, 0, WebInputEvent::GestureFlingCancel); 907 SimulateGestureEvent(WebInputEvent::GestureFlingCancel);
890 EXPECT_FALSE(host_->FlingInProgress()); 908 EXPECT_FALSE(host_->FlingInProgress());
891 EXPECT_EQ(2U, process_->sink().message_count()); 909 EXPECT_EQ(2U, process_->sink().message_count());
892 SendInputEventACK(WebInputEvent::GestureFlingCancel, true); 910 SendInputEventACK(WebInputEvent::GestureFlingCancel, true);
893 MessageLoop::current()->RunAllPending(); 911 MessageLoop::current()->RunAllPending();
894 EXPECT_EQ(0U, host_->GestureEventLastQueueEventSize()); 912 EXPECT_EQ(0U, host_->GestureEventLastQueueEventSize());
895 913
896 // GFC before previous GFS is acked. 914 // GFC before previous GFS is acked.
897 process_->sink().ClearMessages(); 915 process_->sink().ClearMessages();
898 SimulateGestureEvent(0, -10, 0, WebInputEvent::GestureFlingStart); 916 SimulateGestureFlingStartEvent(0, -10);
899 EXPECT_TRUE(host_->FlingInProgress()); 917 EXPECT_TRUE(host_->FlingInProgress());
900 SimulateGestureEvent(0, -10, 0, WebInputEvent::GestureFlingCancel); 918 SimulateGestureEvent(WebInputEvent::GestureFlingCancel);
901 EXPECT_FALSE(host_->FlingInProgress()); 919 EXPECT_FALSE(host_->FlingInProgress());
902 EXPECT_EQ(1U, process_->sink().message_count()); 920 EXPECT_EQ(1U, process_->sink().message_count());
903 EXPECT_EQ(2U, host_->GestureEventLastQueueEventSize()); 921 EXPECT_EQ(2U, host_->GestureEventLastQueueEventSize());
904 922
905 // Advance state realistically. 923 // Advance state realistically.
906 SendInputEventACK(WebInputEvent::GestureFlingStart, true); 924 SendInputEventACK(WebInputEvent::GestureFlingStart, true);
907 MessageLoop::current()->RunAllPending(); 925 MessageLoop::current()->RunAllPending();
908 SendInputEventACK(WebInputEvent::GestureFlingCancel, true); 926 SendInputEventACK(WebInputEvent::GestureFlingCancel, true);
909 MessageLoop::current()->RunAllPending(); 927 MessageLoop::current()->RunAllPending();
910 EXPECT_EQ(0U, host_->GestureEventLastQueueEventSize()); 928 EXPECT_EQ(0U, host_->GestureEventLastQueueEventSize());
911 929
912 // GFS is added to the queue if another event is pending 930 // GFS is added to the queue if another event is pending
913 process_->sink().ClearMessages(); 931 process_->sink().ClearMessages();
914 SimulateGestureEvent(8, -7, 0, WebInputEvent::GestureScrollUpdate); 932 SimulateGestureScrollUpdateEvent(8, -7, 0);
915 SimulateGestureEvent(0, -10, 0, WebInputEvent::GestureFlingStart); 933 SimulateGestureFlingStartEvent(0, -10);
916 EXPECT_EQ(2U, host_->GestureEventLastQueueEventSize()); 934 EXPECT_EQ(2U, host_->GestureEventLastQueueEventSize());
917 EXPECT_EQ(1U, process_->sink().message_count()); 935 EXPECT_EQ(1U, process_->sink().message_count());
918 WebGestureEvent merged_event = host_->GestureEventLastQueueEvent(); 936 WebGestureEvent merged_event = host_->GestureEventLastQueueEvent();
919 EXPECT_EQ(WebInputEvent::GestureFlingStart, merged_event.type); 937 EXPECT_EQ(WebInputEvent::GestureFlingStart, merged_event.type);
920 EXPECT_TRUE(host_->FlingInProgress()); 938 EXPECT_TRUE(host_->FlingInProgress());
921 EXPECT_EQ(2U, host_->GestureEventLastQueueEventSize()); 939 EXPECT_EQ(2U, host_->GestureEventLastQueueEventSize());
922 940
923 // GFS in queue means that a GFC is added to the queue 941 // GFS in queue means that a GFC is added to the queue
924 SimulateGestureEvent(0, -10, 0, WebInputEvent::GestureFlingCancel); 942 SimulateGestureEvent(WebInputEvent::GestureFlingCancel);
925 merged_event =host_->GestureEventLastQueueEvent(); 943 merged_event =host_->GestureEventLastQueueEvent();
926 EXPECT_EQ(WebInputEvent::GestureFlingCancel, merged_event.type); 944 EXPECT_EQ(WebInputEvent::GestureFlingCancel, merged_event.type);
927 EXPECT_FALSE(host_->FlingInProgress()); 945 EXPECT_FALSE(host_->FlingInProgress());
928 EXPECT_EQ(3U, host_->GestureEventLastQueueEventSize()); 946 EXPECT_EQ(3U, host_->GestureEventLastQueueEventSize());
929 947
930 // Adding a second GFC is dropped. 948 // Adding a second GFC is dropped.
931 SimulateGestureEvent(0, -10, 0, WebInputEvent::GestureFlingCancel); 949 SimulateGestureEvent(WebInputEvent::GestureFlingCancel);
932 EXPECT_FALSE(host_->FlingInProgress()); 950 EXPECT_FALSE(host_->FlingInProgress());
933 EXPECT_EQ(3U, host_->GestureEventLastQueueEventSize()); 951 EXPECT_EQ(3U, host_->GestureEventLastQueueEventSize());
934 952
935 // Adding another GFS will add it to the queue. 953 // Adding another GFS will add it to the queue.
936 SimulateGestureEvent(0, -10, 0, WebInputEvent::GestureFlingStart); 954 SimulateGestureFlingStartEvent(0, -10);
937 merged_event = host_->GestureEventLastQueueEvent(); 955 merged_event = host_->GestureEventLastQueueEvent();
938 EXPECT_EQ(WebInputEvent::GestureFlingStart, merged_event.type); 956 EXPECT_EQ(WebInputEvent::GestureFlingStart, merged_event.type);
939 EXPECT_TRUE(host_->FlingInProgress()); 957 EXPECT_TRUE(host_->FlingInProgress());
940 EXPECT_EQ(4U, host_->GestureEventLastQueueEventSize()); 958 EXPECT_EQ(4U, host_->GestureEventLastQueueEventSize());
941 959
942 // GFS in queue means that a GFC is added to the queue 960 // GFS in queue means that a GFC is added to the queue
943 SimulateGestureEvent(0, -10, 0, WebInputEvent::GestureFlingCancel); 961 SimulateGestureEvent(WebInputEvent::GestureFlingCancel);
944 merged_event = host_->GestureEventLastQueueEvent(); 962 merged_event = host_->GestureEventLastQueueEvent();
945 EXPECT_EQ(WebInputEvent::GestureFlingCancel, merged_event.type); 963 EXPECT_EQ(WebInputEvent::GestureFlingCancel, merged_event.type);
946 EXPECT_FALSE(host_->FlingInProgress()); 964 EXPECT_FALSE(host_->FlingInProgress());
947 EXPECT_EQ(5U, host_->GestureEventLastQueueEventSize()); 965 EXPECT_EQ(5U, host_->GestureEventLastQueueEventSize());
948 966
949 // Adding another GFC with a GFC already there is dropped. 967 // Adding another GFC with a GFC already there is dropped.
950 SimulateGestureEvent(0, -10, 0, WebInputEvent::GestureFlingCancel); 968 SimulateGestureEvent(WebInputEvent::GestureFlingCancel);
951 merged_event = host_->GestureEventLastQueueEvent(); 969 merged_event = host_->GestureEventLastQueueEvent();
952 EXPECT_EQ(WebInputEvent::GestureFlingCancel, merged_event.type); 970 EXPECT_EQ(WebInputEvent::GestureFlingCancel, merged_event.type);
953 EXPECT_FALSE(host_->FlingInProgress()); 971 EXPECT_FALSE(host_->FlingInProgress());
954 EXPECT_EQ(5U, host_->GestureEventLastQueueEventSize()); 972 EXPECT_EQ(5U, host_->GestureEventLastQueueEventSize());
955 } 973 }
956 974
957 // Test that GestureTapDown events are deferred. 975 // Test that GestureTapDown events are deferred.
958 TEST_F(RenderWidgetHostTest, DeferredGestureTapDown) { 976 TEST_F(RenderWidgetHostTest, DeferredGestureTapDown) {
959 process_->sink().ClearMessages(); 977 process_->sink().ClearMessages();
960 978
961 // Set some sort of short deferral timeout 979 // Set some sort of short deferral timeout
962 host_->set_maximum_tap_gap_time_ms(5); 980 host_->set_maximum_tap_gap_time_ms(5);
963 981
964 SimulateGestureEvent(0, -10, 0, WebInputEvent::GestureTapDown); 982 SimulateGestureEvent(WebInputEvent::GestureTapDown);
965 EXPECT_EQ(0U, process_->sink().message_count()); 983 EXPECT_EQ(0U, process_->sink().message_count());
966 EXPECT_EQ(0U, host_->GestureEventLastQueueEventSize()); 984 EXPECT_EQ(0U, host_->GestureEventLastQueueEventSize());
967 985
968 // Wait long enough for first timeout and see if it fired. 986 // Wait long enough for first timeout and see if it fired.
969 MessageLoop::current()->PostDelayedTask( 987 MessageLoop::current()->PostDelayedTask(
970 FROM_HERE, MessageLoop::QuitClosure(), TimeDelta::FromMilliseconds(10)); 988 FROM_HERE, MessageLoop::QuitClosure(), TimeDelta::FromMilliseconds(10));
971 MessageLoop::current()->Run(); 989 MessageLoop::current()->Run();
972 990
973 EXPECT_EQ(1U, process_->sink().message_count()); 991 EXPECT_EQ(1U, process_->sink().message_count());
974 EXPECT_EQ(1U, host_->GestureEventLastQueueEventSize()); 992 EXPECT_EQ(1U, host_->GestureEventLastQueueEventSize());
975 } 993 }
976 994
977 // Test that GestureTapDown events are sent immediately on GestureTap. 995 // Test that GestureTapDown events are sent immediately on GestureTap.
978 TEST_F(RenderWidgetHostTest, DeferredGestureTapDownSentOnTap) { 996 TEST_F(RenderWidgetHostTest, DeferredGestureTapDownSentOnTap) {
979 process_->sink().ClearMessages(); 997 process_->sink().ClearMessages();
980 998
981 // Set some sort of short deferral timeout 999 // Set some sort of short deferral timeout
982 host_->set_maximum_tap_gap_time_ms(5); 1000 host_->set_maximum_tap_gap_time_ms(5);
983 1001
984 SimulateGestureEvent(0, -10, 0, WebInputEvent::GestureTapDown); 1002 SimulateGestureEvent(WebInputEvent::GestureTapDown);
985 EXPECT_EQ(0U, process_->sink().message_count()); 1003 EXPECT_EQ(0U, process_->sink().message_count());
986 EXPECT_EQ(0U, host_->GestureEventLastQueueEventSize()); 1004 EXPECT_EQ(0U, host_->GestureEventLastQueueEventSize());
987 1005
988 SimulateGestureEvent(0, -10, 0, WebInputEvent::GestureTap); 1006 SimulateGestureEvent(WebInputEvent::GestureTap);
989 EXPECT_EQ(1U, process_->sink().message_count()); 1007 EXPECT_EQ(1U, process_->sink().message_count());
990 EXPECT_EQ(2U, host_->GestureEventLastQueueEventSize()); 1008 EXPECT_EQ(2U, host_->GestureEventLastQueueEventSize());
991 1009
992 MessageLoop::current()->PostDelayedTask( 1010 MessageLoop::current()->PostDelayedTask(
993 FROM_HERE, MessageLoop::QuitClosure(), TimeDelta::FromMilliseconds(10)); 1011 FROM_HERE, MessageLoop::QuitClosure(), TimeDelta::FromMilliseconds(10));
994 MessageLoop::current()->Run(); 1012 MessageLoop::current()->Run();
995 1013
996 // If the deferral timer incorrectly fired, it sent an extra message. 1014 // If the deferral timer incorrectly fired, it sent an extra message.
997 EXPECT_EQ(1U, process_->sink().message_count()); 1015 EXPECT_EQ(1U, process_->sink().message_count());
998 } 1016 }
999 1017
1000 // Test that scroll events during the deferral internal drop the GestureTapDown. 1018 // Test that scroll events during the deferral internal drop the GestureTapDown.
1001 TEST_F(RenderWidgetHostTest, DeferredGestureTapDownAnulledOnScroll) { 1019 TEST_F(RenderWidgetHostTest, DeferredGestureTapDownAnulledOnScroll) {
1002 process_->sink().ClearMessages(); 1020 process_->sink().ClearMessages();
1003 1021
1004 // Set some sort of short deferral timeout 1022 // Set some sort of short deferral timeout
1005 host_->set_maximum_tap_gap_time_ms(5); 1023 host_->set_maximum_tap_gap_time_ms(5);
1006 1024
1007 SimulateGestureEvent(0, -10, 0, WebInputEvent::GestureTapDown); 1025 SimulateGestureEvent(WebInputEvent::GestureTapDown);
1008 EXPECT_EQ(0U, process_->sink().message_count()); 1026 EXPECT_EQ(0U, process_->sink().message_count());
1009 EXPECT_EQ(0U, host_->GestureEventLastQueueEventSize()); 1027 EXPECT_EQ(0U, host_->GestureEventLastQueueEventSize());
1010 1028
1011 SimulateGestureEvent(0, -10, 0, WebInputEvent::GestureScrollBegin); 1029 SimulateGestureEvent(WebInputEvent::GestureScrollBegin);
1012 EXPECT_EQ(1U, process_->sink().message_count()); 1030 EXPECT_EQ(1U, process_->sink().message_count());
1013 EXPECT_EQ(1U, host_->GestureEventLastQueueEventSize()); 1031 EXPECT_EQ(1U, host_->GestureEventLastQueueEventSize());
1014 1032
1015 MessageLoop::current()->PostDelayedTask( 1033 MessageLoop::current()->PostDelayedTask(
1016 FROM_HERE, MessageLoop::QuitClosure(), TimeDelta::FromMilliseconds(10)); 1034 FROM_HERE, MessageLoop::QuitClosure(), TimeDelta::FromMilliseconds(10));
1017 MessageLoop::current()->Run(); 1035 MessageLoop::current()->Run();
1018 1036
1019 // If the deferral timer incorrectly fired, it will send an extra message. 1037 // If the deferral timer incorrectly fired, it will send an extra message.
1020 EXPECT_EQ(1U, process_->sink().message_count()); 1038 EXPECT_EQ(1U, process_->sink().message_count());
1021 } 1039 }
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
1084 SimulateKeyboardEvent(WebInputEvent::RawKeyDown); 1102 SimulateKeyboardEvent(WebInputEvent::RawKeyDown);
1085 SimulateKeyboardEvent(WebInputEvent::RawKeyDown); 1103 SimulateKeyboardEvent(WebInputEvent::RawKeyDown);
1086 SendInputEventACK(WebInputEvent::RawKeyDown, true); 1104 SendInputEventACK(WebInputEvent::RawKeyDown, true);
1087 1105
1088 // Wait long enough for first timeout and see if it fired. 1106 // Wait long enough for first timeout and see if it fired.
1089 MessageLoop::current()->PostDelayedTask( 1107 MessageLoop::current()->PostDelayedTask(
1090 FROM_HERE, MessageLoop::QuitClosure(), TimeDelta::FromMilliseconds(40)); 1108 FROM_HERE, MessageLoop::QuitClosure(), TimeDelta::FromMilliseconds(40));
1091 MessageLoop::current()->Run(); 1109 MessageLoop::current()->Run();
1092 EXPECT_TRUE(host_->unresponsive_timer_fired()); 1110 EXPECT_TRUE(host_->unresponsive_timer_fired());
1093 } 1111 }
OLDNEW
« no previous file with comments | « content/browser/renderer_host/render_widget_host_impl.cc ('k') | content/browser/renderer_host/web_input_event_aurax11.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698