Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2213)

Unified Diff: cc/trees/layer_tree_impl.cc

Issue 256303006: Make LayerScrollOffsetDelegate updates consistent. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: cc/trees/layer_tree_impl.cc
diff --git a/cc/trees/layer_tree_impl.cc b/cc/trees/layer_tree_impl.cc
index b68e1d5436d041c5a8d2ed2c3b3827e3dfc3215a..313ac56f5fcdad84f4ceb9d421b7bd883649cc04 100644
--- a/cc/trees/layer_tree_impl.cc
+++ b/cc/trees/layer_tree_impl.cc
@@ -52,17 +52,14 @@ class LayerScrollOffsetDelegateProxy : public LayerScrollOffsetDelegate {
return delegate_->IsExternalFlingActive();
}
- // Functions below this point are never called by LayerImpl on its
- // LayerScrollOffsetDelegate, and so are not implemented.
- virtual void SetMaxScrollOffset(const gfx::Vector2dF&) OVERRIDE {
- NOTIMPLEMENTED();
- }
-
- virtual void SetTotalPageScaleFactorAndLimits(float, float, float) OVERRIDE {
- NOTIMPLEMENTED();
- }
-
- virtual void SetScrollableSize(const gfx::SizeF& scrollable_size) OVERRIDE {
+ // This is never called by LayerImpl on its LayerScrollOffsetDelegate, and so
+ // has been left not implemented.
+ virtual void UpdateRootLayerState(const gfx::Vector2dF& total_scroll_offset,
+ const gfx::Vector2dF& max_scroll_offset,
+ const gfx::SizeF& scrollable_size,
+ float page_scale_factor,
+ float min_page_scale_factor,
+ float max_page_scale_factor) OVERRIDE {
NOTIMPLEMENTED();
}
@@ -304,7 +301,10 @@ void LayerTreeImpl::SetPageScaleFactorAndLimits(float page_scale_factor,
page_scale_factor_ = page_scale_factor;
if (root_layer_scroll_offset_delegate_) {
- root_layer_scroll_offset_delegate_->SetTotalPageScaleFactorAndLimits(
+ root_layer_scroll_offset_delegate_->UpdateRootLayerState(
+ TotalScrollOffset(),
+ TotalMaxScrollOffset(),
+ ScrollableSize(),
total_page_scale_factor(),
this->min_page_scale_factor(),
this->max_page_scale_factor());
@@ -338,7 +338,10 @@ void LayerTreeImpl::SetPageScaleDelta(float delta) {
set_needs_update_draw_properties();
if (root_layer_scroll_offset_delegate_) {
- root_layer_scroll_offset_delegate_->SetTotalPageScaleFactorAndLimits(
+ root_layer_scroll_offset_delegate_->UpdateRootLayerState(
+ TotalScrollOffset(),
+ TotalMaxScrollOffset(),
+ ScrollableSize(),
total_page_scale_factor(),
min_page_scale_factor(),
max_page_scale_factor());
@@ -763,12 +766,10 @@ void LayerTreeImpl::SetRootLayerScrollOffsetDelegate(
root_layer_scroll_offset_delegate_ = root_layer_scroll_offset_delegate;
if (root_layer_scroll_offset_delegate_) {
- root_layer_scroll_offset_delegate_->SetTotalScrollOffset(
- TotalScrollOffset());
- root_layer_scroll_offset_delegate_->SetMaxScrollOffset(
- TotalMaxScrollOffset());
- root_layer_scroll_offset_delegate_->SetScrollableSize(ScrollableSize());
- root_layer_scroll_offset_delegate_->SetTotalPageScaleFactorAndLimits(
+ root_layer_scroll_offset_delegate_->UpdateRootLayerState(
+ TotalScrollOffset(),
+ TotalMaxScrollOffset(),
+ ScrollableSize(),
total_page_scale_factor(),
min_page_scale_factor(),
max_page_scale_factor());
@@ -803,9 +804,13 @@ void LayerTreeImpl::UpdateScrollOffsetDelegate() {
if (OuterViewportScrollLayer())
offset += outer_viewport_scroll_delegate_proxy_->last_set_scroll_offset();
- root_layer_scroll_offset_delegate_->SetTotalScrollOffset(offset);
- root_layer_scroll_offset_delegate_->SetMaxScrollOffset(
- TotalMaxScrollOffset());
+ root_layer_scroll_offset_delegate_->UpdateRootLayerState(
+ offset,
+ TotalMaxScrollOffset(),
+ ScrollableSize(),
+ total_page_scale_factor(),
+ min_page_scale_factor(),
+ max_page_scale_factor());
}
gfx::Vector2dF LayerTreeImpl::GetDelegatedScrollOffset(LayerImpl* layer) {

Powered by Google App Engine
This is Rietveld 408576698