Chromium Code Reviews| Index: content/renderer/render_view_impl.cc |
| diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc |
| index 154c0cb394b79dffdb49ebec54066ddb1cfd9ce1..f33765a2ffa9735fa886673bf45d9af59741472e 100644 |
| --- a/content/renderer/render_view_impl.cc |
| +++ b/content/renderer/render_view_impl.cc |
| @@ -1016,6 +1016,16 @@ void RenderViewImpl::PluginFocusChanged(bool focused, int plugin_id) { |
| Send(new ViewHostMsg_PluginFocusChanged(routing_id(), focused, plugin_id)); |
| } |
| +void RenderViewImpl::OnGetRenderedText() { |
| + if (!webview()) |
| + return; |
| + // Get rendered text from WebLocalFrame. |
| + std::string text = webview()->mainFrame()->contentAsText( |
| + std::numeric_limits<size_t>::max()).utf8(); |
|
jamesr
2014/07/01 01:33:29
this could be gigantic and there's a fairly small
sarka
2014/07/01 02:03:10
Apparently I haven't tested with lots of text. I w
|
| + |
| + Send(new ViewMsg_GetRenderedTextCompleted(routing_id(), text)); |
| +} |
| + |
| void RenderViewImpl::StartPluginIme() { |
| IPC::Message* msg = new ViewHostMsg_StartPluginIme(routing_id()); |
| // This message can be sent during event-handling, and needs to be delivered |
| @@ -1128,6 +1138,8 @@ bool RenderViewImpl::OnMessageReceived(const IPC::Message& message) { |
| OnUpdateTopControlsState) |
| IPC_MESSAGE_HANDLER(ViewMsg_ExtractSmartClipData, OnExtractSmartClipData) |
| #elif defined(OS_MACOSX) |
| + IPC_MESSAGE_HANDLER(ViewMsg_GetRenderedText, |
| + OnGetRenderedText) |
| IPC_MESSAGE_HANDLER(ViewMsg_PluginImeCompositionCompleted, |
| OnPluginImeCompositionCompleted) |
| IPC_MESSAGE_HANDLER(ViewMsg_SelectPopupMenuItem, OnSelectPopupMenuItem) |