Index: content/renderer/render_widget.cc |
diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc |
index e263f2c2c95e887f83c530e1763af019dc75817d..11095c1001f1dd1fad8ea62c698718fe67320c84 100644 |
--- a/content/renderer/render_widget.cc |
+++ b/content/renderer/render_widget.cc |
@@ -663,6 +663,10 @@ bool RenderWidget::OnMessageReceived(const IPC::Message& message) { |
IPC_MESSAGE_HANDLER(InputMsg_SetFocus, OnSetFocus) |
IPC_MESSAGE_HANDLER(InputMsg_SyntheticGestureCompleted, |
OnSyntheticGestureCompleted) |
+#if defined(OS_MACOSX) |
+ IPC_MESSAGE_HANDLER(InputMsg_SelectWordIfAnyAtCoordinates, |
+ OnSelectWordIfAnyAtCoordinates) |
+#endif |
IPC_MESSAGE_HANDLER(ViewMsg_Close, OnClose) |
IPC_MESSAGE_HANDLER(ViewMsg_Resize, OnResize) |
IPC_MESSAGE_HANDLER(ViewMsg_EnableDeviceEmulation, |
@@ -1554,6 +1558,17 @@ void RenderWidget::OnSyntheticGestureCompleted() { |
pending_synthetic_gesture_callbacks_.pop(); |
} |
+void RenderWidget::OnSelectWordIfAnyAtCoordinates(float x, float y) { |
+ input_handler_.set_handling_input_event(true); |
+ if (!webwidget_) |
+ return; |
+ |
+ // Send a response if a word has been selected. |
+ if (webwidget_->selectWordIfAnyAtCoordinates(x, y)) |
+ Send(new InputHostMsg_DidSelectWordAtCoordinates(routing_id())); |
+ input_handler_.set_handling_input_event(false); |
+} |
+ |
void RenderWidget::OnSetTextDirection(WebTextDirection direction) { |
if (!webwidget_) |
return; |