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

Unified Diff: content/browser/renderer_host/input/gesture_text_selector_unittest.cc

Issue 590483002: Check if Button is pressed for changing selection (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Check only for Secondary Button Created 6 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/renderer_host/input/gesture_text_selector_unittest.cc
diff --git a/content/browser/renderer_host/input/gesture_text_selector_unittest.cc b/content/browser/renderer_host/input/gesture_text_selector_unittest.cc
index 53042447f57e71464a6c9d9addf098b9794d3e57..8977c56ea949394ebc8945b0a7b2c967b6804a04 100644
--- a/content/browser/renderer_host/input/gesture_text_selector_unittest.cc
+++ b/content/browser/renderer_host/input/gesture_text_selector_unittest.cc
@@ -183,6 +183,76 @@ TEST_F(GestureTextSelectorTest, PenDragging) {
EXPECT_EQ(3u, event_log_.size()); // NO CHANGE
}
+TEST_F(GestureTextSelectorTest, PenDraggingButtonNotPressed) {
+ base::TimeTicks event_time = base::TimeTicks::Now();
+ const float x1 = 50.0f;
+ const float y1 = 30.0f;
+ const float x2 = 75.0f;
+ const float y2 = 60.0f;
+ const float x3 = 100.0f;
+ const float y3 = 90.0f;
+ // 1. ACTION_DOWN with stylus + button
+ event_time += base::TimeDelta::FromMilliseconds(10);
+ MockMotionEvent action_down(MotionEvent::ACTION_DOWN, event_time, x1, y1);
+ action_down.SetToolType(0, MotionEvent::TOOL_TYPE_STYLUS);
+ action_down.set_button_state(MotionEvent::BUTTON_SECONDARY);
+ EXPECT_TRUE(selector_->OnTouchEvent(action_down));
+ EXPECT_TRUE(event_log_.empty());
+
+ // 2. ACTION_MOVE
+ event_time += base::TimeDelta::FromMilliseconds(10);
+ MockMotionEvent action_move(MotionEvent::ACTION_MOVE, event_time, x2, y2);
+ action_move.SetToolType(0, MotionEvent::TOOL_TYPE_STYLUS);
+ action_move.set_button_state(MotionEvent::BUTTON_SECONDARY);
+ EXPECT_TRUE(selector_->OnTouchEvent(action_move));
+ EXPECT_TRUE(event_log_.empty());
+
+ // 3. ET_GESTURE_SCROLL_BEGIN
+ event_time += base::TimeDelta::FromMilliseconds(10);
+ const GestureEventData scroll_begin =
+ CreateGesture(ui::ET_GESTURE_SCROLL_BEGIN, event_time, x1, y1);
+ EXPECT_TRUE(selector_->OnGestureEvent(scroll_begin));
+ EXPECT_EQ(1u, event_log_.size()); // Unselect
+
+ // 4. ET_GESTURE_SCROLL_UPDATE
+ event_time += base::TimeDelta::FromMilliseconds(10);
+ const GestureEventData scroll_update =
+ CreateGesture(ui::ET_GESTURE_SCROLL_UPDATE, event_time, x2, y2);
+ EXPECT_TRUE(selector_->OnGestureEvent(scroll_update));
+ EXPECT_EQ(3u, event_log_.size()); // Unselect, Show, SelectRange
+ EXPECT_STREQ("SelectRange", event_log_.back().c_str());
+
+ // 5. ACTION_MOVE with stylus + no button
+ event_time += base::TimeDelta::FromMilliseconds(10);
+ action_move = MockMotionEvent(MotionEvent::ACTION_MOVE, event_time, x3, y3);
+ action_move.SetToolType(0, MotionEvent::TOOL_TYPE_STYLUS);
+ action_move.set_button_state(0);
+ EXPECT_TRUE(selector_->OnTouchEvent(action_move));
+ EXPECT_EQ(3u, event_log_.size()); // NO CHANGE
+
+ // 7. ET_GESTURE_SCROLL_UPDATE without button
+ event_time += base::TimeDelta::FromMilliseconds(10);
+ const GestureEventData second_scroll_update =
+ CreateGesture(ui::ET_GESTURE_SCROLL_UPDATE, event_time, x3, y3);
+ EXPECT_TRUE(selector_->OnGestureEvent(scroll_update));
+ EXPECT_EQ(3u, event_log_.size()); // NO CHANGE
jdduke (slow) 2014/09/23 15:10:48 What if they press the button again?
+
+ // 8. ACTION_UP
+ event_time += base::TimeDelta::FromMilliseconds(10);
+ MockMotionEvent action_up(MotionEvent::ACTION_UP, event_time, x3, y3);
+ action_up.SetToolType(0, MotionEvent::TOOL_TYPE_STYLUS);
+ action_up.set_button_state(0);
+ EXPECT_TRUE(selector_->OnTouchEvent(action_up));
+ EXPECT_EQ(3u, event_log_.size()); // NO CHANGE
+
+ // 9. ET_GESTURE_SCROLL_END
+ event_time += base::TimeDelta::FromMilliseconds(10);
+ const GestureEventData scroll_end =
+ CreateGesture(ui::ET_GESTURE_SCROLL_END, event_time, x3, y3);
+ EXPECT_TRUE(selector_->OnGestureEvent(scroll_end));
+ EXPECT_EQ(3u, event_log_.size()); // NO CHANGE
+}
+
TEST_F(GestureTextSelectorTest, TapToSelectWord) {
base::TimeTicks event_time = base::TimeTicks::Now();
const float x1 = 50.0f;

Powered by Google App Engine
This is Rietveld 408576698