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

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

Issue 2040543002: Take MT jank into account when animating the scroll offset on CC (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Review feedback from tdresser@ Created 4 years, 3 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 #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 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
164 void BindToClient(InputHandlerClient* client) override; 164 void BindToClient(InputHandlerClient* client) override;
165 InputHandler::ScrollStatus ScrollBegin( 165 InputHandler::ScrollStatus ScrollBegin(
166 ScrollState* scroll_state, 166 ScrollState* scroll_state,
167 InputHandler::ScrollInputType type) override; 167 InputHandler::ScrollInputType type) override;
168 InputHandler::ScrollStatus RootScrollBegin( 168 InputHandler::ScrollStatus RootScrollBegin(
169 ScrollState* scroll_state, 169 ScrollState* scroll_state,
170 InputHandler::ScrollInputType type) override; 170 InputHandler::ScrollInputType type) override;
171 ScrollStatus ScrollAnimatedBegin(const gfx::Point& viewport_point) override; 171 ScrollStatus ScrollAnimatedBegin(const gfx::Point& viewport_point) override;
172 InputHandler::ScrollStatus ScrollAnimated( 172 InputHandler::ScrollStatus ScrollAnimated(
173 const gfx::Point& viewport_point, 173 const gfx::Point& viewport_point,
174 const gfx::Vector2dF& scroll_delta) override; 174 const gfx::Vector2dF& scroll_delta,
175 base::TimeDelta delay_in_second = base::TimeDelta()) override;
tdresser 2016/08/29 15:28:28 delayed_by?
ymalik 2016/08/29 23:44:05 Thanks!
175 void ApplyScroll(ScrollNode* scroll_node, ScrollState* scroll_state); 176 void ApplyScroll(ScrollNode* scroll_node, ScrollState* scroll_state);
176 InputHandlerScrollResult ScrollBy(ScrollState* scroll_state) override; 177 InputHandlerScrollResult ScrollBy(ScrollState* scroll_state) override;
177 bool ScrollVerticallyByPage(const gfx::Point& viewport_point, 178 bool ScrollVerticallyByPage(const gfx::Point& viewport_point,
178 ScrollDirection direction) override; 179 ScrollDirection direction) override;
179 void RequestUpdateForSynchronousInputHandler() override; 180 void RequestUpdateForSynchronousInputHandler() override;
180 void SetSynchronousInputHandlerRootScrollOffset( 181 void SetSynchronousInputHandlerRootScrollOffset(
181 const gfx::ScrollOffset& root_offset) override; 182 const gfx::ScrollOffset& root_offset) override;
182 void ScrollEnd(ScrollState* scroll_state) override; 183 void ScrollEnd(ScrollState* scroll_state) override;
183 InputHandler::ScrollStatus FlingScrollBegin() override; 184 InputHandler::ScrollStatus FlingScrollBegin() override;
184 void MouseMoveAt(const gfx::Point& viewport_point) override; 185 void MouseMoveAt(const gfx::Point& viewport_point) override;
(...skipping 412 matching lines...) Expand 10 before | Expand all | Expand 10 after
597 } 598 }
598 599
599 InputHandler::ScrollStatus TryScroll(const gfx::PointF& screen_space_point, 600 InputHandler::ScrollStatus TryScroll(const gfx::PointF& screen_space_point,
600 InputHandler::ScrollInputType type, 601 InputHandler::ScrollInputType type,
601 const ScrollTree& scroll_tree, 602 const ScrollTree& scroll_tree,
602 ScrollNode* scroll_node) const; 603 ScrollNode* scroll_node) const;
603 604
604 // Returns true if a scroll offset animation is created and false if we scroll 605 // Returns true if a scroll offset animation is created and false if we scroll
605 // by the desired amount without an animation. 606 // by the desired amount without an animation.
606 bool ScrollAnimationCreate(ScrollNode* scroll_node, 607 bool ScrollAnimationCreate(ScrollNode* scroll_node,
607 const gfx::Vector2dF& scroll_amount); 608 const gfx::Vector2dF& scroll_amount,
609 base::TimeDelta delayed_by);
608 610
609 void SetLayerTreeMutator(std::unique_ptr<LayerTreeMutator> mutator); 611 void SetLayerTreeMutator(std::unique_ptr<LayerTreeMutator> mutator);
610 LayerTreeMutator* mutator() { return mutator_.get(); } 612 LayerTreeMutator* mutator() { return mutator_.get(); }
611 613
612 protected: 614 protected:
613 LayerTreeHostImpl( 615 LayerTreeHostImpl(
614 const LayerTreeSettings& settings, 616 const LayerTreeSettings& settings,
615 LayerTreeHostImplClient* client, 617 LayerTreeHostImplClient* client,
616 TaskRunnerProvider* task_runner_provider, 618 TaskRunnerProvider* task_runner_provider,
617 RenderingStatsInstrumentation* rendering_stats_instrumentation, 619 RenderingStatsInstrumentation* rendering_stats_instrumentation,
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
703 void ClearUIResources(); 705 void ClearUIResources();
704 706
705 void NotifySwapPromiseMonitorsOfSetNeedsRedraw(); 707 void NotifySwapPromiseMonitorsOfSetNeedsRedraw();
706 void NotifySwapPromiseMonitorsOfForwardingToMainThread(); 708 void NotifySwapPromiseMonitorsOfForwardingToMainThread();
707 709
708 void UpdateRootLayerStateForSynchronousInputHandler(); 710 void UpdateRootLayerStateForSynchronousInputHandler();
709 711
710 void ScrollAnimationAbort(LayerImpl* layer_impl); 712 void ScrollAnimationAbort(LayerImpl* layer_impl);
711 713
712 bool ScrollAnimationUpdateTarget(ScrollNode* scroll_node, 714 bool ScrollAnimationUpdateTarget(ScrollNode* scroll_node,
713 const gfx::Vector2dF& scroll_delta); 715 const gfx::Vector2dF& scroll_delta,
716 base::TimeDelta delayed_by);
714 717
715 using UIResourceMap = std::unordered_map<UIResourceId, UIResourceData>; 718 using UIResourceMap = std::unordered_map<UIResourceId, UIResourceData>;
716 UIResourceMap ui_resource_map_; 719 UIResourceMap ui_resource_map_;
717 720
718 // Resources that were evicted by EvictAllUIResources. Resources are removed 721 // Resources that were evicted by EvictAllUIResources. Resources are removed
719 // from this when they are touched by a create or destroy from the UI resource 722 // from this when they are touched by a create or destroy from the UI resource
720 // request queue. 723 // request queue.
721 std::set<UIResourceId> evicted_ui_resources_; 724 std::set<UIResourceId> evicted_ui_resources_;
722 725
723 OutputSurface* output_surface_; 726 OutputSurface* output_surface_;
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
840 843
841 std::unique_ptr<PendingTreeDurationHistogramTimer> 844 std::unique_ptr<PendingTreeDurationHistogramTimer>
842 pending_tree_duration_timer_; 845 pending_tree_duration_timer_;
843 846
844 DISALLOW_COPY_AND_ASSIGN(LayerTreeHostImpl); 847 DISALLOW_COPY_AND_ASSIGN(LayerTreeHostImpl);
845 }; 848 };
846 849
847 } // namespace cc 850 } // namespace cc
848 851
849 #endif // CC_TREES_LAYER_TREE_HOST_IMPL_H_ 852 #endif // CC_TREES_LAYER_TREE_HOST_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698