| Index: Source/web/FullscreenController.cpp
|
| diff --git a/Source/web/FullscreenController.cpp b/Source/web/FullscreenController.cpp
|
| index 46314cec88c3c525788b2744f65b5e065027667d..f6a3c0445291b30c1e52767d8aee9b02c5758759 100644
|
| --- a/Source/web/FullscreenController.cpp
|
| +++ b/Source/web/FullscreenController.cpp
|
| @@ -79,9 +79,10 @@ void FullscreenController::didEnterFullScreen()
|
| if (Document* doc = m_fullScreenFrame->document()) {
|
| if (FullscreenElementStack::isFullScreen(*doc)) {
|
| if (!m_exitFullscreenPageScaleFactor) {
|
| - m_exitFullscreenPageScaleFactor = m_webViewImpl->pageScaleFactor();
|
| + m_exitFullscreenPageScaleFactor = m_webViewImpl->pinchViewportScaleFactor();
|
| m_exitFullscreenScrollOffset = m_webViewImpl->mainFrame()->scrollOffset();
|
| - m_webViewImpl->setPageScaleFactorPreservingScrollOffset(1.0f);
|
| + m_exitFullscreenPinchViewportOffset = m_webViewImpl->pinchViewportOffset();
|
| + m_webViewImpl->setPinchViewportScaleFactor(1.0f);
|
| }
|
|
|
| FullscreenElementStack::from(*doc).webkitDidEnterFullScreenForElement(0);
|
| @@ -126,8 +127,9 @@ void FullscreenController::didExitFullScreen()
|
| if (FullscreenElementStack* fullscreen = FullscreenElementStack::fromIfExists(*doc)) {
|
| if (fullscreen->webkitIsFullScreen()) {
|
| if (m_exitFullscreenPageScaleFactor) {
|
| - m_webViewImpl->setPageScaleFactor(m_exitFullscreenPageScaleFactor,
|
| - WebPoint(m_exitFullscreenScrollOffset.width(), m_exitFullscreenScrollOffset.height()));
|
| + m_webViewImpl->setPinchViewportScaleFactor(m_exitFullscreenPageScaleFactor);
|
| + m_webViewImpl->setMainFrameScrollOffset(IntPoint(m_exitFullscreenScrollOffset));
|
| + m_webViewImpl->setPinchViewportOffset(m_exitFullscreenPinchViewportOffset);
|
| m_exitFullscreenPageScaleFactor = 0;
|
| m_exitFullscreenScrollOffset = IntSize();
|
| }
|
|
|