Index: content/renderer/render_frame_impl.cc |
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc |
index f0e86cf610b5f2fa69c5f393ef322ca5cfa1480a..09d68da46d74001c0b98afee8ce4135787b5687d 100644 |
--- a/content/renderer/render_frame_impl.cc |
+++ b/content/renderer/render_frame_impl.cc |
@@ -175,6 +175,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" |
@@ -1646,6 +1647,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) |
@@ -2273,6 +2275,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. |