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

Side by Side Diff: cc/trees/layer_tree_impl.cc

Issue 23533051: [android_webview] Use a fraction to calculate scroll offset. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: revert changes from previous patch set as they break AwSettings tests Created 7 years, 2 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/trees/layer_tree_impl.h" 5 #include "cc/trees/layer_tree_impl.h"
6 6
7 #include "base/debug/trace_event.h" 7 #include "base/debug/trace_event.h"
8 #include "cc/animation/keyframed_animation_curve.h" 8 #include "cc/animation/keyframed_animation_curve.h"
9 #include "cc/animation/scrollbar_animation_controller.h" 9 #include "cc/animation/scrollbar_animation_controller.h"
10 #include "cc/debug/traced_value.h" 10 #include "cc/debug/traced_value.h"
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
182 } 182 }
183 183
184 void LayerTreeImpl::SetPageScaleFactorAndLimits(float page_scale_factor, 184 void LayerTreeImpl::SetPageScaleFactorAndLimits(float page_scale_factor,
185 float min_page_scale_factor, float max_page_scale_factor) { 185 float min_page_scale_factor, float max_page_scale_factor) {
186 if (!page_scale_factor) 186 if (!page_scale_factor)
187 return; 187 return;
188 188
189 min_page_scale_factor_ = min_page_scale_factor; 189 min_page_scale_factor_ = min_page_scale_factor;
190 max_page_scale_factor_ = max_page_scale_factor; 190 max_page_scale_factor_ = max_page_scale_factor;
191 page_scale_factor_ = page_scale_factor; 191 page_scale_factor_ = page_scale_factor;
192
193 if (root_layer_scroll_offset_delegate_)
194 root_layer_scroll_offset_delegate_->SetPageScaleFactor(page_scale_factor_);
192 } 195 }
193 196
194 void LayerTreeImpl::SetPageScaleDelta(float delta) { 197 void LayerTreeImpl::SetPageScaleDelta(float delta) {
195 // Clamp to the current min/max limits. 198 // Clamp to the current min/max limits.
196 float total = page_scale_factor_ * delta; 199 float total = page_scale_factor_ * delta;
197 if (min_page_scale_factor_ && total < min_page_scale_factor_) 200 if (min_page_scale_factor_ && total < min_page_scale_factor_)
198 delta = min_page_scale_factor_ / page_scale_factor_; 201 delta = min_page_scale_factor_ / page_scale_factor_;
199 else if (max_page_scale_factor_ && total > max_page_scale_factor_) 202 else if (max_page_scale_factor_ && total > max_page_scale_factor_)
200 delta = max_page_scale_factor_ / page_scale_factor_; 203 delta = max_page_scale_factor_ / page_scale_factor_;
201 204
(...skipping 391 matching lines...) Expand 10 before | Expand all | Expand 10 after
593 render_surface_layer_list->Append(TracedValue::CreateIDRef(*it).release()); 596 render_surface_layer_list->Append(TracedValue::CreateIDRef(*it).release());
594 } 597 }
595 598
596 state->Set("render_surface_layer_list", 599 state->Set("render_surface_layer_list",
597 render_surface_layer_list.release()); 600 render_surface_layer_list.release());
598 return state.PassAs<base::Value>(); 601 return state.PassAs<base::Value>();
599 } 602 }
600 603
601 void LayerTreeImpl::SetRootLayerScrollOffsetDelegate( 604 void LayerTreeImpl::SetRootLayerScrollOffsetDelegate(
602 LayerScrollOffsetDelegate* root_layer_scroll_offset_delegate) { 605 LayerScrollOffsetDelegate* root_layer_scroll_offset_delegate) {
606 if (root_layer_scroll_offset_delegate_ == root_layer_scroll_offset_delegate)
607 return;
608
603 root_layer_scroll_offset_delegate_ = root_layer_scroll_offset_delegate; 609 root_layer_scroll_offset_delegate_ = root_layer_scroll_offset_delegate;
610
604 if (root_scroll_layer_) { 611 if (root_scroll_layer_) {
605 root_scroll_layer_->SetScrollOffsetDelegate( 612 root_scroll_layer_->SetScrollOffsetDelegate(
606 root_layer_scroll_offset_delegate_); 613 root_layer_scroll_offset_delegate_);
607 } 614 }
615
616 if (root_layer_scroll_offset_delegate_) {
617 root_layer_scroll_offset_delegate_->SetScrollableSize(ScrollableSize());
618 root_layer_scroll_offset_delegate_->SetPageScaleFactor(page_scale_factor_);
619 }
608 } 620 }
609 621
610 void LayerTreeImpl::UpdateRootScrollLayerSizeDelta() { 622 void LayerTreeImpl::UpdateRootScrollLayerSizeDelta() {
611 LayerImpl* root_scroll = RootScrollLayer(); 623 LayerImpl* root_scroll = RootScrollLayer();
612 LayerImpl* root_container = RootContainerLayer(); 624 LayerImpl* root_container = RootContainerLayer();
613 DCHECK(root_scroll); 625 DCHECK(root_scroll);
614 DCHECK(root_container); 626 DCHECK(root_container);
615 DCHECK(IsActiveTree()); 627 DCHECK(IsActiveTree());
616 628
617 gfx::Vector2dF scrollable_viewport_size = 629 gfx::Vector2dF scrollable_viewport_size =
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
703 const std::vector<LayerImpl*> LayerTreeImpl::LayersWithCopyOutputRequest() 715 const std::vector<LayerImpl*> LayerTreeImpl::LayersWithCopyOutputRequest()
704 const { 716 const {
705 // Only the active tree needs to know about layers with copy requests, as 717 // Only the active tree needs to know about layers with copy requests, as
706 // they are aborted if not serviced during draw. 718 // they are aborted if not serviced during draw.
707 DCHECK(IsActiveTree()); 719 DCHECK(IsActiveTree());
708 720
709 return layers_with_copy_output_request_; 721 return layers_with_copy_output_request_;
710 } 722 }
711 723
712 } // namespace cc 724 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_host_impl_unittest.cc ('k') | content/browser/android/in_process/synchronous_compositor_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698