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

Unified Diff: cc/trees/layer_tree_host_impl.h

Issue 986443003: Move viewport scrolling logic into separate class (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 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 side-by-side diff with in-line comments
Download patch
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 2efe2dab6196301fe3cad01b49ba2ac36950010b..388de5ea2f57dd127eb260fac06e89b76d6d8614 100644
--- a/cc/trees/layer_tree_host_impl.h
+++ b/cc/trees/layer_tree_host_impl.h
@@ -73,6 +73,7 @@ class TopControlsManager;
class UIResourceBitmap;
class UIResourceRequest;
struct ScrollAndScaleSet;
+class Viewport;
enum class GpuRasterizationStatus {
ON,
@@ -524,6 +525,11 @@ class CC_EXPORT LayerTreeHostImpl
return frame_timing_tracker_.get();
}
+ gfx::Vector2dF ScrollLayer(LayerImpl* layer_impl,
+ const gfx::Vector2dF& delta,
+ const gfx::Point& viewport_point,
+ bool is_wheel_scroll);
+
protected:
LayerTreeHostImpl(
const LayerTreeSettings& settings,
@@ -546,6 +552,11 @@ class CC_EXPORT LayerTreeHostImpl
Proxy* proxy_;
private:
+ gfx::Vector2dF ScrollLayerWithViewportSpaceDelta(
+ LayerImpl* layer_impl,
+ const gfx::PointF& viewport_point,
+ const gfx::Vector2dF& viewport_delta);
+
void CreateAndSetRenderer();
void CreateAndSetTileManager();
void DestroyTileManager();
@@ -555,6 +566,8 @@ class CC_EXPORT LayerTreeHostImpl
bool IsSynchronousSingleThreaded() const;
+ Viewport* viewport() { return viewport_.get(); }
+
// Scroll by preferring to move the outer viewport first, only moving the
// inner if the outer is at its scroll extents.
void ScrollViewportBy(gfx::Vector2dF scroll_delta);
@@ -565,14 +578,6 @@ class CC_EXPORT LayerTreeHostImpl
void AnimateScrollbars(base::TimeTicks monotonic_time);
void AnimateTopControls(base::TimeTicks monotonic_time);
- bool ShouldTopControlsConsumeScroll(const gfx::Vector2dF& scroll_delta) const;
-
- gfx::Vector2dF ScrollLayerWithViewportSpaceDelta(
- LayerImpl* layer_impl,
- float scale_from_viewport_to_screen_space,
- const gfx::PointF& viewport_point,
- const gfx::Vector2dF& viewport_delta);
-
void TrackDamageForAllSurfaces(
LayerImpl* root_draw_layer,
const LayerImplList& render_surface_layer_list);
@@ -747,6 +752,8 @@ class CC_EXPORT LayerTreeHostImpl
scoped_ptr<FrameTimingTracker> frame_timing_tracker_;
+ scoped_ptr<Viewport> viewport_;
+
DISALLOW_COPY_AND_ASSIGN(LayerTreeHostImpl);
};

Powered by Google App Engine
This is Rietveld 408576698