|
Divorce PaintInvalidationState from LayoutState
We don't actually benefit from most of the work LayoutState was doing to
keep track of offsets during layout. Instead, we were doing all that
additional work in both invalidation and layout but only using them for
invalidation.
The new PaintInvalidationState inherits the fast paint-offset caching
from LayoutState, but goes the extra mile to identify new repaint containers,
re-enable itself when disabled and an invalidation boundary is crossed, and
work for invalidation containers other than the root.
LayoutState was also improperly accumulating its layoutOffset using things
like scroll offsets, which resulted in incorrect rendering on
fast/multicol/shrink-to-column-height-for-pagination.html. This is fixed
with this patch because we no longer consider paint-specific offsets at
all in LayoutState.
BUG= 363834
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=177621
Total comments: 13
Total comments: 10
Total comments: 5
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+459 lines, -417 lines) |
Patch |
 |
M |
LayoutTests/TestExpectations
|
View
|
1
2
3
4
5
6
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
 |
M |
LayoutTests/platform/mac/fast/repaint/reflection-repaint-test-expected.txt
|
View
|
1
2
3
4
5
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
Source/core/core.gypi
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
 |
M |
Source/core/frame/FrameView.cpp
|
View
|
1
2
3
4
5
6
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
Source/core/rendering/LayoutState.h
|
View
|
1
2
3
|
2 chunks |
+2 lines, -24 lines |
0 comments
|
Download
|
 |
M |
Source/core/rendering/LayoutState.cpp
|
View
|
1
|
4 chunks |
+7 lines, -79 lines |
0 comments
|
Download
|
 |
A |
Source/core/rendering/PaintInvalidationState.h
|
View
|
1
2
3
4
5
|
1 chunk |
+61 lines, -0 lines |
0 comments
|
Download
|
 |
A |
Source/core/rendering/PaintInvalidationState.cpp
|
View
|
1
2
3
4
5
6
7
8
|
1 chunk |
+137 lines, -0 lines |
0 comments
|
Download
|
 |
M |
Source/core/rendering/RenderBlock.h
|
View
|
1
2
3
4
5
6
7
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
Source/core/rendering/RenderBlock.cpp
|
View
|
1
2
3
4
5
6
7
|
5 chunks |
+26 lines, -19 lines |
0 comments
|
Download
|
 |
M |
Source/core/rendering/RenderBlockFlow.cpp
|
View
|
|
1 chunk |
+0 lines, -3 lines |
0 comments
|
Download
|
 |
M |
Source/core/rendering/RenderBox.h
|
View
|
1
2
3
4
5
|
3 chunks |
+4 lines, -4 lines |
0 comments
|
Download
|
 |
M |
Source/core/rendering/RenderBox.cpp
|
View
|
1
2
3
4
5
6
7
|
8 chunks |
+33 lines, -52 lines |
0 comments
|
Download
|
 |
M |
Source/core/rendering/RenderBoxModelObject.cpp
|
View
|
1
2
3
4
|
1 chunk |
+0 lines, -3 lines |
0 comments
|
Download
|
 |
M |
Source/core/rendering/RenderFlowThread.cpp
|
View
|
1
2
3
4
|
1 chunk |
+0 lines, -2 lines |
0 comments
|
Download
|
 |
M |
Source/core/rendering/RenderInline.h
|
View
|
1
2
3
4
5
|
2 chunks |
+5 lines, -5 lines |
0 comments
|
Download
|
 |
M |
Source/core/rendering/RenderInline.cpp
|
View
|
1
2
3
4
5
|
7 chunks |
+27 lines, -34 lines |
0 comments
|
Download
|
 |
M |
Source/core/rendering/RenderLayer.h
|
View
|
1
2
3
4
5
6
|
1 chunk |
+3 lines, -3 lines |
0 comments
|
Download
|
 |
M |
Source/core/rendering/RenderLayer.cpp
|
View
|
1
2
3
4
5
6
|
4 chunks |
+9 lines, -22 lines |
0 comments
|
Download
|
 |
M |
Source/core/rendering/RenderListBox.h
|
View
|
1
2
3
4
5
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
Source/core/rendering/RenderListBox.cpp
|
View
|
1
2
3
4
5
|
1 chunk |
+3 lines, -5 lines |
0 comments
|
Download
|
 |
M |
Source/core/rendering/RenderListItem.cpp
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+0 lines, -3 lines |
0 comments
|
Download
|
 |
M |
Source/core/rendering/RenderMediaControlElements.cpp
|
View
|
|
1 chunk |
+0 lines, -1 line |
0 comments
|
Download
|
 |
