Index: content/browser/renderer_host/input/tap_suppression_controller_unittest.cc |
diff --git a/content/browser/renderer_host/input/tap_suppression_controller_unittest.cc b/content/browser/renderer_host/input/tap_suppression_controller_unittest.cc |
index 29e4b54f0226b32ebde5e8b9d2dccc5d4308b6d1..d436f45a4a5fe4cbc8047f4155d946d5d8b4818f 100644 |
--- a/content/browser/renderer_host/input/tap_suppression_controller_unittest.cc |
+++ b/content/browser/renderer_host/input/tap_suppression_controller_unittest.cc |
@@ -15,7 +15,6 @@ |
class MockTapSuppressionController : public TapSuppressionController, |
public TapSuppressionControllerClient { |
public: |
- using TapSuppressionController::DISABLED; |
using TapSuppressionController::NOTHING; |
using TapSuppressionController::GFC_IN_PROGRESS; |
using TapSuppressionController::TAP_DOWN_STASHED; |
@@ -33,8 +32,10 @@ |
STASHED_TAP_DOWN_FORWARDED = 1 << 7, |
}; |
- MockTapSuppressionController(const TapSuppressionController::Config& config) |
- : TapSuppressionController(this, config), |
+ MockTapSuppressionController() |
+ : TapSuppressionController(this), |
+ max_cancel_to_down_time_in_ms_(1), |
+ max_tap_gap_time_in_ms_(1), |
last_actions_(NONE), |
time_(), |
timer_started_(false) { |
@@ -85,6 +86,14 @@ |
} |
} |
+ void set_max_cancel_to_down_time_in_ms(int val) { |
+ max_cancel_to_down_time_in_ms_ = val; |
+ } |
+ |
+ void set_max_tap_gap_time_in_ms(int val) { |
+ max_tap_gap_time_in_ms_ = val; |
+ } |
+ |
State state() { return state_; } |
int last_actions() { return last_actions_; } |
@@ -105,6 +114,14 @@ |
private: |
// TapSuppressionControllerClient implementation |
+ virtual int MaxCancelToDownTimeInMs() OVERRIDE { |
+ return max_cancel_to_down_time_in_ms_; |
+ } |
+ |
+ virtual int MaxTapGapTimeInMs() OVERRIDE { |
+ return max_tap_gap_time_in_ms_; |
+ } |
+ |
virtual void DropStashedTapDown() OVERRIDE { |
last_actions_ |= TAP_DOWN_DROPPED; |
} |
@@ -119,6 +136,9 @@ |
using TapSuppressionController::ShouldDeferTapDown; |
using TapSuppressionController::ShouldSuppressTapEnd; |
+ int max_cancel_to_down_time_in_ms_; |
+ int max_tap_gap_time_in_ms_; |
+ |
int last_actions_; |
base::TimeTicks time_; |
@@ -138,20 +158,11 @@ |
protected: |
// testing::Test |
virtual void SetUp() { |
- tap_suppression_controller_.reset( |
- new MockTapSuppressionController(GetConfig())); |
+ tap_suppression_controller_.reset(new MockTapSuppressionController()); |
} |
virtual void TearDown() { |
tap_suppression_controller_.reset(); |
- } |
- |
- static TapSuppressionController::Config GetConfig() { |
- TapSuppressionController::Config config; |
- config.enabled = true; |
- config.max_cancel_to_down_time = base::TimeDelta::FromMilliseconds(10); |
- config.max_tap_gap_time = base::TimeDelta::FromMilliseconds(10); |
- return config; |
} |
scoped_ptr<MockTapSuppressionController> tap_suppression_controller_; |
@@ -160,6 +171,9 @@ |
// Test TapSuppressionController for when GestureFlingCancel Ack comes before |
// TapDown and everything happens without any delays. |
TEST_F(TapSuppressionControllerTest, GFCAckBeforeTapFast) { |
+ tap_suppression_controller_->set_max_cancel_to_down_time_in_ms(10); |
+ tap_suppression_controller_->set_max_tap_gap_time_in_ms(10); |
+ |
// Send GestureFlingCancel. |
tap_suppression_controller_->SendGestureFlingCancel(); |
EXPECT_EQ(MockTapSuppressionController::NONE, |
@@ -193,6 +207,9 @@ |
// Test TapSuppressionController for when GestureFlingCancel Ack comes before |
// TapDown, but there is a small delay between TapDown and TapUp. |
TEST_F(TapSuppressionControllerTest, GFCAckBeforeTapInsufficientlyLateTapUp) { |
+ tap_suppression_controller_->set_max_cancel_to_down_time_in_ms(10); |
+ tap_suppression_controller_->set_max_tap_gap_time_in_ms(10); |
+ |
// Send GestureFlingCancel. |
tap_suppression_controller_->SendGestureFlingCancel(); |
EXPECT_EQ(MockTapSuppressionController::NONE, |
@@ -234,6 +251,9 @@ |
// Test TapSuppressionController for when GestureFlingCancel Ack comes before |
// TapDown, but there is a long delay between TapDown and TapUp. |
TEST_F(TapSuppressionControllerTest, GFCAckBeforeTapSufficientlyLateTapUp) { |
+ tap_suppression_controller_->set_max_cancel_to_down_time_in_ms(10); |
+ tap_suppression_controller_->set_max_tap_gap_time_in_ms(10); |
+ |
// Send GestureFlingCancel. |
tap_suppression_controller_->SendGestureFlingCancel(); |
EXPECT_EQ(MockTapSuppressionController::NONE, |
@@ -274,6 +294,9 @@ |
// Test TapSuppressionController for when GestureFlingCancel Ack comes before |
// TapDown, but there is a small delay between the Ack and TapDown. |
TEST_F(TapSuppressionControllerTest, GFCAckBeforeTapInsufficientlyLateTapDown) { |
+ tap_suppression_controller_->set_max_cancel_to_down_time_in_ms(10); |
+ tap_suppression_controller_->set_max_tap_gap_time_in_ms(10); |
+ |
// Send GestureFlingCancel. |
tap_suppression_controller_->SendGestureFlingCancel(); |
EXPECT_EQ(MockTapSuppressionController::NONE, |
@@ -315,6 +338,9 @@ |
// Test TapSuppressionController for when GestureFlingCancel Ack comes before |
// TapDown, but there is a long delay between the Ack and TapDown. |
TEST_F(TapSuppressionControllerTest, GFCAckBeforeTapSufficientlyLateTapDown) { |
+ tap_suppression_controller_->set_max_cancel_to_down_time_in_ms(10); |
+ tap_suppression_controller_->set_max_tap_gap_time_in_ms(10); |
+ |
// Send GestureFlingCancel. |
tap_suppression_controller_->SendGestureFlingCancel(); |
EXPECT_EQ(MockTapSuppressionController::NONE, |
@@ -355,6 +381,9 @@ |
// Test TapSuppressionController for when unprocessed GestureFlingCancel Ack |
// comes after TapDown and everything happens without any delay. |
TEST_F(TapSuppressionControllerTest, GFCAckUnprocessedAfterTapFast) { |
+ tap_suppression_controller_->set_max_cancel_to_down_time_in_ms(10); |
+ tap_suppression_controller_->set_max_tap_gap_time_in_ms(10); |
+ |
// Send GestureFlingCancel. |
tap_suppression_controller_->SendGestureFlingCancel(); |
EXPECT_EQ(MockTapSuppressionController::NONE, |
@@ -388,6 +417,9 @@ |
// Test TapSuppressionController for when processed GestureFlingCancel Ack comes |
// after TapDown and everything happens without any delay. |
TEST_F(TapSuppressionControllerTest, GFCAckProcessedAfterTapFast) { |
+ tap_suppression_controller_->set_max_cancel_to_down_time_in_ms(10); |
+ tap_suppression_controller_->set_max_tap_gap_time_in_ms(10); |
+ |
// Send GestureFlingCancel. |
tap_suppression_controller_->SendGestureFlingCancel(); |
EXPECT_EQ(MockTapSuppressionController::NONE, |
@@ -421,6 +453,9 @@ |
// Test TapSuppressionController for when GestureFlingCancel Ack comes after |
// TapDown and there is a small delay between the Ack and TapUp. |
TEST_F(TapSuppressionControllerTest, GFCAckAfterTapInsufficientlyLateTapUp) { |
+ tap_suppression_controller_->set_max_cancel_to_down_time_in_ms(10); |
+ tap_suppression_controller_->set_max_tap_gap_time_in_ms(10); |
+ |
// Send GestureFlingCancel. |
tap_suppression_controller_->SendGestureFlingCancel(); |
EXPECT_EQ(MockTapSuppressionController::NONE, |
@@ -462,6 +497,9 @@ |
// Test TapSuppressionController for when GestureFlingCancel Ack comes after |
// TapDown and there is a long delay between the Ack and TapUp. |
TEST_F(TapSuppressionControllerTest, GFCAckAfterTapSufficientlyLateTapUp) { |
+ tap_suppression_controller_->set_max_cancel_to_down_time_in_ms(10); |
+ tap_suppression_controller_->set_max_tap_gap_time_in_ms(10); |
+ |
// Send GestureFlingCancel. |
tap_suppression_controller_->SendGestureFlingCancel(); |
EXPECT_EQ(MockTapSuppressionController::NONE, |
@@ -499,41 +537,4 @@ |
tap_suppression_controller_->state()); |
} |
-// Test that no suppression occurs if the TapSuppressionController is disabled. |
-TEST_F(TapSuppressionControllerTest, NoSuppressionIfDisabled) { |
- TapSuppressionController::Config disabled_config; |
- disabled_config.enabled = false; |
- tap_suppression_controller_.reset( |
- new MockTapSuppressionController(disabled_config)); |
- |
- // Send GestureFlingCancel. |
- tap_suppression_controller_->SendGestureFlingCancel(); |
- EXPECT_EQ(MockTapSuppressionController::NONE, |
- tap_suppression_controller_->last_actions()); |
- EXPECT_EQ(MockTapSuppressionController::DISABLED, |
- tap_suppression_controller_->state()); |
- |
- // Send GestureFlingCancel Ack. |
- tap_suppression_controller_->SendGestureFlingCancelAck(true); |
- EXPECT_EQ(MockTapSuppressionController::NONE, |
- tap_suppression_controller_->last_actions()); |
- EXPECT_EQ(MockTapSuppressionController::DISABLED, |
- tap_suppression_controller_->state()); |
- |
- // Send TapDown. This TapDown should not be suppressed. |
- tap_suppression_controller_->SendTapDown(); |
- EXPECT_EQ(MockTapSuppressionController::TAP_DOWN_FORWARDED, |
- tap_suppression_controller_->last_actions()); |
- EXPECT_EQ(MockTapSuppressionController::DISABLED, |
- tap_suppression_controller_->state()); |
- |
- // Send TapUp. This TapUp should not be suppressed. |
- tap_suppression_controller_->SendTapUp(); |
- EXPECT_EQ(MockTapSuppressionController::TAP_UP_FORWARDED, |
- tap_suppression_controller_->last_actions()); |
- EXPECT_EQ(MockTapSuppressionController::DISABLED, |
- tap_suppression_controller_->state()); |
-} |
- |
- |
} // namespace content |