Index: Source/web/WebViewImpl.cpp |
diff --git a/Source/web/WebViewImpl.cpp b/Source/web/WebViewImpl.cpp |
index 00b3326981bc95402d6d0bc011541cbf4812e956..16706ac9b2da5cbaaa665b26de0d00df7f2d03ab 100644 |
--- a/Source/web/WebViewImpl.cpp |
+++ b/Source/web/WebViewImpl.cpp |
@@ -3003,8 +3003,15 @@ void WebViewImpl::updatePageDefinedViewportConstraints(const ViewportDescription |
adjustedDescription.minWidth = adjustedDescription.maxWidth; |
adjustedDescription.minHeight = adjustedDescription.maxHeight; |
} |
+ float oldInitialScale = m_pageScaleConstraintsSet.pageDefinedConstraints().initialScale; |
m_pageScaleConstraintsSet.updatePageDefinedConstraints(adjustedDescription, m_size); |
m_pageScaleConstraintsSet.adjustForAndroidWebViewQuirks(adjustedDescription, m_size, page()->settings().layoutFallbackWidth(), deviceScaleFactor(), settingsImpl()->supportDeprecatedTargetDensityDPI(), page()->settings().wideViewportQuirkEnabled(), page()->settings().useWideViewport(), page()->settings().loadWithOverviewMode()); |
+ float newInitialScale = m_pageScaleConstraintsSet.pageDefinedConstraints().initialScale; |
+ if (oldInitialScale != newInitialScale && newInitialScale != -1) { |
+ m_pageScaleConstraintsSet.setNeedsReset(true); |
+ if (mainFrameImpl() && mainFrameImpl()->frameView()) |
mnaganov (inactive)
2013/11/04 11:44:09
I guess, we will have to cherry pick this 'if' int
|
+ mainFrameImpl()->frameView()->setNeedsLayout(); |
+ } |
updateMainFrameLayoutSize(); |
} |