Index: content/renderer/render_frame_impl.cc |
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc |
index a667a599dfde75a133593dc62e50a5e355ace9f4..aed279e0a93170858190c862dd293d8ab3aa7b5c 100644 |
--- a/content/renderer/render_frame_impl.cc |
+++ b/content/renderer/render_frame_impl.cc |
@@ -705,10 +705,12 @@ bool RenderFrameImpl::OnMessageReceived(const IPC::Message& msg) { |
OnSetCompositionFromExistingText) |
IPC_MESSAGE_HANDLER(FrameMsg_ExtendSelectionAndDelete, |
OnExtendSelectionAndDelete) |
+ IPC_MESSAGE_HANDLER(FrameMsg_Reload, OnReload) |
+ IPC_MESSAGE_HANDLER(FrameMsg_TextSurroundingSelectionRequest, |
+ OnTextSurroundingSelectionRequest) |
#if defined(OS_MACOSX) |
IPC_MESSAGE_HANDLER(InputMsg_CopyToFindPboard, OnCopyToFindPboard) |
#endif |
- IPC_MESSAGE_HANDLER(FrameMsg_Reload, OnReload) |
IPC_END_MESSAGE_MAP() |
return handled; |
@@ -1187,11 +1189,19 @@ void RenderFrameImpl::OnExtendSelectionAndDelete(int before, int after) { |
frame_->extendSelectionAndDelete(before, after); |
} |
- |
void RenderFrameImpl::OnReload(bool ignore_cache) { |
frame_->reload(ignore_cache); |
} |
+void RenderFrameImpl::OnTextSurroundingSelectionRequest(unsigned max_length) { |
+ unsigned start_offset, end_offset; |
+ base::string16 content = |
+ frame_->textSurroundingSelection(max_length, &start_offset, &end_offset); |
+ |
+ Send(new FrameHostMsg_TextSurroundingSelectionResponse( |
+ routing_id_, content, start_offset, end_offset)); |
+} |
+ |
bool RenderFrameImpl::ShouldUpdateSelectionTextFromContextMenuParams( |
const base::string16& selection_text, |
size_t selection_text_offset, |