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

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

Issue 2611013002: Show Overlay Scrollbar when GestureScrollUpdate (Closed)
Patch Set: bokan comments addressed Created 3 years, 9 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
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_host_impl.h" 5 #include "cc/trees/layer_tree_host_impl.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 2838 matching lines...) Expand 10 before | Expand all | Expand 10 after
2849 2849
2850 InputHandler::ScrollStatus LayerTreeHostImpl::ScrollAnimated( 2850 InputHandler::ScrollStatus LayerTreeHostImpl::ScrollAnimated(
2851 const gfx::Point& viewport_point, 2851 const gfx::Point& viewport_point,
2852 const gfx::Vector2dF& scroll_delta, 2852 const gfx::Vector2dF& scroll_delta,
2853 base::TimeDelta delayed_by) { 2853 base::TimeDelta delayed_by) {
2854 InputHandler::ScrollStatus scroll_status; 2854 InputHandler::ScrollStatus scroll_status;
2855 scroll_status.main_thread_scrolling_reasons = 2855 scroll_status.main_thread_scrolling_reasons =
2856 MainThreadScrollingReason::kNotScrollingOnMain; 2856 MainThreadScrollingReason::kNotScrollingOnMain;
2857 ScrollTree& scroll_tree = active_tree_->property_trees()->scroll_tree; 2857 ScrollTree& scroll_tree = active_tree_->property_trees()->scroll_tree;
2858 ScrollNode* scroll_node = scroll_tree.CurrentlyScrollingNode(); 2858 ScrollNode* scroll_node = scroll_tree.CurrentlyScrollingNode();
2859
2860 LayerImpl* currently_scrolling_layer = CurrentlyScrollingLayer();
2861
2862 if (currently_scrolling_layer) {
2863 ScrollbarAnimationController* animation_controller =
2864 ScrollbarAnimationControllerForId(currently_scrolling_layer->id());
2865
2866 if (animation_controller)
2867 animation_controller->WillUpdateScroll();
2868 }
2869
2859 if (scroll_node) { 2870 if (scroll_node) {
2860 gfx::Vector2dF delta = scroll_delta; 2871 gfx::Vector2dF delta = scroll_delta;
2861 if (!scroll_node->user_scrollable_horizontal) 2872 if (!scroll_node->user_scrollable_horizontal)
2862 delta.set_x(0); 2873 delta.set_x(0);
2863 if (!scroll_node->user_scrollable_vertical) 2874 if (!scroll_node->user_scrollable_vertical)
2864 delta.set_y(0); 2875 delta.set_y(0);
2865 2876
2866 if (ScrollAnimationUpdateTarget(scroll_node, delta, delayed_by)) { 2877 if (ScrollAnimationUpdateTarget(scroll_node, delta, delayed_by)) {
2867 scroll_status.thread = SCROLL_ON_IMPL_THREAD; 2878 scroll_status.thread = SCROLL_ON_IMPL_THREAD;
2868 } else { 2879 } else {
(...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after
3135 scroll_state->set_scroll_chain_and_layer_tree(current_scroll_chain, 3146 scroll_state->set_scroll_chain_and_layer_tree(current_scroll_chain,
3136 active_tree()); 3147 active_tree());
3137 scroll_state->DistributeToScrollChainDescendant(); 3148 scroll_state->DistributeToScrollChainDescendant();
3138 } 3149 }
3139 3150
3140 InputHandlerScrollResult LayerTreeHostImpl::ScrollBy( 3151 InputHandlerScrollResult LayerTreeHostImpl::ScrollBy(
3141 ScrollState* scroll_state) { 3152 ScrollState* scroll_state) {
3142 DCHECK(scroll_state); 3153 DCHECK(scroll_state);
3143 3154
3144 TRACE_EVENT0("cc", "LayerTreeHostImpl::ScrollBy"); 3155 TRACE_EVENT0("cc", "LayerTreeHostImpl::ScrollBy");
3145 if (!CurrentlyScrollingLayer()) 3156
3157 LayerImpl* currently_scrolling_layer = CurrentlyScrollingLayer();
3158 if (!currently_scrolling_layer)
3146 return InputHandlerScrollResult(); 3159 return InputHandlerScrollResult();
3147 3160
3161 ScrollbarAnimationController* animation_controller =
3162 ScrollbarAnimationControllerForId(currently_scrolling_layer->id());
3163
3164 if (animation_controller)
3165 animation_controller->WillUpdateScroll();
3166
3148 float initial_top_controls_offset = 3167 float initial_top_controls_offset =
3149 browser_controls_offset_manager_->ControlsTopOffset(); 3168 browser_controls_offset_manager_->ControlsTopOffset();
3150 3169
3151 scroll_state->set_delta_consumed_for_scroll_sequence( 3170 scroll_state->set_delta_consumed_for_scroll_sequence(
3152 did_lock_scrolling_layer_); 3171 did_lock_scrolling_layer_);
3153 scroll_state->set_is_direct_manipulation(!wheel_scrolling_); 3172 scroll_state->set_is_direct_manipulation(!wheel_scrolling_);
3154 scroll_state->set_current_native_scrolling_node( 3173 scroll_state->set_current_native_scrolling_node(
3155 active_tree()->property_trees()->scroll_tree.CurrentlyScrollingNode()); 3174 active_tree()->property_trees()->scroll_tree.CurrentlyScrollingNode());
3156 3175
3157 DistributeScrollDelta(scroll_state); 3176 DistributeScrollDelta(scroll_state);
(...skipping 982 matching lines...) Expand 10 before | Expand all | Expand 10 after
4140 worker_context_visibility_ = 4159 worker_context_visibility_ =
4141 worker_context->CacheController()->ClientBecameVisible(); 4160 worker_context->CacheController()->ClientBecameVisible();
4142 } else { 4161 } else {
4143 worker_context->CacheController()->ClientBecameNotVisible( 4162 worker_context->CacheController()->ClientBecameNotVisible(
4144 std::move(worker_context_visibility_)); 4163 std::move(worker_context_visibility_));
4145 } 4164 }
4146 } 4165 }
4147 } 4166 }
4148 4167
4149 } // namespace cc 4168 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698