Index: content/renderer/render_view_impl.cc |
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc |
index 068bf28d047c5b6ebee6bc7e0807488c4e823ae1..4ddc86b4ca103206c74f69ee54c89559e181e5e3 100644 |
--- a/content/renderer/render_view_impl.cc |
+++ b/content/renderer/render_view_impl.cc |
@@ -954,6 +954,14 @@ bool RenderViewImpl::OnMessageReceived(const IPC::Message& message) { |
IPC_MESSAGE_HANDLER(ViewMsg_Replace, OnReplace) |
IPC_MESSAGE_HANDLER(ViewMsg_Delete, OnDelete) |
IPC_MESSAGE_HANDLER(ViewMsg_SelectAll, OnSelectAll) |
+ IPC_MESSAGE_HANDLER(ViewMsg_ReplaceAll, OnReplaceAll) |
+ IPC_MESSAGE_HANDLER(ViewMsg_Unselect, OnUnselect) |
+ IPC_MESSAGE_HANDLER(ViewMsg_SetEditableSelectionOffsets, |
+ OnSetEditableSelectionOffsets) |
+ IPC_MESSAGE_HANDLER(ViewMsg_SetCompositionFromExistingText, |
+ OnSetCompositionFromExistingText) |
+ IPC_MESSAGE_HANDLER(ViewMsg_ExtendSelectionAndDelete, |
+ OnExtendSelectionAndDelete) |
IPC_MESSAGE_HANDLER(ViewMsg_SelectRange, OnSelectRange) |
IPC_MESSAGE_HANDLER(ViewMsg_CopyImageAt, OnCopyImageAt) |
IPC_MESSAGE_HANDLER(ViewMsg_ExecuteEditCommand, OnExecuteEditCommand) |
@@ -1378,6 +1386,40 @@ void RenderViewImpl::OnSelectAll() { |
WebString::fromUTF8("SelectAll")); |
} |
+void RenderViewImpl::OnReplaceAll(const string16& text) { |
+ WebNode node = GetFocusedNode(); |
+ if (node.isNull() || !IsEditableNode(node)) |
+ return; |
+ |
+ OnSelectAll(); |
+ OnReplace(text); |
+} |
+ |
+void RenderViewImpl::OnUnselect() { |
+ if (!webview()) |
+ return; |
+ |
+ webview()->focusedFrame()->executeCommand(WebString::fromUTF8("Unselect")); |
+} |
+ |
+void RenderViewImpl::OnSetEditableSelectionOffsets(int start, int end) { |
+ webview()->setEditableSelectionOffsets(start, end); |
+} |
+ |
+void RenderViewImpl::OnSetCompositionFromExistingText( |
+ int start, int end, |
+ const std::vector<WebKit::WebCompositionUnderline>& underlines) { |
+ if (!webview()) |
+ return; |
+ webview()->setCompositionFromExistingText(start, end, underlines); |
+} |
+ |
+void RenderViewImpl::OnExtendSelectionAndDelete(int before, int after) { |
+ if (!webview()) |
+ return; |
+ webview()->extendSelectionAndDelete(before, after); |
+} |
+ |
void RenderViewImpl::OnSelectRange(const gfx::Point& start, |
const gfx::Point& end) { |
if (!webview()) |