diff options
Diffstat (limited to 'cc')
-rw-r--r-- | cc/input/layer_scroll_offset_delegate.h | 2 | ||||
-rw-r--r-- | cc/layers/layer_impl_unittest.cc | 4 | ||||
-rw-r--r-- | cc/trees/layer_tree_host_impl_unittest.cc | 5 | ||||
-rw-r--r-- | cc/trees/layer_tree_impl.cc | 14 |
4 files changed, 18 insertions, 7 deletions
diff --git a/cc/input/layer_scroll_offset_delegate.h b/cc/input/layer_scroll_offset_delegate.h index 805bbfb..54a11c9 100644 --- a/cc/input/layer_scroll_offset_delegate.h +++ b/cc/input/layer_scroll_offset_delegate.h @@ -40,7 +40,7 @@ class LayerScrollOffsetDelegate { // This is called by the compositor to notify the delegate what is the current // page scale factor is. - virtual void SetPageScaleFactor(float page_scale_factor) = 0; + virtual void SetTotalPageScaleFactor(float page_scale_factor) = 0; // This is called by the compositor to notify the delegate what is the layer's // scrollable size is. diff --git a/cc/layers/layer_impl_unittest.cc b/cc/layers/layer_impl_unittest.cc index 3a0b1ce..83cd346 100644 --- a/cc/layers/layer_impl_unittest.cc +++ b/cc/layers/layer_impl_unittest.cc @@ -382,7 +382,7 @@ class ScrollDelegateIgnore : public LayerScrollOffsetDelegate { fixed_offset_ = fixed_offset; } - virtual void SetPageScaleFactor(float page_scale_factor) OVERRIDE {} + virtual void SetTotalPageScaleFactor(float page_scale_factor) OVERRIDE {} virtual void SetScrollableSize(gfx::SizeF scrollable_size) OVERRIDE {} private: @@ -434,7 +434,7 @@ class ScrollDelegateAccept : public LayerScrollOffsetDelegate { return current_offset_; } virtual bool IsExternalFlingActive() const OVERRIDE { return false; } - virtual void SetPageScaleFactor(float page_scale_factor) OVERRIDE {} + virtual void SetTotalPageScaleFactor(float page_scale_factor) OVERRIDE {} virtual void SetScrollableSize(gfx::SizeF scrollable_size) OVERRIDE {} private: diff --git a/cc/trees/layer_tree_host_impl_unittest.cc b/cc/trees/layer_tree_host_impl_unittest.cc index 23a0378..720ae91 100644 --- a/cc/trees/layer_tree_host_impl_unittest.cc +++ b/cc/trees/layer_tree_host_impl_unittest.cc @@ -2451,7 +2451,7 @@ class TestScrollOffsetDelegate : public LayerScrollOffsetDelegate { virtual bool IsExternalFlingActive() const OVERRIDE { return false; } - virtual void SetPageScaleFactor(float page_scale_factor) OVERRIDE { + virtual void SetTotalPageScaleFactor(float page_scale_factor) OVERRIDE { page_scale_factor_ = page_scale_factor; } @@ -2509,6 +2509,9 @@ TEST_F(LayerTreeHostImplTest, RootLayerScrollOffsetDelegation) { // Updating page scale immediately updates the delegate. host_impl_->active_tree()->SetPageScaleFactorAndLimits(2.f, 0.5f, 4.f); EXPECT_EQ(2.f, scroll_delegate.page_scale_factor()); + host_impl_->active_tree()->SetPageScaleDelta(1.5f); + EXPECT_EQ(3.f, scroll_delegate.page_scale_factor()); + host_impl_->active_tree()->SetPageScaleDelta(1.f); host_impl_->active_tree()->SetPageScaleFactorAndLimits(1.f, 0.5f, 4.f); EXPECT_EQ(1.f, scroll_delegate.page_scale_factor()); diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc index 1b527cc..aa587b4 100644 --- a/cc/trees/layer_tree_impl.cc +++ b/cc/trees/layer_tree_impl.cc @@ -190,8 +190,10 @@ void LayerTreeImpl::SetPageScaleFactorAndLimits(float page_scale_factor, max_page_scale_factor_ = max_page_scale_factor; page_scale_factor_ = page_scale_factor; - if (root_layer_scroll_offset_delegate_) - root_layer_scroll_offset_delegate_->SetPageScaleFactor(page_scale_factor_); + if (root_layer_scroll_offset_delegate_) { + root_layer_scroll_offset_delegate_->SetTotalPageScaleFactor( + total_page_scale_factor()); + } } void LayerTreeImpl::SetPageScaleDelta(float delta) { @@ -218,6 +220,11 @@ void LayerTreeImpl::SetPageScaleDelta(float delta) { UpdateMaxScrollOffset(); set_needs_update_draw_properties(); + + if (root_layer_scroll_offset_delegate_) { + root_layer_scroll_offset_delegate_->SetTotalPageScaleFactor( + total_page_scale_factor()); + } } gfx::SizeF LayerTreeImpl::ScrollableViewportSize() const { @@ -618,7 +625,8 @@ void LayerTreeImpl::SetRootLayerScrollOffsetDelegate( if (root_layer_scroll_offset_delegate_) { root_layer_scroll_offset_delegate_->SetScrollableSize(ScrollableSize()); - root_layer_scroll_offset_delegate_->SetPageScaleFactor(page_scale_factor_); + root_layer_scroll_offset_delegate_->SetTotalPageScaleFactor( + total_page_scale_factor()); } } |