Index: Source/web/WebViewImpl.cpp |
diff --git a/Source/web/WebViewImpl.cpp b/Source/web/WebViewImpl.cpp |
index 6d87b6d7cad1e667a8a364390b97caff19e097f5..5cf196ac4ee602d2939bf694eb7ea0862e3d8001 100644 |
--- a/Source/web/WebViewImpl.cpp |
+++ b/Source/web/WebViewImpl.cpp |
@@ -1611,6 +1611,8 @@ void WebViewImpl::resize(const WebSize& newSize) |
// Avoids unnecessary invalidations while various bits of state in FastTextAutosizer are updated. |
FastTextAutosizer::DeferUpdatePageInfo deferUpdatePageInfo(page()); |
+ m_pageScaleConstraintsSet.didChangeViewSize(m_size); |
+ |
updatePageDefinedViewportConstraints(mainFrameImpl()->frame()->document()->viewportDescription()); |
updateMainFrameLayoutSize(); |
@@ -1625,7 +1627,6 @@ void WebViewImpl::resize(const WebSize& newSize) |
if (pinchVirtualViewportEnabled()) |
page()->frameHost().pinchViewport().setSize(m_size); |
- |
} |
if (settings()->viewportEnabled() && !m_fixedLayoutSizeLock) { |
@@ -2906,11 +2907,11 @@ void WebViewImpl::refreshPageScaleFactorAfterLayout() |
int verticalScrollbarWidth = 0; |
if (view->verticalScrollbar() && !view->verticalScrollbar()->isOverlayScrollbar()) |
verticalScrollbarWidth = view->verticalScrollbar()->width(); |
- m_pageScaleConstraintsSet.adjustFinalConstraintsToContentsSize(m_size, contentsSize(), verticalScrollbarWidth); |
+ m_pageScaleConstraintsSet.adjustFinalConstraintsToContentsSize(contentsSize(), verticalScrollbarWidth); |
} |
if (pinchVirtualViewportEnabled()) |
- mainFrameImpl()->frameView()->resize(m_pageScaleConstraintsSet.mainFrameSize(m_size, contentsSize())); |
+ mainFrameImpl()->frameView()->resize(m_pageScaleConstraintsSet.mainFrameSize(contentsSize())); |
float newPageScaleFactor = pageScaleFactor(); |
if (m_pageScaleConstraintsSet.needsReset() && m_pageScaleConstraintsSet.finalConstraints().initialScale != -1) { |
@@ -2960,7 +2961,7 @@ void WebViewImpl::updatePageDefinedViewportConstraints(const ViewportDescription |
} |
float oldInitialScale = m_pageScaleConstraintsSet.pageDefinedConstraints().initialScale; |
- m_pageScaleConstraintsSet.updatePageDefinedConstraints(adjustedDescription, m_size, defaultMinWidth); |
+ m_pageScaleConstraintsSet.updatePageDefinedConstraints(adjustedDescription, defaultMinWidth); |
if (settingsImpl()->clobberUserAgentInitialScaleQuirk() |
&& m_pageScaleConstraintsSet.userAgentConstraints().initialScale != -1 |
@@ -2970,7 +2971,7 @@ void WebViewImpl::updatePageDefinedViewportConstraints(const ViewportDescription |
setInitialPageScaleOverride(-1); |
} |
- m_pageScaleConstraintsSet.adjustForAndroidWebViewQuirks(adjustedDescription, m_size, defaultMinWidth.intValue(), deviceScaleFactor(), settingsImpl()->supportDeprecatedTargetDensityDPI(), page()->settings().wideViewportQuirkEnabled(), page()->settings().useWideViewport(), page()->settings().loadWithOverviewMode(), settingsImpl()->viewportMetaNonUserScalableQuirk()); |
+ m_pageScaleConstraintsSet.adjustForAndroidWebViewQuirks(adjustedDescription, defaultMinWidth.intValue(), deviceScaleFactor(), settingsImpl()->supportDeprecatedTargetDensityDPI(), page()->settings().wideViewportQuirkEnabled(), page()->settings().useWideViewport(), page()->settings().loadWithOverviewMode(), settingsImpl()->viewportMetaNonUserScalableQuirk()); |
float newInitialScale = m_pageScaleConstraintsSet.pageDefinedConstraints().initialScale; |
if (oldInitialScale != newInitialScale && newInitialScale != -1) { |
m_pageScaleConstraintsSet.setNeedsReset(true); |
@@ -3629,6 +3630,7 @@ void WebViewImpl::layoutUpdated(WebLocalFrameImpl* webframe) |
m_size = frameSize; |
page()->frameHost().pinchViewport().setSize(m_size); |
+ m_pageScaleConstraintsSet.didChangeViewSize(m_size); |
m_client->didAutoResize(m_size); |
sendResizeEventAndRepaint(); |