DescriptionRefactor cc scrollbar layers architecture.
This CL separates the solid-color scrollbar functionality into its own class structure, resulting in the following hierarchy:
ScrollbarLayerInterface (pure-virtual)
|
-------- PaintedScrollbarLayer (for outer-viewport)
|
--------- SolidColorScrollbarLayer (for inner-viewport)
(Android, pinch-zoom)
ScrollbarLayerImplBase
|
----- PaintedScrollbarLayerImpl (for outer-viewport)
|
----- SolidColorScrollbarLayerImpl (for inner-viewport)
(Android, pinch-zoom)
In this architecture, solid-color scrollbars can live side-by side with regular desktop scrollbars, and no longer require a WebScrollbar in order to be created. The scrolling LayerImpl's only know about ScrollbarLayerImplBase, and the TreeSynchronizer & LTI only deal with *Base layer types.
The ScrollbarLayerImplBase layer is not pure virtual, but rather attempts to collect any common functionality, and the result is much simpler classes for SolidColorScrollbarLayerImpl.
Work remaining:
1) Once the pinch-viewport layers are in place in CC, we can get rid of vertical adjust (I think), and so LTI::UpdateSolidColorScrollbars() can go away. When this goes away, some of the interface for ScrollbarLayerImplBase can be simplified as well.
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=220637
Patch Set 1 #Patch Set 2 : #Patch Set 3 : Fix some types, includes, and style issues. #Patch Set 4 : Fix tests, remove scrollbar color/thickness from LayerTreeSettings. #
Total comments: 1
Patch Set 5 : Address James R's comments. #
Total comments: 8
Patch Set 6 : Address tfarina@'s comments. #
Total comments: 16
Patch Set 7 : Removed duplicate code, addressed tfarina@'s comments. #Patch Set 8 : Rebased patch as it's sat for a while. #
Total comments: 6
Patch Set 9 : Address Enne's comments. #
Total comments: 25
Patch Set 10 : Address review comments; plumb scrollbar color via flag. #
Total comments: 14
Patch Set 11 : Address comments. #Patch Set 12 : Rebased to account for re-naming to PaintedScrollbarLayer. #
Total comments: 10
Patch Set 13 : Address comments. #Patch Set 14 : Remove kUseSolidColorScrollbar. #Patch Set 15 : Rebased for landing. #Patch Set 16 : Add missing CC_EXPORT. #Patch Set 17 : Fix Windows compile. #Messages
Total messages: 49 (0 generated)
|