Index: content/renderer/render_view_impl.cc |
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc |
index ce8cb51b2de58f8d9bc45791875d416db8f9d79b..dfec98c6761b9686c8d9940eebd46a6eedcfdc2a 100644 |
--- a/content/renderer/render_view_impl.cc |
+++ b/content/renderer/render_view_impl.cc |
@@ -740,6 +740,9 @@ void RenderViewImpl::Initialize(RenderViewImplParams* params) { |
if (command_line.HasSwitch(switches::kEnableTouchDragDrop)) |
webview()->settings()->setTouchDragDropEnabled(true); |
+ if (command_line.HasSwitch(switches::kEnableTouchEditing)) |
+ webview()->settings()->setTouchEditingEnabled(true); |
+ |
if (!params->frame_name.empty()) |
webview()->mainFrame()->setName(params->frame_name); |
webview()->settings()->setMinimumTimerInterval( |
@@ -2188,6 +2191,11 @@ void RenderViewImpl::didExecuteCommand(const WebString& command_name) { |
RenderThreadImpl::current()->RecordUserMetrics(name); |
} |
+void RenderViewImpl::didChangeTouchEditingHandleVisibility(bool visible) { |
+ Send(new ViewHostMsg_TouchEditingHandlesVisibilityChanged( |
+ routing_id(), visible)); |
+} |
+ |
bool RenderViewImpl::handleCurrentKeyboardEvent() { |
if (edit_commands_.empty()) |
return false; |
@@ -4784,6 +4792,7 @@ void RenderViewImpl::SyncSelectionIfRequired() { |
if (selection_text_offset_ != offset || |
selection_range_ != range || |
selection_text_ != text) { |
+ webview()->updateTouchEditing(); |
selection_text_ = text; |
selection_text_offset_ = offset; |
selection_range_ = range; |