summaryrefslogtreecommitdiffstats
path: root/cc
diff options
context:
space:
mode:
Diffstat (limited to 'cc')
-rw-r--r--cc/input/layer_scroll_offset_delegate.h2
-rw-r--r--cc/layers/layer_impl_unittest.cc4
-rw-r--r--cc/trees/layer_tree_host_impl_unittest.cc5
-rw-r--r--cc/trees/layer_tree_impl.cc14
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());
}
}