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

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

Issue 2868283003: [SPv2] Renaming and refactor about raster invalidation tracking (Closed)
Patch Set: - 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 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 }; 68 };
69 69
70 INSTANTIATE_TEST_CASE_P(All, BoxPaintInvalidatorTest, ::testing::Bool()); 70 INSTANTIATE_TEST_CASE_P(All, BoxPaintInvalidatorTest, ::testing::Bool());
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()->tracked_raster_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(kPaintInvalidationIncremental, raster_invalidations[0].reason);
82 EXPECT_EQ(IntRect(0, 120, 120, 120), raster_invalidations[1].rect); 82 EXPECT_EQ(IntRect(0, 120, 120, 120), raster_invalidations[1].rect);
83 EXPECT_EQ(kPaintInvalidationIncremental, raster_invalidations[1].reason); 83 EXPECT_EQ(kPaintInvalidationIncremental, raster_invalidations[1].reason);
84 GetDocument().View()->SetTracksPaintInvalidations(false); 84 GetDocument().View()->SetTracksPaintInvalidations(false);
85 } 85 }
86 86
87 TEST_P(BoxPaintInvalidatorTest, IncrementalInvalidationShrink) { 87 TEST_P(BoxPaintInvalidatorTest, IncrementalInvalidationShrink) {
88 GetDocument().View()->SetTracksPaintInvalidations(true); 88 GetDocument().View()->SetTracksPaintInvalidations(true);
89 Element* target = GetDocument().getElementById("target"); 89 Element* target = GetDocument().getElementById("target");
90 target->setAttribute(HTMLNames::styleAttr, "width: 20px; height: 80px"); 90 target->setAttribute(HTMLNames::styleAttr, "width: 20px; height: 80px");
91 GetDocument().View()->UpdateAllLifecyclePhases(); 91 GetDocument().View()->UpdateAllLifecyclePhases();
92 const auto& raster_invalidations = 92 const auto& raster_invalidations =
93 GetRasterInvalidationTracking()->tracked_raster_invalidations; 93 GetRasterInvalidationTracking()->invalidations;
94 ASSERT_EQ(2u, raster_invalidations.size()); 94 ASSERT_EQ(2u, raster_invalidations.size());
95 EXPECT_EQ(IntRect(30, 0, 40, 140), raster_invalidations[0].rect); 95 EXPECT_EQ(IntRect(30, 0, 40, 140), raster_invalidations[0].rect);
96 EXPECT_EQ(kPaintInvalidationIncremental, raster_invalidations[0].reason); 96 EXPECT_EQ(kPaintInvalidationIncremental, raster_invalidations[0].reason);
97 EXPECT_EQ(IntRect(0, 100, 70, 40), raster_invalidations[1].rect); 97 EXPECT_EQ(IntRect(0, 100, 70, 40), raster_invalidations[1].rect);
98 EXPECT_EQ(kPaintInvalidationIncremental, raster_invalidations[1].reason); 98 EXPECT_EQ(kPaintInvalidationIncremental, raster_invalidations[1].reason);
99 GetDocument().View()->SetTracksPaintInvalidations(false); 99 GetDocument().View()->SetTracksPaintInvalidations(false);
100 } 100 }
101 101
102 TEST_P(BoxPaintInvalidatorTest, IncrementalInvalidationMixed) { 102 TEST_P(BoxPaintInvalidatorTest, IncrementalInvalidationMixed) {
103 GetDocument().View()->SetTracksPaintInvalidations(true); 103 GetDocument().View()->SetTracksPaintInvalidations(true);
104 Element* target = GetDocument().getElementById("target"); 104 Element* target = GetDocument().getElementById("target");
105 target->setAttribute(HTMLNames::styleAttr, "width: 100px; height: 80px"); 105 target->setAttribute(HTMLNames::styleAttr, "width: 100px; height: 80px");
106 GetDocument().View()->UpdateAllLifecyclePhases(); 106 GetDocument().View()->UpdateAllLifecyclePhases();
107 const auto& raster_invalidations = 107 const auto& raster_invalidations =
108 GetRasterInvalidationTracking()->tracked_raster_invalidations; 108 GetRasterInvalidationTracking()->invalidations;
109 ASSERT_EQ(2u, raster_invalidations.size()); 109 ASSERT_EQ(2u, raster_invalidations.size());
110 EXPECT_EQ(IntRect(60, 0, 60, 120), raster_invalidations[0].rect); 110 EXPECT_EQ(IntRect(60, 0, 60, 120), raster_invalidations[0].rect);
111 EXPECT_EQ(kPaintInvalidationIncremental, raster_invalidations[0].reason); 111 EXPECT_EQ(kPaintInvalidationIncremental, raster_invalidations[0].reason);
112 EXPECT_EQ(IntRect(0, 100, 70, 40), raster_invalidations[1].rect); 112 EXPECT_EQ(IntRect(0, 100, 70, 40), raster_invalidations[1].rect);
113 EXPECT_EQ(kPaintInvalidationIncremental, raster_invalidations[1].reason); 113 EXPECT_EQ(kPaintInvalidationIncremental, raster_invalidations[1].reason);
114 GetDocument().View()->SetTracksPaintInvalidations(false); 114 GetDocument().View()->SetTracksPaintInvalidations(false);
115 } 115 }
116 116
117 TEST_P(BoxPaintInvalidatorTest, SubpixelVisualRectChagne) { 117 TEST_P(BoxPaintInvalidatorTest, SubpixelVisualRectChagne) {
118 ScopedSlimmingPaintInvalidationForTest scoped_slimming_paint_invalidation( 118 ScopedSlimmingPaintInvalidationForTest scoped_slimming_paint_invalidation(
119 true); 119 true);
120 120
121 Element* target = GetDocument().getElementById("target"); 121 Element* target = GetDocument().getElementById("target");
122 122
123 GetDocument().View()->SetTracksPaintInvalidations(true); 123 GetDocument().View()->SetTracksPaintInvalidations(true);
124 target->setAttribute(HTMLNames::styleAttr, "width: 100.6px; height: 70.3px"); 124 target->setAttribute(HTMLNames::styleAttr, "width: 100.6px; height: 70.3px");
125 GetDocument().View()->UpdateAllLifecyclePhases(); 125 GetDocument().View()->UpdateAllLifecyclePhases();
126 const auto* raster_invalidations = 126 const auto* raster_invalidations =
127 &GetRasterInvalidationTracking()->tracked_raster_invalidations; 127 &GetRasterInvalidationTracking()->invalidations;
128 ASSERT_EQ(2u, raster_invalidations->size()); 128 ASSERT_EQ(2u, raster_invalidations->size());
129 EXPECT_EQ(IntRect(60, 0, 61, 111), (*raster_invalidations)[0].rect); 129 EXPECT_EQ(IntRect(60, 0, 61, 111), (*raster_invalidations)[0].rect);
130 EXPECT_EQ(kPaintInvalidationIncremental, (*raster_invalidations)[0].reason); 130 EXPECT_EQ(kPaintInvalidationIncremental, (*raster_invalidations)[0].reason);
131 EXPECT_EQ(IntRect(0, 90, 70, 50), (*raster_invalidations)[1].rect); 131 EXPECT_EQ(IntRect(0, 90, 70, 50), (*raster_invalidations)[1].rect);
132 EXPECT_EQ(kPaintInvalidationIncremental, (*raster_invalidations)[1].reason); 132 EXPECT_EQ(kPaintInvalidationIncremental, (*raster_invalidations)[1].reason);
133 GetDocument().View()->SetTracksPaintInvalidations(false); 133 GetDocument().View()->SetTracksPaintInvalidations(false);
134 134
135 GetDocument().View()->SetTracksPaintInvalidations(true); 135 GetDocument().View()->SetTracksPaintInvalidations(true);
136 target->setAttribute(HTMLNames::styleAttr, "width: 50px; height: 100px"); 136 target->setAttribute(HTMLNames::styleAttr, "width: 50px; height: 100px");
137 GetDocument().View()->UpdateAllLifecyclePhases(); 137 GetDocument().View()->UpdateAllLifecyclePhases();
138 raster_invalidations = 138 raster_invalidations = &GetRasterInvalidationTracking()->invalidations;
139 &GetRasterInvalidationTracking()->tracked_raster_invalidations;
140 ASSERT_EQ(2u, raster_invalidations->size()); 139 ASSERT_EQ(2u, raster_invalidations->size());
141 EXPECT_EQ(IntRect(60, 0, 61, 111), (*raster_invalidations)[0].rect); 140 EXPECT_EQ(IntRect(60, 0, 61, 111), (*raster_invalidations)[0].rect);
142 EXPECT_EQ(kPaintInvalidationIncremental, (*raster_invalidations)[0].reason); 141 EXPECT_EQ(kPaintInvalidationIncremental, (*raster_invalidations)[0].reason);
143 EXPECT_EQ(IntRect(0, 90, 70, 50), (*raster_invalidations)[1].rect); 142 EXPECT_EQ(IntRect(0, 90, 70, 50), (*raster_invalidations)[1].rect);
144 EXPECT_EQ(kPaintInvalidationIncremental, (*raster_invalidations)[1].reason); 143 EXPECT_EQ(kPaintInvalidationIncremental, (*raster_invalidations)[1].reason);
145 GetDocument().View()->SetTracksPaintInvalidations(false); 144 GetDocument().View()->SetTracksPaintInvalidations(false);
146 } 145 }
147 146
148 TEST_P(BoxPaintInvalidatorTest, SubpixelVisualRectChangeWithTransform) { 147 TEST_P(BoxPaintInvalidatorTest, SubpixelVisualRectChangeWithTransform) {
149 ScopedSlimmingPaintInvalidationForTest scoped_slimming_paint_invalidation( 148 ScopedSlimmingPaintInvalidationForTest scoped_slimming_paint_invalidation(
150 true); 149 true);
151 150
152 Element* target = GetDocument().getElementById("target"); 151 Element* target = GetDocument().getElementById("target");
153 target->setAttribute(HTMLNames::classAttr, "border transform"); 152 target->setAttribute(HTMLNames::classAttr, "border transform");
154 GetDocument().View()->UpdateAllLifecyclePhases(); 153 GetDocument().View()->UpdateAllLifecyclePhases();
155 154
156 GetDocument().View()->SetTracksPaintInvalidations(true); 155 GetDocument().View()->SetTracksPaintInvalidations(true);
157 target->setAttribute(HTMLNames::styleAttr, "width: 100.6px; height: 70.3px"); 156 target->setAttribute(HTMLNames::styleAttr, "width: 100.6px; height: 70.3px");
158 GetDocument().View()->UpdateAllLifecyclePhases(); 157 GetDocument().View()->UpdateAllLifecyclePhases();
159 const auto* raster_invalidations = 158 const auto* raster_invalidations =
160 &GetRasterInvalidationTracking()->tracked_raster_invalidations; 159 &GetRasterInvalidationTracking()->invalidations;
161 ASSERT_EQ(2u, raster_invalidations->size()); 160 ASSERT_EQ(2u, raster_invalidations->size());
162 EXPECT_EQ(IntRect(0, 0, 140, 280), (*raster_invalidations)[0].rect); 161 EXPECT_EQ(IntRect(0, 0, 140, 280), (*raster_invalidations)[0].rect);
163 EXPECT_EQ(kPaintInvalidationBorderBoxChange, 162 EXPECT_EQ(kPaintInvalidationBorderBoxChange,
164 (*raster_invalidations)[0].reason); 163 (*raster_invalidations)[0].reason);
165 EXPECT_EQ(IntRect(0, 0, 242, 222), (*raster_invalidations)[1].rect); 164 EXPECT_EQ(IntRect(0, 0, 242, 222), (*raster_invalidations)[1].rect);
166 EXPECT_EQ(kPaintInvalidationBorderBoxChange, 165 EXPECT_EQ(kPaintInvalidationBorderBoxChange,
167 (*raster_invalidations)[1].reason); 166 (*raster_invalidations)[1].reason);
168 GetDocument().View()->SetTracksPaintInvalidations(false); 167 GetDocument().View()->SetTracksPaintInvalidations(false);
169 168
170 GetDocument().View()->SetTracksPaintInvalidations(true); 169 GetDocument().View()->SetTracksPaintInvalidations(true);
171 target->setAttribute(HTMLNames::styleAttr, "width: 50px; height: 100px"); 170 target->setAttribute(HTMLNames::styleAttr, "width: 50px; height: 100px");
172 GetDocument().View()->UpdateAllLifecyclePhases(); 171 GetDocument().View()->UpdateAllLifecyclePhases();
173 raster_invalidations = 172 raster_invalidations = &GetRasterInvalidationTracking()->invalidations;
174 &GetRasterInvalidationTracking()->tracked_raster_invalidations;
175 ASSERT_EQ(2u, raster_invalidations->size()); 173 ASSERT_EQ(2u, raster_invalidations->size());
176 EXPECT_EQ(IntRect(0, 0, 242, 222), (*raster_invalidations)[0].rect); 174 EXPECT_EQ(IntRect(0, 0, 242, 222), (*raster_invalidations)[0].rect);
177 EXPECT_EQ(kPaintInvalidationBorderBoxChange, 175 EXPECT_EQ(kPaintInvalidationBorderBoxChange,
178 (*raster_invalidations)[0].reason); 176 (*raster_invalidations)[0].reason);
179 EXPECT_EQ(IntRect(0, 0, 140, 280), (*raster_invalidations)[1].rect); 177 EXPECT_EQ(IntRect(0, 0, 140, 280), (*raster_invalidations)[1].rect);
180 EXPECT_EQ(kPaintInvalidationBorderBoxChange, 178 EXPECT_EQ(kPaintInvalidationBorderBoxChange,
181 (*raster_invalidations)[1].reason); 179 (*raster_invalidations)[1].reason);
182 GetDocument().View()->SetTracksPaintInvalidations(false); 180 GetDocument().View()->SetTracksPaintInvalidations(false);
183 } 181 }
184 182
185 TEST_P(BoxPaintInvalidatorTest, SubpixelWithinPixelsChange) { 183 TEST_P(BoxPaintInvalidatorTest, SubpixelWithinPixelsChange) {
186 ScopedSlimmingPaintInvalidationForTest scoped_slimming_paint_invalidation( 184 ScopedSlimmingPaintInvalidationForTest scoped_slimming_paint_invalidation(
187 true); 185 true);
188 186
189 Element* target = GetDocument().getElementById("target"); 187 Element* target = GetDocument().getElementById("target");
190 LayoutObject* target_object = target->GetLayoutObject(); 188 LayoutObject* target_object = target->GetLayoutObject();
191 EXPECT_EQ(LayoutRect(0, 0, 70, 140), target_object->VisualRect()); 189 EXPECT_EQ(LayoutRect(0, 0, 70, 140), target_object->VisualRect());
192 190
193 GetDocument().View()->SetTracksPaintInvalidations(true); 191 GetDocument().View()->SetTracksPaintInvalidations(true);
194 target->setAttribute(HTMLNames::styleAttr, 192 target->setAttribute(HTMLNames::styleAttr,
195 "margin-top: 0.6px; width: 50px; height: 99.3px"); 193 "margin-top: 0.6px; width: 50px; height: 99.3px");
196 GetDocument().View()->UpdateAllLifecyclePhases(); 194 GetDocument().View()->UpdateAllLifecyclePhases();
197 EXPECT_EQ(LayoutRect(LayoutUnit(), LayoutUnit(0.6), LayoutUnit(70), 195 EXPECT_EQ(LayoutRect(LayoutUnit(), LayoutUnit(0.6), LayoutUnit(70),
198 LayoutUnit(139.3)), 196 LayoutUnit(139.3)),
199 target_object->VisualRect()); 197 target_object->VisualRect());
200 const auto* raster_invalidations = 198 const auto* raster_invalidations =
201 &GetRasterInvalidationTracking()->tracked_raster_invalidations; 199 &GetRasterInvalidationTracking()->invalidations;
202 ASSERT_EQ(1u, raster_invalidations->size()); 200 ASSERT_EQ(1u, raster_invalidations->size());
203 EXPECT_EQ(IntRect(0, 0, 70, 140), (*raster_invalidations)[0].rect); 201 EXPECT_EQ(IntRect(0, 0, 70, 140), (*raster_invalidations)[0].rect);
204 EXPECT_EQ(kPaintInvalidationBoundsChange, (*raster_invalidations)[0].reason); 202 EXPECT_EQ(kPaintInvalidationBoundsChange, (*raster_invalidations)[0].reason);
205 GetDocument().View()->SetTracksPaintInvalidations(false); 203 GetDocument().View()->SetTracksPaintInvalidations(false);
206 204
207 GetDocument().View()->SetTracksPaintInvalidations(true); 205 GetDocument().View()->SetTracksPaintInvalidations(true);
208 target->setAttribute(HTMLNames::styleAttr, 206 target->setAttribute(HTMLNames::styleAttr,
209 "margin-top: 0.6px; width: 49.3px; height: 98.5px"); 207 "margin-top: 0.6px; width: 49.3px; height: 98.5px");
210 GetDocument().View()->UpdateAllLifecyclePhases(); 208 GetDocument().View()->UpdateAllLifecyclePhases();
211 EXPECT_EQ(LayoutRect(LayoutUnit(), LayoutUnit(0.6), LayoutUnit(69.3), 209 EXPECT_EQ(LayoutRect(LayoutUnit(), LayoutUnit(0.6), LayoutUnit(69.3),
212 LayoutUnit(138.5)), 210 LayoutUnit(138.5)),
213 target_object->VisualRect()); 211 target_object->VisualRect());
214 raster_invalidations = 212 raster_invalidations = &GetRasterInvalidationTracking()->invalidations;
215 &GetRasterInvalidationTracking()->tracked_raster_invalidations;
216 ASSERT_EQ(2u, raster_invalidations->size()); 213 ASSERT_EQ(2u, raster_invalidations->size());
217 EXPECT_EQ(IntRect(59, 0, 11, 140), (*raster_invalidations)[0].rect); 214 EXPECT_EQ(IntRect(59, 0, 11, 140), (*raster_invalidations)[0].rect);
218 EXPECT_EQ(kPaintInvalidationIncremental, (*raster_invalidations)[0].reason); 215 EXPECT_EQ(kPaintInvalidationIncremental, (*raster_invalidations)[0].reason);
219 EXPECT_EQ(IntRect(0, 119, 70, 21), (*raster_invalidations)[1].rect); 216 EXPECT_EQ(IntRect(0, 119, 70, 21), (*raster_invalidations)[1].rect);
220 EXPECT_EQ(kPaintInvalidationIncremental, (*raster_invalidations)[1].reason); 217 EXPECT_EQ(kPaintInvalidationIncremental, (*raster_invalidations)[1].reason);
221 GetDocument().View()->SetTracksPaintInvalidations(false); 218 GetDocument().View()->SetTracksPaintInvalidations(false);
222 } 219 }
223 220
224 TEST_P(BoxPaintInvalidatorTest, ResizeRotated) { 221 TEST_P(BoxPaintInvalidatorTest, ResizeRotated) {
225 ScopedSlimmingPaintInvalidationForTest scoped_slimming_paint_invalidation( 222 ScopedSlimmingPaintInvalidationForTest scoped_slimming_paint_invalidation(
226 true); 223 true);
227 224
228 Element* target = GetDocument().getElementById("target"); 225 Element* target = GetDocument().getElementById("target");
229 target->setAttribute(HTMLNames::styleAttr, "transform: rotate(45deg)"); 226 target->setAttribute(HTMLNames::styleAttr, "transform: rotate(45deg)");
230 GetDocument().View()->UpdateAllLifecyclePhases(); 227 GetDocument().View()->UpdateAllLifecyclePhases();
231 228
232 // Should do full invalidation a rotated object is resized. 229 // Should do full invalidation a rotated object is resized.
233 GetDocument().View()->SetTracksPaintInvalidations(true); 230 GetDocument().View()->SetTracksPaintInvalidations(true);
234 target->setAttribute(HTMLNames::styleAttr, 231 target->setAttribute(HTMLNames::styleAttr,
235 "transform: rotate(45deg); width: 200px"); 232 "transform: rotate(45deg); width: 200px");
236 GetDocument().View()->UpdateAllLifecyclePhases(); 233 GetDocument().View()->UpdateAllLifecyclePhases();
237 const auto* raster_invalidations = 234 const auto* raster_invalidations =
238 &GetRasterInvalidationTracking()->tracked_raster_invalidations; 235 &GetRasterInvalidationTracking()->invalidations;
239 ASSERT_EQ(1u, raster_invalidations->size()); 236 ASSERT_EQ(1u, raster_invalidations->size());
240 EXPECT_EQ(IntRect(-99, 0, 255, 255), (*raster_invalidations)[0].rect); 237 EXPECT_EQ(IntRect(-99, 0, 255, 255), (*raster_invalidations)[0].rect);
241 EXPECT_EQ(kPaintInvalidationBorderBoxChange, 238 EXPECT_EQ(kPaintInvalidationBorderBoxChange,
242 (*raster_invalidations)[0].reason); 239 (*raster_invalidations)[0].reason);
243 GetDocument().View()->SetTracksPaintInvalidations(false); 240 GetDocument().View()->SetTracksPaintInvalidations(false);
244 } 241 }
245 242
246 TEST_P(BoxPaintInvalidatorTest, ResizeRotatedChild) { 243 TEST_P(BoxPaintInvalidatorTest, ResizeRotatedChild) {
247 ScopedSlimmingPaintInvalidationForTest scoped_slimming_paint_invalidation( 244 ScopedSlimmingPaintInvalidationForTest scoped_slimming_paint_invalidation(
248 true); 245 true);
249 246
250 Element* target = GetDocument().getElementById("target"); 247 Element* target = GetDocument().getElementById("target");
251 target->setAttribute(HTMLNames::styleAttr, 248 target->setAttribute(HTMLNames::styleAttr,
252 "transform: rotate(45deg); width: 200px"); 249 "transform: rotate(45deg); width: 200px");
253 target->setInnerHTML( 250 target->setInnerHTML(
254 "<div id=child style='width: 50px; height: 50px; background: " 251 "<div id=child style='width: 50px; height: 50px; background: "
255 "red'></div>"); 252 "red'></div>");
256 GetDocument().View()->UpdateAllLifecyclePhases(); 253 GetDocument().View()->UpdateAllLifecyclePhases();
257 Element* child = GetDocument().getElementById("child"); 254 Element* child = GetDocument().getElementById("child");
258 255
259 // Should do full invalidation a rotated object is resized. 256 // Should do full invalidation a rotated object is resized.
260 GetDocument().View()->SetTracksPaintInvalidations(true); 257 GetDocument().View()->SetTracksPaintInvalidations(true);
261 child->setAttribute(HTMLNames::styleAttr, 258 child->setAttribute(HTMLNames::styleAttr,
262 "width: 100px; height: 50px; background: red"); 259 "width: 100px; height: 50px; background: red");
263 GetDocument().View()->UpdateAllLifecyclePhases(); 260 GetDocument().View()->UpdateAllLifecyclePhases();
264 const auto* raster_invalidations = 261 const auto* raster_invalidations =
265 &GetRasterInvalidationTracking()->tracked_raster_invalidations; 262 &GetRasterInvalidationTracking()->invalidations;
266 ASSERT_EQ(1u, raster_invalidations->size()); 263 ASSERT_EQ(1u, raster_invalidations->size());
267 EXPECT_EQ(IntRect(-43, 21, 107, 107), (*raster_invalidations)[0].rect); 264 EXPECT_EQ(IntRect(-43, 21, 107, 107), (*raster_invalidations)[0].rect);
268 EXPECT_EQ(kPaintInvalidationBorderBoxChange, 265 EXPECT_EQ(kPaintInvalidationBorderBoxChange,
269 (*raster_invalidations)[0].reason); 266 (*raster_invalidations)[0].reason);
270 GetDocument().View()->SetTracksPaintInvalidations(false); 267 GetDocument().View()->SetTracksPaintInvalidations(false);
271 } 268 }
272 269
273 TEST_P(BoxPaintInvalidatorTest, CompositedLayoutViewResize) { 270 TEST_P(BoxPaintInvalidatorTest, CompositedLayoutViewResize) {
274 EnableCompositing(); 271 EnableCompositing();
275 Element* target = GetDocument().getElementById("target"); 272 Element* target = GetDocument().getElementById("target");
276 target->setAttribute(HTMLNames::classAttr, ""); 273 target->setAttribute(HTMLNames::classAttr, "");
277 target->setAttribute(HTMLNames::styleAttr, "height: 2000px"); 274 target->setAttribute(HTMLNames::styleAttr, "height: 2000px");
278 GetDocument().View()->UpdateAllLifecyclePhases(); 275 GetDocument().View()->UpdateAllLifecyclePhases();
279 276
280 // Resize the content. 277 // Resize the content.
281 GetDocument().View()->SetTracksPaintInvalidations(true); 278 GetDocument().View()->SetTracksPaintInvalidations(true);
282 target->setAttribute(HTMLNames::styleAttr, "height: 3000px"); 279 target->setAttribute(HTMLNames::styleAttr, "height: 3000px");
283 GetDocument().View()->UpdateAllLifecyclePhases(); 280 GetDocument().View()->UpdateAllLifecyclePhases();
284 const auto& raster_invalidations = 281 const auto& raster_invalidations =
285 GetRasterInvalidationTracking()->tracked_raster_invalidations; 282 GetRasterInvalidationTracking()->invalidations;
286 ASSERT_EQ(1u, raster_invalidations.size()); 283 ASSERT_EQ(1u, raster_invalidations.size());
287 EXPECT_EQ(IntRect(0, 2000, 800, 1000), raster_invalidations[0].rect); 284 EXPECT_EQ(IntRect(0, 2000, 800, 1000), raster_invalidations[0].rect);
288 EXPECT_EQ(static_cast<const DisplayItemClient*>(&GetLayoutView()), 285 EXPECT_EQ(static_cast<const DisplayItemClient*>(&GetLayoutView()),
289 raster_invalidations[0].client); 286 raster_invalidations[0].client);
290 if (RuntimeEnabledFeatures::rootLayerScrollingEnabled()) { 287 if (RuntimeEnabledFeatures::rootLayerScrollingEnabled()) {
291 EXPECT_EQ(kPaintInvalidationBackgroundOnScrollingContentsLayer, 288 EXPECT_EQ(kPaintInvalidationBackgroundOnScrollingContentsLayer,
292 raster_invalidations[0].reason); 289 raster_invalidations[0].reason);
293 } else { 290 } else {
294 EXPECT_EQ(kPaintInvalidationIncremental, raster_invalidations[0].reason); 291 EXPECT_EQ(kPaintInvalidationIncremental, raster_invalidations[0].reason);
295 } 292 }
(...skipping 15 matching lines...) Expand all
311 target->setAttribute(HTMLNames::classAttr, ""); 308 target->setAttribute(HTMLNames::classAttr, "");
312 target->setAttribute(HTMLNames::styleAttr, "height: 2000px"); 309 target->setAttribute(HTMLNames::styleAttr, "height: 2000px");
313 GetDocument().View()->UpdateAllLifecyclePhases(); 310 GetDocument().View()->UpdateAllLifecyclePhases();
314 311
315 // Resize the content. 312 // Resize the content.
316 GetDocument().View()->SetTracksPaintInvalidations(true); 313 GetDocument().View()->SetTracksPaintInvalidations(true);
317 target->setAttribute(HTMLNames::styleAttr, "height: 3000px"); 314 target->setAttribute(HTMLNames::styleAttr, "height: 3000px");
318 GetDocument().View()->UpdateAllLifecyclePhases(); 315 GetDocument().View()->UpdateAllLifecyclePhases();
319 316
320 const auto& raster_invalidations = 317 const auto& raster_invalidations =
321 GetRasterInvalidationTracking()->tracked_raster_invalidations; 318 GetRasterInvalidationTracking()->invalidations;
322 ASSERT_EQ(1u, raster_invalidations.size()); 319 ASSERT_EQ(1u, raster_invalidations.size());
323 EXPECT_EQ(IntRect(0, 0, 800, 3000), raster_invalidations[0].rect); 320 EXPECT_EQ(IntRect(0, 0, 800, 3000), raster_invalidations[0].rect);
324 EXPECT_EQ(static_cast<const DisplayItemClient*>(&GetLayoutView()), 321 EXPECT_EQ(static_cast<const DisplayItemClient*>(&GetLayoutView()),
325 raster_invalidations[0].client); 322 raster_invalidations[0].client);
326 if (RuntimeEnabledFeatures::rootLayerScrollingEnabled()) { 323 if (RuntimeEnabledFeatures::rootLayerScrollingEnabled()) {
327 EXPECT_EQ(kPaintInvalidationBackgroundOnScrollingContentsLayer, 324 EXPECT_EQ(kPaintInvalidationBackgroundOnScrollingContentsLayer,
328 raster_invalidations[0].reason); 325 raster_invalidations[0].reason);
329 } else { 326 } else {
330 EXPECT_EQ(kPaintInvalidationLayoutOverflowBoxChange, 327 EXPECT_EQ(kPaintInvalidationLayoutOverflowBoxChange,
331 raster_invalidations[0].reason); 328 raster_invalidations[0].reason);
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
366 GetDocument().View()->UpdateAllLifecyclePhases(); 363 GetDocument().View()->UpdateAllLifecyclePhases();
367 // No invalidation because the changed part of layout overflow is clipped. 364 // No invalidation because the changed part of layout overflow is clipped.
368 EXPECT_FALSE(GetRasterInvalidationTracking()); 365 EXPECT_FALSE(GetRasterInvalidationTracking());
369 GetDocument().View()->SetTracksPaintInvalidations(false); 366 GetDocument().View()->SetTracksPaintInvalidations(false);
370 367
371 // Resize the iframe. 368 // Resize the iframe.
372 GetDocument().View()->SetTracksPaintInvalidations(true); 369 GetDocument().View()->SetTracksPaintInvalidations(true);
373 iframe->setAttribute(HTMLNames::styleAttr, "height: 200px"); 370 iframe->setAttribute(HTMLNames::styleAttr, "height: 200px");
374 GetDocument().View()->UpdateAllLifecyclePhases(); 371 GetDocument().View()->UpdateAllLifecyclePhases();
375 const auto& raster_invalidations = 372 const auto& raster_invalidations =
376 GetRasterInvalidationTracking()->tracked_raster_invalidations; 373 GetRasterInvalidationTracking()->invalidations;
377 ASSERT_EQ(2u, raster_invalidations.size()); 374 ASSERT_EQ(2u, raster_invalidations.size());
378 EXPECT_EQ(IntRect(0, 100, 100, 100), raster_invalidations[0].rect); 375 EXPECT_EQ(IntRect(0, 100, 100, 100), raster_invalidations[0].rect);
379 EXPECT_EQ(static_cast<const DisplayItemClient*>(iframe->GetLayoutObject()), 376 EXPECT_EQ(static_cast<const DisplayItemClient*>(iframe->GetLayoutObject()),
380 raster_invalidations[0].client); 377 raster_invalidations[0].client);
381 EXPECT_EQ(kPaintInvalidationIncremental, raster_invalidations[0].reason); 378 EXPECT_EQ(kPaintInvalidationIncremental, raster_invalidations[0].reason);
382 EXPECT_EQ( 379 EXPECT_EQ(
383 static_cast<const DisplayItemClient*>(content->GetLayoutObject()->View()), 380 static_cast<const DisplayItemClient*>(content->GetLayoutObject()->View()),
384 raster_invalidations[1].client); 381 raster_invalidations[1].client);
385 if (RuntimeEnabledFeatures::rootLayerScrollingEnabled()) { 382 if (RuntimeEnabledFeatures::rootLayerScrollingEnabled()) {
386 // TODO(skobes): Treat LayoutView in the same way as normal objects having 383 // TODO(skobes): Treat LayoutView in the same way as normal objects having
(...skipping 29 matching lines...) Expand all
416 Element* content = ChildDocument().getElementById("content"); 413 Element* content = ChildDocument().getElementById("content");
417 LayoutView* frame_layout_view = content->GetLayoutObject()->View(); 414 LayoutView* frame_layout_view = content->GetLayoutObject()->View();
418 EXPECT_EQ(GetLayoutView(), 415 EXPECT_EQ(GetLayoutView(),
419 content->GetLayoutObject()->ContainerForPaintInvalidation()); 416 content->GetLayoutObject()->ContainerForPaintInvalidation());
420 417
421 // Resize the content. 418 // Resize the content.
422 GetDocument().View()->SetTracksPaintInvalidations(true); 419 GetDocument().View()->SetTracksPaintInvalidations(true);
423 content->setAttribute(HTMLNames::styleAttr, "height: 500px"); 420 content->setAttribute(HTMLNames::styleAttr, "height: 500px");
424 GetDocument().View()->UpdateAllLifecyclePhases(); 421 GetDocument().View()->UpdateAllLifecyclePhases();
425 const auto* raster_invalidations = 422 const auto* raster_invalidations =
426 &GetRasterInvalidationTracking()->tracked_raster_invalidations; 423 &GetRasterInvalidationTracking()->invalidations;
427 ASSERT_EQ(1u, raster_invalidations->size()); 424 ASSERT_EQ(1u, raster_invalidations->size());
428 EXPECT_EQ(IntRect(0, 0, 100, 100), (*raster_invalidations)[0].rect); 425 EXPECT_EQ(IntRect(0, 0, 100, 100), (*raster_invalidations)[0].rect);
429 EXPECT_EQ(static_cast<const DisplayItemClient*>(frame_layout_view), 426 EXPECT_EQ(static_cast<const DisplayItemClient*>(frame_layout_view),
430 (*raster_invalidations)[0].client); 427 (*raster_invalidations)[0].client);
431 EXPECT_EQ(kPaintInvalidationLayoutOverflowBoxChange, 428 EXPECT_EQ(kPaintInvalidationLayoutOverflowBoxChange,
432 (*raster_invalidations)[0].reason); 429 (*raster_invalidations)[0].reason);
433 GetDocument().View()->SetTracksPaintInvalidations(false); 430 GetDocument().View()->SetTracksPaintInvalidations(false);
434 431
435 // Resize the iframe. 432 // Resize the iframe.
436 GetDocument().View()->SetTracksPaintInvalidations(true); 433 GetDocument().View()->SetTracksPaintInvalidations(true);
437 iframe->setAttribute(HTMLNames::styleAttr, "height: 200px"); 434 iframe->setAttribute(HTMLNames::styleAttr, "height: 200px");
438 GetDocument().View()->UpdateAllLifecyclePhases(); 435 GetDocument().View()->UpdateAllLifecyclePhases();
439 raster_invalidations = 436 raster_invalidations = &GetRasterInvalidationTracking()->invalidations;
440 &GetRasterInvalidationTracking()->tracked_raster_invalidations;
441 ASSERT_EQ(2u, raster_invalidations->size()); 437 ASSERT_EQ(2u, raster_invalidations->size());
442 EXPECT_EQ(IntRect(0, 100, 100, 100), (*raster_invalidations)[0].rect); 438 EXPECT_EQ(IntRect(0, 100, 100, 100), (*raster_invalidations)[0].rect);
443 EXPECT_EQ(static_cast<const DisplayItemClient*>(iframe->GetLayoutObject()), 439 EXPECT_EQ(static_cast<const DisplayItemClient*>(iframe->GetLayoutObject()),
444 (*raster_invalidations)[0].client); 440 (*raster_invalidations)[0].client);
445 EXPECT_EQ(kPaintInvalidationIncremental, (*raster_invalidations)[0].reason); 441 EXPECT_EQ(kPaintInvalidationIncremental, (*raster_invalidations)[0].reason);
446 EXPECT_EQ(static_cast<const DisplayItemClient*>(frame_layout_view), 442 EXPECT_EQ(static_cast<const DisplayItemClient*>(frame_layout_view),
447 (*raster_invalidations)[1].client); 443 (*raster_invalidations)[1].client);
448 EXPECT_EQ(IntRect(0, 0, 100, 200), (*raster_invalidations)[1].rect); 444 EXPECT_EQ(IntRect(0, 0, 100, 200), (*raster_invalidations)[1].rect);
449 if (RuntimeEnabledFeatures::rootLayerScrollingEnabled()) { 445 if (RuntimeEnabledFeatures::rootLayerScrollingEnabled()) {
450 // TODO(skobes): Treat LayoutView in the same way as normal objects having 446 // TODO(skobes): Treat LayoutView in the same way as normal objects having
(...skipping 24 matching lines...) Expand all
475 GetDocument().View()->UpdateAllLifecyclePhases(); 471 GetDocument().View()->UpdateAllLifecyclePhases();
476 LayoutBoxModelObject* target_obj = 472 LayoutBoxModelObject* target_obj =
477 ToLayoutBoxModelObject(target->GetLayoutObject()); 473 ToLayoutBoxModelObject(target->GetLayoutObject());
478 GraphicsLayer* container_layer = 474 GraphicsLayer* container_layer =
479 target_obj->Layer()->GraphicsLayerBacking(target_obj); 475 target_obj->Layer()->GraphicsLayerBacking(target_obj);
480 GraphicsLayer* contents_layer = target_obj->Layer()->GraphicsLayerBacking(); 476 GraphicsLayer* contents_layer = target_obj->Layer()->GraphicsLayerBacking();
481 // No invalidation on the container layer. 477 // No invalidation on the container layer.
482 EXPECT_FALSE(container_layer->GetRasterInvalidationTracking()); 478 EXPECT_FALSE(container_layer->GetRasterInvalidationTracking());
483 // Incremental invalidation of background on contents layer. 479 // Incremental invalidation of background on contents layer.
484 const auto& contents_raster_invalidations = 480 const auto& contents_raster_invalidations =
485 contents_layer->GetRasterInvalidationTracking() 481 contents_layer->GetRasterInvalidationTracking()->invalidations;
486 ->tracked_raster_invalidations;
487 ASSERT_EQ(1u, contents_raster_invalidations.size()); 482 ASSERT_EQ(1u, contents_raster_invalidations.size());
488 EXPECT_EQ(IntRect(0, 500, 500, 500), contents_raster_invalidations[0].rect); 483 EXPECT_EQ(IntRect(0, 500, 500, 500), contents_raster_invalidations[0].rect);
489 EXPECT_EQ(static_cast<const DisplayItemClient*>(target->GetLayoutObject()), 484 EXPECT_EQ(static_cast<const DisplayItemClient*>(target->GetLayoutObject()),
490 contents_raster_invalidations[0].client); 485 contents_raster_invalidations[0].client);
491 EXPECT_EQ(kPaintInvalidationBackgroundOnScrollingContentsLayer, 486 EXPECT_EQ(kPaintInvalidationBackgroundOnScrollingContentsLayer,
492 contents_raster_invalidations[0].reason); 487 contents_raster_invalidations[0].reason);
493 GetDocument().View()->SetTracksPaintInvalidations(false); 488 GetDocument().View()->SetTracksPaintInvalidations(false);
494 489
495 // Resize the container. 490 // Resize the container.
496 GetDocument().View()->SetTracksPaintInvalidations(true); 491 GetDocument().View()->SetTracksPaintInvalidations(true);
497 target->setAttribute(HTMLNames::styleAttr, 492 target->setAttribute(HTMLNames::styleAttr,
498 "will-change: transform; height: 200px"); 493 "will-change: transform; height: 200px");
499 GetDocument().View()->UpdateAllLifecyclePhases(); 494 GetDocument().View()->UpdateAllLifecyclePhases();
500 // No invalidation on the contents layer. 495 // No invalidation on the contents layer.
501 EXPECT_FALSE(contents_layer->GetRasterInvalidationTracking()); 496 EXPECT_FALSE(contents_layer->GetRasterInvalidationTracking());
502 // Incremental invalidation on the container layer. 497 // Incremental invalidation on the container layer.
503 const auto& container_raster_invalidations = 498 const auto& container_raster_invalidations =
504 container_layer->GetRasterInvalidationTracking() 499 container_layer->GetRasterInvalidationTracking()->invalidations;
505 ->tracked_raster_invalidations;
506 ASSERT_EQ(1u, container_raster_invalidations.size()); 500 ASSERT_EQ(1u, container_raster_invalidations.size());
507 EXPECT_EQ(IntRect(0, 120, 70, 120), container_raster_invalidations[0].rect); 501 EXPECT_EQ(IntRect(0, 120, 70, 120), container_raster_invalidations[0].rect);
508 EXPECT_EQ(static_cast<const DisplayItemClient*>(target->GetLayoutObject()), 502 EXPECT_EQ(static_cast<const DisplayItemClient*>(target->GetLayoutObject()),
509 container_raster_invalidations[0].client); 503 container_raster_invalidations[0].client);
510 EXPECT_EQ(kPaintInvalidationIncremental, 504 EXPECT_EQ(kPaintInvalidationIncremental,
511 container_raster_invalidations[0].reason); 505 container_raster_invalidations[0].reason);
512 GetDocument().View()->SetTracksPaintInvalidations(false); 506 GetDocument().View()->SetTracksPaintInvalidations(false);
513 } 507 }
514 508
515 TEST_P(BoxPaintInvalidatorTest, 509 TEST_P(BoxPaintInvalidatorTest,
(...skipping 17 matching lines...) Expand all
533 LayoutBoxModelObject* target_obj = 527 LayoutBoxModelObject* target_obj =
534 ToLayoutBoxModelObject(target->GetLayoutObject()); 528 ToLayoutBoxModelObject(target->GetLayoutObject());
535 GraphicsLayer* container_layer = 529 GraphicsLayer* container_layer =
536 target_obj->Layer()->GraphicsLayerBacking(target_obj); 530 target_obj->Layer()->GraphicsLayerBacking(target_obj);
537 GraphicsLayer* contents_layer = target_obj->Layer()->GraphicsLayerBacking(); 531 GraphicsLayer* contents_layer = target_obj->Layer()->GraphicsLayerBacking();
538 // No invalidation on the container layer. 532 // No invalidation on the container layer.
539 EXPECT_FALSE(container_layer->GetRasterInvalidationTracking()); 533 EXPECT_FALSE(container_layer->GetRasterInvalidationTracking());
540 // Full invalidation of background on contents layer because the gradient 534 // Full invalidation of background on contents layer because the gradient
541 // background is resized. 535 // background is resized.
542 const auto& contents_raster_invalidations = 536 const auto& contents_raster_invalidations =
543 contents_layer->GetRasterInvalidationTracking() 537 contents_layer->GetRasterInvalidationTracking()->invalidations;
544 ->tracked_raster_invalidations;
545 ASSERT_EQ(1u, contents_raster_invalidations.size()); 538 ASSERT_EQ(1u, contents_raster_invalidations.size());
546 EXPECT_EQ(IntRect(0, 0, 500, 1000), contents_raster_invalidations[0].rect); 539 EXPECT_EQ(IntRect(0, 0, 500, 1000), contents_raster_invalidations[0].rect);
547 EXPECT_EQ(static_cast<const DisplayItemClient*>(target->GetLayoutObject()), 540 EXPECT_EQ(static_cast<const DisplayItemClient*>(target->GetLayoutObject()),
548 contents_raster_invalidations[0].client); 541 contents_raster_invalidations[0].client);
549 EXPECT_EQ(kPaintInvalidationBackgroundOnScrollingContentsLayer, 542 EXPECT_EQ(kPaintInvalidationBackgroundOnScrollingContentsLayer,
550 contents_raster_invalidations[0].reason); 543 contents_raster_invalidations[0].reason);
551 GetDocument().View()->SetTracksPaintInvalidations(false); 544 GetDocument().View()->SetTracksPaintInvalidations(false);
552 545
553 // Resize the container. 546 // Resize the container.
554 GetDocument().View()->SetTracksPaintInvalidations(true); 547 GetDocument().View()->SetTracksPaintInvalidations(true);
555 target->setAttribute(HTMLNames::styleAttr, 548 target->setAttribute(HTMLNames::styleAttr,
556 "will-change: transform; height: 200px"); 549 "will-change: transform; height: 200px");
557 GetDocument().View()->UpdateAllLifecyclePhases(); 550 GetDocument().View()->UpdateAllLifecyclePhases();
558 EXPECT_FALSE(contents_layer->GetRasterInvalidationTracking()); 551 EXPECT_FALSE(contents_layer->GetRasterInvalidationTracking());
559 // Full invalidation on the container layer. 552 // Full invalidation on the container layer.
560 const auto& container_raster_invalidations = 553 const auto& container_raster_invalidations =
561 container_layer->GetRasterInvalidationTracking() 554 container_layer->GetRasterInvalidationTracking()->invalidations;
562 ->tracked_raster_invalidations;
563 ASSERT_EQ(1u, container_raster_invalidations.size()); 555 ASSERT_EQ(1u, container_raster_invalidations.size());
564 EXPECT_EQ(IntRect(0, 0, 70, 240), container_raster_invalidations[0].rect); 556 EXPECT_EQ(IntRect(0, 0, 70, 240), container_raster_invalidations[0].rect);
565 EXPECT_EQ(static_cast<const DisplayItemClient*>(target->GetLayoutObject()), 557 EXPECT_EQ(static_cast<const DisplayItemClient*>(target->GetLayoutObject()),
566 container_raster_invalidations[0].client); 558 container_raster_invalidations[0].client);
567 EXPECT_EQ(kPaintInvalidationBorderBoxChange, 559 EXPECT_EQ(kPaintInvalidationBorderBoxChange,
568 container_raster_invalidations[0].reason); 560 container_raster_invalidations[0].reason);
569 GetDocument().View()->SetTracksPaintInvalidations(false); 561 GetDocument().View()->SetTracksPaintInvalidations(false);
570 } 562 }
571 563
572 TEST_P(BoxPaintInvalidatorTest, NonCompositedBackgroundAttachmentLocalResize) { 564 TEST_P(BoxPaintInvalidatorTest, NonCompositedBackgroundAttachmentLocalResize) {
(...skipping 12 matching lines...) Expand all
585 child->setAttribute(HTMLNames::styleAttr, "width: 500px; height: 1000px"); 577 child->setAttribute(HTMLNames::styleAttr, "width: 500px; height: 1000px");
586 GetDocument().View()->UpdateAllLifecyclePhases(); 578 GetDocument().View()->UpdateAllLifecyclePhases();
587 // No invalidation because the changed part is invisible. 579 // No invalidation because the changed part is invisible.
588 EXPECT_FALSE(GetRasterInvalidationTracking()); 580 EXPECT_FALSE(GetRasterInvalidationTracking());
589 581
590 // Resize the container. 582 // Resize the container.
591 GetDocument().View()->SetTracksPaintInvalidations(true); 583 GetDocument().View()->SetTracksPaintInvalidations(true);
592 target->setAttribute(HTMLNames::styleAttr, "height: 200px"); 584 target->setAttribute(HTMLNames::styleAttr, "height: 200px");
593 GetDocument().View()->UpdateAllLifecyclePhases(); 585 GetDocument().View()->UpdateAllLifecyclePhases();
594 const auto& raster_invalidations = 586 const auto& raster_invalidations =
595 GetRasterInvalidationTracking()->tracked_raster_invalidations; 587 GetRasterInvalidationTracking()->invalidations;
596 ASSERT_EQ(1u, raster_invalidations.size()); 588 ASSERT_EQ(1u, raster_invalidations.size());
597 EXPECT_EQ(IntRect(0, 120, 70, 120), raster_invalidations[0].rect); 589 EXPECT_EQ(IntRect(0, 120, 70, 120), raster_invalidations[0].rect);
598 EXPECT_EQ(static_cast<const DisplayItemClient*>(target->GetLayoutObject()), 590 EXPECT_EQ(static_cast<const DisplayItemClient*>(target->GetLayoutObject()),
599 raster_invalidations[0].client); 591 raster_invalidations[0].client);
600 EXPECT_EQ(kPaintInvalidationIncremental, raster_invalidations[0].reason); 592 EXPECT_EQ(kPaintInvalidationIncremental, raster_invalidations[0].reason);
601 GetDocument().View()->SetTracksPaintInvalidations(false); 593 GetDocument().View()->SetTracksPaintInvalidations(false);
602 } 594 }
603 595
604 } // namespace blink 596 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698