| Index: cc/layers/layer_impl.cc
|
| diff --git a/cc/layers/layer_impl.cc b/cc/layers/layer_impl.cc
|
| index a99ede899fca62e89af1d22c636500cca24a081a..066d26c7b4ecf74d4a81b8218aaa78b1fee3abf8 100644
|
| --- a/cc/layers/layer_impl.cc
|
| +++ b/cc/layers/layer_impl.cc
|
| @@ -621,9 +621,6 @@ gfx::Vector2dF LayerImpl::FixedContainerSizeDelta() const {
|
| if (!scroll_clip_layer_)
|
| return gfx::Vector2dF();
|
|
|
| - float scale_delta = layer_tree_impl()->page_scale_delta();
|
| - float scale = layer_tree_impl()->page_scale_factor();
|
| -
|
| gfx::Vector2dF delta_from_scroll = scroll_clip_layer_->bounds_delta();
|
|
|
| // In virtual-viewport mode, we don't need to compensate for pinch zoom or
|
| @@ -632,6 +629,10 @@ gfx::Vector2dF LayerImpl::FixedContainerSizeDelta() const {
|
| if (layer_tree_impl()->settings().use_pinch_virtual_viewport)
|
| return delta_from_scroll;
|
|
|
| + float scale_delta = layer_tree_impl()->page_scale_delta();
|
| + float scale = layer_tree_impl()->current_page_scale_factor() /
|
| + layer_tree_impl()->page_scale_delta();
|
| +
|
| delta_from_scroll.Scale(1.f / scale);
|
|
|
| // The delta-from-pinch component requires some explanation: A viewport of
|
| @@ -1213,7 +1214,7 @@ gfx::ScrollOffset LayerImpl::MaxScrollOffset() const {
|
| const gfx::Transform& layer_transform = current_layer->transform();
|
| if (current_layer == page_scale_layer) {
|
| DCHECK(layer_transform.IsIdentity());
|
| - current_layer_scale = layer_tree_impl()->total_page_scale_factor();
|
| + current_layer_scale = layer_tree_impl()->current_page_scale_factor();
|
| } else {
|
| // TODO(wjmaclean) Should we allow for translation too?
|
| DCHECK(layer_transform.IsScale2d());
|
| @@ -1230,7 +1231,7 @@ gfx::ScrollOffset LayerImpl::MaxScrollOffset() const {
|
| // page scale layer may coincide with the clip layer, and so this is
|
| // necessary.
|
| if (page_scale_layer == scroll_clip_layer_)
|
| - scale_factor *= layer_tree_impl()->total_page_scale_factor();
|
| + scale_factor *= layer_tree_impl()->current_page_scale_factor();
|
|
|
| scaled_scroll_bounds.SetSize(scale_factor * scaled_scroll_bounds.width(),
|
| scale_factor * scaled_scroll_bounds.height());
|
| @@ -1289,7 +1290,7 @@ void LayerImpl::SetScrollbarPosition(ScrollbarLayerImplBase* scrollbar_layer,
|
| const gfx::Transform& layer_transform = current_layer->transform();
|
| if (current_layer == page_scale_layer) {
|
| DCHECK(layer_transform.IsIdentity());
|
| - float scale_factor = layer_tree_impl()->total_page_scale_factor();
|
| + float scale_factor = layer_tree_impl()->current_page_scale_factor();
|
| current_offset.Scale(scale_factor);
|
| scroll_rect.Scale(scale_factor);
|
| } else {
|
| @@ -1307,8 +1308,8 @@ void LayerImpl::SetScrollbarPosition(ScrollbarLayerImplBase* scrollbar_layer,
|
| // page scale layer may coincide with the clip layer, and so this is
|
| // necessary.
|
| if (page_scale_layer == scrollbar_clip_layer) {
|
| - scroll_rect.Scale(layer_tree_impl()->total_page_scale_factor());
|
| - current_offset.Scale(layer_tree_impl()->total_page_scale_factor());
|
| + scroll_rect.Scale(layer_tree_impl()->current_page_scale_factor());
|
| + current_offset.Scale(layer_tree_impl()->current_page_scale_factor());
|
| }
|
|
|
| bool scrollbar_needs_animation = false;
|
| @@ -1343,7 +1344,7 @@ void LayerImpl::SetScrollbarPosition(ScrollbarLayerImplBase* scrollbar_layer,
|
| // Non-overlay scrollbars also shouldn't trigger animations.
|
| bool is_animatable_scrollbar =
|
| scrollbar_layer->is_overlay_scrollbar() &&
|
| - ((layer_tree_impl()->total_page_scale_factor() >
|
| + ((layer_tree_impl()->current_page_scale_factor() >
|
| layer_tree_impl()->min_page_scale_factor()) ||
|
| !layer_tree_impl()->settings().use_pinch_zoom_scrollbars);
|
| if (is_animatable_scrollbar)
|
|
|