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

Side by Side Diff: content/browser/renderer_host/input/input_router_impl_unittest.cc

Issue 84653006: Make tap gesture ignore its ack disposition. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove unused method. Created 6 years, 11 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/command_line.h" 6 #include "base/command_line.h"
7 #include "base/memory/scoped_ptr.h" 7 #include "base/memory/scoped_ptr.h"
8 #include "base/strings/utf_string_conversions.h" 8 #include "base/strings/utf_string_conversions.h"
9 #include "content/browser/renderer_host/input/gesture_event_filter.h" 9 #include "content/browser/renderer_host/input/gesture_event_filter.h"
10 #include "content/browser/renderer_host/input/input_router_client.h" 10 #include "content/browser/renderer_host/input/input_router_client.h"
(...skipping 862 matching lines...) Expand 10 before | Expand all | Expand 10 after
873 SendInputEventACK(WebInputEvent::GestureTapCancel, 873 SendInputEventACK(WebInputEvent::GestureTapCancel,
874 INPUT_EVENT_ACK_STATE_NOT_CONSUMED); 874 INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
875 EXPECT_EQ(0U, GetSentMessageCountAndResetSink()); 875 EXPECT_EQ(0U, GetSentMessageCountAndResetSink());
876 EXPECT_EQ(0U, ack_handler_->GetAndResetAckCount()); 876 EXPECT_EQ(0U, ack_handler_->GetAndResetAckCount());
877 EXPECT_EQ(0, client_->in_flight_event_count()); 877 EXPECT_EQ(0, client_->in_flight_event_count());
878 } 878 }
879 879
880 // Test that GestureShowPress events don't get out of order due to 880 // Test that GestureShowPress events don't get out of order due to
881 // ignoring their acks. 881 // ignoring their acks.
882 TEST_F(InputRouterImplTest, GestureShowPressIsInOrder) { 882 TEST_F(InputRouterImplTest, GestureShowPressIsInOrder) {
883 SimulateGestureEvent(WebInputEvent::GestureTap, 883 // GesturePinchBegin ignores its ack.
884 SimulateGestureEvent(WebInputEvent::GesturePinchBegin,
884 WebGestureEvent::Touchscreen); 885 WebGestureEvent::Touchscreen);
886 EXPECT_EQ(1U, GetSentMessageCountAndResetSink());
887 EXPECT_EQ(1U, ack_handler_->GetAndResetAckCount());
885 888
889 // GesturePinchBegin waits for an ack.
890 SimulateGestureEvent(WebInputEvent::GesturePinchUpdate,
891 WebGestureEvent::Touchscreen);
886 EXPECT_EQ(1U, GetSentMessageCountAndResetSink()); 892 EXPECT_EQ(1U, GetSentMessageCountAndResetSink());
887 EXPECT_EQ(0U, ack_handler_->GetAndResetAckCount()); 893 EXPECT_EQ(0U, ack_handler_->GetAndResetAckCount());
888 894
889 SimulateGestureEvent(WebInputEvent::GestureShowPress, 895 SimulateGestureEvent(WebInputEvent::GestureShowPress,
890 WebGestureEvent::Touchscreen); 896 WebGestureEvent::Touchscreen);
891
892 EXPECT_EQ(0U, GetSentMessageCountAndResetSink()); 897 EXPECT_EQ(0U, GetSentMessageCountAndResetSink());
893 // The ShowPress, though it ignores ack, is still stuck in the queue 898 // The ShowPress, though it ignores ack, is still stuck in the queue
894 // behind the Tap which requires an ack. 899 // behind the PinchUpdate which requires an ack.
895 EXPECT_EQ(0U, ack_handler_->GetAndResetAckCount()); 900 EXPECT_EQ(0U, ack_handler_->GetAndResetAckCount());
896 901
897 SimulateGestureEvent(WebInputEvent::GestureShowPress, 902 SimulateGestureEvent(WebInputEvent::GestureShowPress,
898 WebGestureEvent::Touchscreen); 903 WebGestureEvent::Touchscreen);
899
900 EXPECT_EQ(0U, GetSentMessageCountAndResetSink()); 904 EXPECT_EQ(0U, GetSentMessageCountAndResetSink());
901 // ShowPress has entered the queue. 905 // ShowPress has entered the queue.
902 EXPECT_EQ(0U, ack_handler_->GetAndResetAckCount()); 906 EXPECT_EQ(0U, ack_handler_->GetAndResetAckCount());
903 907
904 SendInputEventACK(WebInputEvent::GestureTap, 908 // This ack is ignored.
909 SendInputEventACK(WebInputEvent::GesturePinchBegin,
905 INPUT_EVENT_ACK_STATE_NOT_CONSUMED); 910 INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
911 EXPECT_EQ(0U, GetSentMessageCountAndResetSink());
912 EXPECT_EQ(0U, ack_handler_->GetAndResetAckCount());
906 913
914 SendInputEventACK(WebInputEvent::GesturePinchUpdate,
915 INPUT_EVENT_ACK_STATE_NOT_CONSUMED);
907 // Now that the Tap has been ACKed, the ShowPress events should receive 916 // Now that the Tap has been ACKed, the ShowPress events should receive
908 // synthetics acks, and fire immediately. 917 // synthetic acks, and fire immediately.
909 EXPECT_EQ(2U, GetSentMessageCountAndResetSink()); 918 EXPECT_EQ(2U, GetSentMessageCountAndResetSink());
910 EXPECT_EQ(3U, ack_handler_->GetAndResetAckCount()); 919 EXPECT_EQ(3U, ack_handler_->GetAndResetAckCount());
911 } 920 }
912 921
913 // Test that touch ack timeout behavior is properly configured via the command 922 // Test that touch ack timeout behavior is properly configured via the command
914 // line, and toggled by the view update flags. 923 // line, and toggled by the view update flags.
915 TEST_F(InputRouterImplTest, TouchAckTimeoutConfigured) { 924 TEST_F(InputRouterImplTest, TouchAckTimeoutConfigured) {
916 CommandLine::ForCurrentProcess()->AppendSwitchASCII( 925 CommandLine::ForCurrentProcess()->AppendSwitchASCII(
917 switches::kTouchAckTimeoutDelayMs, "5"); 926 switches::kTouchAckTimeoutDelayMs, "5");
918 TearDown(); 927 TearDown();
(...skipping 12 matching lines...) Expand all
931 940
932 input_router()->OnViewUpdated(InputRouter::MOBILE_VIEWPORT | 941 input_router()->OnViewUpdated(InputRouter::MOBILE_VIEWPORT |
933 InputRouter::FIXED_PAGE_SCALE); 942 InputRouter::FIXED_PAGE_SCALE);
934 EXPECT_FALSE(TouchEventTimeoutEnabled()); 943 EXPECT_FALSE(TouchEventTimeoutEnabled());
935 944
936 input_router()->OnViewUpdated(InputRouter::VIEW_FLAGS_NONE); 945 input_router()->OnViewUpdated(InputRouter::VIEW_FLAGS_NONE);
937 EXPECT_TRUE(TouchEventTimeoutEnabled()); 946 EXPECT_TRUE(TouchEventTimeoutEnabled());
938 } 947 }
939 948
940 } // namespace content 949 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698