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

Unified Diff: cc/trees/layer_tree_host_impl.h

Issue 2194833002: Overscroll and Elasticity for views::ScrollView Base URL: https://chromium.googlesource.com/chromium/src.git@20160728-MacViews-RouteThroughInputHandler
Patch Set: Restore functionality and fix bugs \o/ Created 4 years, 1 month 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/trees/layer_tree_host_common_unittest.cc ('k') | cc/trees/layer_tree_host_impl.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/trees/layer_tree_host_impl.h
diff --git a/cc/trees/layer_tree_host_impl.h b/cc/trees/layer_tree_host_impl.h
index e0539a66a9795e96a95a458d82c763cae76d963e..4ecf73941a079a37da62796f9f61e2dec2a1a7cd 100644
--- a/cc/trees/layer_tree_host_impl.h
+++ b/cc/trees/layer_tree_host_impl.h
@@ -200,7 +200,9 @@ class CC_EXPORT LayerTreeHostImpl
bool DoTouchEventsBlockScrollAt(const gfx::Point& viewport_port) override;
std::unique_ptr<SwapPromiseMonitor> CreateLatencyInfoSwapPromiseMonitor(
ui::LatencyInfo* latency) override;
- ScrollElasticityHelper* CreateScrollElasticityHelper() override;
+ ScrollElasticityHelper* CreateRootScrollElasticityHelper() override;
+ base::WeakPtr<ScrollElasticityHelper>
+ ScrollElasticityHelperForScrollingLayer() override;
bool GetScrollOffsetForLayer(int layer_id,
gfx::ScrollOffset* offset) override;
bool ScrollLayerTo(int layer_id, const gfx::ScrollOffset& offset) override;
@@ -328,6 +330,10 @@ class CC_EXPORT LayerTreeHostImpl
ScrollbarAnimationController* ScrollbarAnimationControllerForId(
int scroll_layer_id) const;
+ void RegisterScrollElasticityHelper(int scroll_layer_id);
+ void UnregisterScrollElasticityHelper(int scroll_layer_id);
+ ScrollElasticityHelper* ScrollElasticityHelperForId(int scroll_layer_id);
+
DrawMode GetDrawMode() const;
// Viewport size in draw space: this size is in physical pixels and is used
@@ -750,7 +756,7 @@ class CC_EXPORT LayerTreeHostImpl
// An object to implement the ScrollElasticityHelper interface and
// hold all state related to elasticity. May be NULL if never requested.
- std::unique_ptr<ScrollElasticityHelper> scroll_elasticity_helper_;
+ std::unique_ptr<ScrollElasticityHelper> root_scroll_elasticity_helper_;
bool tile_priorities_dirty_;
@@ -806,6 +812,10 @@ class CC_EXPORT LayerTreeHostImpl
std::unordered_map<int, std::unique_ptr<ScrollbarAnimationController>>
scrollbar_animation_controllers_;
+ // Map from scroll layer ID to elasticity helper.
+ std::unordered_map<int, std::unique_ptr<ScrollElasticityHelper>>
+ scroll_elasticity_helpers_;
+
RenderingStatsInstrumentation* rendering_stats_instrumentation_;
MicroBenchmarkControllerImpl micro_benchmark_controller_;
std::unique_ptr<SynchronousTaskGraphRunner>
« no previous file with comments | « cc/trees/layer_tree_host_common_unittest.cc ('k') | cc/trees/layer_tree_host_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698