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

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

Issue 2872423002: Tweak PaintInvalidationReasons (Closed)
Patch Set: Rebaseline-cl Created 3 years, 7 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "core/HTMLNames.h" 5 #include "core/HTMLNames.h"
6 #include "core/frame/FrameView.h" 6 #include "core/frame/FrameView.h"
7 #include "core/layout/LayoutTestHelper.h" 7 #include "core/layout/LayoutTestHelper.h"
8 #include "core/layout/LayoutView.h" 8 #include "core/layout/LayoutView.h"
9 #include "core/paint/PaintLayer.h" 9 #include "core/paint/PaintLayer.h"
10 #include "platform/graphics/GraphicsLayer.h" 10 #include "platform/graphics/GraphicsLayer.h"
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 71
72 TEST_P(BoxPaintInvalidatorTest, IncrementalInvalidationExpand) { 72 TEST_P(BoxPaintInvalidatorTest, IncrementalInvalidationExpand) {
73 GetDocument().View()->SetTracksPaintInvalidations(true); 73 GetDocument().View()->SetTracksPaintInvalidations(true);
74 Element* target = GetDocument().getElementById("target"); 74 Element* target = GetDocument().getElementById("target");
75 target->setAttribute(HTMLNames::styleAttr, "width: 100px; height: 200px"); 75 target->setAttribute(HTMLNames::styleAttr, "width: 100px; height: 200px");
76 GetDocument().View()->UpdateAllLifecyclePhases(); 76 GetDocument().View()->UpdateAllLifecyclePhases();
77 const auto& raster_invalidations = 77 const auto& raster_invalidations =
78 GetRasterInvalidationTracking()->invalidations; 78 GetRasterInvalidationTracking()->invalidations;
79 ASSERT_EQ(2u, raster_invalidations.size()); 79 ASSERT_EQ(2u, raster_invalidations.size());
80 EXPECT_EQ(IntRect(60, 0, 60, 240), raster_invalidations[0].rect); 80 EXPECT_EQ(IntRect(60, 0, 60, 240), raster_invalidations[0].rect);
81 EXPECT_EQ(kPaintInvalidationIncremental, raster_invalidations[0].reason); 81 EXPECT_EQ(PaintInvalidationReason::kIncremental,
82 raster_invalidations[0].reason);
82 EXPECT_EQ(IntRect(0, 120, 120, 120), raster_invalidations[1].rect); 83 EXPECT_EQ(IntRect(0, 120, 120, 120), raster_invalidations[1].rect);
83 EXPECT_EQ(kPaintInvalidationIncremental, raster_invalidations[1].reason); 84 EXPECT_EQ(PaintInvalidationReason::kIncremental,
85 raster_invalidations[1].reason);
84 GetDocument().View()->SetTracksPaintInvalidations(false); 86 GetDocument().View()->SetTracksPaintInvalidations(false);
85 } 87 }
86 88
87 TEST_P(BoxPaintInvalidatorTest, IncrementalInvalidationShrink) { 89 TEST_P(BoxPaintInvalidatorTest, IncrementalInvalidationShrink) {
88 GetDocument().View()->SetTracksPaintInvalidations(true); 90 GetDocument().View()->SetTracksPaintInvalidations(true);
89 Element* target = GetDocument().getElementById("target"); 91 Element* target = GetDocument().getElementById("target");
90 target->setAttribute(HTMLNames::styleAttr, "width: 20px; height: 80px"); 92 target->setAttribute(HTMLNames::styleAttr, "width: 20px; height: 80px");
91 GetDocument().View()->UpdateAllLifecyclePhases(); 93 GetDocument().View()->UpdateAllLifecyclePhases();
92 const auto& raster_invalidations = 94 const auto& raster_invalidations =
93 GetRasterInvalidationTracking()->invalidations; 95 GetRasterInvalidationTracking()->invalidations;
94 ASSERT_EQ(2u, raster_invalidations.size()); 96 ASSERT_EQ(2u, raster_invalidations.size());
95 EXPECT_EQ(IntRect(30, 0, 40, 140), raster_invalidations[0].rect); 97 EXPECT_EQ(IntRect(30, 0, 40, 140), raster_invalidations[0].rect);
96 EXPECT_EQ(kPaintInvalidationIncremental, raster_invalidations[0].reason); 98 EXPECT_EQ(PaintInvalidationReason::kIncremental,
99 raster_invalidations[0].reason);
97 EXPECT_EQ(IntRect(0, 100, 70, 40), raster_invalidations[1].rect); 100 EXPECT_EQ(IntRect(0, 100, 70, 40), raster_invalidations[1].rect);
98 EXPECT_EQ(kPaintInvalidationIncremental, raster_invalidations[1].reason); 101 EXPECT_EQ(PaintInvalidationReason::kIncremental,
102 raster_invalidations[1].reason);
99 GetDocument().View()->SetTracksPaintInvalidations(false); 103 GetDocument().View()->SetTracksPaintInvalidations(false);
100 } 104 }
101 105
102 TEST_P(BoxPaintInvalidatorTest, IncrementalInvalidationMixed) { 106 TEST_P(BoxPaintInvalidatorTest, IncrementalInvalidationMixed) {
103 GetDocument().View()->SetTracksPaintInvalidations(true); 107 GetDocument().View()->SetTracksPaintInvalidations(true);
104 Element* target = GetDocument().getElementById("target"); 108 Element* target = GetDocument().getElementById("target");
105 target->setAttribute(HTMLNames::styleAttr, "width: 100px; height: 80px"); 109 target->setAttribute(HTMLNames::styleAttr, "width: 100px; height: 80px");
106 GetDocument().View()->UpdateAllLifecyclePhases(); 110 GetDocument().View()->UpdateAllLifecyclePhases();
107 const auto& raster_invalidations = 111 const auto& raster_invalidations =
108 GetRasterInvalidationTracking()->invalidations; 112 GetRasterInvalidationTracking()->invalidations;
109 ASSERT_EQ(2u, raster_invalidations.size()); 113 ASSERT_EQ(2u, raster_invalidations.size());
110 EXPECT_EQ(IntRect(60, 0, 60, 120), raster_invalidations[0].rect); 114 EXPECT_EQ(IntRect(60, 0, 60, 120), raster_invalidations[0].rect);
111 EXPECT_EQ(kPaintInvalidationIncremental, raster_invalidations[0].reason); 115 EXPECT_EQ(PaintInvalidationReason::kIncremental,
116 raster_invalidations[0].reason);
112 EXPECT_EQ(IntRect(0, 100, 70, 40), raster_invalidations[1].rect); 117 EXPECT_EQ(IntRect(0, 100, 70, 40), raster_invalidations[1].rect);
113 EXPECT_EQ(kPaintInvalidationIncremental, raster_invalidations[1].reason); 118 EXPECT_EQ(PaintInvalidationReason::kIncremental,
119 raster_invalidations[1].reason);
114 GetDocument().View()->SetTracksPaintInvalidations(false); 120 GetDocument().View()->SetTracksPaintInvalidations(false);
115 } 121 }
116 122
117 TEST_P(BoxPaintInvalidatorTest, SubpixelVisualRectChagne) { 123 TEST_P(BoxPaintInvalidatorTest, SubpixelVisualRectChagne) {
118 ScopedSlimmingPaintInvalidationForTest scoped_slimming_paint_invalidation( 124 ScopedSlimmingPaintInvalidationForTest scoped_slimming_paint_invalidation(
119 true); 125 true);
120 126
121 Element* target = GetDocument().getElementById("target"); 127 Element* target = GetDocument().getElementById("target");
122 128
123 GetDocument().View()->SetTracksPaintInvalidations(true); 129 GetDocument().View()->SetTracksPaintInvalidations(true);
124 target->setAttribute(HTMLNames::styleAttr, "width: 100.6px; height: 70.3px"); 130 target->setAttribute(HTMLNames::styleAttr, "width: 100.6px; height: 70.3px");
125 GetDocument().View()->UpdateAllLifecyclePhases(); 131 GetDocument().View()->UpdateAllLifecyclePhases();
126 const auto* raster_invalidations = 132 const auto* raster_invalidations =
127 &GetRasterInvalidationTracking()->invalidations; 133 &GetRasterInvalidationTracking()->invalidations;
128 ASSERT_EQ(2u, raster_invalidations->size()); 134 ASSERT_EQ(2u, raster_invalidations->size());
129 EXPECT_EQ(IntRect(60, 0, 61, 111), (*raster_invalidations)[0].rect); 135 EXPECT_EQ(IntRect(60, 0, 61, 111), (*raster_invalidations)[0].rect);
130 EXPECT_EQ(kPaintInvalidationIncremental, (*raster_invalidations)[0].reason); 136 EXPECT_EQ(PaintInvalidationReason::kIncremental,
137 (*raster_invalidations)[0].reason);
131 EXPECT_EQ(IntRect(0, 90, 70, 50), (*raster_invalidations)[1].rect); 138 EXPECT_EQ(IntRect(0, 90, 70, 50), (*raster_invalidations)[1].rect);
132 EXPECT_EQ(kPaintInvalidationIncremental, (*raster_invalidations)[1].reason); 139 EXPECT_EQ(PaintInvalidationReason::kIncremental,
140 (*raster_invalidations)[1].reason);
133 GetDocument().View()->SetTracksPaintInvalidations(false); 141 GetDocument().View()->SetTracksPaintInvalidations(false);
134 142
135 GetDocument().View()->SetTracksPaintInvalidations(true); 143 GetDocument().View()->SetTracksPaintInvalidations(true);
136 target->setAttribute(HTMLNames::styleAttr, "width: 50px; height: 100px"); 144 target->setAttribute(HTMLNames::styleAttr, "width: 50px; height: 100px");
137 GetDocument().View()->UpdateAllLifecyclePhases(); 145 GetDocument().View()->UpdateAllLifecyclePhases();
138 raster_invalidations = &GetRasterInvalidationTracking()->invalidations; 146 raster_invalidations = &GetRasterInvalidationTracking()->invalidations;
139 ASSERT_EQ(2u, raster_invalidations->size()); 147 ASSERT_EQ(2u, raster_invalidations->size());
140 EXPECT_EQ(IntRect(60, 0, 61, 111), (*raster_invalidations)[0].rect); 148 EXPECT_EQ(IntRect(60, 0, 61, 111), (*raster_invalidations)[0].rect);
141 EXPECT_EQ(kPaintInvalidationIncremental, (*raster_invalidations)[0].reason); 149 EXPECT_EQ(PaintInvalidationReason::kIncremental,
150 (*raster_invalidations)[0].reason);
142 EXPECT_EQ(IntRect(0, 90, 70, 50), (*raster_invalidations)[1].rect); 151 EXPECT_EQ(IntRect(0, 90, 70, 50), (*raster_invalidations)[1].rect);
143 EXPECT_EQ(kPaintInvalidationIncremental, (*raster_invalidations)[1].reason); 152 EXPECT_EQ(PaintInvalidationReason::kIncremental,
153 (*raster_invalidations)[1].reason);
144 GetDocument().View()->SetTracksPaintInvalidations(false); 154 GetDocument().View()->SetTracksPaintInvalidations(false);
145 } 155 }
146 156
147 TEST_P(BoxPaintInvalidatorTest, SubpixelVisualRectChangeWithTransform) { 157 TEST_P(BoxPaintInvalidatorTest, SubpixelVisualRectChangeWithTransform) {
148 ScopedSlimmingPaintInvalidationForTest scoped_slimming_paint_invalidation( 158 ScopedSlimmingPaintInvalidationForTest scoped_slimming_paint_invalidation(
149 true); 159 true);
150 160
151 Element* target = GetDocument().getElementById("target"); 161 Element* target = GetDocument().getElementById("target");
152 target->setAttribute(HTMLNames::classAttr, "border transform"); 162 target->setAttribute(HTMLNames::classAttr, "border transform");
153 GetDocument().View()->UpdateAllLifecyclePhases(); 163 GetDocument().View()->UpdateAllLifecyclePhases();
154 164
155 GetDocument().View()->SetTracksPaintInvalidations(true); 165 GetDocument().View()->SetTracksPaintInvalidations(true);
156 target->setAttribute(HTMLNames::styleAttr, "width: 100.6px; height: 70.3px"); 166 target->setAttribute(HTMLNames::styleAttr, "width: 100.6px; height: 70.3px");
157 GetDocument().View()->UpdateAllLifecyclePhases(); 167 GetDocument().View()->UpdateAllLifecyclePhases();
158 const auto* raster_invalidations = 168 const auto* raster_invalidations =
159 &GetRasterInvalidationTracking()->invalidations; 169 &GetRasterInvalidationTracking()->invalidations;
160 ASSERT_EQ(2u, raster_invalidations->size()); 170 ASSERT_EQ(2u, raster_invalidations->size());
161 EXPECT_EQ(IntRect(0, 0, 140, 280), (*raster_invalidations)[0].rect); 171 EXPECT_EQ(IntRect(0, 0, 140, 280), (*raster_invalidations)[0].rect);
162 EXPECT_EQ(kPaintInvalidationBorderBoxChange, 172 EXPECT_EQ(PaintInvalidationReason::kGeometry,
163 (*raster_invalidations)[0].reason); 173 (*raster_invalidations)[0].reason);
164 EXPECT_EQ(IntRect(0, 0, 242, 222), (*raster_invalidations)[1].rect); 174 EXPECT_EQ(IntRect(0, 0, 242, 222), (*raster_invalidations)[1].rect);
165 EXPECT_EQ(kPaintInvalidationBorderBoxChange, 175 EXPECT_EQ(PaintInvalidationReason::kGeometry,
166 (*raster_invalidations)[1].reason); 176 (*raster_invalidations)[1].reason);
167 GetDocument().View()->SetTracksPaintInvalidations(false); 177 GetDocument().View()->SetTracksPaintInvalidations(false);
168 178
169 GetDocument().View()->SetTracksPaintInvalidations(true); 179 GetDocument().View()->SetTracksPaintInvalidations(true);
170 target->setAttribute(HTMLNames::styleAttr, "width: 50px; height: 100px"); 180 target->setAttribute(HTMLNames::styleAttr, "width: 50px; height: 100px");
171 GetDocument().View()->UpdateAllLifecyclePhases(); 181 GetDocument().View()->UpdateAllLifecyclePhases();
172 raster_invalidations = &GetRasterInvalidationTracking()->invalidations; 182 raster_invalidations = &GetRasterInvalidationTracking()->invalidations;
173 ASSERT_EQ(2u, raster_invalidations->size()); 183 ASSERT_EQ(2u, raster_invalidations->size());
174 EXPECT_EQ(IntRect(0, 0, 242, 222), (*raster_invalidations)[0].rect); 184 EXPECT_EQ(IntRect(0, 0, 242, 222), (*raster_invalidations)[0].rect);
175 EXPECT_EQ(kPaintInvalidationBorderBoxChange, 185 EXPECT_EQ(PaintInvalidationReason::kGeometry,
176 (*raster_invalidations)[0].reason); 186 (*raster_invalidations)[0].reason);
177 EXPECT_EQ(IntRect(0, 0, 140, 280), (*raster_invalidations)[1].rect); 187 EXPECT_EQ(IntRect(0, 0, 140, 280), (*raster_invalidations)[1].rect);
178 EXPECT_EQ(kPaintInvalidationBorderBoxChange, 188 EXPECT_EQ(PaintInvalidationReason::kGeometry,
179 (*raster_invalidations)[1].reason); 189 (*raster_invalidations)[1].reason);
180 GetDocument().View()->SetTracksPaintInvalidations(false); 190 GetDocument().View()->SetTracksPaintInvalidations(false);
181 } 191 }
182 192
183 TEST_P(BoxPaintInvalidatorTest, SubpixelWithinPixelsChange) { 193 TEST_P(BoxPaintInvalidatorTest, SubpixelWithinPixelsChange) {
184 ScopedSlimmingPaintInvalidationForTest scoped_slimming_paint_invalidation( 194 ScopedSlimmingPaintInvalidationForTest scoped_slimming_paint_invalidation(
185 true); 195 true);
186 196
187 Element* target = GetDocument().getElementById("target"); 197 Element* target = GetDocument().getElementById("target");
188 LayoutObject* target_object = target->GetLayoutObject(); 198 LayoutObject* target_object = target->GetLayoutObject();
189 EXPECT_EQ(LayoutRect(0, 0, 70, 140), target_object->VisualRect()); 199 EXPECT_EQ(LayoutRect(0, 0, 70, 140), target_object->VisualRect());
190 200
191 GetDocument().View()->SetTracksPaintInvalidations(true); 201 GetDocument().View()->SetTracksPaintInvalidations(true);
192 target->setAttribute(HTMLNames::styleAttr, 202 target->setAttribute(HTMLNames::styleAttr,
193 "margin-top: 0.6px; width: 50px; height: 99.3px"); 203 "margin-top: 0.6px; width: 50px; height: 99.3px");
194 GetDocument().View()->UpdateAllLifecyclePhases(); 204 GetDocument().View()->UpdateAllLifecyclePhases();
195 EXPECT_EQ(LayoutRect(LayoutUnit(), LayoutUnit(0.6), LayoutUnit(70), 205 EXPECT_EQ(LayoutRect(LayoutUnit(), LayoutUnit(0.6), LayoutUnit(70),
196 LayoutUnit(139.3)), 206 LayoutUnit(139.3)),
197 target_object->VisualRect()); 207 target_object->VisualRect());
198 const auto* raster_invalidations = 208 const auto* raster_invalidations =
199 &GetRasterInvalidationTracking()->invalidations; 209 &GetRasterInvalidationTracking()->invalidations;
200 ASSERT_EQ(1u, raster_invalidations->size()); 210 ASSERT_EQ(1u, raster_invalidations->size());
201 EXPECT_EQ(IntRect(0, 0, 70, 140), (*raster_invalidations)[0].rect); 211 EXPECT_EQ(IntRect(0, 0, 70, 140), (*raster_invalidations)[0].rect);
202 EXPECT_EQ(kPaintInvalidationBoundsChange, (*raster_invalidations)[0].reason); 212 EXPECT_EQ(PaintInvalidationReason::kGeometry,
213 (*raster_invalidations)[0].reason);
203 GetDocument().View()->SetTracksPaintInvalidations(false); 214 GetDocument().View()->SetTracksPaintInvalidations(false);
204 215
205 GetDocument().View()->SetTracksPaintInvalidations(true); 216 GetDocument().View()->SetTracksPaintInvalidations(true);
206 target->setAttribute(HTMLNames::styleAttr, 217 target->setAttribute(HTMLNames::styleAttr,
207 "margin-top: 0.6px; width: 49.3px; height: 98.5px"); 218 "margin-top: 0.6px; width: 49.3px; height: 98.5px");
208 GetDocument().View()->UpdateAllLifecyclePhases(); 219 GetDocument().View()->UpdateAllLifecyclePhases();
209 EXPECT_EQ(LayoutRect(LayoutUnit(), LayoutUnit(0.6), LayoutUnit(69.3), 220 EXPECT_EQ(LayoutRect(LayoutUnit(), LayoutUnit(0.6), LayoutUnit(69.3),
210 LayoutUnit(138.5)), 221 LayoutUnit(138.5)),
211 target_object->VisualRect()); 222 target_object->VisualRect());
212 raster_invalidations = &GetRasterInvalidationTracking()->invalidations; 223 raster_invalidations = &GetRasterInvalidationTracking()->invalidations;
213 ASSERT_EQ(2u, raster_invalidations->size()); 224 ASSERT_EQ(2u, raster_invalidations->size());
214 EXPECT_EQ(IntRect(59, 0, 11, 140), (*raster_invalidations)[0].rect); 225 EXPECT_EQ(IntRect(59, 0, 11, 140), (*raster_invalidations)[0].rect);
215 EXPECT_EQ(kPaintInvalidationIncremental, (*raster_invalidations)[0].reason); 226 EXPECT_EQ(PaintInvalidationReason::kIncremental,
227 (*raster_invalidations)[0].reason);
216 EXPECT_EQ(IntRect(0, 119, 70, 21), (*raster_invalidations)[1].rect); 228 EXPECT_EQ(IntRect(0, 119, 70, 21), (*raster_invalidations)[1].rect);
217 EXPECT_EQ(kPaintInvalidationIncremental, (*raster_invalidations)[1].reason); 229 EXPECT_EQ(PaintInvalidationReason::kIncremental,
230 (*raster_invalidations)[1].reason);
218 GetDocument().View()->SetTracksPaintInvalidations(false); 231 GetDocument().View()->SetTracksPaintInvalidations(false);
219 } 232 }
220 233
221 TEST_P(BoxPaintInvalidatorTest, ResizeRotated) { 234 TEST_P(BoxPaintInvalidatorTest, ResizeRotated) {
222 ScopedSlimmingPaintInvalidationForTest scoped_slimming_paint_invalidation( 235 ScopedSlimmingPaintInvalidationForTest scoped_slimming_paint_invalidation(
223 true); 236 true);
224 237
225 Element* target = GetDocument().getElementById("target"); 238 Element* target = GetDocument().getElementById("target");
226 target->setAttribute(HTMLNames::styleAttr, "transform: rotate(45deg)"); 239 target->setAttribute(HTMLNames::styleAttr, "transform: rotate(45deg)");
227 GetDocument().View()->UpdateAllLifecyclePhases(); 240 GetDocument().View()->UpdateAllLifecyclePhases();
228 241
229 // Should do full invalidation a rotated object is resized. 242 // Should do full invalidation a rotated object is resized.
230 GetDocument().View()->SetTracksPaintInvalidations(true); 243 GetDocument().View()->SetTracksPaintInvalidations(true);
231 target->setAttribute(HTMLNames::styleAttr, 244 target->setAttribute(HTMLNames::styleAttr,
232 "transform: rotate(45deg); width: 200px"); 245 "transform: rotate(45deg); width: 200px");
233 GetDocument().View()->UpdateAllLifecyclePhases(); 246 GetDocument().View()->UpdateAllLifecyclePhases();
234 const auto* raster_invalidations = 247 const auto* raster_invalidations =
235 &GetRasterInvalidationTracking()->invalidations; 248 &GetRasterInvalidationTracking()->invalidations;
236 ASSERT_EQ(1u, raster_invalidations->size()); 249 ASSERT_EQ(1u, raster_invalidations->size());
237 EXPECT_EQ(IntRect(-99, 0, 255, 255), (*raster_invalidations)[0].rect); 250 EXPECT_EQ(IntRect(-99, 0, 255, 255), (*raster_invalidations)[0].rect);
238 EXPECT_EQ(kPaintInvalidationBorderBoxChange, 251 EXPECT_EQ(PaintInvalidationReason::kGeometry,
239 (*raster_invalidations)[0].reason); 252 (*raster_invalidations)[0].reason);
240 GetDocument().View()->SetTracksPaintInvalidations(false); 253 GetDocument().View()->SetTracksPaintInvalidations(false);
241 } 254 }
242 255
243 TEST_P(BoxPaintInvalidatorTest, ResizeRotatedChild) { 256 TEST_P(BoxPaintInvalidatorTest, ResizeRotatedChild) {
244 ScopedSlimmingPaintInvalidationForTest scoped_slimming_paint_invalidation( 257 ScopedSlimmingPaintInvalidationForTest scoped_slimming_paint_invalidation(
245 true); 258 true);
246 259
247 Element* target = GetDocument().getElementById("target"); 260 Element* target = GetDocument().getElementById("target");
248 target->setAttribute(HTMLNames::styleAttr, 261 target->setAttribute(HTMLNames::styleAttr,
249 "transform: rotate(45deg); width: 200px"); 262 "transform: rotate(45deg); width: 200px");
250 target->setInnerHTML( 263 target->setInnerHTML(
251 "<div id=child style='width: 50px; height: 50px; background: " 264 "<div id=child style='width: 50px; height: 50px; background: "
252 "red'></div>"); 265 "red'></div>");
253 GetDocument().View()->UpdateAllLifecyclePhases(); 266 GetDocument().View()->UpdateAllLifecyclePhases();
254 Element* child = GetDocument().getElementById("child"); 267 Element* child = GetDocument().getElementById("child");
255 268
256 // Should do full invalidation a rotated object is resized. 269 // Should do full invalidation a rotated object is resized.
257 GetDocument().View()->SetTracksPaintInvalidations(true); 270 GetDocument().View()->SetTracksPaintInvalidations(true);
258 child->setAttribute(HTMLNames::styleAttr, 271 child->setAttribute(HTMLNames::styleAttr,
259 "width: 100px; height: 50px; background: red"); 272 "width: 100px; height: 50px; background: red");
260 GetDocument().View()->UpdateAllLifecyclePhases(); 273 GetDocument().View()->UpdateAllLifecyclePhases();
261 const auto* raster_invalidations = 274 const auto* raster_invalidations =
262 &GetRasterInvalidationTracking()->invalidations; 275 &GetRasterInvalidationTracking()->invalidations;
263 ASSERT_EQ(1u, raster_invalidations->size()); 276 ASSERT_EQ(1u, raster_invalidations->size());
264 EXPECT_EQ(IntRect(-43, 21, 107, 107), (*raster_invalidations)[0].rect); 277 EXPECT_EQ(IntRect(-43, 21, 107, 107), (*raster_invalidations)[0].rect);
265 EXPECT_EQ(kPaintInvalidationBorderBoxChange, 278 EXPECT_EQ(PaintInvalidationReason::kGeometry,
266 (*raster_invalidations)[0].reason); 279 (*raster_invalidations)[0].reason);
267 GetDocument().View()->SetTracksPaintInvalidations(false); 280 GetDocument().View()->SetTracksPaintInvalidations(false);
268 } 281 }
269 282
270 TEST_P(BoxPaintInvalidatorTest, CompositedLayoutViewResize) { 283 TEST_P(BoxPaintInvalidatorTest, CompositedLayoutViewResize) {
271 EnableCompositing(); 284 EnableCompositing();
272 Element* target = GetDocument().getElementById("target"); 285 Element* target = GetDocument().getElementById("target");
273 target->setAttribute(HTMLNames::classAttr, ""); 286 target->setAttribute(HTMLNames::classAttr, "");
274 target->setAttribute(HTMLNames::styleAttr, "height: 2000px"); 287 target->setAttribute(HTMLNames::styleAttr, "height: 2000px");
275 GetDocument().View()->UpdateAllLifecyclePhases(); 288 GetDocument().View()->UpdateAllLifecyclePhases();
276 289
277 // Resize the content. 290 // Resize the content.
278 GetDocument().View()->SetTracksPaintInvalidations(true); 291 GetDocument().View()->SetTracksPaintInvalidations(true);
279 target->setAttribute(HTMLNames::styleAttr, "height: 3000px"); 292 target->setAttribute(HTMLNames::styleAttr, "height: 3000px");
280 GetDocument().View()->UpdateAllLifecyclePhases(); 293 GetDocument().View()->UpdateAllLifecyclePhases();
281 const auto& raster_invalidations = 294 const auto& raster_invalidations =
282 GetRasterInvalidationTracking()->invalidations; 295 GetRasterInvalidationTracking()->invalidations;
283 ASSERT_EQ(1u, raster_invalidations.size()); 296 ASSERT_EQ(1u, raster_invalidations.size());
284 EXPECT_EQ(IntRect(0, 2000, 800, 1000), raster_invalidations[0].rect); 297 EXPECT_EQ(IntRect(0, 2000, 800, 1000), raster_invalidations[0].rect);
285 EXPECT_EQ(static_cast<const DisplayItemClient*>(&GetLayoutView()), 298 EXPECT_EQ(static_cast<const DisplayItemClient*>(&GetLayoutView()),
286 raster_invalidations[0].client); 299 raster_invalidations[0].client);
287 if (RuntimeEnabledFeatures::rootLayerScrollingEnabled()) { 300 if (RuntimeEnabledFeatures::rootLayerScrollingEnabled()) {
288 EXPECT_EQ(kPaintInvalidationBackgroundOnScrollingContentsLayer, 301 EXPECT_EQ(PaintInvalidationReason::kBackgroundOnScrollingContentsLayer,
289 raster_invalidations[0].reason); 302 raster_invalidations[0].reason);
290 } else { 303 } else {
291 EXPECT_EQ(kPaintInvalidationIncremental, raster_invalidations[0].reason); 304 EXPECT_EQ(PaintInvalidationReason::kIncremental,
305 raster_invalidations[0].reason);
292 } 306 }
293 307
294 GetDocument().View()->SetTracksPaintInvalidations(false); 308 GetDocument().View()->SetTracksPaintInvalidations(false);
295 309
296 // Resize the viewport. No paint invalidation. 310 // Resize the viewport. No paint invalidation.
297 GetDocument().View()->SetTracksPaintInvalidations(true); 311 GetDocument().View()->SetTracksPaintInvalidations(true);
298 GetDocument().View()->Resize(800, 1000); 312 GetDocument().View()->Resize(800, 1000);
299 GetDocument().View()->UpdateAllLifecyclePhases(); 313 GetDocument().View()->UpdateAllLifecyclePhases();
300 EXPECT_FALSE(GetRasterInvalidationTracking()); 314 EXPECT_FALSE(GetRasterInvalidationTracking());
301 GetDocument().View()->SetTracksPaintInvalidations(false); 315 GetDocument().View()->SetTracksPaintInvalidations(false);
(...skipping 12 matching lines...) Expand all
314 target->setAttribute(HTMLNames::styleAttr, "height: 3000px"); 328 target->setAttribute(HTMLNames::styleAttr, "height: 3000px");
315 GetDocument().View()->UpdateAllLifecyclePhases(); 329 GetDocument().View()->UpdateAllLifecyclePhases();
316 330
317 const auto& raster_invalidations = 331 const auto& raster_invalidations =
318 GetRasterInvalidationTracking()->invalidations; 332 GetRasterInvalidationTracking()->invalidations;
319 ASSERT_EQ(1u, raster_invalidations.size()); 333 ASSERT_EQ(1u, raster_invalidations.size());
320 EXPECT_EQ(IntRect(0, 0, 800, 3000), raster_invalidations[0].rect); 334 EXPECT_EQ(IntRect(0, 0, 800, 3000), raster_invalidations[0].rect);
321 EXPECT_EQ(static_cast<const DisplayItemClient*>(&GetLayoutView()), 335 EXPECT_EQ(static_cast<const DisplayItemClient*>(&GetLayoutView()),
322 raster_invalidations[0].client); 336 raster_invalidations[0].client);
323 if (RuntimeEnabledFeatures::rootLayerScrollingEnabled()) { 337 if (RuntimeEnabledFeatures::rootLayerScrollingEnabled()) {
324 EXPECT_EQ(kPaintInvalidationBackgroundOnScrollingContentsLayer, 338 EXPECT_EQ(PaintInvalidationReason::kBackgroundOnScrollingContentsLayer,
325 raster_invalidations[0].reason); 339 raster_invalidations[0].reason);
326 } else { 340 } else {
327 EXPECT_EQ(kPaintInvalidationLayoutOverflowBoxChange, 341 EXPECT_EQ(PaintInvalidationReason::kBackground,
328 raster_invalidations[0].reason); 342 raster_invalidations[0].reason);
329 } 343 }
330 344
331 GetDocument().View()->SetTracksPaintInvalidations(false); 345 GetDocument().View()->SetTracksPaintInvalidations(false);
332 346
333 // Resize the viewport. No paint invalidation. 347 // Resize the viewport. No paint invalidation.
334 GetDocument().View()->SetTracksPaintInvalidations(true); 348 GetDocument().View()->SetTracksPaintInvalidations(true);
335 GetDocument().View()->Resize(800, 1000); 349 GetDocument().View()->Resize(800, 1000);
336 GetDocument().View()->UpdateAllLifecyclePhases(); 350 GetDocument().View()->UpdateAllLifecyclePhases();
337 EXPECT_FALSE(GetRasterInvalidationTracking()); 351 EXPECT_FALSE(GetRasterInvalidationTracking());
(...skipping 30 matching lines...) Expand all
368 // Resize the iframe. 382 // Resize the iframe.
369 GetDocument().View()->SetTracksPaintInvalidations(true); 383 GetDocument().View()->SetTracksPaintInvalidations(true);
370 iframe->setAttribute(HTMLNames::styleAttr, "height: 200px"); 384 iframe->setAttribute(HTMLNames::styleAttr, "height: 200px");
371 GetDocument().View()->UpdateAllLifecyclePhases(); 385 GetDocument().View()->UpdateAllLifecyclePhases();
372 const auto& raster_invalidations = 386 const auto& raster_invalidations =
373 GetRasterInvalidationTracking()->invalidations; 387 GetRasterInvalidationTracking()->invalidations;
374 ASSERT_EQ(2u, raster_invalidations.size()); 388 ASSERT_EQ(2u, raster_invalidations.size());
375 EXPECT_EQ(IntRect(0, 100, 100, 100), raster_invalidations[0].rect); 389 EXPECT_EQ(IntRect(0, 100, 100, 100), raster_invalidations[0].rect);
376 EXPECT_EQ(static_cast<const DisplayItemClient*>(iframe->GetLayoutObject()), 390 EXPECT_EQ(static_cast<const DisplayItemClient*>(iframe->GetLayoutObject()),
377 raster_invalidations[0].client); 391 raster_invalidations[0].client);
378 EXPECT_EQ(kPaintInvalidationIncremental, raster_invalidations[0].reason); 392 EXPECT_EQ(PaintInvalidationReason::kIncremental,
393 raster_invalidations[0].reason);
379 EXPECT_EQ( 394 EXPECT_EQ(
380 static_cast<const DisplayItemClient*>(content->GetLayoutObject()->View()), 395 static_cast<const DisplayItemClient*>(content->GetLayoutObject()->View()),
381 raster_invalidations[1].client); 396 raster_invalidations[1].client);
382 EXPECT_EQ(IntRect(0, 100, 100, 100), raster_invalidations[1].rect); 397 EXPECT_EQ(IntRect(0, 100, 100, 100), raster_invalidations[1].rect);
383 EXPECT_EQ(kPaintInvalidationIncremental, raster_invalidations[1].reason); 398 EXPECT_EQ(PaintInvalidationReason::kIncremental,
399 raster_invalidations[1].reason);
384 GetDocument().View()->SetTracksPaintInvalidations(false); 400 GetDocument().View()->SetTracksPaintInvalidations(false);
385 } 401 }
386 402
387 TEST_P(BoxPaintInvalidatorTest, NonCompositedLayoutViewGradientResize) { 403 TEST_P(BoxPaintInvalidatorTest, NonCompositedLayoutViewGradientResize) {
388 SetBodyInnerHTML( 404 SetBodyInnerHTML(
389 "<style>" 405 "<style>"
390 " body { margin: 0 }" 406 " body { margin: 0 }"
391 " iframe { display: block; width: 100px; height: 100px; border: none; }" 407 " iframe { display: block; width: 100px; height: 100px; border: none; }"
392 "</style>" 408 "</style>"
393 "<iframe id='iframe'></iframe>"); 409 "<iframe id='iframe'></iframe>");
(...skipping 17 matching lines...) Expand all
411 // Resize the content. 427 // Resize the content.
412 GetDocument().View()->SetTracksPaintInvalidations(true); 428 GetDocument().View()->SetTracksPaintInvalidations(true);
413 content->setAttribute(HTMLNames::styleAttr, "height: 500px"); 429 content->setAttribute(HTMLNames::styleAttr, "height: 500px");
414 GetDocument().View()->UpdateAllLifecyclePhases(); 430 GetDocument().View()->UpdateAllLifecyclePhases();
415 const auto* raster_invalidations = 431 const auto* raster_invalidations =
416 &GetRasterInvalidationTracking()->invalidations; 432 &GetRasterInvalidationTracking()->invalidations;
417 ASSERT_EQ(1u, raster_invalidations->size()); 433 ASSERT_EQ(1u, raster_invalidations->size());
418 EXPECT_EQ(IntRect(0, 0, 100, 100), (*raster_invalidations)[0].rect); 434 EXPECT_EQ(IntRect(0, 0, 100, 100), (*raster_invalidations)[0].rect);
419 EXPECT_EQ(static_cast<const DisplayItemClient*>(frame_layout_view), 435 EXPECT_EQ(static_cast<const DisplayItemClient*>(frame_layout_view),
420 (*raster_invalidations)[0].client); 436 (*raster_invalidations)[0].client);
421 EXPECT_EQ(kPaintInvalidationLayoutOverflowBoxChange, 437 EXPECT_EQ(PaintInvalidationReason::kBackground,
422 (*raster_invalidations)[0].reason); 438 (*raster_invalidations)[0].reason);
423 GetDocument().View()->SetTracksPaintInvalidations(false); 439 GetDocument().View()->SetTracksPaintInvalidations(false);
424 440
425 // Resize the iframe. 441 // Resize the iframe.
426 GetDocument().View()->SetTracksPaintInvalidations(true); 442 GetDocument().View()->SetTracksPaintInvalidations(true);
427 iframe->setAttribute(HTMLNames::styleAttr, "height: 200px"); 443 iframe->setAttribute(HTMLNames::styleAttr, "height: 200px");
428 GetDocument().View()->UpdateAllLifecyclePhases(); 444 GetDocument().View()->UpdateAllLifecyclePhases();
429 raster_invalidations = &GetRasterInvalidationTracking()->invalidations; 445 raster_invalidations = &GetRasterInvalidationTracking()->invalidations;
430 ASSERT_EQ(2u, raster_invalidations->size()); 446 ASSERT_EQ(2u, raster_invalidations->size());
431 EXPECT_EQ(IntRect(0, 100, 100, 100), (*raster_invalidations)[0].rect); 447 EXPECT_EQ(IntRect(0, 100, 100, 100), (*raster_invalidations)[0].rect);
432 EXPECT_EQ(static_cast<const DisplayItemClient*>(iframe->GetLayoutObject()), 448 EXPECT_EQ(static_cast<const DisplayItemClient*>(iframe->GetLayoutObject()),
433 (*raster_invalidations)[0].client); 449 (*raster_invalidations)[0].client);
434 EXPECT_EQ(kPaintInvalidationIncremental, (*raster_invalidations)[0].reason); 450 EXPECT_EQ(PaintInvalidationReason::kIncremental,
451 (*raster_invalidations)[0].reason);
435 EXPECT_EQ(static_cast<const DisplayItemClient*>(frame_layout_view), 452 EXPECT_EQ(static_cast<const DisplayItemClient*>(frame_layout_view),
436 (*raster_invalidations)[1].client); 453 (*raster_invalidations)[1].client);
437 EXPECT_EQ(IntRect(0, 0, 100, 200), (*raster_invalidations)[1].rect); 454 EXPECT_EQ(IntRect(0, 0, 100, 200), (*raster_invalidations)[1].rect);
438 EXPECT_EQ(kPaintInvalidationViewBackground, 455 EXPECT_EQ(PaintInvalidationReason::kBackground,
439 (*raster_invalidations)[1].reason); 456 (*raster_invalidations)[1].reason);
440 GetDocument().View()->SetTracksPaintInvalidations(false); 457 GetDocument().View()->SetTracksPaintInvalidations(false);
441 } 458 }
442 459
443 TEST_P(BoxPaintInvalidatorTest, CompositedBackgroundAttachmentLocalResize) { 460 TEST_P(BoxPaintInvalidatorTest, CompositedBackgroundAttachmentLocalResize) {
444 EnableCompositing(); 461 EnableCompositing();
445 462
446 Element* target = GetDocument().getElementById("target"); 463 Element* target = GetDocument().getElementById("target");
447 target->setAttribute(HTMLNames::classAttr, "border local-background"); 464 target->setAttribute(HTMLNames::classAttr, "border local-background");
448 target->setAttribute(HTMLNames::styleAttr, "will-change: transform"); 465 target->setAttribute(HTMLNames::styleAttr, "will-change: transform");
(...skipping 14 matching lines...) Expand all
463 GraphicsLayer* contents_layer = target_obj->Layer()->GraphicsLayerBacking(); 480 GraphicsLayer* contents_layer = target_obj->Layer()->GraphicsLayerBacking();
464 // No invalidation on the container layer. 481 // No invalidation on the container layer.
465 EXPECT_FALSE(container_layer->GetRasterInvalidationTracking()); 482 EXPECT_FALSE(container_layer->GetRasterInvalidationTracking());
466 // Incremental invalidation of background on contents layer. 483 // Incremental invalidation of background on contents layer.
467 const auto& contents_raster_invalidations = 484 const auto& contents_raster_invalidations =
468 contents_layer->GetRasterInvalidationTracking()->invalidations; 485 contents_layer->GetRasterInvalidationTracking()->invalidations;
469 ASSERT_EQ(1u, contents_raster_invalidations.size()); 486 ASSERT_EQ(1u, contents_raster_invalidations.size());
470 EXPECT_EQ(IntRect(0, 500, 500, 500), contents_raster_invalidations[0].rect); 487 EXPECT_EQ(IntRect(0, 500, 500, 500), contents_raster_invalidations[0].rect);
471 EXPECT_EQ(static_cast<const DisplayItemClient*>(target->GetLayoutObject()), 488 EXPECT_EQ(static_cast<const DisplayItemClient*>(target->GetLayoutObject()),
472 contents_raster_invalidations[0].client); 489 contents_raster_invalidations[0].client);
473 EXPECT_EQ(kPaintInvalidationBackgroundOnScrollingContentsLayer, 490 EXPECT_EQ(PaintInvalidationReason::kBackgroundOnScrollingContentsLayer,
474 contents_raster_invalidations[0].reason); 491 contents_raster_invalidations[0].reason);
475 GetDocument().View()->SetTracksPaintInvalidations(false); 492 GetDocument().View()->SetTracksPaintInvalidations(false);
476 493
477 // Resize the container. 494 // Resize the container.
478 GetDocument().View()->SetTracksPaintInvalidations(true); 495 GetDocument().View()->SetTracksPaintInvalidations(true);
479 target->setAttribute(HTMLNames::styleAttr, 496 target->setAttribute(HTMLNames::styleAttr,
480 "will-change: transform; height: 200px"); 497 "will-change: transform; height: 200px");
481 GetDocument().View()->UpdateAllLifecyclePhases(); 498 GetDocument().View()->UpdateAllLifecyclePhases();
482 // No invalidation on the contents layer. 499 // No invalidation on the contents layer.
483 EXPECT_FALSE(contents_layer->GetRasterInvalidationTracking()); 500 EXPECT_FALSE(contents_layer->GetRasterInvalidationTracking());
484 // Incremental invalidation on the container layer. 501 // Incremental invalidation on the container layer.
485 const auto& container_raster_invalidations = 502 const auto& container_raster_invalidations =
486 container_layer->GetRasterInvalidationTracking()->invalidations; 503 container_layer->GetRasterInvalidationTracking()->invalidations;
487 ASSERT_EQ(1u, container_raster_invalidations.size()); 504 ASSERT_EQ(1u, container_raster_invalidations.size());
488 EXPECT_EQ(IntRect(0, 120, 70, 120), container_raster_invalidations[0].rect); 505 EXPECT_EQ(IntRect(0, 120, 70, 120), container_raster_invalidations[0].rect);
489 EXPECT_EQ(static_cast<const DisplayItemClient*>(target->GetLayoutObject()), 506 EXPECT_EQ(static_cast<const DisplayItemClient*>(target->GetLayoutObject()),
490 container_raster_invalidations[0].client); 507 container_raster_invalidations[0].client);
491 EXPECT_EQ(kPaintInvalidationIncremental, 508 EXPECT_EQ(PaintInvalidationReason::kIncremental,
492 container_raster_invalidations[0].reason); 509 container_raster_invalidations[0].reason);
493 GetDocument().View()->SetTracksPaintInvalidations(false); 510 GetDocument().View()->SetTracksPaintInvalidations(false);
494 } 511 }
495 512
496 TEST_P(BoxPaintInvalidatorTest, 513 TEST_P(BoxPaintInvalidatorTest,
497 CompositedBackgroundAttachmentLocalGradientResize) { 514 CompositedBackgroundAttachmentLocalGradientResize) {
498 EnableCompositing(); 515 EnableCompositing();
499 516
500 Element* target = GetDocument().getElementById("target"); 517 Element* target = GetDocument().getElementById("target");
501 target->setAttribute(HTMLNames::classAttr, 518 target->setAttribute(HTMLNames::classAttr,
(...skipping 17 matching lines...) Expand all
519 // No invalidation on the container layer. 536 // No invalidation on the container layer.
520 EXPECT_FALSE(container_layer->GetRasterInvalidationTracking()); 537 EXPECT_FALSE(container_layer->GetRasterInvalidationTracking());
521 // Full invalidation of background on contents layer because the gradient 538 // Full invalidation of background on contents layer because the gradient
522 // background is resized. 539 // background is resized.
523 const auto& contents_raster_invalidations = 540 const auto& contents_raster_invalidations =
524 contents_layer->GetRasterInvalidationTracking()->invalidations; 541 contents_layer->GetRasterInvalidationTracking()->invalidations;
525 ASSERT_EQ(1u, contents_raster_invalidations.size()); 542 ASSERT_EQ(1u, contents_raster_invalidations.size());
526 EXPECT_EQ(IntRect(0, 0, 500, 1000), contents_raster_invalidations[0].rect); 543 EXPECT_EQ(IntRect(0, 0, 500, 1000), contents_raster_invalidations[0].rect);
527 EXPECT_EQ(static_cast<const DisplayItemClient*>(target->GetLayoutObject()), 544 EXPECT_EQ(static_cast<const DisplayItemClient*>(target->GetLayoutObject()),
528 contents_raster_invalidations[0].client); 545 contents_raster_invalidations[0].client);
529 EXPECT_EQ(kPaintInvalidationBackgroundOnScrollingContentsLayer, 546 EXPECT_EQ(PaintInvalidationReason::kBackgroundOnScrollingContentsLayer,
530 contents_raster_invalidations[0].reason); 547 contents_raster_invalidations[0].reason);
531 GetDocument().View()->SetTracksPaintInvalidations(false); 548 GetDocument().View()->SetTracksPaintInvalidations(false);
532 549
533 // Resize the container. 550 // Resize the container.
534 GetDocument().View()->SetTracksPaintInvalidations(true); 551 GetDocument().View()->SetTracksPaintInvalidations(true);
535 target->setAttribute(HTMLNames::styleAttr, 552 target->setAttribute(HTMLNames::styleAttr,
536 "will-change: transform; height: 200px"); 553 "will-change: transform; height: 200px");
537 GetDocument().View()->UpdateAllLifecyclePhases(); 554 GetDocument().View()->UpdateAllLifecyclePhases();
538 EXPECT_FALSE(contents_layer->GetRasterInvalidationTracking()); 555 EXPECT_FALSE(contents_layer->GetRasterInvalidationTracking());
539 // Full invalidation on the container layer. 556 // Full invalidation on the container layer.
540 const auto& container_raster_invalidations = 557 const auto& container_raster_invalidations =
541 container_layer->GetRasterInvalidationTracking()->invalidations; 558 container_layer->GetRasterInvalidationTracking()->invalidations;
542 ASSERT_EQ(1u, container_raster_invalidations.size()); 559 ASSERT_EQ(1u, container_raster_invalidations.size());
543 EXPECT_EQ(IntRect(0, 0, 70, 240), container_raster_invalidations[0].rect); 560 EXPECT_EQ(IntRect(0, 0, 70, 240), container_raster_invalidations[0].rect);
544 EXPECT_EQ(static_cast<const DisplayItemClient*>(target->GetLayoutObject()), 561 EXPECT_EQ(static_cast<const DisplayItemClient*>(target->GetLayoutObject()),
545 container_raster_invalidations[0].client); 562 container_raster_invalidations[0].client);
546 EXPECT_EQ(kPaintInvalidationBorderBoxChange, 563 EXPECT_EQ(PaintInvalidationReason::kGeometry,
547 container_raster_invalidations[0].reason); 564 container_raster_invalidations[0].reason);
548 GetDocument().View()->SetTracksPaintInvalidations(false); 565 GetDocument().View()->SetTracksPaintInvalidations(false);
549 } 566 }
550 567
551 TEST_P(BoxPaintInvalidatorTest, NonCompositedBackgroundAttachmentLocalResize) { 568 TEST_P(BoxPaintInvalidatorTest, NonCompositedBackgroundAttachmentLocalResize) {
552 Element* target = GetDocument().getElementById("target"); 569 Element* target = GetDocument().getElementById("target");
553 target->setAttribute(HTMLNames::classAttr, "border local-background"); 570 target->setAttribute(HTMLNames::classAttr, "border local-background");
554 target->setInnerHTML( 571 target->setInnerHTML(
555 "<div id=child style='width: 500px; height: 500px'></div>", 572 "<div id=child style='width: 500px; height: 500px'></div>",
556 ASSERT_NO_EXCEPTION); 573 ASSERT_NO_EXCEPTION);
(...skipping 12 matching lines...) Expand all
569 // Resize the container. 586 // Resize the container.
570 GetDocument().View()->SetTracksPaintInvalidations(true); 587 GetDocument().View()->SetTracksPaintInvalidations(true);
571 target->setAttribute(HTMLNames::styleAttr, "height: 200px"); 588 target->setAttribute(HTMLNames::styleAttr, "height: 200px");
572 GetDocument().View()->UpdateAllLifecyclePhases(); 589 GetDocument().View()->UpdateAllLifecyclePhases();
573 const auto& raster_invalidations = 590 const auto& raster_invalidations =
574 GetRasterInvalidationTracking()->invalidations; 591 GetRasterInvalidationTracking()->invalidations;
575 ASSERT_EQ(1u, raster_invalidations.size()); 592 ASSERT_EQ(1u, raster_invalidations.size());
576 EXPECT_EQ(IntRect(0, 120, 70, 120), raster_invalidations[0].rect); 593 EXPECT_EQ(IntRect(0, 120, 70, 120), raster_invalidations[0].rect);
577 EXPECT_EQ(static_cast<const DisplayItemClient*>(target->GetLayoutObject()), 594 EXPECT_EQ(static_cast<const DisplayItemClient*>(target->GetLayoutObject()),
578 raster_invalidations[0].client); 595 raster_invalidations[0].client);
579 EXPECT_EQ(kPaintInvalidationIncremental, raster_invalidations[0].reason); 596 EXPECT_EQ(PaintInvalidationReason::kIncremental,
597 raster_invalidations[0].reason);
580 GetDocument().View()->SetTracksPaintInvalidations(false); 598 GetDocument().View()->SetTracksPaintInvalidations(false);
581 } 599 }
582 600
583 } // namespace blink 601 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/paint/BoxPaintInvalidator.cpp ('k') | third_party/WebKit/Source/core/paint/BoxPainter.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698