Index: content/browser/renderer_host/input/gesture_text_selector.cc |
diff --git a/content/browser/renderer_host/input/gesture_text_selector.cc b/content/browser/renderer_host/input/gesture_text_selector.cc |
index 59f28cf3245f0288b397ddb2a47117f88531086d..6387c1bbec096f0710272f0130cfb430ed291ea6 100644 |
--- a/content/browser/renderer_host/input/gesture_text_selector.cc |
+++ b/content/browser/renderer_host/input/gesture_text_selector.cc |
@@ -13,6 +13,7 @@ namespace content { |
GestureTextSelector::GestureTextSelector(GestureTextSelectorClient* client) |
: client_(client), |
text_selection_triggered_(false), |
+ secondary_button_pressed_(false), |
anchor_x_(0.0f), |
anchor_y_(0.0f) { |
} |
@@ -26,6 +27,11 @@ bool GestureTextSelector::OnTouchEvent(const ui::MotionEvent& event) { |
// sequences from being forwarded. |
text_selection_triggered_ = ShouldStartTextSelection(event); |
} |
+ if (text_selection_triggered_ && |
+ event.GetAction() == ui::MotionEvent::ACTION_MOVE) { |
+ secondary_button_pressed_ = |
+ event.GetButtonState() == ui::MotionEvent::BUTTON_SECONDARY; |
+ } |
return text_selection_triggered_; |
} |
@@ -48,8 +54,10 @@ bool GestureTextSelector::OnGestureEvent(const ui::GestureEventData& gesture) { |
// TODO(changwan): check if we can show handles on ET_GESTURE_SCROLL_END |
// instead. Currently it is not possible as ShowSelectionHandles should |
// be called before we change the selection. |
- client_->ShowSelectionHandlesAutomatically(); |
- client_->SelectRange(anchor_x_, anchor_y_, gesture.x, gesture.y); |
+ if (secondary_button_pressed_) { |
jdduke (slow)
2014/09/23 15:10:48
So, what happens when the user repeatedly presses/
AviD
2014/09/23 16:01:04
Yes, you are right. Triggering a new selection in
|
+ client_->ShowSelectionHandlesAutomatically(); |
+ client_->SelectRange(anchor_x_, anchor_y_, gesture.x, gesture.y); |
+ } |
break; |
} |
default: |