OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |