Index: content/browser/renderer_host/input/touch_selection_controller.cc |
diff --git a/content/browser/renderer_host/input/touch_selection_controller.cc b/content/browser/renderer_host/input/touch_selection_controller.cc |
index e904e283ee0716401cea8556353b8eba048032d1..7354703bacc6ceb78c430e46653f132b62dbea3a 100644 |
--- a/content/browser/renderer_host/input/touch_selection_controller.cc |
+++ b/content/browser/renderer_host/input/touch_selection_controller.cc |
@@ -46,7 +46,7 @@ TouchSelectionController::TouchSelectionController( |
selection_editable_(false), |
temporarily_hidden_(false) { |
DCHECK(client_); |
- HideAndDisallowShowingAutomatically(); |
+ HideAndDisallowShowingAutomatically(); // XXX: needed? |
} |
TouchSelectionController::~TouchSelectionController() { |
@@ -203,6 +203,15 @@ bool TouchSelectionController::Animate(base::TimeTicks frame_time) { |
return false; |
} |
+void TouchSelectionController::ActivateSelection( |
+ const cc::ViewportSelectionBound& start, |
+ const cc::ViewportSelectionBound& end) { |
+ if (start.edge_bottom != end.edge_bottom) { |
+ ShowSelectionHandlesAutomatically(); |
+ OnSelectionBoundsChanged(start, end); |
+ } |
+} |
+ |
void TouchSelectionController::OnHandleDragBegin(const TouchHandle& handle) { |
if (&handle == insertion_handle_.get()) { |
client_->OnSelectionEvent(INSERTION_DRAG_STARTED, handle.position()); |
@@ -300,7 +309,7 @@ void TouchSelectionController::OnInsertionChanged() { |
void TouchSelectionController::OnSelectionChanged() { |
DeactivateInsertion(); |
- if (!activate_selection_automatically_) |
+ if (!activate_selection_automatically_) // XXX: needed? |
return; |
const bool was_active = is_selection_active_; |