Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(752)

Side by Side Diff: third_party/WebKit/Source/core/paint/DeprecatedPaintLayerPainterTest.cpp

Issue 1375393002: Output subsequence for children layers (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "config.h" 5 #include "config.h"
6 6
7 #include "core/paint/DisplayItemListPaintTest.h" 7 #include "core/paint/DisplayItemListPaintTest.h"
8 #include "platform/graphics/GraphicsContext.h" 8 #include "platform/graphics/GraphicsContext.h"
9 9
10 namespace blink { 10 namespace blink {
11 11
12 using DeprecatedPaintLayerPainterTest = DisplayItemListPaintTest; 12 using DeprecatedPaintLayerPainterTest = DisplayItemListPaintTest;
13 using DeprecatedPaintLayerPainterTestForSlimmingPaintV2 = DisplayItemListPaintTe stForSlimmingPaintV2; 13 using DeprecatedPaintLayerPainterTestForSlimmingPaintV2 = DisplayItemListPaintTe stForSlimmingPaintV2;
14 14
15 TEST_F(DeprecatedPaintLayerPainterTest, CachedSubsequence) 15 TEST_F(DeprecatedPaintLayerPainterTest, CachedSubsequence)
16 { 16 {
17 RuntimeEnabledFeatures::setSlimmingPaintSubsequenceCachingEnabled(true); 17 RuntimeEnabledFeatures::setSlimmingPaintSubsequenceCachingEnabled(true);
18 18
19 setBodyInnerHTML( 19 setBodyInnerHTML(
20 "<div id='container1' style='position: relative; width: 200px; height: 2 00px; background-color: blue'>" 20 "<div id='container1' style='position: relative; z-index: 1; width: 200p x; height: 200px; background-color: blue'>"
21 " <div id='content1' style='width: 100px; height: 100px; background-col or: red'></div>" 21 " <div id='content1' style='position: absolute; width: 100px; height: 1 00px; background-color: red'></div>"
22 "</div>" 22 "</div>"
23 "<div id='container2' style='position: relative; width: 200px; height: 2 00px; background-color: blue'>" 23 "<div id='container2' style='position: relative; z-index: 1; width: 200p x; height: 200px; background-color: blue'>"
24 " <div id='content2' style='width: 100px; height: 100px; background-col or: green'></div>" 24 " <div id='content2' style='position: absolute; width: 100px; height: 1 00px; background-color: green'></div>"
25 "</div>"); 25 "</div>");
26 document().view()->updateAllLifecyclePhases(); 26 document().view()->updateAllLifecyclePhases();
27 27
28 DeprecatedPaintLayer& rootLayer = *layoutView().layer(); 28 DeprecatedPaintLayer& rootLayer = *layoutView().layer();
29 DeprecatedPaintLayer& htmlLayer = *toLayoutBoxModelObject(document().documen tElement()->layoutObject())->layer(); 29 DeprecatedPaintLayer& htmlLayer = *toLayoutBoxModelObject(document().documen tElement()->layoutObject())->layer();
30 LayoutObject& container1 = *document().getElementById("container1")->layoutO bject(); 30 LayoutObject& container1 = *document().getElementById("container1")->layoutO bject();
31 DeprecatedPaintLayer& container1Layer = *toLayoutBoxModelObject(container1). layer(); 31 DeprecatedPaintLayer& container1Layer = *toLayoutBoxModelObject(container1). layer();
32 LayoutObject& content1 = *document().getElementById("content1")->layoutObjec t(); 32 LayoutObject& content1 = *document().getElementById("content1")->layoutObjec t();
33 LayoutObject& container2 = *document().getElementById("container2")->layoutO bject(); 33 LayoutObject& container2 = *document().getElementById("container2")->layoutO bject();
34 DeprecatedPaintLayer& container2Layer = *toLayoutBoxModelObject(container2). layer(); 34 DeprecatedPaintLayer& container2Layer = *toLayoutBoxModelObject(container2). layer();
35 LayoutObject& content2 = *document().getElementById("content2")->layoutObjec t(); 35 LayoutObject& content2 = *document().getElementById("content2")->layoutObjec t();
36 36
37 GraphicsContext context(&rootDisplayItemList()); 37 GraphicsContext context(&rootDisplayItemList());
38 DeprecatedPaintLayerPaintingInfo paintingInfo(&rootLayer, LayoutRect(0, 0, 8 00, 600), GlobalPaintNormalPhase, LayoutSize()); 38 DeprecatedPaintLayerPaintingInfo paintingInfo(&rootLayer, LayoutRect(0, 0, 8 00, 600), GlobalPaintNormalPhase, LayoutSize());
39 DeprecatedPaintLayerPainter(rootLayer).paintLayerContents(&context, painting Info, PaintLayerPaintingCompositingAllPhases); 39 DeprecatedPaintLayerPainter(rootLayer).paintLayerContents(&context, painting Info, PaintLayerPaintingCompositingAllPhases);
40 rootDisplayItemList().commitNewDisplayItems(); 40 rootDisplayItemList().commitNewDisplayItems();
41 41
42 EXPECT_DISPLAY_LIST(rootDisplayItemList().displayItems(), 13, 42 EXPECT_DISPLAY_LIST(rootDisplayItemList().displayItems(), 13,
43 TestDisplayItem(rootLayer, DisplayItem::BeginSubsequence), 43 TestDisplayItem(layoutView(), backgroundType),
44 TestDisplayItem(layoutView(), DisplayItem::BoxDecorationBackground), 44 TestDisplayItem(rootLayer, subsequenceType),
45 TestDisplayItem(htmlLayer, DisplayItem::BeginSubsequence), 45 TestDisplayItem(htmlLayer, subsequenceType),
46 TestDisplayItem(container1Layer, DisplayItem::BeginSubsequence), 46 TestDisplayItem(container1, backgroundType),
47 TestDisplayItem(container1, DisplayItem::BoxDecorationBackground), 47 TestDisplayItem(container1Layer, subsequenceType),
48 TestDisplayItem(content1, DisplayItem::BoxDecorationBackground), 48 TestDisplayItem(content1, backgroundType),
49 TestDisplayItem(container1Layer, DisplayItem::EndSubsequence), 49 TestDisplayItem(container1Layer, endSubsequenceType),
50 TestDisplayItem(container2Layer, DisplayItem::BeginSubsequence), 50 TestDisplayItem(container2, backgroundType),
51 TestDisplayItem(container2, DisplayItem::BoxDecorationBackground), 51 TestDisplayItem(container2Layer, subsequenceType),
52 TestDisplayItem(content2, DisplayItem::BoxDecorationBackground), 52 TestDisplayItem(content2, backgroundType),
53 TestDisplayItem(container2Layer, DisplayItem::EndSubsequence), 53 TestDisplayItem(container2Layer, endSubsequenceType),
54 TestDisplayItem(htmlLayer, DisplayItem::EndSubsequence), 54 TestDisplayItem(htmlLayer, endSubsequenceType),
55 TestDisplayItem(rootLayer, DisplayItem::EndSubsequence)); 55 TestDisplayItem(rootLayer, endSubsequenceType));
56 56
57 toHTMLElement(content1.node())->setAttribute(HTMLNames::styleAttr, "width: 1 00px; height: 100px; background-color: green"); 57 toHTMLElement(content1.node())->setAttribute(HTMLNames::styleAttr, "position : absolute; width: 100px; height: 100px; background-color: green");
58 document().view()->updateAllLifecyclePhases(); 58 document().view()->updateAllLifecyclePhases();
59 DeprecatedPaintLayerPainter(rootLayer).paintLayerContents(&context, painting Info, PaintLayerPaintingCompositingAllPhases); 59 DeprecatedPaintLayerPainter(rootLayer).paintLayerContents(&context, painting Info, PaintLayerPaintingCompositingAllPhases);
60 60
61 EXPECT_DISPLAY_LIST(rootDisplayItemList().newDisplayItems(), 10, 61 EXPECT_DISPLAY_LIST(rootDisplayItemList().newDisplayItems(), 11,
62 TestDisplayItem(rootLayer, DisplayItem::BeginSubsequence), 62 TestDisplayItem(layoutView(), cachedBackgroundType),
63 TestDisplayItem(layoutView(), DisplayItem::drawingTypeToCachedDrawingTyp e(DisplayItem::BoxDecorationBackground)), 63 TestDisplayItem(rootLayer, subsequenceType),
64 TestDisplayItem(htmlLayer, DisplayItem::BeginSubsequence), 64 TestDisplayItem(htmlLayer, subsequenceType),
65 TestDisplayItem(container1Layer, DisplayItem::BeginSubsequence), 65 TestDisplayItem(container1, cachedBackgroundType),
66 TestDisplayItem(container1, DisplayItem::drawingTypeToCachedDrawingType( DisplayItem::BoxDecorationBackground)), 66 TestDisplayItem(container1Layer, subsequenceType),
67 TestDisplayItem(content1, DisplayItem::BoxDecorationBackground), 67 TestDisplayItem(content1, backgroundType),
68 TestDisplayItem(container1Layer, DisplayItem::EndSubsequence), 68 TestDisplayItem(container1Layer, endSubsequenceType),
69 TestDisplayItem(container2Layer, DisplayItem::CachedSubsequence), 69 TestDisplayItem(container2, cachedBackgroundType),
70 TestDisplayItem(htmlLayer, DisplayItem::EndSubsequence), 70 TestDisplayItem(container2Layer, cachedSubsequenceType),
71 TestDisplayItem(rootLayer, DisplayItem::EndSubsequence)); 71 TestDisplayItem(htmlLayer, endSubsequenceType),
72 TestDisplayItem(rootLayer, endSubsequenceType));
72 73
73 rootDisplayItemList().commitNewDisplayItems(); 74 rootDisplayItemList().commitNewDisplayItems();
74 75
75 EXPECT_DISPLAY_LIST(rootDisplayItemList().displayItems(), 13, 76 EXPECT_DISPLAY_LIST(rootDisplayItemList().displayItems(), 13,
76 TestDisplayItem(rootLayer, DisplayItem::BeginSubsequence), 77 TestDisplayItem(layoutView(), backgroundType),
77 TestDisplayItem(layoutView(), DisplayItem::BoxDecorationBackground), 78 TestDisplayItem(rootLayer, subsequenceType),
78 TestDisplayItem(htmlLayer, DisplayItem::BeginSubsequence), 79 TestDisplayItem(htmlLayer, subsequenceType),
79 TestDisplayItem(container1Layer, DisplayItem::BeginSubsequence), 80 TestDisplayItem(container1, backgroundType),
80 TestDisplayItem(container1, DisplayItem::BoxDecorationBackground), 81 TestDisplayItem(container1Layer, subsequenceType),
81 TestDisplayItem(content1, DisplayItem::BoxDecorationBackground), 82 TestDisplayItem(content1, backgroundType),
82 TestDisplayItem(container1Layer, DisplayItem::EndSubsequence), 83 TestDisplayItem(container1Layer, endSubsequenceType),
83 TestDisplayItem(container2Layer, DisplayItem::BeginSubsequence), 84 TestDisplayItem(container2, backgroundType),
84 TestDisplayItem(container2, DisplayItem::BoxDecorationBackground), 85 TestDisplayItem(container2Layer, subsequenceType),
85 TestDisplayItem(content2, DisplayItem::BoxDecorationBackground), 86 TestDisplayItem(content2, backgroundType),
86 TestDisplayItem(container2Layer, DisplayItem::EndSubsequence), 87 TestDisplayItem(container2Layer, endSubsequenceType),
87 TestDisplayItem(htmlLayer, DisplayItem::EndSubsequence), 88 TestDisplayItem(htmlLayer, endSubsequenceType),
88 TestDisplayItem(rootLayer, DisplayItem::EndSubsequence)); 89 TestDisplayItem(rootLayer, endSubsequenceType));
89 90
90 // Repeated painting should just generate the root cached subsequence. 91 // Repeated painting should just generate the root cached subsequence.
91 DeprecatedPaintLayerPainter(rootLayer).paintLayerContents(&context, painting Info, PaintLayerPaintingCompositingAllPhases); 92 DeprecatedPaintLayerPainter(rootLayer).paintLayerContents(&context, painting Info, PaintLayerPaintingCompositingAllPhases);
92 EXPECT_DISPLAY_LIST(rootDisplayItemList().newDisplayItems(), 1, 93 EXPECT_DISPLAY_LIST(rootDisplayItemList().newDisplayItems(), 2,
93 TestDisplayItem(rootLayer, DisplayItem::CachedSubsequence)); 94 TestDisplayItem(layoutView(), cachedBackgroundType),
95 TestDisplayItem(rootLayer, cachedSubsequenceType));
94 96
95 rootDisplayItemList().commitNewDisplayItems(); 97 rootDisplayItemList().commitNewDisplayItems();
96 98
97 EXPECT_DISPLAY_LIST(rootDisplayItemList().displayItems(), 13, 99 EXPECT_DISPLAY_LIST(rootDisplayItemList().displayItems(), 13,
98 TestDisplayItem(rootLayer, DisplayItem::BeginSubsequence), 100 TestDisplayItem(layoutView(), backgroundType),
99 TestDisplayItem(layoutView(), DisplayItem::BoxDecorationBackground), 101 TestDisplayItem(rootLayer, subsequenceType),
100 TestDisplayItem(htmlLayer, DisplayItem::BeginSubsequence), 102 TestDisplayItem(htmlLayer, subsequenceType),
101 TestDisplayItem(container1Layer, DisplayItem::BeginSubsequence), 103 TestDisplayItem(container1, backgroundType),
102 TestDisplayItem(container1, DisplayItem::BoxDecorationBackground), 104 TestDisplayItem(container1Layer, subsequenceType),
103 TestDisplayItem(content1, DisplayItem::BoxDecorationBackground), 105 TestDisplayItem(content1, backgroundType),
104 TestDisplayItem(container1Layer, DisplayItem::EndSubsequence), 106 TestDisplayItem(container1Layer, endSubsequenceType),
105 TestDisplayItem(container2Layer, DisplayItem::BeginSubsequence), 107 TestDisplayItem(container2, backgroundType),
106 TestDisplayItem(container2, DisplayItem::BoxDecorationBackground), 108 TestDisplayItem(container2Layer, subsequenceType),
107 TestDisplayItem(content2, DisplayItem::BoxDecorationBackground), 109 TestDisplayItem(content2, backgroundType),
108 TestDisplayItem(container2Layer, DisplayItem::EndSubsequence), 110 TestDisplayItem(container2Layer, endSubsequenceType),
109 TestDisplayItem(htmlLayer, DisplayItem::EndSubsequence), 111 TestDisplayItem(htmlLayer, endSubsequenceType),
110 TestDisplayItem(rootLayer, DisplayItem::EndSubsequence)); 112 TestDisplayItem(rootLayer, endSubsequenceType));
111 } 113 }
112 114
113 TEST_F(DeprecatedPaintLayerPainterTest, CachedSubsequenceOnInterestRectChange) 115 TEST_F(DeprecatedPaintLayerPainterTest, CachedSubsequenceOnInterestRectChange)
114 { 116 {
115 RuntimeEnabledFeatures::setSlimmingPaintSubsequenceCachingEnabled(true); 117 RuntimeEnabledFeatures::setSlimmingPaintSubsequenceCachingEnabled(true);
116 118
117 setBodyInnerHTML( 119 setBodyInnerHTML(
118 "<div id='container1' style='position: relative; width: 200px; height: 2 00px; background-color: blue'></div>" 120 "<div id='container1' style='position: relative; z-index: 1; width: 200p x; height: 200px; background-color: blue'>"
119 "<div id='container2' style='position: absolute; z-index: 1; width: 200p x; height: 200px; background-color: blue'>" 121 " <div id='content1' style='position: absolute; width: 100px; height: 1 00px; background-color: green'></div>"
120 " <div id='content2' style='position: relative; top: 200px; width: 100p x; height: 100px; background-color: green'></div>"
121 "</div>" 122 "</div>"
122 "<div id='container3' style='position: absolute; z-index: 2; left: 300px ; top: 0; width: 200px; height: 200px; background-color: blue'></div>"); 123 "<div id='container2' style='position: relative; z-index: 1; width: 200p x; height: 200px; background-color: blue'>"
124 " <div id='content2a' style='position: absolute; width: 100px; height: 100px; background-color: green'></div>"
125 " <div id='content2b' style='position: absolute; top: 200px; width: 100 px; height: 100px; background-color: green'></div>"
126 "</div>"
127 "<div id='container3' style='position: absolute; z-index: 2; left: 300px ; top: 0; width: 200px; height: 200px; background-color: blue'>"
128 " <div id='content3' style='position: absolute; width: 200px; height: 2 00px; background-color: green'></div>"
129 "</div>");
123 rootDisplayItemList().invalidateAll(); 130 rootDisplayItemList().invalidateAll();
124 131
125 DeprecatedPaintLayer& rootLayer = *layoutView().layer(); 132 DeprecatedPaintLayer& rootLayer = *layoutView().layer();
126 DeprecatedPaintLayer& htmlLayer = *toLayoutBoxModelObject(document().documen tElement()->layoutObject())->layer(); 133 DeprecatedPaintLayer& htmlLayer = *toLayoutBoxModelObject(document().documen tElement()->layoutObject())->layer();
127 LayoutObject& container1 = *document().getElementById("container1")->layoutO bject(); 134 LayoutObject& container1 = *document().getElementById("container1")->layoutO bject();
128 DeprecatedPaintLayer& container1Layer = *toLayoutBoxModelObject(container1). layer(); 135 DeprecatedPaintLayer& container1Layer = *toLayoutBoxModelObject(container1). layer();
136 LayoutObject& content1 = *document().getElementById("content1")->layoutObjec t();
129 LayoutObject& container2 = *document().getElementById("container2")->layoutO bject(); 137 LayoutObject& container2 = *document().getElementById("container2")->layoutO bject();
130 DeprecatedPaintLayer& container2Layer = *toLayoutBoxModelObject(container2). layer(); 138 DeprecatedPaintLayer& container2Layer = *toLayoutBoxModelObject(container2). layer();
139 LayoutObject& content2a = *document().getElementById("content2a")->layoutObj ect();
131 LayoutObject& container3 = *document().getElementById("container3")->layoutO bject(); 140 LayoutObject& container3 = *document().getElementById("container3")->layoutO bject();
132 DeprecatedPaintLayer& container3Layer = *toLayoutBoxModelObject(container3). layer(); 141 DeprecatedPaintLayer& container3Layer = *toLayoutBoxModelObject(container3). layer();
142 LayoutObject& content3 = *document().getElementById("content3")->layoutObjec t();
133 143
134 document().view()->updateAllLifecyclePhases(); 144 document().view()->updateAllLifecyclePhases();
135 GraphicsContext context(&rootDisplayItemList()); 145 GraphicsContext context(&rootDisplayItemList());
136 DeprecatedPaintLayerPaintingInfo paintingInfo(&rootLayer, LayoutRect(0, 0, 4 00, 300), GlobalPaintNormalPhase, LayoutSize()); 146 DeprecatedPaintLayerPaintingInfo paintingInfo(&rootLayer, LayoutRect(0, 0, 4 00, 300), GlobalPaintNormalPhase, LayoutSize());
137 DeprecatedPaintLayerPainter(rootLayer).paintLayerContents(&context, painting Info, PaintLayerPaintingCompositingAllPhases); 147 DeprecatedPaintLayerPainter(rootLayer).paintLayerContents(&context, painting Info, PaintLayerPaintingCompositingAllPhases);
138 rootDisplayItemList().commitNewDisplayItems(); 148 rootDisplayItemList().commitNewDisplayItems();
139 149
140 // Container1 is fully in the interest rect; 150 // Container1 is fully in the interest rect;
141 // Container2 is partly (including its stacking chidren) in the interest rec t; 151 // Container2 is partly (including its stacking chidren) in the interest rec t;
142 // Content2 is out of the interest rect and output nothing; 152 // Content2b is out of the interest rect and output nothing;
143 // Container3 is fully in the interest rect. 153 // Container3 is partly in the interest rect.
144 EXPECT_DISPLAY_LIST(rootDisplayItemList().displayItems(), 14, 154 EXPECT_DISPLAY_LIST(rootDisplayItemList().displayItems(), 17,
145 TestDisplayItem(rootLayer, DisplayItem::BeginSubsequence), 155 TestDisplayItem(layoutView(), backgroundType),
146 TestDisplayItem(layoutView(), DisplayItem::BoxDecorationBackground), 156 TestDisplayItem(rootLayer, subsequenceType),
147 TestDisplayItem(htmlLayer, DisplayItem::BeginSubsequence), 157 TestDisplayItem(htmlLayer, subsequenceType),
148 TestDisplayItem(container1Layer, DisplayItem::BeginSubsequence), 158 TestDisplayItem(container1, backgroundType),
149 TestDisplayItem(container1, DisplayItem::BoxDecorationBackground), 159 TestDisplayItem(container1Layer, subsequenceType),
150 TestDisplayItem(container1Layer, DisplayItem::EndSubsequence), 160 TestDisplayItem(content1, backgroundType),
151 TestDisplayItem(container2Layer, DisplayItem::BeginSubsequence), 161 TestDisplayItem(container1Layer, endSubsequenceType),
152 TestDisplayItem(container2, DisplayItem::BoxDecorationBackground), 162 TestDisplayItem(container2, backgroundType),
153 TestDisplayItem(container2Layer, DisplayItem::EndSubsequence), 163 TestDisplayItem(container2Layer, subsequenceType),
154 TestDisplayItem(container3Layer, DisplayItem::BeginSubsequence), 164 TestDisplayItem(content2a, backgroundType),
155 TestDisplayItem(container3, DisplayItem::BoxDecorationBackground), 165 TestDisplayItem(container2Layer, endSubsequenceType),
156 TestDisplayItem(container3Layer, DisplayItem::EndSubsequence), 166 TestDisplayItem(container3, backgroundType),
157 TestDisplayItem(htmlLayer, DisplayItem::EndSubsequence), 167 TestDisplayItem(container3Layer, subsequenceType),
158 TestDisplayItem(rootLayer, DisplayItem::EndSubsequence)); 168 TestDisplayItem(content3, backgroundType),
169 TestDisplayItem(container3Layer, endSubsequenceType),
170 TestDisplayItem(htmlLayer, endSubsequenceType),
171 TestDisplayItem(rootLayer, endSubsequenceType));
159 172
160 // Container1 becomes partly in the interest rect, but uses cached subsequen ce 173 // Container1 becomes partly in the interest rect, but uses cached subsequen ce
161 // because it was fully painted before; 174 // because it was fully painted before;
162 // Container2's intersection with the interest rect changes; 175 // Container2's intersection with the interest rect changes;
163 // Content2 is out of the interest rect and outputs nothing; 176 // Content2b is out of the interest rect and outputs nothing;
164 // Container3 becomes out of the interest rect and outputs nothing. 177 // Container3 becomes out of the interest rect and outputs nothing.
165 DeprecatedPaintLayerPaintingInfo paintingInfo1(&rootLayer, LayoutRect(0, 100 , 300, 300), GlobalPaintNormalPhase, LayoutSize()); 178 DeprecatedPaintLayerPaintingInfo paintingInfo1(&rootLayer, LayoutRect(0, 100 , 300, 300), GlobalPaintNormalPhase, LayoutSize());
166 DeprecatedPaintLayerPainter(rootLayer).paintLayerContents(&context, painting Info1, PaintLayerPaintingCompositingAllPhases); 179 DeprecatedPaintLayerPainter(rootLayer).paintLayerContents(&context, painting Info1, PaintLayerPaintingCompositingAllPhases);
167 180
168 EXPECT_DISPLAY_LIST(rootDisplayItemList().newDisplayItems(), 9, 181 EXPECT_DISPLAY_LIST(rootDisplayItemList().newDisplayItems(), 11,
169 TestDisplayItem(rootLayer, DisplayItem::BeginSubsequence), 182 TestDisplayItem(layoutView(), cachedBackgroundType),
170 TestDisplayItem(layoutView(), DisplayItem::drawingTypeToCachedDrawingTyp e(DisplayItem::BoxDecorationBackground)), 183 TestDisplayItem(rootLayer, subsequenceType),
171 TestDisplayItem(htmlLayer, DisplayItem::BeginSubsequence), 184 TestDisplayItem(htmlLayer, subsequenceType),
172 TestDisplayItem(container1Layer, DisplayItem::CachedSubsequence), 185 TestDisplayItem(container1, cachedBackgroundType),
173 TestDisplayItem(container2Layer, DisplayItem::BeginSubsequence), 186 TestDisplayItem(container1Layer, cachedSubsequenceType),
174 TestDisplayItem(container2, DisplayItem::drawingTypeToCachedDrawingType( DisplayItem::BoxDecorationBackground)), 187 TestDisplayItem(container2, cachedBackgroundType),
175 TestDisplayItem(container2Layer, DisplayItem::EndSubsequence), 188 TestDisplayItem(container2Layer, subsequenceType),
176 TestDisplayItem(htmlLayer, DisplayItem::EndSubsequence), 189 TestDisplayItem(content2a, cachedBackgroundType),
177 TestDisplayItem(rootLayer, DisplayItem::EndSubsequence)); 190 TestDisplayItem(container2Layer, endSubsequenceType),
191 TestDisplayItem(htmlLayer, endSubsequenceType),
192 TestDisplayItem(rootLayer, endSubsequenceType));
178 193
179 rootDisplayItemList().commitNewDisplayItems(); 194 rootDisplayItemList().commitNewDisplayItems();
180 195
181 EXPECT_DISPLAY_LIST(rootDisplayItemList().displayItems(), 11, 196 EXPECT_DISPLAY_LIST(rootDisplayItemList().displayItems(), 13,
182 TestDisplayItem(rootLayer, DisplayItem::BeginSubsequence), 197 TestDisplayItem(layoutView(), backgroundType),
183 TestDisplayItem(layoutView(), DisplayItem::BoxDecorationBackground), 198 TestDisplayItem(rootLayer, subsequenceType),
184 TestDisplayItem(htmlLayer, DisplayItem::BeginSubsequence), 199 TestDisplayItem(htmlLayer, subsequenceType),
185 TestDisplayItem(container1Layer, DisplayItem::BeginSubsequence), 200 TestDisplayItem(container1, backgroundType),
186 TestDisplayItem(container1, DisplayItem::BoxDecorationBackground), 201 TestDisplayItem(container1Layer, subsequenceType),
187 TestDisplayItem(container1Layer, DisplayItem::EndSubsequence), 202 TestDisplayItem(content1, backgroundType),
188 TestDisplayItem(container2Layer, DisplayItem::BeginSubsequence), 203 TestDisplayItem(container1Layer, endSubsequenceType),
189 TestDisplayItem(container2, DisplayItem::BoxDecorationBackground), 204 TestDisplayItem(container2, backgroundType),
190 TestDisplayItem(container2Layer, DisplayItem::EndSubsequence), 205 TestDisplayItem(container2Layer, subsequenceType),
191 TestDisplayItem(htmlLayer, DisplayItem::EndSubsequence), 206 TestDisplayItem(content2a, backgroundType),
192 TestDisplayItem(rootLayer, DisplayItem::EndSubsequence)); 207 TestDisplayItem(container2Layer, endSubsequenceType),
208 TestDisplayItem(htmlLayer, endSubsequenceType),
209 TestDisplayItem(rootLayer, endSubsequenceType));
193 } 210 }
194 211
195 TEST_F(DeprecatedPaintLayerPainterTestForSlimmingPaintV2, CachedSubsequence) 212 TEST_F(DeprecatedPaintLayerPainterTestForSlimmingPaintV2, CachedSubsequence)
196 { 213 {
197 setBodyInnerHTML( 214 setBodyInnerHTML(
198 "<div id='container1' style='position: relative; width: 200px; height: 2 00px; background-color: blue'>" 215 "<div id='container1' style='position: relative; z-index: 1; width: 200p x; height: 200px; background-color: blue'>"
199 " <div id='content1' style='width: 100px; height: 100px; background-col or: red'></div>" 216 " <div id='content1' style='position: absolute; width: 100px; height: 1 00px; background-color: red'></div>"
200 "</div>" 217 "</div>"
201 "<div id='container2' style='position: relative; width: 200px; height: 2 00px; background-color: blue'>" 218 "<div id='container2' style='position: relative; z-index: 1; width: 200p x; height: 200px; background-color: blue'>"
202 " <div id='content2' style='width: 100px; height: 100px; background-col or: green'></div>" 219 " <div id='content2' style='position: absolute; width: 100px; height: 1 00px; background-color: green'></div>"
203 "</div>"); 220 "</div>");
204 document().view()->updateAllLifecyclePhases(); 221 document().view()->updateAllLifecyclePhases();
205 222
206 DeprecatedPaintLayer& rootLayer = *layoutView().layer(); 223 DeprecatedPaintLayer& rootLayer = *layoutView().layer();
207 DeprecatedPaintLayer& htmlLayer = *toLayoutBoxModelObject(document().documen tElement()->layoutObject())->layer(); 224 DeprecatedPaintLayer& htmlLayer = *toLayoutBoxModelObject(document().documen tElement()->layoutObject())->layer();
208 LayoutObject& container1 = *document().getElementById("container1")->layoutO bject(); 225 LayoutObject& container1 = *document().getElementById("container1")->layoutO bject();
209 DeprecatedPaintLayer& container1Layer = *toLayoutBoxModelObject(container1). layer(); 226 DeprecatedPaintLayer& container1Layer = *toLayoutBoxModelObject(container1). layer();
210 LayoutObject& content1 = *document().getElementById("content1")->layoutObjec t(); 227 LayoutObject& content1 = *document().getElementById("content1")->layoutObjec t();
211 LayoutObject& container2 = *document().getElementById("container2")->layoutO bject(); 228 LayoutObject& container2 = *document().getElementById("container2")->layoutO bject();
212 DeprecatedPaintLayer& container2Layer = *toLayoutBoxModelObject(container2). layer(); 229 DeprecatedPaintLayer& container2Layer = *toLayoutBoxModelObject(container2). layer();
213 LayoutObject& content2 = *document().getElementById("content2")->layoutObjec t(); 230 LayoutObject& content2 = *document().getElementById("content2")->layoutObjec t();
214 231
215 EXPECT_DISPLAY_LIST(rootDisplayItemList().displayItems(), 13, 232 EXPECT_DISPLAY_LIST(rootDisplayItemList().displayItems(), 13,
216 TestDisplayItem(rootLayer, DisplayItem::BeginSubsequence), 233 TestDisplayItem(layoutView(), backgroundType),
217 TestDisplayItem(layoutView(), DisplayItem::BoxDecorationBackground), 234 TestDisplayItem(rootLayer, subsequenceType),
218 TestDisplayItem(htmlLayer, DisplayItem::BeginSubsequence), 235 TestDisplayItem(htmlLayer, subsequenceType),
219 TestDisplayItem(container1Layer, DisplayItem::BeginSubsequence), 236 TestDisplayItem(container1, backgroundType),
220 TestDisplayItem(container1, DisplayItem::BoxDecorationBackground), 237 TestDisplayItem(container1Layer, subsequenceType),
221 TestDisplayItem(content1, DisplayItem::BoxDecorationBackground), 238 TestDisplayItem(content1, backgroundType),
222 TestDisplayItem(container1Layer, DisplayItem::EndSubsequence), 239 TestDisplayItem(container1Layer, endSubsequenceType),
223 TestDisplayItem(container2Layer, DisplayItem::BeginSubsequence), 240 TestDisplayItem(container2, backgroundType),
224 TestDisplayItem(container2, DisplayItem::BoxDecorationBackground), 241 TestDisplayItem(container2Layer, subsequenceType),
225 TestDisplayItem(content2, DisplayItem::BoxDecorationBackground), 242 TestDisplayItem(content2, backgroundType),
226 TestDisplayItem(container2Layer, DisplayItem::EndSubsequence), 243 TestDisplayItem(container2Layer, endSubsequenceType),
227 TestDisplayItem(htmlLayer, DisplayItem::EndSubsequence), 244 TestDisplayItem(htmlLayer, endSubsequenceType),
228 TestDisplayItem(rootLayer, DisplayItem::EndSubsequence)); 245 TestDisplayItem(rootLayer, endSubsequenceType));
229 246
230 toHTMLElement(content1.node())->setAttribute(HTMLNames::styleAttr, "width: 1 00px; height: 100px; background-color: green"); 247 toHTMLElement(content1.node())->setAttribute(HTMLNames::styleAttr, "position : absolute; width: 100px; height: 100px; background-color: green");
231 updateLifecyclePhasesToPaintClean(LayoutRect::infiniteRect()); 248 updateLifecyclePhasesToPaintClean(LayoutRect::infiniteRect());
232 249
233 EXPECT_DISPLAY_LIST(rootDisplayItemList().newDisplayItems(), 10, 250 EXPECT_DISPLAY_LIST(rootDisplayItemList().newDisplayItems(), 11,
234 TestDisplayItem(rootLayer, DisplayItem::BeginSubsequence), 251 TestDisplayItem(layoutView(), cachedBackgroundType),
235 TestDisplayItem(layoutView(), DisplayItem::drawingTypeToCachedDrawingTyp e(DisplayItem::BoxDecorationBackground)), 252 TestDisplayItem(rootLayer, subsequenceType),
236 TestDisplayItem(htmlLayer, DisplayItem::BeginSubsequence), 253 TestDisplayItem(htmlLayer, subsequenceType),
237 TestDisplayItem(container1Layer, DisplayItem::BeginSubsequence), 254 TestDisplayItem(container1, cachedBackgroundType),
238 TestDisplayItem(container1, DisplayItem::drawingTypeToCachedDrawingType( DisplayItem::BoxDecorationBackground)), 255 TestDisplayItem(container1Layer, subsequenceType),
239 TestDisplayItem(content1, DisplayItem::BoxDecorationBackground), 256 TestDisplayItem(content1, backgroundType),
240 TestDisplayItem(container1Layer, DisplayItem::EndSubsequence), 257 TestDisplayItem(container1Layer, endSubsequenceType),
241 TestDisplayItem(container2Layer, DisplayItem::CachedSubsequence), 258 TestDisplayItem(container2, cachedBackgroundType),
242 TestDisplayItem(htmlLayer, DisplayItem::EndSubsequence), 259 TestDisplayItem(container2Layer, cachedSubsequenceType),
243 TestDisplayItem(rootLayer, DisplayItem::EndSubsequence)); 260 TestDisplayItem(htmlLayer, endSubsequenceType),
261 TestDisplayItem(rootLayer, endSubsequenceType));
244 262
245 compositeForSlimmingPaintV2(); 263 compositeForSlimmingPaintV2();
246 264
247 EXPECT_DISPLAY_LIST(rootDisplayItemList().displayItems(), 13, 265 EXPECT_DISPLAY_LIST(rootDisplayItemList().displayItems(), 13,
248 TestDisplayItem(rootLayer, DisplayItem::BeginSubsequence), 266 TestDisplayItem(layoutView(), backgroundType),
249 TestDisplayItem(layoutView(), DisplayItem::BoxDecorationBackground), 267 TestDisplayItem(rootLayer, subsequenceType),
250 TestDisplayItem(htmlLayer, DisplayItem::BeginSubsequence), 268 TestDisplayItem(htmlLayer, subsequenceType),
251 TestDisplayItem(container1Layer, DisplayItem::BeginSubsequence), 269 TestDisplayItem(container1, backgroundType),
252 TestDisplayItem(container1, DisplayItem::BoxDecorationBackground), 270 TestDisplayItem(container1Layer, subsequenceType),
253 TestDisplayItem(content1, DisplayItem::BoxDecorationBackground), 271 TestDisplayItem(content1, backgroundType),
254 TestDisplayItem(container1Layer, DisplayItem::EndSubsequence), 272 TestDisplayItem(container1Layer, endSubsequenceType),
255 TestDisplayItem(container2Layer, DisplayItem::BeginSubsequence), 273 TestDisplayItem(container2, backgroundType),
256 TestDisplayItem(container2, DisplayItem::BoxDecorationBackground), 274 TestDisplayItem(container2Layer, subsequenceType),
257 TestDisplayItem(content2, DisplayItem::BoxDecorationBackground), 275 TestDisplayItem(content2, backgroundType),
258 TestDisplayItem(container2Layer, DisplayItem::EndSubsequence), 276 TestDisplayItem(container2Layer, endSubsequenceType),
259 TestDisplayItem(htmlLayer, DisplayItem::EndSubsequence), 277 TestDisplayItem(htmlLayer, endSubsequenceType),
260 TestDisplayItem(rootLayer, DisplayItem::EndSubsequence)); 278 TestDisplayItem(rootLayer, endSubsequenceType));
261 279
262 // Repeated painting should just generate the root cached subsequence. 280 // Repeated painting should just generate the root cached subsequence.
263 setNeedsDisplayWithoutInvalidationForRoot(); 281 setNeedsDisplayWithoutInvalidationForRoot();
264 updateLifecyclePhasesToPaintClean(); 282 updateLifecyclePhasesToPaintClean();
265 EXPECT_DISPLAY_LIST(rootDisplayItemList().newDisplayItems(), 1, 283 EXPECT_DISPLAY_LIST(rootDisplayItemList().newDisplayItems(), 2,
266 TestDisplayItem(rootLayer, DisplayItem::CachedSubsequence)); 284 TestDisplayItem(layoutView(), cachedBackgroundType),
285 TestDisplayItem(rootLayer, cachedSubsequenceType));
267 286
268 compositeForSlimmingPaintV2(); 287 compositeForSlimmingPaintV2();
269 288
270 EXPECT_DISPLAY_LIST(rootDisplayItemList().displayItems(), 13, 289 EXPECT_DISPLAY_LIST(rootDisplayItemList().displayItems(), 13,
271 TestDisplayItem(rootLayer, DisplayItem::BeginSubsequence), 290 TestDisplayItem(layoutView(), backgroundType),
272 TestDisplayItem(layoutView(), DisplayItem::BoxDecorationBackground), 291 TestDisplayItem(rootLayer, subsequenceType),
273 TestDisplayItem(htmlLayer, DisplayItem::BeginSubsequence), 292 TestDisplayItem(htmlLayer, subsequenceType),
274 TestDisplayItem(container1Layer, DisplayItem::BeginSubsequence), 293 TestDisplayItem(container1, backgroundType),
275 TestDisplayItem(container1, DisplayItem::BoxDecorationBackground), 294 TestDisplayItem(container1Layer, subsequenceType),
276 TestDisplayItem(content1, DisplayItem::BoxDecorationBackground), 295 TestDisplayItem(content1, backgroundType),
277 TestDisplayItem(container1Layer, DisplayItem::EndSubsequence), 296 TestDisplayItem(container1Layer, endSubsequenceType),
278 TestDisplayItem(container2Layer, DisplayItem::BeginSubsequence), 297 TestDisplayItem(container2, backgroundType),
279 TestDisplayItem(container2, DisplayItem::BoxDecorationBackground), 298 TestDisplayItem(container2Layer, subsequenceType),
280 TestDisplayItem(content2, DisplayItem::BoxDecorationBackground), 299 TestDisplayItem(content2, backgroundType),
281 TestDisplayItem(container2Layer, DisplayItem::EndSubsequence), 300 TestDisplayItem(container2Layer, endSubsequenceType),
282 TestDisplayItem(htmlLayer, DisplayItem::EndSubsequence), 301 TestDisplayItem(htmlLayer, endSubsequenceType),
283 TestDisplayItem(rootLayer, DisplayItem::EndSubsequence)); 302 TestDisplayItem(rootLayer, endSubsequenceType));
284 } 303 }
285 304
286 TEST_F(DeprecatedPaintLayerPainterTestForSlimmingPaintV2, CachedSubsequenceOnInt erestRectChange) 305 TEST_F(DeprecatedPaintLayerPainterTestForSlimmingPaintV2, CachedSubsequenceOnInt erestRectChange)
287 { 306 {
288 setBodyInnerHTML( 307 setBodyInnerHTML(
289 "<div id='container1' style='position: relative; width: 200px; height: 2 00px; background-color: blue'></div>" 308 "<div id='container1' style='position: relative; z-index: 1; width: 200p x; height: 200px; background-color: blue'>"
290 "<div id='container2' style='position: absolute; z-index: 1; width: 200p x; height: 200px; background-color: blue'>" 309 " <div id='content1' style='position: absolute; width: 100px; height: 1 00px; background-color: green'></div>"
291 " <div id='content2' style='position: relative; top: 200px; width: 100p x; height: 100px; background-color: green'></div>"
292 "</div>" 310 "</div>"
293 "<div id='container3' style='position: absolute; z-index: 2; left: 300px ; top: 0; width: 200px; height: 200px; background-color: blue'></div>"); 311 "<div id='container2' style='position: relative; z-index: 1; width: 200p x; height: 200px; background-color: blue'>"
312 " <div id='content2a' style='position: absolute; width: 100px; height: 100px; background-color: green'></div>"
313 " <div id='content2b' style='position: absolute; top: 200px; width: 100 px; height: 100px; background-color: green'></div>"
314 "</div>"
315 "<div id='container3' style='position: absolute; z-index: 2; left: 300px ; top: 0; width: 200px; height: 200px; background-color: blue'>"
316 " <div id='content3' style='position: absolute; width: 200px; height: 2 00px; background-color: green'></div>"
317 "</div>");
294 setNeedsDisplayForRoot(); 318 setNeedsDisplayForRoot();
295 319
296 DeprecatedPaintLayer& rootLayer = *layoutView().layer(); 320 DeprecatedPaintLayer& rootLayer = *layoutView().layer();
297 DeprecatedPaintLayer& htmlLayer = *toLayoutBoxModelObject(document().documen tElement()->layoutObject())->layer(); 321 DeprecatedPaintLayer& htmlLayer = *toLayoutBoxModelObject(document().documen tElement()->layoutObject())->layer();
298 LayoutObject& container1 = *document().getElementById("container1")->layoutO bject(); 322 LayoutObject& container1 = *document().getElementById("container1")->layoutO bject();
299 DeprecatedPaintLayer& container1Layer = *toLayoutBoxModelObject(container1). layer(); 323 DeprecatedPaintLayer& container1Layer = *toLayoutBoxModelObject(container1). layer();
324 LayoutObject& content1 = *document().getElementById("content1")->layoutObjec t();
300 LayoutObject& container2 = *document().getElementById("container2")->layoutO bject(); 325 LayoutObject& container2 = *document().getElementById("container2")->layoutO bject();
301 DeprecatedPaintLayer& container2Layer = *toLayoutBoxModelObject(container2). layer(); 326 DeprecatedPaintLayer& container2Layer = *toLayoutBoxModelObject(container2). layer();
327 LayoutObject& content2a = *document().getElementById("content2a")->layoutObj ect();
302 LayoutObject& container3 = *document().getElementById("container3")->layoutO bject(); 328 LayoutObject& container3 = *document().getElementById("container3")->layoutO bject();
303 DeprecatedPaintLayer& container3Layer = *toLayoutBoxModelObject(container3). layer(); 329 DeprecatedPaintLayer& container3Layer = *toLayoutBoxModelObject(container3). layer();
330 LayoutObject& content3 = *document().getElementById("content3")->layoutObjec t();
304 331
305 document().view()->updateAllLifecyclePhases(LayoutRect(0, 0, 400, 300)); 332 document().view()->updateAllLifecyclePhases(LayoutRect(0, 0, 400, 300));
306 333
307 // Container1 is fully in the interest rect; 334 // Container1 is fully in the interest rect;
308 // Container2 is partly (including its stacking chidren) in the interest rec t; 335 // Container2 is partly (including its stacking chidren) in the interest rec t;
309 // Content2 is out of the interest rect and output nothing; 336 // Content2b is out of the interest rect and output nothing;
310 // Container3 is fully in the interest rect. 337 // Container3 is partly in the interest rect.
311 EXPECT_DISPLAY_LIST(rootDisplayItemList().displayItems(), 14, 338 EXPECT_DISPLAY_LIST(rootDisplayItemList().displayItems(), 17,
312 TestDisplayItem(rootLayer, DisplayItem::BeginSubsequence), 339 TestDisplayItem(layoutView(), backgroundType),
313 TestDisplayItem(layoutView(), DisplayItem::BoxDecorationBackground), 340 TestDisplayItem(rootLayer, subsequenceType),
314 TestDisplayItem(htmlLayer, DisplayItem::BeginSubsequence), 341 TestDisplayItem(htmlLayer, subsequenceType),
315 TestDisplayItem(container1Layer, DisplayItem::BeginSubsequence), 342 TestDisplayItem(container1, backgroundType),
316 TestDisplayItem(container1, DisplayItem::BoxDecorationBackground), 343 TestDisplayItem(container1Layer, subsequenceType),
317 TestDisplayItem(container1Layer, DisplayItem::EndSubsequence), 344 TestDisplayItem(content1, backgroundType),
318 TestDisplayItem(container2Layer, DisplayItem::BeginSubsequence), 345 TestDisplayItem(container1Layer, endSubsequenceType),
319 TestDisplayItem(container2, DisplayItem::BoxDecorationBackground), 346 TestDisplayItem(container2, backgroundType),
320 TestDisplayItem(container2Layer, DisplayItem::EndSubsequence), 347 TestDisplayItem(container2Layer, subsequenceType),
321 TestDisplayItem(container3Layer, DisplayItem::BeginSubsequence), 348 TestDisplayItem(content2a, backgroundType),
322 TestDisplayItem(container3, DisplayItem::BoxDecorationBackground), 349 TestDisplayItem(container2Layer, endSubsequenceType),
323 TestDisplayItem(container3Layer, DisplayItem::EndSubsequence), 350 TestDisplayItem(container3, backgroundType),
324 TestDisplayItem(htmlLayer, DisplayItem::EndSubsequence), 351 TestDisplayItem(container3Layer, subsequenceType),
325 TestDisplayItem(rootLayer, DisplayItem::EndSubsequence)); 352 TestDisplayItem(content3, backgroundType),
353 TestDisplayItem(container3Layer, endSubsequenceType),
354 TestDisplayItem(htmlLayer, endSubsequenceType),
355 TestDisplayItem(rootLayer, endSubsequenceType));
326 356
327 setNeedsDisplayWithoutInvalidationForRoot(); 357 setNeedsDisplayWithoutInvalidationForRoot();
328 358
329 // Container1 becomes partly in the interest rect, but uses cached subsequen ce 359 // Container1 becomes partly in the interest rect, but uses cached subsequen ce
330 // because it was fully painted before; 360 // because it was fully painted before;
331 // Container2's intersection with the interest rect changes; 361 // Container2's intersection with the interest rect changes;
332 // Content2 is out of the interest rect and outputs nothing; 362 // Content2b is out of the interest rect and outputs nothing;
333 // Container3 becomes out of the interest rect and outputs nothing. 363 // Container3 becomes out of the interest rect and outputs nothing.
334 updateLifecyclePhasesToPaintClean(LayoutRect(0, 100, 300, 300)); 364 updateLifecyclePhasesToPaintClean(LayoutRect(0, 100, 300, 300));
335 365
336 EXPECT_DISPLAY_LIST(rootDisplayItemList().newDisplayItems(), 9, 366 EXPECT_DISPLAY_LIST(rootDisplayItemList().newDisplayItems(), 11,
337 TestDisplayItem(rootLayer, DisplayItem::BeginSubsequence), 367 TestDisplayItem(layoutView(), cachedBackgroundType),
338 TestDisplayItem(layoutView(), DisplayItem::drawingTypeToCachedDrawingTyp e(DisplayItem::BoxDecorationBackground)), 368 TestDisplayItem(rootLayer, subsequenceType),
339 TestDisplayItem(htmlLayer, DisplayItem::BeginSubsequence), 369 TestDisplayItem(htmlLayer, subsequenceType),
340 TestDisplayItem(container1Layer, DisplayItem::CachedSubsequence), 370 TestDisplayItem(container1, cachedBackgroundType),
341 TestDisplayItem(container2Layer, DisplayItem::BeginSubsequence), 371 TestDisplayItem(container1Layer, cachedSubsequenceType),
342 TestDisplayItem(container2, DisplayItem::drawingTypeToCachedDrawingType( DisplayItem::BoxDecorationBackground)), 372 TestDisplayItem(container2, cachedBackgroundType),
343 TestDisplayItem(container2Layer, DisplayItem::EndSubsequence), 373 TestDisplayItem(container2Layer, subsequenceType),
344 TestDisplayItem(htmlLayer, DisplayItem::EndSubsequence), 374 TestDisplayItem(content2a, cachedBackgroundType),
345 TestDisplayItem(rootLayer, DisplayItem::EndSubsequence)); 375 TestDisplayItem(container2Layer, endSubsequenceType),
376 TestDisplayItem(htmlLayer, endSubsequenceType),
377 TestDisplayItem(rootLayer, endSubsequenceType));
346 378
347 compositeForSlimmingPaintV2(); 379 compositeForSlimmingPaintV2();
348 380
349 EXPECT_DISPLAY_LIST(rootDisplayItemList().displayItems(), 11, 381 EXPECT_DISPLAY_LIST(rootDisplayItemList().displayItems(), 13,
350 TestDisplayItem(rootLayer, DisplayItem::BeginSubsequence), 382 TestDisplayItem(layoutView(), backgroundType),
351 TestDisplayItem(layoutView(), DisplayItem::BoxDecorationBackground), 383 TestDisplayItem(rootLayer, subsequenceType),
352 TestDisplayItem(htmlLayer, DisplayItem::BeginSubsequence), 384 TestDisplayItem(htmlLayer, subsequenceType),
353 TestDisplayItem(container1Layer, DisplayItem::BeginSubsequence), 385 TestDisplayItem(container1, backgroundType),
354 TestDisplayItem(container1, DisplayItem::BoxDecorationBackground), 386 TestDisplayItem(container1Layer, subsequenceType),
355 TestDisplayItem(container1Layer, DisplayItem::EndSubsequence), 387 TestDisplayItem(content1, backgroundType),
356 TestDisplayItem(container2Layer, DisplayItem::BeginSubsequence), 388 TestDisplayItem(container1Layer, endSubsequenceType),
357 TestDisplayItem(container2, DisplayItem::BoxDecorationBackground), 389 TestDisplayItem(container2, backgroundType),
358 TestDisplayItem(container2Layer, DisplayItem::EndSubsequence), 390 TestDisplayItem(container2Layer, subsequenceType),
359 TestDisplayItem(htmlLayer, DisplayItem::EndSubsequence), 391 TestDisplayItem(content2a, backgroundType),
360 TestDisplayItem(rootLayer, DisplayItem::EndSubsequence)); 392 TestDisplayItem(container2Layer, endSubsequenceType),
393 TestDisplayItem(htmlLayer, endSubsequenceType),
394 TestDisplayItem(rootLayer, endSubsequenceType));
361 } 395 }
362 396
363 } // namespace blink 397 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698