summaryrefslogtreecommitdiffstats
path: root/third_party/WebKit/Source/web
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/WebKit/Source/web')
-rw-r--r--third_party/WebKit/Source/web/RemoteFrameClientImpl.cpp5
-rw-r--r--third_party/WebKit/Source/web/RemoteFrameClientImpl.h1
-rw-r--r--third_party/WebKit/Source/web/WebViewImpl.cpp7
-rw-r--r--third_party/WebKit/Source/web/WebViewImpl.h3
4 files changed, 16 insertions, 0 deletions
diff --git a/third_party/WebKit/Source/web/RemoteFrameClientImpl.cpp b/third_party/WebKit/Source/web/RemoteFrameClientImpl.cpp
index 9250810..fde5147 100644
--- a/third_party/WebKit/Source/web/RemoteFrameClientImpl.cpp
+++ b/third_party/WebKit/Source/web/RemoteFrameClientImpl.cpp
@@ -188,4 +188,9 @@ void RemoteFrameClientImpl::frameRectsChanged(const IntRect& frameRect)
m_webFrame->client()->frameRectsChanged(frameRect);
}
+void RemoteFrameClientImpl::advanceFocus(WebFocusType type, LocalFrame* source)
+{
+ m_webFrame->client()->advanceFocus(type, WebLocalFrameImpl::fromFrame(source));
+}
+
} // namespace blink
diff --git a/third_party/WebKit/Source/web/RemoteFrameClientImpl.h b/third_party/WebKit/Source/web/RemoteFrameClientImpl.h
index eb2342d..388c808 100644
--- a/third_party/WebKit/Source/web/RemoteFrameClientImpl.h
+++ b/third_party/WebKit/Source/web/RemoteFrameClientImpl.h
@@ -36,6 +36,7 @@ public:
unsigned backForwardLength() override;
void forwardInputEvent(Event*) override;
void frameRectsChanged(const IntRect& frameRect) override;
+ void advanceFocus(WebFocusType, LocalFrame*) override;
WebRemoteFrameImpl* webFrame() const { return m_webFrame; }
diff --git a/third_party/WebKit/Source/web/WebViewImpl.cpp b/third_party/WebKit/Source/web/WebViewImpl.cpp
index b4ad9dc..e6417fa 100644
--- a/third_party/WebKit/Source/web/WebViewImpl.cpp
+++ b/third_party/WebKit/Source/web/WebViewImpl.cpp
@@ -2968,6 +2968,13 @@ void WebViewImpl::advanceFocus(bool reverse)
page()->focusController().advanceFocus(reverse ? WebFocusTypeBackward : WebFocusTypeForward);
}
+void WebViewImpl::advanceFocusAcrossFrames(WebFocusType type, WebRemoteFrame* from, WebLocalFrame* to)
+{
+ // TODO(alexmos): Pass in proper with sourceCapabilities.
+ page()->focusController().advanceFocusAcrossFrames(
+ type, toWebRemoteFrameImpl(from)->frame(), toWebLocalFrameImpl(to)->frame());
+}
+
double WebViewImpl::zoomLevel()
{
return m_zoomLevel;
diff --git a/third_party/WebKit/Source/web/WebViewImpl.h b/third_party/WebKit/Source/web/WebViewImpl.h
index 4ced199..c4453c1 100644
--- a/third_party/WebKit/Source/web/WebViewImpl.h
+++ b/third_party/WebKit/Source/web/WebViewImpl.h
@@ -82,10 +82,12 @@ class WebActiveGestureAnimation;
class WebDevToolsAgentImpl;
class WebElement;
class WebLayerTreeView;
+class WebLocalFrame;
class WebLocalFrameImpl;
class WebImage;
class WebPagePopupImpl;
class WebPlugin;
+class WebRemoteFrame;
class WebSelection;
class WebSettingsImpl;
class WebViewScheduler;
@@ -189,6 +191,7 @@ public:
void smoothScroll(int targetX, int targetY, long durationMs) override;
void zoomToFindInPageRect(const WebRect&);
void advanceFocus(bool reverse) override;
+ void advanceFocusAcrossFrames(WebFocusType, WebRemoteFrame* from, WebLocalFrame* to) override;
double zoomLevel() override;
double setZoomLevel(double) override;
void zoomLimitsChanged(double minimumZoomLevel, double maximumZoomLevel) override;