OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |