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/layer_impl.h" | 5 #include "cc/layer_impl.h" |
6 | 6 |
7 #include "base/debug/trace_event.h" | 7 #include "base/debug/trace_event.h" |
8 #include "base/stringprintf.h" | 8 #include "base/stringprintf.h" |
9 #include "base/values.h" | 9 #include "base/values.h" |
10 #include "cc/animation_registrar.h" | 10 #include "cc/animation_registrar.h" |
(...skipping 797 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
808 if (vertical_scrollbar_layer_) { | 808 if (vertical_scrollbar_layer_) { |
809 vertical_scrollbar_layer_->SetCurrentPos(current_offset.y()); | 809 vertical_scrollbar_layer_->SetCurrentPos(current_offset.y()); |
810 vertical_scrollbar_layer_->SetTotalSize(bounds_.height()); | 810 vertical_scrollbar_layer_->SetTotalSize(bounds_.height()); |
811 vertical_scrollbar_layer_->SetMaximum(max_scroll_offset_.y()); | 811 vertical_scrollbar_layer_->SetMaximum(max_scroll_offset_.y()); |
812 } | 812 } |
813 | 813 |
814 if (current_offset == last_scroll_offset_) | 814 if (current_offset == last_scroll_offset_) |
815 return; | 815 return; |
816 last_scroll_offset_ = current_offset; | 816 last_scroll_offset_ = current_offset; |
817 | 817 |
818 if (scrollbar_animation_controller_) { | 818 if (scrollbar_animation_controller_ && |
819 scrollbar_animation_controller_->didUpdateScrollOffset( | 819 !scrollbar_animation_controller_->isScrollGestureInProgress()) { |
| 820 scrollbar_animation_controller_->didProgrammaticallyUpdateScroll( |
820 base::TimeTicks::Now()); | 821 base::TimeTicks::Now()); |
821 } | 822 } |
822 | 823 |
823 // Get the current_offset_.y() value for a sanity-check on scrolling | 824 // Get the current_offset_.y() value for a sanity-check on scrolling |
824 // benchmark metrics. Specifically, we want to make sure | 825 // benchmark metrics. Specifically, we want to make sure |
825 // BasicMouseWheelSmoothScrollGesture has proper scroll curves. | 826 // BasicMouseWheelSmoothScrollGesture has proper scroll curves. |
826 if (layer_tree_impl()->IsActiveTree()) { | 827 if (layer_tree_impl()->IsActiveTree()) { |
827 TRACE_COUNTER_ID1("gpu", "scroll_offset_y", this->id(), current_offset.y()); | 828 TRACE_COUNTER_ID1("gpu", "scroll_offset_y", this->id(), current_offset.y()); |
828 } | 829 } |
829 } | 830 } |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
899 | 900 |
900 void LayerImpl::SetScrollbarOpacity(float opacity) { | 901 void LayerImpl::SetScrollbarOpacity(float opacity) { |
901 if (horizontal_scrollbar_layer_) | 902 if (horizontal_scrollbar_layer_) |
902 horizontal_scrollbar_layer_->SetOpacity(opacity); | 903 horizontal_scrollbar_layer_->SetOpacity(opacity); |
903 if (vertical_scrollbar_layer_) | 904 if (vertical_scrollbar_layer_) |
904 vertical_scrollbar_layer_->SetOpacity(opacity); | 905 vertical_scrollbar_layer_->SetOpacity(opacity); |
905 } | 906 } |
906 | 907 |
907 inline scoped_ptr<ScrollbarAnimationController> | 908 inline scoped_ptr<ScrollbarAnimationController> |
908 CreateScrollbarAnimationControllerWithFade(LayerImpl* layer) { | 909 CreateScrollbarAnimationControllerWithFade(LayerImpl* layer) { |
909 double fadeout_delay = 0.3; | 910 base::TimeDelta fadeout_delay = base::TimeDelta::FromMilliseconds(300); |
910 double fadeout_length = 0.3; | 911 base::TimeDelta fadeout_length = base::TimeDelta::FromMilliseconds(300); |
911 return ScrollbarAnimationControllerLinearFade::create( | 912 return ScrollbarAnimationControllerLinearFade::create( |
912 layer, fadeout_delay, fadeout_length) | 913 layer, fadeout_delay, fadeout_length) |
913 .PassAs<ScrollbarAnimationController>(); | 914 .PassAs<ScrollbarAnimationController>(); |
914 } | 915 } |
915 | 916 |
916 void LayerImpl::DidBecomeActive() { | 917 void LayerImpl::DidBecomeActive() { |
917 if (!layer_tree_impl_->settings().useLinearFadeScrollbarAnimator) | 918 if (!layer_tree_impl_->settings().useLinearFadeScrollbarAnimator) |
918 return; | 919 return; |
919 | 920 |
920 bool need_scrollbar_animation_controller = horizontal_scrollbar_layer_ || | 921 bool need_scrollbar_animation_controller = horizontal_scrollbar_layer_ || |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
956 | 957 |
957 } | 958 } |
958 | 959 |
959 scoped_ptr<base::Value> LayerImpl::AsValue() const { | 960 scoped_ptr<base::Value> LayerImpl::AsValue() const { |
960 scoped_ptr<base::DictionaryValue> state(new base::DictionaryValue()); | 961 scoped_ptr<base::DictionaryValue> state(new base::DictionaryValue()); |
961 AsValueInto(state.get()); | 962 AsValueInto(state.get()); |
962 return state.PassAs<base::Value>(); | 963 return state.PassAs<base::Value>(); |
963 } | 964 } |
964 | 965 |
965 } // namespace cc | 966 } // namespace cc |
OLD | NEW |