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/animation.h" | 8 #include "cc/animation/animation.h" |
9 #include "cc/animation/animation_id_provider.h" | 9 #include "cc/animation/animation_id_provider.h" |
10 #include "cc/animation/keyframed_animation_curve.h" | 10 #include "cc/animation/keyframed_animation_curve.h" |
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
209 return; | 209 return; |
210 | 210 |
211 gfx::Vector2dF max_scroll = gfx::Rect(ScrollableSize()).bottom_right() - | 211 gfx::Vector2dF max_scroll = gfx::Rect(ScrollableSize()).bottom_right() - |
212 gfx::RectF(ScrollableViewportSize()).bottom_right(); | 212 gfx::RectF(ScrollableViewportSize()).bottom_right(); |
213 | 213 |
214 // The viewport may be larger than the contents in some cases, such as | 214 // The viewport may be larger than the contents in some cases, such as |
215 // having a vertical scrollbar but no horizontal overflow. | 215 // having a vertical scrollbar but no horizontal overflow. |
216 max_scroll.ClampToMin(gfx::Vector2dF()); | 216 max_scroll.ClampToMin(gfx::Vector2dF()); |
217 | 217 |
218 root_scroll_layer_->SetMaxScrollOffset(gfx::ToFlooredVector2d(max_scroll)); | 218 root_scroll_layer_->SetMaxScrollOffset(gfx::ToFlooredVector2d(max_scroll)); |
| 219 |
| 220 gfx::Vector2dF scrollable_viewport_size = |
| 221 gfx::RectF(ScrollableViewportSize()).bottom_right() - gfx::PointF(); |
| 222 gfx::Vector2dF original_scrollable_viewport_size = |
| 223 gfx::RectF(layer_tree_host_impl_->VisibleViewportSize()).bottom_right() - |
| 224 gfx::PointF(); |
| 225 original_scrollable_viewport_size.Scale(1 / page_scale_factor()); |
| 226 root_scroll_layer_->SetFixedContainerSizeDelta( |
| 227 scrollable_viewport_size - original_scrollable_viewport_size); |
219 } | 228 } |
220 | 229 |
221 gfx::Transform LayerTreeImpl::ImplTransform() const { | 230 gfx::Transform LayerTreeImpl::ImplTransform() const { |
222 gfx::Transform transform; | 231 gfx::Transform transform; |
223 transform.Scale(total_page_scale_factor(), total_page_scale_factor()); | 232 transform.Scale(total_page_scale_factor(), total_page_scale_factor()); |
224 return transform; | 233 return transform; |
225 } | 234 } |
226 | 235 |
227 void LayerTreeImpl::UpdateSolidColorScrollbars() { | 236 void LayerTreeImpl::UpdateSolidColorScrollbars() { |
228 DCHECK(settings().solidColorScrollbars); | 237 DCHECK(settings().solidColorScrollbars); |
(...skipping 426 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
655 StartFadeOutAnimation(PinchZoomScrollbarVertical()); | 664 StartFadeOutAnimation(PinchZoomScrollbarVertical()); |
656 } | 665 } |
657 | 666 |
658 bool LayerTreeImpl::HasPinchZoomScrollbars() const { | 667 bool LayerTreeImpl::HasPinchZoomScrollbars() const { |
659 return pinch_zoom_scrollbar_horizontal_layer_id_ != Layer::INVALID_ID && | 668 return pinch_zoom_scrollbar_horizontal_layer_id_ != Layer::INVALID_ID && |
660 pinch_zoom_scrollbar_vertical_layer_id_ != Layer::INVALID_ID; | 669 pinch_zoom_scrollbar_vertical_layer_id_ != Layer::INVALID_ID; |
661 } | 670 } |
662 | 671 |
663 | 672 |
664 } // namespace cc | 673 } // namespace cc |
OLD | NEW |