|
Implement a paint offset cache for slimming paint v2
This patch implements paint offset cache as described in:
https://docs.google.com/document/d/1oY8P7a7G4W2LYOvT3VyqUNKOOek6S_e-jD2XjM_7g9U/view
This patch is large but only a few new concepts have been added:
1) A LayoutPoint for paint offset is now passed into all layout drawing
recorders.
2) The display item list temporarily stores the previous paint offsets.
These will be moved onto the LayoutObject themselves once
https://codereview.chromium.org/1315213002 lands.
3) If a new paint offset is detected during paint, the recorded offset is
updated and the layout object is marked as invalid in the display list.
4) Asserts have been added that paint offsets do not change between
phases. DisplayItemList::m_clientsWithPaintOffsetInvalidations checks
for emitting cached display items after the paint offset was invalidated.
DisplayItemList::invalidatePaintOffset checks for existing non-cached
display items added before the paint offset was invalidated.
BUG= 508383
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=201589
Total comments: 7
Total comments: 2
Total comments: 1
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+312 lines, -112 lines) |
Patch |
 |
M |
Source/core/layout/LayoutTextControlSingleLine.cpp
|
View
|
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
Source/core/paint/BlockFlowPainter.cpp
|
View
|
1
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
Source/core/paint/BlockPainter.cpp
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
Source/core/paint/BoxPainter.cpp
|
View
|
1
|
3 chunks |
+6 lines, -6 lines |
0 comments
|
Download
|
 |
M |
Source/core/paint/DetailsMarkerPainter.cpp
|
View
|
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
Source/core/paint/EmbeddedObjectPainter.cpp
|
View
|
1
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
Source/core/paint/FieldsetPainter.cpp
|
View
|
1
|
4 chunks |
+4 lines, -4 lines |
0 comments
|
Download
|
 |
M |
Source/core/paint/FileUploadControlPainter.cpp
|
View
|
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
Source/core/paint/FramePainter.cpp
|
View
|
1
|
2 chunks |
+4 lines, -4 lines |
0 comments
|
Download
|
 |
M |
Source/core/paint/FrameSetPainter.cpp
|
View
|
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
Source/core/paint/HTMLCanvasPainter.cpp
|
View
|
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
Source/core/paint/ImagePainter.h
|
View
|
1
2
3
4
5
6
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
 |
M |
Source/core/paint/ImagePainter.cpp
|
View
|
1
2
3
4
5
6
7
|
4 chunks |
+8 lines, -8 lines |
0 comments
|
Download
|
 |
M |
Source/core/paint/LayerClipRecorderTest.cpp
|
View
|
1
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
Source/core/paint/LayoutObjectDrawingRecorder.h
|
View
|
1
2
3
4
5
6
|
2 chunks |
+27 lines, -12 lines |
0 comments
|
Download
|
 |
M |
Source/core/paint/LayoutObjectDrawingRecorderTest.cpp
|
View
|
1
2
3
4
5
6
7
8
|
3 chunks |
+84 lines, -5 lines |
0 comments
|
Download
|
 |
M |
Source/core/paint/ListMarkerPainter.cpp
|
View
|
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
Source/core/paint/MultiColumnSetPainter.cpp
|
View
|
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
Source/core/paint/ObjectPainter.cpp
|
View
|
1
2
3
4
5
6
7
|
3 chunks |
+4 lines, -4 lines |
0 comments
|
Download
|
 |
M |
Source/core/paint/PartPainter.cpp
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
Source/core/paint/ReplacedPainter.cpp
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
Source/core/paint/SVGClipPainter.cpp
|
View
|
1
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
Source/core/paint/SVGFilterPainter.cpp
|
View
|
1
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
Source/core/paint/SVGImagePainter.cpp
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
Source/core/paint/SVGMaskPainter.cpp
|
View
|
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
Source/core/paint/SVGRootInlineBoxPainter.cpp
|
View
|
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
Source/core/paint/SVGShapePainter.cpp
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
Source/core/paint/ScrollableAreaPainter.cpp
|
View
|
|
2 chunks |
+4 lines, -4 lines |
0 comments
|
Download
|
 |
M |
Source/core/paint/TableCellPainter.cpp
|
View
|
1
|
3 chunks |
+6 lines, -6 lines |
0 comments
|
Download
|
 |
M |
Source/core/paint/TablePainter.cpp
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+3 lines, -2 lines |
0 comments
|
Download
|
 |
M |
Source/core/paint/TableRowPainter.cpp
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
Source/core/paint/TableSectionPainter.cpp
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
Source/core/paint/VideoPainter.cpp
|
View
|
1
2
3
4
5
6
7
|
1 chunk |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
Source/core/paint/ViewPainter.cpp
|
View
|
|
2 chunks |
+2 lines, -2 lines |
0 comments
|
Download
|
 |
M |
Source/platform/graphics/paint/DisplayItemList.h
|
View
|
1
2
3
4
5
6
7
8
|
6 chunks |
+31 lines, -0 lines |
0 comments
|
Download
|
 |
M |
Source/platform/graphics/paint/DisplayItemList.cpp
|
View
|
1
2
3
4
5
6
7
8
|
5 chunks |
+78 lines, -5 lines |
0 comments
|
Download
|
 |
M |
Source/platform/graphics/paint/DrawingRecorder.cpp
|
View
|
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
 |
M |
Source/web/WebPluginContainerImpl.cpp
|
View
|
1
2
3
4
5
6
7
8
|
2 chunks |
+4 lines, -4 lines |
0 comments
|
Download
|
Total messages: 21 (5 generated)
|