| 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 #ifndef CC_TREES_LAYER_TREE_HOST_IMPL_H_ | 5 #ifndef CC_TREES_LAYER_TREE_HOST_IMPL_H_ |
| 6 #define CC_TREES_LAYER_TREE_HOST_IMPL_H_ | 6 #define CC_TREES_LAYER_TREE_HOST_IMPL_H_ |
| 7 | 7 |
| 8 #include <stddef.h> | 8 #include <stddef.h> |
| 9 | 9 |
| 10 #include <bitset> | 10 #include <bitset> |
| (...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 163 | 163 |
| 164 // InputHandler implementation | 164 // InputHandler implementation |
| 165 void BindToClient(InputHandlerClient* client, | 165 void BindToClient(InputHandlerClient* client, |
| 166 bool wheel_scroll_latching_enabled) override; | 166 bool wheel_scroll_latching_enabled) override; |
| 167 InputHandler::ScrollStatus ScrollBegin( | 167 InputHandler::ScrollStatus ScrollBegin( |
| 168 ScrollState* scroll_state, | 168 ScrollState* scroll_state, |
| 169 InputHandler::ScrollInputType type) override; | 169 InputHandler::ScrollInputType type) override; |
| 170 InputHandler::ScrollStatus RootScrollBegin( | 170 InputHandler::ScrollStatus RootScrollBegin( |
| 171 ScrollState* scroll_state, | 171 ScrollState* scroll_state, |
| 172 InputHandler::ScrollInputType type) override; | 172 InputHandler::ScrollInputType type) override; |
| 173 ScrollStatus ScrollAnimatedBegin(const gfx::Point& viewport_point) override; | 173 ScrollStatus ScrollAnimatedBegin(ScrollState* scroll_state) override; |
| 174 InputHandler::ScrollStatus ScrollAnimated( | 174 InputHandler::ScrollStatus ScrollAnimated( |
| 175 const gfx::Point& viewport_point, | 175 const gfx::Point& viewport_point, |
| 176 const gfx::Vector2dF& scroll_delta, | 176 const gfx::Vector2dF& scroll_delta, |
| 177 base::TimeDelta delayed_by = base::TimeDelta()) override; | 177 base::TimeDelta delayed_by = base::TimeDelta()) override; |
| 178 void ApplyScroll(ScrollNode* scroll_node, ScrollState* scroll_state); | 178 void ApplyScroll(ScrollNode* scroll_node, ScrollState* scroll_state); |
| 179 InputHandlerScrollResult ScrollBy(ScrollState* scroll_state) override; | 179 InputHandlerScrollResult ScrollBy(ScrollState* scroll_state) override; |
| 180 void RequestUpdateForSynchronousInputHandler() override; | 180 void RequestUpdateForSynchronousInputHandler() override; |
| 181 void SetSynchronousInputHandlerRootScrollOffset( | 181 void SetSynchronousInputHandlerRootScrollOffset( |
| 182 const gfx::ScrollOffset& root_offset) override; | 182 const gfx::ScrollOffset& root_offset) override; |
| 183 void ScrollEnd(ScrollState* scroll_state) override; | 183 void ScrollEnd(ScrollState* scroll_state) override; |
| (...skipping 443 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 627 | 627 |
| 628 // Removes empty or orphan RenderPasses from the frame. | 628 // Removes empty or orphan RenderPasses from the frame. |
| 629 static void RemoveRenderPasses(FrameData* frame); | 629 static void RemoveRenderPasses(FrameData* frame); |
| 630 | 630 |
| 631 LayerTreeHostImplClient* client_; | 631 LayerTreeHostImplClient* client_; |
| 632 TaskRunnerProvider* task_runner_provider_; | 632 TaskRunnerProvider* task_runner_provider_; |
| 633 | 633 |
| 634 BeginFrameTracker current_begin_frame_tracker_; | 634 BeginFrameTracker current_begin_frame_tracker_; |
| 635 | 635 |
| 636 private: | 636 private: |
| 637 // Transforms viewport start point and scroll delta to local start point and |
| 638 // local delta, respectively. If the transformation of either the start or end |
| 639 // point of a scroll is clipped, the function returns false. |
| 640 bool CalculateLocalScrollDeltaAndStartPoint( |
| 641 const ScrollNode& scroll_node, |
| 642 const gfx::PointF& viewport_point, |
| 643 const gfx::Vector2dF& viewport_delta, |
| 644 const ScrollTree& scroll_tree, |
| 645 gfx::Vector2dF* out_local_scroll_delta, |
| 646 gfx::PointF* out_local_start_point = nullptr); |
| 637 gfx::Vector2dF ScrollNodeWithViewportSpaceDelta( | 647 gfx::Vector2dF ScrollNodeWithViewportSpaceDelta( |
| 638 ScrollNode* scroll_node, | 648 ScrollNode* scroll_node, |
| 639 const gfx::PointF& viewport_point, | 649 const gfx::PointF& viewport_point, |
| 640 const gfx::Vector2dF& viewport_delta, | 650 const gfx::Vector2dF& viewport_delta, |
| 641 ScrollTree* scroll_tree); | 651 ScrollTree* scroll_tree); |
| 642 | 652 |
| 643 void CleanUpTileManagerAndUIResources(); | 653 void CleanUpTileManagerAndUIResources(); |
| 644 void CreateTileManagerResources(); | 654 void CreateTileManagerResources(); |
| 645 void ReleaseTreeResources(); | 655 void ReleaseTreeResources(); |
| 646 void ReleaseTileResources(); | 656 void ReleaseTileResources(); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 658 void UpdateTreeResourcesForGpuRasterizationIfNeeded(); | 668 void UpdateTreeResourcesForGpuRasterizationIfNeeded(); |
| 659 | 669 |
| 660 Viewport* viewport() const { return viewport_.get(); } | 670 Viewport* viewport() const { return viewport_.get(); } |
| 661 | 671 |
| 662 InputHandler::ScrollStatus ScrollBeginImpl( | 672 InputHandler::ScrollStatus ScrollBeginImpl( |
| 663 ScrollState* scroll_state, | 673 ScrollState* scroll_state, |
| 664 ScrollNode* scrolling_node, | 674 ScrollNode* scrolling_node, |
| 665 InputHandler::ScrollInputType type); | 675 InputHandler::ScrollInputType type); |
| 666 bool IsInitialScrollHitTestReliable(LayerImpl* layer, const gfx::PointF&); | 676 bool IsInitialScrollHitTestReliable(LayerImpl* layer, const gfx::PointF&); |
| 667 void DistributeScrollDelta(ScrollState* scroll_state); | 677 void DistributeScrollDelta(ScrollState* scroll_state); |
| 678 bool CanConsumeDelta(ScrollNode* scroll_node, |
| 679 const ScrollState& scroll_state); |
| 668 | 680 |
| 669 bool AnimatePageScale(base::TimeTicks monotonic_time); | 681 bool AnimatePageScale(base::TimeTicks monotonic_time); |
| 670 bool AnimateScrollbars(base::TimeTicks monotonic_time); | 682 bool AnimateScrollbars(base::TimeTicks monotonic_time); |
| 671 bool AnimateBrowserControls(base::TimeTicks monotonic_time); | 683 bool AnimateBrowserControls(base::TimeTicks monotonic_time); |
| 672 | 684 |
| 673 void UpdateTileManagerMemoryPolicy(const ManagedMemoryPolicy& policy); | 685 void UpdateTileManagerMemoryPolicy(const ManagedMemoryPolicy& policy); |
| 674 | 686 |
| 675 // This function should only be called from PrepareToDraw, as DidDrawAllLayers | 687 // This function should only be called from PrepareToDraw, as DidDrawAllLayers |
| 676 // must be called if this helper function is called. Returns DRAW_SUCCESS if | 688 // must be called if this helper function is called. Returns DRAW_SUCCESS if |
| 677 // the frame should be drawn. | 689 // the frame should be drawn. |
| (...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 882 bool touchpad_and_wheel_scroll_latching_enabled_; | 894 bool touchpad_and_wheel_scroll_latching_enabled_; |
| 883 | 895 |
| 884 ImplThreadPhase impl_thread_phase_; | 896 ImplThreadPhase impl_thread_phase_; |
| 885 | 897 |
| 886 DISALLOW_COPY_AND_ASSIGN(LayerTreeHostImpl); | 898 DISALLOW_COPY_AND_ASSIGN(LayerTreeHostImpl); |
| 887 }; | 899 }; |
| 888 | 900 |
| 889 } // namespace cc | 901 } // namespace cc |
| 890 | 902 |
| 891 #endif // CC_TREES_LAYER_TREE_HOST_IMPL_H_ | 903 #endif // CC_TREES_LAYER_TREE_HOST_IMPL_H_ |
| OLD | NEW |