M |
Source/core/rendering/RenderObject.h
|
View
|
1
2
3
4
5
6
7
|
7 chunks |
+11 lines, -10 lines |
0 comments
|
Download
|
 |
M |
Source/core/rendering/RenderObject.cpp
|
View
|
1
2
3
4
5
6
7
|
11 chunks |
+19 lines, -19 lines |
0 comments
|
Download
|
 |
M |
Source/core/rendering/RenderReplaced.h
|
View
|
1
2
3
4
5
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
Source/core/rendering/RenderReplaced.cpp
|
View
|
1
2
3
4
5
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
Source/core/rendering/RenderTableCell.h
|
View
|
1
2
3
4
5
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
Source/core/rendering/RenderTableCell.cpp
|
View
|
1
2
3
4
5
6
7
8
|
2 chunks |
+6 lines, -7 lines |
0 comments
|
Download
|
 |
M |
Source/core/rendering/RenderTableCol.h
|
View
|
1
2
3
4
5
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
Source/core/rendering/RenderTableCol.cpp
|
View
|
1
2
3
4
5
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
Source/core/rendering/RenderText.h
|
View
|
1
2
3
4
5
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
Source/core/rendering/RenderText.cpp
|
View
|
1
2
3
4
5
|
2 chunks |
+3 lines, -3 lines |
0 comments
|
Download
|
 |
M |
Source/core/rendering/RenderView.h
|
View
|
1
2
3
4
5
|
5 chunks |
+11 lines, -25 lines |
0 comments
|
Download
|
 |
M |
Source/core/rendering/RenderView.cpp
|
View
|
1
2
3
4
5
|
5 chunks |
+5 lines, -6 lines |
0 comments
|
Download
|
 |
M |
Source/core/rendering/svg/RenderSVGBlock.h
|
View
|
1
2
3
4
5
|
1 chunk |
+4 lines, -4 lines |
0 comments
|
Download
|
 |
M |
Source/core/rendering/svg/RenderSVGBlock.cpp
|
View
|
1
2
3
4
5
|
3 chunks |
+9 lines, -9 lines |
0 comments
|
Download
|
 |
M |
Source/core/rendering/svg/RenderSVGContainer.cpp
|
View
|
|
1 chunk |
+0 lines, -3 lines |
0 comments
|
Download
|
 |
M |
Source/core/rendering/svg/RenderSVGForeignObject.h
|
View
|
1
2
3
4
5
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
Source/core/rendering/svg/RenderSVGForeignObject.cpp
|
View
|
1
2
3
4
5
|
2 chunks |
+2 lines, -3 lines |
0 comments
|
Download
|
 |
M |
Source/core/rendering/svg/RenderSVGGradientStop.h
|
View
|
1
2
3
4
5
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
Source/core/rendering/svg/RenderSVGHiddenContainer.h
|
View
|
1
2
3
4
5
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
Source/core/rendering/svg/RenderSVGInline.h
|
View
|
1
2
3
4
5
|
1 chunk |
+3 lines, -3 lines |
0 comments
|
Download
|
 |
M |
Source/core/rendering/svg/RenderSVGInline.cpp
|
View
|
1
2
3
4
5
|
1 chunk |
+6 lines, -6 lines |
0 comments
|
Download
|
 |
M |
Source/core/rendering/svg/RenderSVGModelObject.h
|
View
|
1
2
3
4
5
|
2 chunks |
+4 lines, -4 lines |
0 comments
|
Download
|
 |
M |
Source/core/rendering/svg/RenderSVGModelObject.cpp
|
View
|
1
2
3
4
5
|
4 chunks |
+13 lines, -13 lines |
0 comments
|
Download
|
 |
M |
Source/core/rendering/svg/RenderSVGRoot.h
|
View
|
1
2
3
4
5
|
1 chunk |
+3 lines, -3 lines |
0 comments
|
Download
|
 |
M |
Source/core/rendering/svg/RenderSVGRoot.cpp
|
View
|
1
2
3
4
5
|
4 chunks |
+6 lines, -9 lines |
0 comments
|
Download
|
 |
M |
Source/core/rendering/svg/RenderSVGText.h
|
View
|
1
2
3
4
5
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
Source/core/rendering/svg/RenderSVGText.cpp
|
View
|
1
2
3
4
5
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
Source/core/rendering/svg/SVGRenderSupport.h
|
View
|
1
2
3
4
5
|
2 chunks |
+4 lines, -3 lines |
0 comments
|
Download
|
 |
M |
Source/core/rendering/svg/SVGRenderSupport.cpp
|
View
|
1
2
3
4
5
|
3 chunks |
+6 lines, -6 lines |
0 comments
|
Download
|
Total messages: 10 (0 generated)
|