| 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_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 2545 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2556 DCHECK(scroll_on_main_thread); | 2556 DCHECK(scroll_on_main_thread); |
| 2557 DCHECK(main_thread_scrolling_reasons); | 2557 DCHECK(main_thread_scrolling_reasons); |
| 2558 *main_thread_scrolling_reasons = | 2558 *main_thread_scrolling_reasons = |
| 2559 MainThreadScrollingReason::kNotScrollingOnMain; | 2559 MainThreadScrollingReason::kNotScrollingOnMain; |
| 2560 | 2560 |
| 2561 // Walk up the hierarchy and look for a scrollable layer. | 2561 // Walk up the hierarchy and look for a scrollable layer. |
| 2562 LayerImpl* potentially_scrolling_layer_impl = NULL; | 2562 LayerImpl* potentially_scrolling_layer_impl = NULL; |
| 2563 if (layer_impl) { | 2563 if (layer_impl) { |
| 2564 ScrollTree& scroll_tree = active_tree_->property_trees()->scroll_tree; | 2564 ScrollTree& scroll_tree = active_tree_->property_trees()->scroll_tree; |
| 2565 ScrollNode* scroll_node = scroll_tree.Node(layer_impl->scroll_tree_index()); | 2565 ScrollNode* scroll_node = scroll_tree.Node(layer_impl->scroll_tree_index()); |
| 2566 for (; scroll_tree.parent(scroll_node); | 2566 for (; scroll_node; scroll_node = scroll_tree.parent(scroll_node)) { |
| 2567 scroll_node = scroll_tree.parent(scroll_node)) { | |
| 2568 // The content layer can also block attempts to scroll outside the main | 2567 // The content layer can also block attempts to scroll outside the main |
| 2569 // thread. | 2568 // thread. |
| 2570 ScrollStatus status = | 2569 ScrollStatus status = |
| 2571 TryScroll(device_viewport_point, type, scroll_tree, scroll_node); | 2570 TryScroll(device_viewport_point, type, scroll_tree, scroll_node); |
| 2572 if (status.thread == SCROLL_ON_MAIN_THREAD) { | 2571 if (status.thread == SCROLL_ON_MAIN_THREAD) { |
| 2573 if (!!scroll_node->data.main_thread_scrolling_reasons) { | 2572 if (!!scroll_node->data.main_thread_scrolling_reasons) { |
| 2574 DCHECK(MainThreadScrollingReason::MainThreadCanSetScrollReasons( | 2573 DCHECK(MainThreadScrollingReason::MainThreadCanSetScrollReasons( |
| 2575 status.main_thread_scrolling_reasons)); | 2574 status.main_thread_scrolling_reasons)); |
| 2576 } else { | 2575 } else { |
| 2577 DCHECK(MainThreadScrollingReason::CompositorCanSetScrollReasons( | 2576 DCHECK(MainThreadScrollingReason::CompositorCanSetScrollReasons( |
| (...skipping 1451 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4029 const { | 4028 const { |
| 4030 return fixed_raster_scale_attempted_scale_change_history_.count() >= | 4029 return fixed_raster_scale_attempted_scale_change_history_.count() >= |
| 4031 kFixedRasterScaleAttemptedScaleChangeThreshold; | 4030 kFixedRasterScaleAttemptedScaleChangeThreshold; |
| 4032 } | 4031 } |
| 4033 | 4032 |
| 4034 void LayerTreeHostImpl::SetFixedRasterScaleAttemptedToChangeScale() { | 4033 void LayerTreeHostImpl::SetFixedRasterScaleAttemptedToChangeScale() { |
| 4035 fixed_raster_scale_attempted_scale_change_history_.set(0); | 4034 fixed_raster_scale_attempted_scale_change_history_.set(0); |
| 4036 } | 4035 } |
| 4037 | 4036 |
| 4038 } // namespace cc | 4037 } // namespace cc |
| OLD | NEW |