| Index: cc/layer_tree_host_impl.cc
|
| diff --git a/cc/layer_tree_host_impl.cc b/cc/layer_tree_host_impl.cc
|
| index 4f2827d38b4fb456e226da3e1a0ac59ca8ca77d5..7cb2ce05ddbff8c55b3c66c6052e2a5fc19b2363 100644
|
| --- a/cc/layer_tree_host_impl.cc
|
| +++ b/cc/layer_tree_host_impl.cc
|
| @@ -262,15 +262,15 @@ void LayerTreeHostImpl::startPageScaleAnimation(gfx::Vector2d targetOffset, bool
|
| return;
|
|
|
| gfx::Vector2dF scrollTotal = rootScrollLayer()->scrollOffset() + rootScrollLayer()->scrollDelta();
|
| - gfx::SizeF scaledContentSize = contentSize();
|
| + gfx::SizeF scaledScrollableSize = activeTree()->ScrollableSize();
|
| if (!m_settings.pageScalePinchZoomEnabled) {
|
| scrollTotal.Scale(1 / m_pinchZoomViewport.page_scale_factor());
|
| - scaledContentSize.Scale(1 / m_pinchZoomViewport.page_scale_factor());
|
| + scaledScrollableSize.Scale(1 / m_pinchZoomViewport.page_scale_factor());
|
| }
|
| gfx::SizeF viewportSize = gfx::ScaleSize(m_deviceViewportSize, 1 / m_deviceScaleFactor);
|
|
|
| double startTimeSeconds = (startTime - base::TimeTicks()).InSecondsF();
|
| - m_pageScaleAnimation = PageScaleAnimation::create(scrollTotal, m_pinchZoomViewport.total_page_scale_factor(), viewportSize, scaledContentSize, startTimeSeconds);
|
| + m_pageScaleAnimation = PageScaleAnimation::create(scrollTotal, m_pinchZoomViewport.total_page_scale_factor(), viewportSize, scaledScrollableSize, startTimeSeconds);
|
|
|
| if (anchorPoint) {
|
| gfx::Vector2dF anchor(targetOffset);
|
| @@ -564,11 +564,6 @@ void LayerTreeHostImpl::setBackgroundTickingEnabled(bool enabled)
|
| m_timeSourceClientAdapter->setActive(enabled);
|
| }
|
|
|
| -gfx::Size LayerTreeHostImpl::contentSize() const
|
| -{
|
| - return activeTree()->ContentSize();
|
| -}
|
| -
|
| static inline RenderPass* findRenderPassById(RenderPass::Id renderPassId, const LayerTreeHostImpl::FrameData& frame)
|
| {
|
| RenderPassIdHashMap::const_iterator it = frame.renderPassesById.find(renderPassId);
|
| @@ -772,8 +767,8 @@ CompositorFrameMetadata LayerTreeHostImpl::makeCompositorFrameMetadata() const
|
| {
|
| CompositorFrameMetadata metadata;
|
| metadata.page_scale_factor = m_pinchZoomViewport.total_page_scale_factor();
|
| - metadata.viewport_size = m_pinchZoomViewport.Bounds().size();
|
| - metadata.root_layer_size = contentSize();
|
| + metadata.viewport_size = m_pinchZoomViewport.ZoomedViewport().size();
|
| + metadata.root_layer_size = activeTree()->ScrollableSize();
|
| metadata.min_page_scale_factor = m_pinchZoomViewport.min_page_scale_factor();
|
| metadata.max_page_scale_factor = m_pinchZoomViewport.max_page_scale_factor();
|
| if (m_topControlsManager) {
|
| @@ -1049,6 +1044,7 @@ void LayerTreeHostImpl::setViewportSize(const gfx::Size& layoutViewportSize, con
|
| m_deviceViewportSize = deviceViewportSize;
|
|
|
| m_pinchZoomViewport.set_layout_viewport_size(layoutViewportSize);
|
| + m_pinchZoomViewport.set_device_viewport_size(deviceViewportSize);
|
|
|
| updateMaxScrollOffset();
|
|
|
| @@ -1405,13 +1401,13 @@ void LayerTreeHostImpl::computePinchZoomDeltas(ScrollAndScaleSet* scrollInfo)
|
| scrollBegin.Scale(m_pinchZoomViewport.page_scale_delta());
|
| float scaleBegin = m_pinchZoomViewport.total_page_scale_factor();
|
| float pageScaleDeltaToSend = m_pinchZoomViewport.min_page_scale_factor() / m_pinchZoomViewport.page_scale_factor();
|
| - gfx::SizeF scaledContentsSize = gfx::ScaleSize(contentSize(), pageScaleDeltaToSend);
|
| + gfx::SizeF scaledScrollableSize = gfx::ScaleSize(activeTree()->ScrollableSize(), pageScaleDeltaToSend);
|
|
|
| gfx::Vector2d anchorOffset = m_previousPinchAnchor.OffsetFromOrigin();
|
| gfx::Vector2dF scrollEnd = scrollBegin + anchorOffset;
|
| scrollEnd.Scale(m_pinchZoomViewport.min_page_scale_factor() / scaleBegin);
|
| scrollEnd -= anchorOffset;
|
| - scrollEnd.ClampToMax(gfx::RectF(scaledContentsSize).bottom_right() - gfx::Rect(m_deviceViewportSize).bottom_right());
|
| + scrollEnd.ClampToMax(gfx::RectF(scaledScrollableSize).bottom_right() - gfx::Rect(m_deviceViewportSize).bottom_right());
|
| scrollEnd.ClampToMin(gfx::Vector2d());
|
| scrollEnd.Scale(1 / pageScaleDeltaToSend);
|
| scrollEnd.Scale(m_deviceScaleFactor);
|
|
|