| Index: third_party/WebKit/Source/web/WebViewImpl.cpp
|
| diff --git a/third_party/WebKit/Source/web/WebViewImpl.cpp b/third_party/WebKit/Source/web/WebViewImpl.cpp
|
| index 6bdb139501906ac31f7a596d3822d692cc97bea6..306b1cfc5d5ed06c12f62ca9093fcb12846e2845 100644
|
| --- a/third_party/WebKit/Source/web/WebViewImpl.cpp
|
| +++ b/third_party/WebKit/Source/web/WebViewImpl.cpp
|
| @@ -410,7 +410,7 @@ WebViewImpl::WebViewImpl(WebViewClient* client)
|
| , m_zoomLevel(0)
|
| , m_minimumZoomLevel(zoomFactorToZoomLevel(minTextSizeMultiplier))
|
| , m_maximumZoomLevel(zoomFactorToZoomLevel(maxTextSizeMultiplier))
|
| - , m_zoomFactorForDeviceScaleFactor(1.f)
|
| + , m_zoomFactorForDeviceScaleFactor(0.f)
|
| , m_maximumLegibleScale(1)
|
| , m_doubleTapZoomPageScaleFactor(0)
|
| , m_doubleTapZoomPending(false)
|
| @@ -3055,7 +3055,15 @@ double WebViewImpl::setZoomLevel(double zoomLevel)
|
| LocalFrame* frame = mainFrameImpl()->frame();
|
| if (!WebLocalFrameImpl::pluginContainerFromFrame(frame)) {
|
| float zoomFactor = m_zoomFactorOverride ? m_zoomFactorOverride : static_cast<float>(zoomLevelToZoomFactor(m_zoomLevel));
|
| - zoomFactor *= m_zoomFactorForDeviceScaleFactor;
|
| + if (m_zoomFactorForDeviceScaleFactor) {
|
| + if (m_compositorDeviceScaleFactorOverride) {
|
| + page()->setDeviceScaleFactor(m_zoomFactorForDeviceScaleFactor / m_compositorDeviceScaleFactorOverride);
|
| + zoomFactor *= m_compositorDeviceScaleFactorOverride;
|
| + } else {
|
| + page()->setDeviceScaleFactor(1.f);
|
| + zoomFactor *= m_zoomFactorForDeviceScaleFactor;
|
| + }
|
| + }
|
| frame->setPageZoomFactor(zoomFactor);
|
| }
|
|
|
| @@ -3772,8 +3780,13 @@ void WebViewImpl::setCompositorDeviceScaleFactorOverride(float deviceScaleFactor
|
| if (m_compositorDeviceScaleFactorOverride == deviceScaleFactor)
|
| return;
|
| m_compositorDeviceScaleFactorOverride = deviceScaleFactor;
|
| - if (page() && m_layerTreeView)
|
| + if (page() && m_layerTreeView) {
|
| + if (m_zoomFactorForDeviceScaleFactor) {
|
| + setZoomLevel(zoomLevel());
|
| + return;
|
| + }
|
| updateLayerTreeDeviceScaleFactor();
|
| + }
|
| }
|
|
|
| void WebViewImpl::setRootLayerTransform(const WebSize& rootLayerOffset, float rootLayerScale)
|
|
|