Index: content/renderer/render_widget.cc |
diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc |
index 05adb9fcf7805f6e2521bd2b3c64ef2292888048..667444dd672b9a3608d6deda74780aa597333f25 100644 |
--- a/content/renderer/render_widget.cc |
+++ b/content/renderer/render_widget.cc |
@@ -52,6 +52,7 @@ |
#include "content/renderer/render_widget_owner_delegate.h" |
#include "content/renderer/renderer_blink_platform_impl.h" |
#include "content/renderer/resizing_mode_selector.h" |
+#include "ipc/ipc_message_start.h" |
#include "ipc/ipc_sync_message.h" |
#include "skia/ext/platform_canvas.h" |
#include "third_party/WebKit/public/platform/WebCursorInfo.h" |
@@ -95,6 +96,10 @@ |
#include "content/renderer/mus/render_widget_mus_connection.h" |
#endif |
+#if defined(OS_MACOSX) |
+#include "content/renderer/text_input_client_observer.h" |
+#endif |
+ |
using blink::WebCompositionUnderline; |
using blink::WebCursorInfo; |
using blink::WebDeviceEmulationParams; |
@@ -255,6 +260,9 @@ RenderWidget::RenderWidget(CompositorDependencies* compositor_deps, |
resizing_mode_selector_(new ResizingModeSelector()), |
has_host_context_menu_location_(false), |
has_focus_(false), |
+#if defined(OS_MACOSX) |
+ text_input_client_observer_(new TextInputClientObserver(this)), |
+#endif |
focused_pepper_plugin_(nullptr) { |
if (!swapped_out) |
RenderProcess::current()->AddRefProcess(); |
@@ -475,6 +483,10 @@ void RenderWidget::OnShowHostContextMenu(ContextMenuParams* params) { |
} |
bool RenderWidget::OnMessageReceived(const IPC::Message& message) { |
+#if defined(OS_MACOSX) |
+ if (IPC_MESSAGE_CLASS(message) == TextInputClientMsgStart) |
+ return text_input_client_observer_->OnMessageReceived(message); |
+#endif |
if (mouse_lock_dispatcher_ && |
mouse_lock_dispatcher_->OnMessageReceived(message)) |
return true; |