Index: content/renderer/render_frame_impl.cc |
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc |
index f64d82ae5c7f0dc10fea0bf9aba922faa99c89f3..a937fc27d256245a397e6a088865f012a92cee7a 100644 |
--- a/content/renderer/render_frame_impl.cc |
+++ b/content/renderer/render_frame_impl.cc |
@@ -176,6 +176,7 @@ |
#include "third_party/WebKit/public/platform/URLConversion.h" |
#include "third_party/WebKit/public/platform/WebCachePolicy.h" |
#include "third_party/WebKit/public/platform/WebData.h" |
+#include "third_party/WebKit/public/platform/WebFocusType.h" |
#include "third_party/WebKit/public/platform/WebKeyboardEvent.h" |
#include "third_party/WebKit/public/platform/WebMediaPlayer.h" |
#include "third_party/WebKit/public/platform/WebMediaPlayerSource.h" |
@@ -1644,6 +1645,7 @@ bool RenderFrameImpl::OnMessageReceived(const IPC::Message& msg) { |
IPC_MESSAGE_HANDLER(FrameMsg_SetFrameOwnerProperties, |
OnSetFrameOwnerProperties) |
IPC_MESSAGE_HANDLER(FrameMsg_AdvanceFocus, OnAdvanceFocus) |
+ IPC_MESSAGE_HANDLER(FrameMsg_AdvanceFocusInForm, OnAdvanceFocusInForm) |
IPC_MESSAGE_HANDLER(FrameMsg_SetFocusedFrame, OnSetFocusedFrame) |
IPC_MESSAGE_HANDLER(FrameMsg_SetTextTrackSettings, |
OnTextTrackSettingsChanged) |
@@ -2274,6 +2276,12 @@ void RenderFrameImpl::OnAdvanceFocus(blink::WebFocusType type, |
type, source_frame->web_frame(), frame_); |
} |
+void RenderFrameImpl::OnAdvanceFocusInForm(blink::WebFocusType focus_type) { |
+ if (render_view_->webview()->FocusedFrame() != frame_) |
+ return; |
+ frame_->AdvanceFocusInForm(focus_type); |
+} |
+ |
void RenderFrameImpl::OnSetFocusedFrame() { |
// This uses focusDocumentView rather than setFocusedFrame so that focus/blur |
// events are properly dispatched on any currently focused elements. |