Index: content/renderer/render_view_impl.cc |
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc |
index e0ba3d9e38010195323d49d86d172f397d98901e..9be911f3b0638b7059e7251aeff044dec8e883f5 100644 |
--- a/content/renderer/render_view_impl.cc |
+++ b/content/renderer/render_view_impl.cc |
@@ -974,6 +974,7 @@ bool RenderViewImpl::OnMessageReceived(const IPC::Message& message) { |
IPC_MESSAGE_HANDLER(ViewMsg_ExtendSelectionAndDelete, |
OnExtendSelectionAndDelete) |
IPC_MESSAGE_HANDLER(ViewMsg_SelectRange, OnSelectRange) |
+ IPC_MESSAGE_HANDLER(ViewMsg_MoveCaret, OnMoveCaret) |
IPC_MESSAGE_HANDLER(ViewMsg_CopyImageAt, OnCopyImageAt) |
IPC_MESSAGE_HANDLER(ViewMsg_ExecuteEditCommand, OnExecuteEditCommand) |
IPC_MESSAGE_HANDLER(ViewMsg_Find, OnFind) |
@@ -1439,6 +1440,15 @@ void RenderViewImpl::OnSelectRange(const gfx::Point& start, |
handling_select_range_ = false; |
} |
+void RenderViewImpl::OnMoveCaret(const gfx::Point& point) { |
+ if (!webview()) |
+ return; |
+ |
+ Send(new ViewHostMsg_MoveCaret_ACK(routing_id_)); |
+ |
+ webview()->focusedFrame()->moveCaretSelectionTowardsWindowPoint(point); |
+} |
+ |
void RenderViewImpl::OnSetHistoryLengthAndPrune(int history_length, |
int32 minimum_page_id) { |
DCHECK_GE(history_length, 0); |