Index: content/renderer/render_frame_impl.cc |
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc |
index 2222e34d4b7e35b6470125c2ebb24d69687b789c..ed778ed9c33594f34df577225d4f4ab1e843eff3 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" |
@@ -1640,6 +1641,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) |
@@ -2270,6 +2272,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. |