Chromium Code Reviews
DescriptionScroll with Layers in views::ScrollView
Initially, do this only on Mac, or with
--enable-features=ToolkitViewsScrollWithLayers.
This is a first step for bringing up elastic scrolling of a
views::ScrollView on Mac. Still, by itself, it results in significant
performance improvements for scrolling in toolkit-views and allows the
UI thread to keep pace with the high rate of touchpad scroll events
produced by Cocoa on Mac.
To take advantage of existing scroll handling for smooth-scrolling and
elasticity, later CLs will route scroll events through the
cc::InputHandler (i.e. LayerTreeHostImpl). Since the ui::Compositor is
single-threaded on the UI thread, there is no distinct impl side. For a
consistent event flow, perform all scrolling on the impl side. This
requires plumbing through a way for a views::ScrollView to set the
scroll offset on the impl side directly, in response to an input event.
views::ScrollView now makes its contents layer-backed and clips
it to the layer added to the existing ScrollView viewport.
BUG=615948, 594907, 605131
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel
Committed: https://crrev.com/4b70c528d7a6652e534bc5d9efd19d2d57d3fe4e
Cr-Commit-Position: refs/heads/master@{#411889}
Patch Set 1 #Patch Set 2 : stray overscroll #Patch Set 3 : Just enable on Mac for now #Patch Set 4 : Fix ScrollTrackScrolling test #Patch Set 5 : rebase #Patch Set 6 : tweak doc #Patch Set 7 : self nits #Patch Set 8 : DCHECK for no layer #
Total comments: 2
Patch Set 9 : Prune contents_container+update tests to suit, fix extension install background, fix event transform #Patch Set 10 : Cleave off View::EnclosingScrollView() and other unnecessary bits #Patch Set 11 : Add a test for the transform goop #
Total comments: 22
Patch Set 12 : vollick@ comments #
Total comments: 4
Patch Set 13 : rebase (new workdir) #Patch Set 14 : bugref, scale_delta DCHECK + comment #
Messages
Total messages: 82 (68 generated)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||