|
|
Removed main-thread one dimensional scrolling paths.
This patch is a large cleanup of the main-thread scrolling paths in Blink.
The main change is the removal of most single dimension scrolling paths.
These paths, going from EventHandler, through ScrollableAreas, and into
ScrollAnimators used a single float and a ScrollDirection to determine
how to scroll. This style of scrolling is needed only for a few cases:
scrollbar and keyboard scrolling. The fact that Animators and
ScrollableAreas work naturally in two dimensions complicated their interface
and implementations needlessly. Implementing Wheel and Gesture scrolling
required awkward 2-phase scrolls and coordination between them.
I've completely replaced the one dimensional interfaces in ScrollableArea
and ScrollAnimators with a more standard 2d FloatSize. It's now
EventHandler's job, where needed, to translate a direction/float instruction
to scroll into the necessary physical scroll used by ScrollableArea. This
should make future work and potential CC scroll unification work more
straightforward.
Some other minor cleanups along the way:
-ScrollAnimator and its children use a FloatPoint rather than two floats for
current position.
-Split EventHandler::scroll into logical and physical. Using it for both
made the interface and usage complicated.
-Additionally, I've littered a number of TODOs throughout these paths where
I found issues and inconsistencies to clean up in future CLs.
BUG= 591124
Committed: https://crrev.com/f0713e7d9da9b89301ae0ae1228d51fbb2e17afc
Cr-Commit-Position: refs/heads/master@{#378642}
Total comments: 27
Total comments: 10
Total comments: 1
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+328 lines, -298 lines) |
Patch |
 |
M |
third_party/WebKit/Source/core/dom/Element.cpp
|
View
|
1
2
3
|
1 chunk |
+4 lines, -2 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/frame/LocalFrame.h
|
View
|
1
2
|
2 chunks |
+2 lines, -1 line |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/frame/LocalFrame.cpp
|
View
|
1
2
3
4
5
6
|
2 chunks |
+8 lines, -8 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/frame/RootFrameViewport.h
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/frame/RootFrameViewport.cpp
|
View
|
1
2
3
4
5
|
1 chunk |
+61 lines, -35 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/frame/RootFrameViewportTest.cpp
|
View
|
|
4 chunks |
+10 lines, -60 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/input/EventHandler.h
|
View
|
1
2
3
4
|
2 chunks |
+25 lines, -12 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/input/EventHandler.cpp
|
View
|
1
2
3
4
|
11 chunks |
+74 lines, -46 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/layout/LayoutBox.h
|
View
|
1
2
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/layout/LayoutBox.cpp
|
View
|
1
2
|
1 chunk |
+3 lines, -3 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/layout/LayoutEmbeddedObject.h
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/layout/LayoutEmbeddedObject.cpp
|
View
|
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/core/layout/api/LayoutBoxItem.h
|
View
|
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/platform/mac/ScrollAnimatorMac.h
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/platform/mac/ScrollAnimatorMac.mm
|
View
|
1
2
3
4
5
6
|
2 chunks |
+24 lines, -17 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/platform/scroll/ScrollAnimator.h
|
View
|
1
2
3
4
5
6
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/platform/scroll/ScrollAnimator.cpp
|
View
|
1
2
3
4
5
6
|
5 chunks |
+15 lines, -19 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/platform/scroll/ScrollAnimatorBase.h
|
View
|
|
3 chunks |
+10 lines, -11 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/platform/scroll/ScrollAnimatorBase.cpp
|
View
|
1
2
3
4
|
2 chunks |
+18 lines, -27 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/platform/scroll/ScrollAnimatorTest.cpp
|
View
|
|
8 chunks |
+19 lines, -21 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/platform/scroll/ScrollTypes.h
|
View
|
|
3 chunks |
+17 lines, -15 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/platform/scroll/ScrollableArea.h
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/platform/scroll/ScrollableArea.cpp
|
View
|
1
2
3
|
1 chunk |
+25 lines, -8 lines |
0 comments
|
Download
|
 |
M |
third_party/WebKit/Source/platform/scroll/Scrollbar.cpp
|
View
|
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
Total messages: 35 (17 generated)
|