|
Fix paint invalidation rect tracking within composited scrolling layers.
Previously, paint invalidation rect tracking (aka repaint-after-layout rects)
were always stored in the space of the paint invalidation container. If the
paint invalidation container is a composited scroller, this is incorrect. They
should be stored in the space of the graphics layer backing the content. In
the case of a composited scroller, the graphics layer backing never moves when
scrolls occur.
This had the effect that any paint invalidation anywhere in the scroller that
happens after a scroll would end up invalidating the entire scrolled content,
because it appeared to have moved. This change is a huge performance improvement
in some such cases. In addition, this patch fixes incorrect invalidations which
may result in missed invalidations after scrolling.
BUG= 516016
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=200567
Total comments: 6
Total comments: 4
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+162 lines, -100 lines) |
Patch |
 |
M |
LayoutTests/TestExpectations
|
View
|
1
2
3
4
5
|
2 chunks |
+11 lines, -2 lines |
0 comments
|
Download
|
 |
A |
LayoutTests/paint/invalidation/invalidate-after-composited-scroll.html
|
View
|
1
2
3
4
5
|
1 chunk |
+20 lines, -0 lines |
0 comments
|
Download
|
 |
A + |
LayoutTests/paint/invalidation/invalidate-after-composited-scroll-expected.txt
|
View
|
|
2 chunks |
+9 lines, -21 lines |
0 comments
|
Download
|
 |
A |
LayoutTests/paint/invalidation/invalidate-after-composited-scroll-of-window.html
|
View
|
1
2
3
4
5
|
1 chunk |
+18 lines, -0 lines |
0 comments
|
Download
|
 |
A + |
LayoutTests/paint/invalidation/invalidate-after-composited-scroll-of-window-expected.txt
|
View
|
1
2
3
4
5
|
1 chunk |
+3 lines, -3 lines |
0 comments
|
Download
|
 |
M |
LayoutTests/platform/linux/compositing/repaint/should-not-clip-composited-overflow-scrolling-layer-expected.txt
|
View
|
|
2 chunks |
+4 lines, -30 lines |
0 comments
|
Download
|
 |
M |
LayoutTests/platform/win/compositing/overflow/updating-scrolling-content-expected.txt
|
View
|
|
2 chunks |
+2 lines, -4 lines |
0 comments
|
Download
|
 |
M |
LayoutTests/platform/win/fast/repaint/overflow-move-after-scroll-expected.txt
|
View
|
1
2
3
|
2 chunks |
+0 lines, -2 lines |
0 comments
|
Download
|
 |
M |
LayoutTests/platform/win/virtual/prefer_compositing_to_lcd_text/compositing/overflow/updating-scrolling-content-expected.txt
|
View
|
|
2 chunks |
+2 lines, -4 lines |
0 comments
|
Download
|
 |
M |
Source/core/layout/LayoutBox.h
|
View
|
1
2
3
|
2 chunks |
+2 lines, -3 lines |
0 comments
|
Download
|
 |
M |
Source/core/layout/LayoutBox.cpp
|
View
|
1
2
3
4
5
|
4 chunks |
+5 lines, -10 lines |
0 comments
|
Download
|
 |
M |
Source/core/layout/LayoutBoxModelObject.h
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
 |
M |
Source/core/layout/LayoutBoxModelObject.cpp
|
View
|
|
1 chunk |
+5 lines, -0 lines |
0 comments
|
Download
|
 |
M |
Source/core/layout/LayoutObject.h
|
View
|
1
2
3
4
5
|
3 chunks |
+16 lines, -3 lines |
0 comments
|
Download
|
 |
M |
Source/core/layout/LayoutObject.cpp
|
View
|
1
2
3
4
5
|
3 chunks |
+62 lines, -14 lines |
0 comments
|
Download
|
 |
M |
Source/core/layout/LayoutObjectChildList.cpp
|
View
|
1
2
3
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
Source/core/paint/DeprecatedPaintLayer.cpp
|
View
|
1
2
3
|
1 chunk |
+1 line, -3 lines |
0 comments
|
Download
|
Total messages: 23 (6 generated)
|