Index: content/renderer/render_frame_impl.cc |
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc |
index 0db8f24e912c0fabcddef7f30b37c8e696090b5a..62eea253449549d5061c02a83bd64c98fd2b35e5 100644 |
--- a/content/renderer/render_frame_impl.cc |
+++ b/content/renderer/render_frame_impl.cc |
@@ -1242,6 +1242,7 @@ bool RenderFrameImpl::OnMessageReceived(const IPC::Message& msg) { |
IPC_MESSAGE_HANDLER(FrameMsg_DidUpdateSandboxFlags, OnDidUpdateSandboxFlags) |
IPC_MESSAGE_HANDLER(FrameMsg_SetFrameOwnerProperties, |
OnSetFrameOwnerProperties) |
+ IPC_MESSAGE_HANDLER(FrameMsg_AdvanceFocus, OnAdvanceFocus) |
IPC_MESSAGE_HANDLER(FrameMsg_SetTextTrackSettings, |
OnTextTrackSettingsChanged) |
IPC_MESSAGE_HANDLER(FrameMsg_PostMessageEvent, OnPostMessageEvent) |
@@ -1800,6 +1801,17 @@ void RenderFrameImpl::OnSetFrameOwnerProperties( |
frame_->setFrameOwnerProperties(frame_owner_properties); |
} |
+void RenderFrameImpl::OnAdvanceFocus(blink::WebFocusType type, |
+ int32_t source_routing_id) { |
+ RenderFrameProxy* source_frame = |
+ RenderFrameProxy::FromRoutingID(source_routing_id); |
+ if (!source_frame) |
+ return; |
+ |
+ render_view_->webview()->advanceFocusAcrossFrames( |
+ type, source_frame->web_frame(), frame_); |
+} |
+ |
void RenderFrameImpl::OnTextTrackSettingsChanged( |
const FrameMsg_TextTrackSettings_Params& params) { |
DCHECK(!frame_->parent()); |