diff options
author | Allan Sandfeld Jensen <allan.jensen@digia.com> | 2013-09-13 12:51:20 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-09-19 20:50:05 +0200 |
commit | d441d6f39bb846989d95bcf5caf387b42414718d (patch) | |
tree | e367e64a75991c554930278175d403c072de6bb8 /Source/WebKit2/WebProcess/FullScreen/WebFullScreenManager.cpp | |
parent | 0060b2994c07842f4c59de64b5e3e430525c4b90 (diff) | |
download | qtwebkit-d441d6f39bb846989d95bcf5caf387b42414718d.tar.gz |
Import Qt5x2 branch of QtWebkit for Qt 5.2
Importing a new snapshot of webkit.
Change-Id: I2d01ad12cdc8af8cb015387641120a9d7ea5f10c
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
Diffstat (limited to 'Source/WebKit2/WebProcess/FullScreen/WebFullScreenManager.cpp')
-rw-r--r-- | Source/WebKit2/WebProcess/FullScreen/WebFullScreenManager.cpp | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/Source/WebKit2/WebProcess/FullScreen/WebFullScreenManager.cpp b/Source/WebKit2/WebProcess/FullScreen/WebFullScreenManager.cpp index 0323698ce..0becc77eb 100644 --- a/Source/WebKit2/WebProcess/FullScreen/WebFullScreenManager.cpp +++ b/Source/WebKit2/WebProcess/FullScreen/WebFullScreenManager.cpp @@ -28,13 +28,14 @@ #if ENABLE(FULLSCREEN_API) #include "Connection.h" -#include "MessageID.h" #include "WebCoreArgumentCoders.h" +#include "WebFrame.h" #include "WebFullScreenManagerProxyMessages.h" #include "WebPage.h" -#include "WebProcess.h" #include <WebCore/Color.h> #include <WebCore/Element.h> +#include <WebCore/Frame.h> +#include <WebCore/FrameView.h> #include <WebCore/Page.h> #include <WebCore/RenderLayer.h> #include <WebCore/RenderLayerBacking.h> @@ -52,7 +53,7 @@ static IntRect screenRectOfContents(Element* element) #if USE(ACCELERATED_COMPOSITING) if (element->renderer() && element->renderer()->hasLayer() && element->renderer()->enclosingLayer()->isComposited()) { FloatQuad contentsBox = static_cast<FloatRect>(element->renderer()->enclosingLayer()->backing()->contentsBox()); - contentsBox = element->renderer()->localToAbsoluteQuad(contentsBox, SnapOffsetForTransforms); + contentsBox = element->renderer()->localToAbsoluteQuad(contentsBox); return element->renderer()->view()->frameView()->contentsToScreen(contentsBox.enclosingBoundingBox()); } #endif @@ -78,9 +79,9 @@ WebCore::Element* WebFullScreenManager::element() return m_element.get(); } -void WebFullScreenManager::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder) +void WebFullScreenManager::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageDecoder& decoder) { - didReceiveWebFullScreenManagerMessage(connection, messageID, decoder); + didReceiveWebFullScreenManagerMessage(connection, decoder); } bool WebFullScreenManager::supportsFullScreen(bool withKeyboard) @@ -108,6 +109,7 @@ void WebFullScreenManager::willEnterFullScreen() { ASSERT(m_element); m_element->document()->webkitWillEnterFullScreenForElement(m_element.get()); + m_page->hidePageBanners(); m_element->document()->updateLayout(); m_page->forceRepaintWithoutCallback(); m_finalFrame = screenRectOfContents(m_element.get()); @@ -125,6 +127,7 @@ void WebFullScreenManager::willExitFullScreen() ASSERT(m_element); m_finalFrame = screenRectOfContents(m_element.get()); m_element->document()->webkitWillExitFullScreenForElement(m_element.get()); + m_page->showPageBanners(); m_page->injectedBundleFullScreenClient().beganExitFullScreen(m_page.get(), m_finalFrame, m_initialFrame); } @@ -151,6 +154,16 @@ void WebFullScreenManager::close() m_page->injectedBundleFullScreenClient().closeFullScreen(m_page.get()); } +void WebFullScreenManager::saveScrollPosition() +{ + m_scrollPosition = m_page->corePage()->mainFrame()->view()->scrollPosition(); +} + +void WebFullScreenManager::restoreScrollPosition() +{ + m_page->corePage()->mainFrame()->view()->setScrollPosition(m_scrollPosition); +} + } // namespace WebKit #endif // ENABLE(FULLSCREEN_API) |