Index: chrome/browser/renderer_host/render_widget_host_view_views.cc |
diff --git a/chrome/browser/renderer_host/render_widget_host_view_views.cc b/chrome/browser/renderer_host/render_widget_host_view_views.cc |
index 6178cbf711b66dc08ef16331e394673531e4a129..d5040688c6ac4d44617162ea9105d0f6faa853e0 100644 |
--- a/chrome/browser/renderer_host/render_widget_host_view_views.cc |
+++ b/chrome/browser/renderer_host/render_widget_host_view_views.cc |
@@ -149,6 +149,11 @@ void RenderWidgetHostViewViews::DidBecomeSelected() { |
is_hidden_ = false; |
if (host_) |
host_->WasRestored(); |
+ |
+ if (touch_selection_controller_.get()) { |
+ touch_selection_controller_->SelectionChanged(selection_start_, |
+ selection_end_); |
+ } |
} |
void RenderWidgetHostViewViews::WasHidden() { |
@@ -164,6 +169,9 @@ void RenderWidgetHostViewViews::WasHidden() { |
// reduce its resource utilization. |
if (host_) |
host_->WasHidden(); |
+ |
+ if (touch_selection_controller_.get()) |
+ touch_selection_controller_->ClientViewLostFocus(); |
} |
void RenderWidgetHostViewViews::SetSize(const gfx::Size& size) { |
@@ -330,6 +338,8 @@ void RenderWidgetHostViewViews::SelectionChanged(const std::string& text, |
const gfx::Point& end) { |
// TODO(anicolao): deal with the clipboard without GTK |
NOTIMPLEMENTED(); |
+ selection_start_ = start; |
+ selection_end_ = end; |
if (touch_selection_controller_.get()) |
touch_selection_controller_->SelectionChanged(start, end); |
} |