Index: cc/layer_tree_host.cc |
diff --git a/cc/layer_tree_host.cc b/cc/layer_tree_host.cc |
index c237d1a04b6b36bd9d576389e3c6dc94f792ab3b..b982c688fb54bc82e07b0655f5ccd07257f0ce40 100644 |
--- a/cc/layer_tree_host.cc |
+++ b/cc/layer_tree_host.cc |
@@ -471,12 +471,16 @@ void LayerTreeHost::setDebugState(const LayerTreeDebugState& debugState) |
void LayerTreeHost::setViewportSize(const gfx::Size& layoutViewportSize, const gfx::Size& deviceViewportSize) |
{ |
- if (layoutViewportSize == m_layoutViewportSize && deviceViewportSize == m_deviceViewportSize) |
- return; |
+ gfx::Size mutatedDeviceViewportSize(deviceViewportSize); |
+ if (m_settings.calculateTopControlsPosition) |
+ mutatedDeviceViewportSize.Enlarge(0, m_settings.topControlsHeightPx); |
+ if (layoutViewportSize == m_layoutViewportSize && mutatedDeviceViewportSize == m_deviceViewportSize) |
+ return; |
+ |
m_layoutViewportSize = layoutViewportSize; |
- m_deviceViewportSize = deviceViewportSize; |
- |
+ m_deviceViewportSize = mutatedDeviceViewportSize; |
+ |
setNeedsCommit(); |
} |
@@ -491,6 +495,11 @@ void LayerTreeHost::setPageScaleFactorAndLimits(float pageScaleFactor, float min |
setNeedsCommit(); |
} |
+void LayerTreeHost::programmaticScroll(gfx::Vector2d targetOffset) |
+{ |
+ m_proxy->programmaticScroll(targetOffset); |
+} |
+ |
void LayerTreeHost::setVisible(bool visible) |
{ |
if (m_visible == visible) |