| Index: chrome/renderer/render_view.cc
|
| diff --git a/chrome/renderer/render_view.cc b/chrome/renderer/render_view.cc
|
| index 9b71058a5375da46a4f53eb6786e1754e80be856..946467291f64866776e3364732ec70dfb5d44db1 100644
|
| --- a/chrome/renderer/render_view.cc
|
| +++ b/chrome/renderer/render_view.cc
|
| @@ -195,6 +195,7 @@
|
| #include "third_party/WebKit/Source/WebKit/chromium/public/linux/WebRenderTheme.h"
|
| #elif defined(OS_MACOSX)
|
| #include "skia/ext/skia_utils_mac.h"
|
| +#include "third_party/WebKit/Source/WebKit/chromium/public/mac/WebTextHelper.h"
|
| #endif
|
|
|
| using WebKit::WebAccessibilityCache;
|
| @@ -1070,6 +1071,11 @@ bool RenderView::OnMessageReceived(const IPC::Message& message) {
|
| IPC_MESSAGE_HANDLER(ViewMsg_WindowFrameChanged, OnWindowFrameChanged)
|
| IPC_MESSAGE_HANDLER(ViewMsg_PluginImeCompositionConfirmed,
|
| OnPluginImeCompositionConfirmed)
|
| + IPC_MESSAGE_HANDLER(ViewMsg_CharacterIndexForPoint,
|
| + OnCharacterIndexForPoint)
|
| + IPC_MESSAGE_HANDLER(ViewMsg_FirstRectForCharacterRange,
|
| + OnFirstRectForCharacterRange)
|
| + IPC_MESSAGE_HANDLER(ViewMsg_StringForRange, OnStringForRange)
|
| #endif
|
| IPC_MESSAGE_HANDLER(ViewMsg_SetEditCommandsForNextKeyEvent,
|
| OnSetEditCommandsForNextKeyEvent)
|
| @@ -5659,6 +5665,24 @@ void RenderView::OnSelectPopupMenuItem(int selected_index) {
|
| external_popup_menu_->DidSelectItem(selected_index);
|
| external_popup_menu_.reset();
|
| }
|
| +
|
| +void RenderView::OnCharacterIndexForPoint(gfx::Point point) {
|
| + WebKit::WebTextHelper helper(webview()->mainFrame());
|
| + uint index = helper.characterIndexForPoint(point.x(), point.y());
|
| + Send(new ViewHostMsg_GotCharacterIndexForPoint(routing_id(), index));
|
| +}
|
| +
|
| +void RenderView::OnFirstRectForCharacterRange(uint location, uint length) {
|
| + WebKit::WebTextHelper helper(webview()->mainFrame());
|
| + gfx::Rect rect(helper.firstRectForRange(location, length));
|
| + Send(new ViewHostMsg_GotFirstRectForRange(routing_id(), rect));
|
| +}
|
| +
|
| +void RenderView::OnStringForRange(uint location, uint length) {
|
| + WebKit::WebTextHelper helper(webview()->mainFrame());
|
| + WebKit::WebString webstring(helper.substringInRange(location, length));
|
| + Send(new ViewHostMsg_GotStringForRange(routing_id(), webstring));
|
| +}
|
| #endif
|
|
|
| void RenderView::AddErrorToRootConsole(const string16& message) {
|
|
|