Chromium Code Reviews| Index: content/renderer/render_frame_impl.cc |
| diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc |
| index cbbbb089b03b3d37be90c0b1caf83db005d2196d..5699b20575819ec5778d840047291185cb77cdac 100644 |
| --- a/content/renderer/render_frame_impl.cc |
| +++ b/content/renderer/render_frame_impl.cc |
| @@ -96,6 +96,7 @@ |
| #include "content/renderer/history_serialization.h" |
| #include "content/renderer/image_downloader/image_downloader_impl.h" |
| #include "content/renderer/ime_event_guard.h" |
| +#include "content/renderer/input/input_handler_manager.h" |
| #include "content/renderer/internal_document_state_data.h" |
| #include "content/renderer/manifest/manifest_manager.h" |
| #include "content/renderer/media/audio_device_factory.h" |
| @@ -1221,6 +1222,17 @@ void RenderFrameImpl::Initialize() { |
| // We delay calling this until we have the WebFrame so that any observer or |
| // embedder can call GetWebFrame on any RenderFrame. |
| GetContentClient()->renderer()->RenderFrameCreated(this); |
| + |
| + // TODO(changwan): apply this logic to RenderWidget once we add input handler |
|
no sievers
2016/06/01 22:14:47
nit: i'd remove this TODO here since IIUC you inte
Changwan Ryu
2016/06/03 06:48:29
Removed.
|
| + // in RenderWidget, too. |
| + if (render_view_ && render_view_->HasAddedInputHandler()) { |
|
no sievers
2016/06/01 22:14:47
This looks fragile. Do you expect HasAddedInputHan
Changwan Ryu
2016/06/02 10:49:06
Two hidden assumptions here:
1) initializeLayerTre
Changwan Ryu
2016/06/03 06:48:29
Removed render_view check and changed to DCHECK().
|
| + RenderThreadImpl* render_thread = RenderThreadImpl::current(); |
| + // render_thread may be NULL in tests. |
| + InputHandlerManager* input_handler_manager = |
| + render_thread ? render_thread->input_handler_manager() : nullptr; |
| + if (input_handler_manager) |
| + input_handler_manager->RegisterRoutingID(GetRoutingID()); |
|
no sievers
2016/06/01 22:14:47
How does it get unregistered?
Changwan Ryu
2016/06/03 06:48:29
Now it's unregistered in ~RenderFrameImpl().
|
| + } |
| } |
| void RenderFrameImpl::InitializeBlameContext(RenderFrameImpl* parent_frame) { |
| @@ -1512,6 +1524,8 @@ bool RenderFrameImpl::OnMessageReceived(const IPC::Message& msg) { |
| OnExtendSelectionAndDelete) |
| IPC_MESSAGE_HANDLER(InputMsg_SetCompositionFromExistingText, |
| OnSetCompositionFromExistingText) |
| + IPC_MESSAGE_HANDLER(InputMsg_SetEditableSelectionOffsets, |
| + OnSetEditableSelectionOffsets) |
| IPC_MESSAGE_HANDLER(InputMsg_ExecuteNoValueEditCommand, |
| OnExecuteNoValueEditCommand) |
| IPC_MESSAGE_HANDLER(FrameMsg_CSSInsertRequest, OnCSSInsertRequest) |
| @@ -1524,8 +1538,6 @@ bool RenderFrameImpl::OnMessageReceived(const IPC::Message& msg) { |
| OnJavaScriptExecuteRequestInIsolatedWorld) |
| IPC_MESSAGE_HANDLER(FrameMsg_VisualStateRequest, |
| OnVisualStateRequest) |
| - IPC_MESSAGE_HANDLER(FrameMsg_SetEditableSelectionOffsets, |
| - OnSetEditableSelectionOffsets) |
| IPC_MESSAGE_HANDLER(FrameMsg_Reload, OnReload) |
| IPC_MESSAGE_HANDLER(FrameMsg_ReloadLoFiImages, OnReloadLoFiImages) |
| IPC_MESSAGE_HANDLER(FrameMsg_TextSurroundingSelectionRequest, |