OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "platform/graphics/paint/PaintController.h" | 5 #include "platform/graphics/paint/PaintController.h" |
6 | 6 |
7 #include "platform/RuntimeEnabledFeatures.h" | 7 #include "platform/RuntimeEnabledFeatures.h" |
8 #include "platform/graphics/GraphicsContext.h" | 8 #include "platform/graphics/GraphicsContext.h" |
9 #include "platform/graphics/paint/ClipPathDisplayItem.h" | 9 #include "platform/graphics/paint/ClipPathDisplayItem.h" |
10 #include "platform/graphics/paint/ClipPathRecorder.h" | 10 #include "platform/graphics/paint/ClipPathRecorder.h" |
(...skipping 19 matching lines...) Expand all Loading... |
30 IntRect visualRect(const PaintArtifact& paintArtifact, size_t index) | 30 IntRect visualRect(const PaintArtifact& paintArtifact, size_t index) |
31 { | 31 { |
32 return paintArtifact.getDisplayItemList().visualRect(index); | 32 return paintArtifact.getDisplayItemList().visualRect(index); |
33 } | 33 } |
34 | 34 |
35 protected: | 35 protected: |
36 PaintController& getPaintController() { return *m_paintController; } | 36 PaintController& getPaintController() { return *m_paintController; } |
37 | 37 |
38 int numCachedNewItems() const { return m_paintController->m_numCachedNewItem
s; } | 38 int numCachedNewItems() const { return m_paintController->m_numCachedNewItem
s; } |
39 | 39 |
40 #ifndef NDEBUG | 40 #if DCHECK_IS_ON() |
41 int numSequentialMatches() const { return m_paintController->m_numSequential
Matches; } | 41 int numSequentialMatches() const { return m_paintController->m_numSequential
Matches; } |
42 int numOutOfOrderMatches() const { return m_paintController->m_numOutOfOrder
Matches; } | 42 int numOutOfOrderMatches() const { return m_paintController->m_numOutOfOrder
Matches; } |
43 int numIndexedItems() const { return m_paintController->m_numIndexedItems; } | 43 int numIndexedItems() const { return m_paintController->m_numIndexedItems; } |
44 #endif | 44 #endif |
45 | 45 |
46 void TearDown() override | 46 void TearDown() override |
47 { | 47 { |
48 m_featuresBackup.restore(); | 48 m_featuresBackup.restore(); |
49 } | 49 } |
50 | 50 |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
97 | 97 |
98 void drawClippedRect(GraphicsContext& context, const FakeDisplayItemClient& clie
nt, DisplayItem::Type clipType, DisplayItem::Type drawingType, const FloatRect&
bound) | 98 void drawClippedRect(GraphicsContext& context, const FakeDisplayItemClient& clie
nt, DisplayItem::Type clipType, DisplayItem::Type drawingType, const FloatRect&
bound) |
99 { | 99 { |
100 ClipRecorder clipRecorder(context, client, clipType, IntRect(1, 1, 9, 9)); | 100 ClipRecorder clipRecorder(context, client, clipType, IntRect(1, 1, 9, 9)); |
101 drawRect(context, client, drawingType, bound); | 101 drawRect(context, client, drawingType, bound); |
102 } | 102 } |
103 | 103 |
104 enum TestConfigurations { | 104 enum TestConfigurations { |
105 SPv1, | 105 SPv1, |
106 SPv2, | 106 SPv2, |
| 107 #if DCHECK_IS_ON() |
107 UnderInvalidationCheckingSPv1, | 108 UnderInvalidationCheckingSPv1, |
108 UnderInvalidationCheckingSPv2, | 109 UnderInvalidationCheckingSPv2, |
| 110 #endif |
109 }; | 111 }; |
110 | 112 |
111 // Tests using this class will be tested with under-invalidation-checking enable
d and disabled. | 113 // Tests using this class will be tested with under-invalidation-checking enable
d and disabled. |
112 class PaintControllerTest : public PaintControllerTestBase, public testing::With
ParamInterface<TestConfigurations> { | 114 class PaintControllerTest : public PaintControllerTestBase, public testing::With
ParamInterface<TestConfigurations> { |
113 public: | 115 public: |
114 PaintControllerTest() | 116 PaintControllerTest() |
115 : m_rootPaintPropertyClient("root") | 117 : m_rootPaintPropertyClient("root") |
116 , m_rootPaintChunkId(m_rootPaintPropertyClient, DisplayItem::kUninitiali
zedType) | 118 , m_rootPaintChunkId(m_rootPaintPropertyClient, DisplayItem::kUninitiali
zedType) |
117 { } | 119 { } |
118 | 120 |
119 protected: | 121 protected: |
120 void SetUp() override | 122 void SetUp() override |
121 { | 123 { |
122 switch (GetParam()) { | 124 switch (GetParam()) { |
123 case SPv1: | 125 case SPv1: |
124 break; | 126 break; |
125 case SPv2: | 127 case SPv2: |
126 RuntimeEnabledFeatures::setSlimmingPaintV2Enabled(true); | 128 RuntimeEnabledFeatures::setSlimmingPaintV2Enabled(true); |
127 break; | 129 break; |
| 130 #if DCHECK_IS_ON() |
128 case UnderInvalidationCheckingSPv1: | 131 case UnderInvalidationCheckingSPv1: |
129 RuntimeEnabledFeatures::setPaintUnderInvalidationCheckingEnabled(tru
e); | 132 RuntimeEnabledFeatures::setSlimmingPaintUnderInvalidationCheckingEna
bled(true); |
130 break; | 133 break; |
131 case UnderInvalidationCheckingSPv2: | 134 case UnderInvalidationCheckingSPv2: |
132 RuntimeEnabledFeatures::setSlimmingPaintV2Enabled(true); | 135 RuntimeEnabledFeatures::setSlimmingPaintV2Enabled(true); |
133 RuntimeEnabledFeatures::setPaintUnderInvalidationCheckingEnabled(tru
e); | 136 RuntimeEnabledFeatures::setSlimmingPaintUnderInvalidationCheckingEna
bled(true); |
134 break; | 137 break; |
| 138 #endif |
135 } | 139 } |
136 } | 140 } |
137 | 141 |
138 FakeDisplayItemClient m_rootPaintPropertyClient; | 142 FakeDisplayItemClient m_rootPaintPropertyClient; |
139 PaintChunk::Id m_rootPaintChunkId; | 143 PaintChunk::Id m_rootPaintChunkId; |
140 }; | 144 }; |
141 | 145 |
| 146 #if DCHECK_IS_ON() |
142 INSTANTIATE_TEST_CASE_P(All, PaintControllerTest, ::testing::Values(SPv1, SPv2,
UnderInvalidationCheckingSPv1, UnderInvalidationCheckingSPv2)); | 147 INSTANTIATE_TEST_CASE_P(All, PaintControllerTest, ::testing::Values(SPv1, SPv2,
UnderInvalidationCheckingSPv1, UnderInvalidationCheckingSPv2)); |
| 148 #else |
| 149 INSTANTIATE_TEST_CASE_P(All, PaintControllerTest, ::testing::Values(SPv1, SPv2))
; |
| 150 #endif |
143 | 151 |
144 TEST_P(PaintControllerTest, NestedRecorders) | 152 TEST_P(PaintControllerTest, NestedRecorders) |
145 { | 153 { |
146 GraphicsContext context(getPaintController()); | 154 GraphicsContext context(getPaintController()); |
147 FakeDisplayItemClient client("client", LayoutRect(100, 100, 200, 200)); | 155 FakeDisplayItemClient client("client", LayoutRect(100, 100, 200, 200)); |
148 if (RuntimeEnabledFeatures::slimmingPaintV2Enabled()) | 156 if (RuntimeEnabledFeatures::slimmingPaintV2Enabled()) |
149 getPaintController().updateCurrentPaintChunkProperties(&m_rootPaintChunk
Id, PaintChunkProperties()); | 157 getPaintController().updateCurrentPaintChunkProperties(&m_rootPaintChunk
Id, PaintChunkProperties()); |
150 | 158 |
151 drawClippedRect(context, client, clipType, backgroundDrawingType, FloatRect(
100, 100, 200, 200)); | 159 drawClippedRect(context, client, clipType, backgroundDrawingType, FloatRect(
100, 100, 200, 200)); |
152 getPaintController().commitNewDisplayItems(); | 160 getPaintController().commitNewDisplayItems(); |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
189 EXPECT_THAT(getPaintController().paintChunks()[0].rasterInvalidationRect
s, UnorderedElementsAre( | 197 EXPECT_THAT(getPaintController().paintChunks()[0].rasterInvalidationRect
s, UnorderedElementsAre( |
190 FloatRect(LayoutRect::infiniteIntRect()))); | 198 FloatRect(LayoutRect::infiniteIntRect()))); |
191 | 199 |
192 getPaintController().updateCurrentPaintChunkProperties(&m_rootPaintChunk
Id, PaintChunkProperties()); | 200 getPaintController().updateCurrentPaintChunkProperties(&m_rootPaintChunk
Id, PaintChunkProperties()); |
193 } | 201 } |
194 | 202 |
195 drawRect(context, first, backgroundDrawingType, FloatRect(100, 100, 300, 300
)); | 203 drawRect(context, first, backgroundDrawingType, FloatRect(100, 100, 300, 300
)); |
196 drawRect(context, first, foregroundDrawingType, FloatRect(100, 100, 300, 300
)); | 204 drawRect(context, first, foregroundDrawingType, FloatRect(100, 100, 300, 300
)); |
197 | 205 |
198 EXPECT_EQ(2, numCachedNewItems()); | 206 EXPECT_EQ(2, numCachedNewItems()); |
199 #ifndef NDEBUG | 207 #if DCHECK_IS_ON() |
200 EXPECT_EQ(2, numSequentialMatches()); | 208 EXPECT_EQ(2, numSequentialMatches()); |
201 EXPECT_EQ(0, numOutOfOrderMatches()); | 209 EXPECT_EQ(0, numOutOfOrderMatches()); |
202 EXPECT_EQ(1, numIndexedItems()); | 210 EXPECT_EQ(1, numIndexedItems()); |
203 #endif | 211 #endif |
204 | 212 |
205 getPaintController().commitNewDisplayItems(); | 213 getPaintController().commitNewDisplayItems(); |
206 | 214 |
207 EXPECT_DISPLAY_LIST(getPaintController().getDisplayItemList(), 2, | 215 EXPECT_DISPLAY_LIST(getPaintController().getDisplayItemList(), 2, |
208 TestDisplayItem(first, backgroundDrawingType), | 216 TestDisplayItem(first, backgroundDrawingType), |
209 TestDisplayItem(first, foregroundDrawingType)); | 217 TestDisplayItem(first, foregroundDrawingType)); |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
243 TestDisplayItem(unaffected, foregroundDrawingType)); | 251 TestDisplayItem(unaffected, foregroundDrawingType)); |
244 | 252 |
245 drawRect(context, second, backgroundDrawingType, FloatRect(100, 100, 50, 200
)); | 253 drawRect(context, second, backgroundDrawingType, FloatRect(100, 100, 50, 200
)); |
246 drawRect(context, second, foregroundDrawingType, FloatRect(100, 100, 50, 200
)); | 254 drawRect(context, second, foregroundDrawingType, FloatRect(100, 100, 50, 200
)); |
247 drawRect(context, first, backgroundDrawingType, FloatRect(100, 100, 100, 100
)); | 255 drawRect(context, first, backgroundDrawingType, FloatRect(100, 100, 100, 100
)); |
248 drawRect(context, first, foregroundDrawingType, FloatRect(100, 100, 100, 100
)); | 256 drawRect(context, first, foregroundDrawingType, FloatRect(100, 100, 100, 100
)); |
249 drawRect(context, unaffected, backgroundDrawingType, FloatRect(300, 300, 10,
10)); | 257 drawRect(context, unaffected, backgroundDrawingType, FloatRect(300, 300, 10,
10)); |
250 drawRect(context, unaffected, foregroundDrawingType, FloatRect(300, 300, 10,
10)); | 258 drawRect(context, unaffected, foregroundDrawingType, FloatRect(300, 300, 10,
10)); |
251 | 259 |
252 EXPECT_EQ(6, numCachedNewItems()); | 260 EXPECT_EQ(6, numCachedNewItems()); |
253 #ifndef NDEBUG | 261 #if DCHECK_IS_ON() |
254 EXPECT_EQ(5, numSequentialMatches()); // second, first foreground, unaffecte
d | 262 EXPECT_EQ(5, numSequentialMatches()); // second, first foreground, unaffecte
d |
255 EXPECT_EQ(1, numOutOfOrderMatches()); // first | 263 EXPECT_EQ(1, numOutOfOrderMatches()); // first |
256 EXPECT_EQ(2, numIndexedItems()); // first | 264 EXPECT_EQ(2, numIndexedItems()); // first |
257 #endif | 265 #endif |
258 | 266 |
259 getPaintController().commitNewDisplayItems(); | 267 getPaintController().commitNewDisplayItems(); |
260 | 268 |
261 EXPECT_DISPLAY_LIST(getPaintController().getDisplayItemList(), 6, | 269 EXPECT_DISPLAY_LIST(getPaintController().getDisplayItemList(), 6, |
262 TestDisplayItem(second, backgroundDrawingType), | 270 TestDisplayItem(second, backgroundDrawingType), |
263 TestDisplayItem(second, foregroundDrawingType), | 271 TestDisplayItem(second, foregroundDrawingType), |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
304 | 312 |
305 first.setDisplayItemsUncached(); | 313 first.setDisplayItemsUncached(); |
306 drawRect(context, second, backgroundDrawingType, FloatRect(100, 100, 50, 200
)); | 314 drawRect(context, second, backgroundDrawingType, FloatRect(100, 100, 50, 200
)); |
307 drawRect(context, second, foregroundDrawingType, FloatRect(100, 100, 50, 200
)); | 315 drawRect(context, second, foregroundDrawingType, FloatRect(100, 100, 50, 200
)); |
308 drawRect(context, first, backgroundDrawingType, FloatRect(100, 100, 100, 100
)); | 316 drawRect(context, first, backgroundDrawingType, FloatRect(100, 100, 100, 100
)); |
309 drawRect(context, first, foregroundDrawingType, FloatRect(100, 100, 100, 100
)); | 317 drawRect(context, first, foregroundDrawingType, FloatRect(100, 100, 100, 100
)); |
310 drawRect(context, unaffected, backgroundDrawingType, FloatRect(300, 300, 10,
10)); | 318 drawRect(context, unaffected, backgroundDrawingType, FloatRect(300, 300, 10,
10)); |
311 drawRect(context, unaffected, foregroundDrawingType, FloatRect(300, 300, 10,
10)); | 319 drawRect(context, unaffected, foregroundDrawingType, FloatRect(300, 300, 10,
10)); |
312 | 320 |
313 EXPECT_EQ(4, numCachedNewItems()); | 321 EXPECT_EQ(4, numCachedNewItems()); |
314 #ifndef NDEBUG | 322 #if DCHECK_IS_ON() |
315 EXPECT_EQ(4, numSequentialMatches()); // second, unaffected | 323 EXPECT_EQ(4, numSequentialMatches()); // second, unaffected |
316 EXPECT_EQ(0, numOutOfOrderMatches()); | 324 EXPECT_EQ(0, numOutOfOrderMatches()); |
317 EXPECT_EQ(2, numIndexedItems()); | 325 EXPECT_EQ(2, numIndexedItems()); |
318 #endif | 326 #endif |
319 | 327 |
320 getPaintController().commitNewDisplayItems(); | 328 getPaintController().commitNewDisplayItems(); |
321 | 329 |
322 EXPECT_DISPLAY_LIST(getPaintController().getDisplayItemList(), 6, | 330 EXPECT_DISPLAY_LIST(getPaintController().getDisplayItemList(), 6, |
323 TestDisplayItem(second, backgroundDrawingType), | 331 TestDisplayItem(second, backgroundDrawingType), |
324 TestDisplayItem(second, foregroundDrawingType), | 332 TestDisplayItem(second, foregroundDrawingType), |
(...skipping 28 matching lines...) Expand all Loading... |
353 TestDisplayItem(second, backgroundDrawingType)); | 361 TestDisplayItem(second, backgroundDrawingType)); |
354 | 362 |
355 if (RuntimeEnabledFeatures::slimmingPaintV2Enabled()) | 363 if (RuntimeEnabledFeatures::slimmingPaintV2Enabled()) |
356 getPaintController().updateCurrentPaintChunkProperties(&m_rootPaintChunk
Id, PaintChunkProperties()); | 364 getPaintController().updateCurrentPaintChunkProperties(&m_rootPaintChunk
Id, PaintChunkProperties()); |
357 | 365 |
358 drawRect(context, first, backgroundDrawingType, FloatRect(100, 100, 100, 100
)); | 366 drawRect(context, first, backgroundDrawingType, FloatRect(100, 100, 100, 100
)); |
359 drawRect(context, third, backgroundDrawingType, FloatRect(125, 100, 200, 50)
); | 367 drawRect(context, third, backgroundDrawingType, FloatRect(125, 100, 200, 50)
); |
360 drawRect(context, second, backgroundDrawingType, FloatRect(100, 100, 50, 200
)); | 368 drawRect(context, second, backgroundDrawingType, FloatRect(100, 100, 50, 200
)); |
361 | 369 |
362 EXPECT_EQ(2, numCachedNewItems()); | 370 EXPECT_EQ(2, numCachedNewItems()); |
363 #ifndef NDEBUG | 371 #if DCHECK_IS_ON() |
364 EXPECT_EQ(2, numSequentialMatches()); // first, second | 372 EXPECT_EQ(2, numSequentialMatches()); // first, second |
365 EXPECT_EQ(0, numOutOfOrderMatches()); | 373 EXPECT_EQ(0, numOutOfOrderMatches()); |
366 EXPECT_EQ(0, numIndexedItems()); | 374 EXPECT_EQ(0, numIndexedItems()); |
367 #endif | 375 #endif |
368 | 376 |
369 getPaintController().commitNewDisplayItems(); | 377 getPaintController().commitNewDisplayItems(); |
370 | 378 |
371 EXPECT_DISPLAY_LIST(getPaintController().getDisplayItemList(), 3, | 379 EXPECT_DISPLAY_LIST(getPaintController().getDisplayItemList(), 3, |
372 TestDisplayItem(first, backgroundDrawingType), | 380 TestDisplayItem(first, backgroundDrawingType), |
373 TestDisplayItem(third, backgroundDrawingType), | 381 TestDisplayItem(third, backgroundDrawingType), |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
410 | 418 |
411 second.setDisplayItemsUncached(); | 419 second.setDisplayItemsUncached(); |
412 drawRect(context, first, backgroundDrawingType, FloatRect(100, 100, 100, 100
)); | 420 drawRect(context, first, backgroundDrawingType, FloatRect(100, 100, 100, 100
)); |
413 drawRect(context, second, backgroundDrawingType, FloatRect(100, 100, 50, 200
)); | 421 drawRect(context, second, backgroundDrawingType, FloatRect(100, 100, 50, 200
)); |
414 drawRect(context, third, backgroundDrawingType, FloatRect(300, 100, 50, 50))
; | 422 drawRect(context, third, backgroundDrawingType, FloatRect(300, 100, 50, 50))
; |
415 drawRect(context, first, foregroundDrawingType, FloatRect(100, 100, 100, 100
)); | 423 drawRect(context, first, foregroundDrawingType, FloatRect(100, 100, 100, 100
)); |
416 drawRect(context, second, foregroundDrawingType, FloatRect(100, 100, 50, 200
)); | 424 drawRect(context, second, foregroundDrawingType, FloatRect(100, 100, 50, 200
)); |
417 drawRect(context, third, foregroundDrawingType, FloatRect(300, 100, 50, 50))
; | 425 drawRect(context, third, foregroundDrawingType, FloatRect(300, 100, 50, 50))
; |
418 | 426 |
419 EXPECT_EQ(4, numCachedNewItems()); | 427 EXPECT_EQ(4, numCachedNewItems()); |
420 #ifndef NDEBUG | 428 #if DCHECK_IS_ON() |
421 EXPECT_EQ(4, numSequentialMatches()); | 429 EXPECT_EQ(4, numSequentialMatches()); |
422 EXPECT_EQ(0, numOutOfOrderMatches()); | 430 EXPECT_EQ(0, numOutOfOrderMatches()); |
423 EXPECT_EQ(2, numIndexedItems()); | 431 EXPECT_EQ(2, numIndexedItems()); |
424 #endif | 432 #endif |
425 | 433 |
426 getPaintController().commitNewDisplayItems(); | 434 getPaintController().commitNewDisplayItems(); |
427 | 435 |
428 EXPECT_DISPLAY_LIST(getPaintController().getDisplayItemList(), 6, | 436 EXPECT_DISPLAY_LIST(getPaintController().getDisplayItemList(), 6, |
429 TestDisplayItem(first, backgroundDrawingType), | 437 TestDisplayItem(first, backgroundDrawingType), |
430 TestDisplayItem(second, backgroundDrawingType), | 438 TestDisplayItem(second, backgroundDrawingType), |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
483 FloatRect(200, 200, 50, 50), // Old bounds of |second|. | 491 FloatRect(200, 200, 50, 50), // Old bounds of |second|. |
484 FloatRect(150, 150, 100, 100))); // New bounds of |second|. | 492 FloatRect(150, 150, 100, 100))); // New bounds of |second|. |
485 | 493 |
486 getPaintController().updateCurrentPaintChunkProperties(&m_rootPaintChunk
Id, PaintChunkProperties()); | 494 getPaintController().updateCurrentPaintChunkProperties(&m_rootPaintChunk
Id, PaintChunkProperties()); |
487 } | 495 } |
488 | 496 |
489 drawRect(context, second, backgroundDrawingType, FloatRect(150, 150, 100, 10
0)); | 497 drawRect(context, second, backgroundDrawingType, FloatRect(150, 150, 100, 10
0)); |
490 drawRect(context, second, foregroundDrawingType, FloatRect(150, 150, 100, 10
0)); | 498 drawRect(context, second, foregroundDrawingType, FloatRect(150, 150, 100, 10
0)); |
491 | 499 |
492 EXPECT_EQ(2, numCachedNewItems()); | 500 EXPECT_EQ(2, numCachedNewItems()); |
493 #ifndef NDEBUG | 501 #if DCHECK_IS_ON() |
494 EXPECT_EQ(2, numSequentialMatches()); | 502 EXPECT_EQ(2, numSequentialMatches()); |
495 EXPECT_EQ(0, numOutOfOrderMatches()); | 503 EXPECT_EQ(0, numOutOfOrderMatches()); |
496 EXPECT_EQ(2, numIndexedItems()); | 504 EXPECT_EQ(2, numIndexedItems()); |
497 #endif | 505 #endif |
498 | 506 |
499 getPaintController().commitNewDisplayItems(); | 507 getPaintController().commitNewDisplayItems(); |
500 | 508 |
501 EXPECT_DISPLAY_LIST(getPaintController().getDisplayItemList(), 2, | 509 EXPECT_DISPLAY_LIST(getPaintController().getDisplayItemList(), 2, |
502 TestDisplayItem(second, backgroundDrawingType), | 510 TestDisplayItem(second, backgroundDrawingType), |
503 TestDisplayItem(second, foregroundDrawingType)); | 511 TestDisplayItem(second, foregroundDrawingType)); |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
601 TestDisplayItem(first, DisplayItem::clipTypeToEndClipType(clipType))); | 609 TestDisplayItem(first, DisplayItem::clipTypeToEndClipType(clipType))); |
602 | 610 |
603 if (RuntimeEnabledFeatures::slimmingPaintV2Enabled()) | 611 if (RuntimeEnabledFeatures::slimmingPaintV2Enabled()) |
604 getPaintController().updateCurrentPaintChunkProperties(&m_rootPaintChunk
Id, PaintChunkProperties()); | 612 getPaintController().updateCurrentPaintChunkProperties(&m_rootPaintChunk
Id, PaintChunkProperties()); |
605 | 613 |
606 first.setDisplayItemsUncached(); | 614 first.setDisplayItemsUncached(); |
607 drawRect(context, first, backgroundDrawingType, FloatRect(100, 100, 150, 150
)); | 615 drawRect(context, first, backgroundDrawingType, FloatRect(100, 100, 150, 150
)); |
608 drawRect(context, second, backgroundDrawingType, FloatRect(100, 100, 200, 20
0)); | 616 drawRect(context, second, backgroundDrawingType, FloatRect(100, 100, 200, 20
0)); |
609 | 617 |
610 EXPECT_EQ(1, numCachedNewItems()); | 618 EXPECT_EQ(1, numCachedNewItems()); |
611 #ifndef NDEBUG | 619 #if DCHECK_IS_ON() |
612 EXPECT_EQ(1, numSequentialMatches()); | 620 EXPECT_EQ(1, numSequentialMatches()); |
613 EXPECT_EQ(0, numOutOfOrderMatches()); | 621 EXPECT_EQ(0, numOutOfOrderMatches()); |
614 EXPECT_EQ(1, numIndexedItems()); | 622 EXPECT_EQ(1, numIndexedItems()); |
615 #endif | 623 #endif |
616 | 624 |
617 getPaintController().commitNewDisplayItems(); | 625 getPaintController().commitNewDisplayItems(); |
618 | 626 |
619 EXPECT_DISPLAY_LIST(getPaintController().getDisplayItemList(), 2, | 627 EXPECT_DISPLAY_LIST(getPaintController().getDisplayItemList(), 2, |
620 TestDisplayItem(first, backgroundDrawingType), | 628 TestDisplayItem(first, backgroundDrawingType), |
621 TestDisplayItem(second, backgroundDrawingType)); | 629 TestDisplayItem(second, backgroundDrawingType)); |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
682 drawRect(context, first, backgroundDrawingType, FloatRect(100, 100, 150, 150
)); | 690 drawRect(context, first, backgroundDrawingType, FloatRect(100, 100, 150, 150
)); |
683 drawRect(context, second, backgroundDrawingType, FloatRect(100, 100, 150, 15
0)); | 691 drawRect(context, second, backgroundDrawingType, FloatRect(100, 100, 150, 15
0)); |
684 getPaintController().commitNewDisplayItems(); | 692 getPaintController().commitNewDisplayItems(); |
685 | 693 |
686 EXPECT_DISPLAY_LIST(getPaintController().getDisplayItemList(), 2, | 694 EXPECT_DISPLAY_LIST(getPaintController().getDisplayItemList(), 2, |
687 TestDisplayItem(first, backgroundDrawingType), | 695 TestDisplayItem(first, backgroundDrawingType), |
688 TestDisplayItem(second, backgroundDrawingType)); | 696 TestDisplayItem(second, backgroundDrawingType)); |
689 // The first display item should be updated. | 697 // The first display item should be updated. |
690 EXPECT_NE(firstPicture, static_cast<const DrawingDisplayItem&>(getPaintContr
oller().getDisplayItemList()[0]).picture()); | 698 EXPECT_NE(firstPicture, static_cast<const DrawingDisplayItem&>(getPaintContr
oller().getDisplayItemList()[0]).picture()); |
691 // The second display item should be cached. | 699 // The second display item should be cached. |
692 if (!RuntimeEnabledFeatures::paintUnderInvalidationCheckingEnabled()) | 700 if (!RuntimeEnabledFeatures::slimmingPaintUnderInvalidationCheckingEnabled()
) |
693 EXPECT_EQ(secondPicture, static_cast<const DrawingDisplayItem&>(getPaint
Controller().getDisplayItemList()[1]).picture()); | 701 EXPECT_EQ(secondPicture, static_cast<const DrawingDisplayItem&>(getPaint
Controller().getDisplayItemList()[1]).picture()); |
694 EXPECT_TRUE(getPaintController().clientCacheIsValid(first)); | 702 EXPECT_TRUE(getPaintController().clientCacheIsValid(first)); |
695 EXPECT_TRUE(getPaintController().clientCacheIsValid(second)); | 703 EXPECT_TRUE(getPaintController().clientCacheIsValid(second)); |
696 | 704 |
697 getPaintController().invalidateAll(); | 705 getPaintController().invalidateAll(); |
698 EXPECT_FALSE(getPaintController().clientCacheIsValid(first)); | 706 EXPECT_FALSE(getPaintController().clientCacheIsValid(first)); |
699 EXPECT_FALSE(getPaintController().clientCacheIsValid(second)); | 707 EXPECT_FALSE(getPaintController().clientCacheIsValid(second)); |
700 } | 708 } |
701 | 709 |
702 TEST_P(PaintControllerTest, ComplexUpdateSwapOrder) | 710 TEST_P(PaintControllerTest, ComplexUpdateSwapOrder) |
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
820 EXPECT_EQ(2u, getPaintController().paintChunks().size()); | 828 EXPECT_EQ(2u, getPaintController().paintChunks().size()); |
821 EXPECT_EQ(PaintChunk::Id(container1, backgroundDrawingType), getPaintCon
troller().paintChunks()[0].id); | 829 EXPECT_EQ(PaintChunk::Id(container1, backgroundDrawingType), getPaintCon
troller().paintChunks()[0].id); |
822 EXPECT_EQ(PaintChunk::Id(container2, backgroundDrawingType), getPaintCon
troller().paintChunks()[1].id); | 830 EXPECT_EQ(PaintChunk::Id(container2, backgroundDrawingType), getPaintCon
troller().paintChunks()[1].id); |
823 EXPECT_THAT(getPaintController().paintChunks()[0].rasterInvalidationRect
s, UnorderedElementsAre( | 831 EXPECT_THAT(getPaintController().paintChunks()[0].rasterInvalidationRect
s, UnorderedElementsAre( |
824 FloatRect(LayoutRect::infiniteIntRect()))); | 832 FloatRect(LayoutRect::infiniteIntRect()))); |
825 EXPECT_THAT(getPaintController().paintChunks()[1].rasterInvalidationRect
s, UnorderedElementsAre( | 833 EXPECT_THAT(getPaintController().paintChunks()[1].rasterInvalidationRect
s, UnorderedElementsAre( |
826 FloatRect(LayoutRect::infiniteIntRect()))); | 834 FloatRect(LayoutRect::infiniteIntRect()))); |
827 } | 835 } |
828 | 836 |
829 // Simulate the situation when container1 e.g. gets a z-index that is now gr
eater than container2. | 837 // Simulate the situation when container1 e.g. gets a z-index that is now gr
eater than container2. |
830 if (RuntimeEnabledFeatures::paintUnderInvalidationCheckingEnabled()) { | 838 if (RuntimeEnabledFeatures::slimmingPaintUnderInvalidationCheckingEnabled())
{ |
831 // When under-invalidation-checking is enabled, useCachedSubsequenceIfPo
ssible is forced off, | 839 // When under-invalidation-checking is enabled, useCachedSubsequenceIfPo
ssible is forced off, |
832 // and the client is expected to create the same painting as in the prev
ious paint. | 840 // and the client is expected to create the same painting as in the prev
ious paint. |
833 EXPECT_FALSE(SubsequenceRecorder::useCachedSubsequenceIfPossible(context
, container2)); | 841 EXPECT_FALSE(SubsequenceRecorder::useCachedSubsequenceIfPossible(context
, container2)); |
834 { | 842 { |
835 if (RuntimeEnabledFeatures::slimmingPaintV2Enabled()) { | 843 if (RuntimeEnabledFeatures::slimmingPaintV2Enabled()) { |
836 PaintChunk::Id id(container2, backgroundDrawingType); | 844 PaintChunk::Id id(container2, backgroundDrawingType); |
837 getPaintController().updateCurrentPaintChunkProperties(&id, cont
ainer2Properties); | 845 getPaintController().updateCurrentPaintChunkProperties(&id, cont
ainer2Properties); |
838 } | 846 } |
839 SubsequenceRecorder r(context, container2); | 847 SubsequenceRecorder r(context, container2); |
840 drawRect(context, container2, backgroundDrawingType, FloatRect(100,
200, 100, 100)); | 848 drawRect(context, container2, backgroundDrawingType, FloatRect(100,
200, 100, 100)); |
(...skipping 12 matching lines...) Expand all Loading... |
853 drawRect(context, content1, backgroundDrawingType, FloatRect(100, 10
0, 50, 200)); | 861 drawRect(context, content1, backgroundDrawingType, FloatRect(100, 10
0, 50, 200)); |
854 drawRect(context, content1, foregroundDrawingType, FloatRect(100, 10
0, 50, 200)); | 862 drawRect(context, content1, foregroundDrawingType, FloatRect(100, 10
0, 50, 200)); |
855 drawRect(context, container1, foregroundDrawingType, FloatRect(100,
100, 100, 100)); | 863 drawRect(context, container1, foregroundDrawingType, FloatRect(100,
100, 100, 100)); |
856 } | 864 } |
857 } else { | 865 } else { |
858 EXPECT_TRUE(SubsequenceRecorder::useCachedSubsequenceIfPossible(context,
container2)); | 866 EXPECT_TRUE(SubsequenceRecorder::useCachedSubsequenceIfPossible(context,
container2)); |
859 EXPECT_TRUE(SubsequenceRecorder::useCachedSubsequenceIfPossible(context,
container1)); | 867 EXPECT_TRUE(SubsequenceRecorder::useCachedSubsequenceIfPossible(context,
container1)); |
860 } | 868 } |
861 | 869 |
862 EXPECT_EQ(12, numCachedNewItems()); | 870 EXPECT_EQ(12, numCachedNewItems()); |
863 #ifndef NDEBUG | 871 #if DCHECK_IS_ON() |
864 EXPECT_EQ(1, numSequentialMatches()); | 872 EXPECT_EQ(1, numSequentialMatches()); |
865 EXPECT_EQ(1, numOutOfOrderMatches()); | 873 EXPECT_EQ(1, numOutOfOrderMatches()); |
866 EXPECT_EQ(5, numIndexedItems()); | 874 EXPECT_EQ(5, numIndexedItems()); |
867 #endif | 875 #endif |
868 | 876 |
869 getPaintController().commitNewDisplayItems(); | 877 getPaintController().commitNewDisplayItems(); |
870 | 878 |
871 EXPECT_DISPLAY_LIST(getPaintController().getDisplayItemList(), 12, | 879 EXPECT_DISPLAY_LIST(getPaintController().getDisplayItemList(), 12, |
872 TestDisplayItem(container2, DisplayItem::kSubsequence), | 880 TestDisplayItem(container2, DisplayItem::kSubsequence), |
873 TestDisplayItem(container2, backgroundDrawingType), | 881 TestDisplayItem(container2, backgroundDrawingType), |
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1029 getPaintController().updateCurrentPaintChunkProperties(&id, content2
Properties); | 1037 getPaintController().updateCurrentPaintChunkProperties(&id, content2
Properties); |
1030 } | 1038 } |
1031 SubsequenceRecorder r(context, content2); | 1039 SubsequenceRecorder r(context, content2); |
1032 drawRect(context, content2, foregroundDrawingType, FloatRect(100, 200, 5
0, 200)); | 1040 drawRect(context, content2, foregroundDrawingType, FloatRect(100, 200, 5
0, 200)); |
1033 } | 1041 } |
1034 // Repaint container1 with foreground only. | 1042 // Repaint container1 with foreground only. |
1035 { | 1043 { |
1036 EXPECT_FALSE(SubsequenceRecorder::useCachedSubsequenceIfPossible(context
, container1)); | 1044 EXPECT_FALSE(SubsequenceRecorder::useCachedSubsequenceIfPossible(context
, container1)); |
1037 SubsequenceRecorder r(context, container1); | 1045 SubsequenceRecorder r(context, container1); |
1038 // Use cached subsequence of content1. | 1046 // Use cached subsequence of content1. |
1039 if (RuntimeEnabledFeatures::paintUnderInvalidationCheckingEnabled()) { | 1047 if (RuntimeEnabledFeatures::slimmingPaintUnderInvalidationCheckingEnable
d()) { |
1040 // When under-invalidation-checking is enabled, useCachedSubsequence
IfPossible is forced off, | 1048 // When under-invalidation-checking is enabled, useCachedSubsequence
IfPossible is forced off, |
1041 // and the client is expected to create the same painting as in the
previous paint. | 1049 // and the client is expected to create the same painting as in the
previous paint. |
1042 EXPECT_FALSE(SubsequenceRecorder::useCachedSubsequenceIfPossible(con
text, content1)); | 1050 EXPECT_FALSE(SubsequenceRecorder::useCachedSubsequenceIfPossible(con
text, content1)); |
1043 if (RuntimeEnabledFeatures::slimmingPaintV2Enabled()) { | 1051 if (RuntimeEnabledFeatures::slimmingPaintV2Enabled()) { |
1044 PaintChunk::Id id(content1, backgroundDrawingType); | 1052 PaintChunk::Id id(content1, backgroundDrawingType); |
1045 getPaintController().updateCurrentPaintChunkProperties(&id, cont
ent1Properties); | 1053 getPaintController().updateCurrentPaintChunkProperties(&id, cont
ent1Properties); |
1046 } | 1054 } |
1047 SubsequenceRecorder r(context, content1); | 1055 SubsequenceRecorder r(context, content1); |
1048 drawRect(context, content1, backgroundDrawingType, FloatRect(100, 10
0, 50, 200)); | 1056 drawRect(context, content1, backgroundDrawingType, FloatRect(100, 10
0, 50, 200)); |
1049 drawRect(context, content1, foregroundDrawingType, FloatRect(100, 10
0, 50, 200)); | 1057 drawRect(context, content1, foregroundDrawingType, FloatRect(100, 10
0, 50, 200)); |
1050 } else { | 1058 } else { |
1051 EXPECT_TRUE(SubsequenceRecorder::useCachedSubsequenceIfPossible(cont
ext, content1)); | 1059 EXPECT_TRUE(SubsequenceRecorder::useCachedSubsequenceIfPossible(cont
ext, content1)); |
1052 } | 1060 } |
1053 if (RuntimeEnabledFeatures::slimmingPaintV2Enabled()) { | 1061 if (RuntimeEnabledFeatures::slimmingPaintV2Enabled()) { |
1054 PaintChunk::Id id(container1, foregroundDrawingType); | 1062 PaintChunk::Id id(container1, foregroundDrawingType); |
1055 getPaintController().updateCurrentPaintChunkProperties(&id, containe
r1ForegroundProperties); | 1063 getPaintController().updateCurrentPaintChunkProperties(&id, containe
r1ForegroundProperties); |
1056 } | 1064 } |
1057 drawRect(context, container1, foregroundDrawingType, FloatRect(100, 100,
100, 100)); | 1065 drawRect(context, container1, foregroundDrawingType, FloatRect(100, 100,
100, 100)); |
1058 } | 1066 } |
1059 | 1067 |
1060 EXPECT_EQ(4, numCachedNewItems()); | 1068 EXPECT_EQ(4, numCachedNewItems()); |
1061 #ifndef NDEBUG | 1069 #if DCHECK_IS_ON() |
1062 EXPECT_EQ(1, numSequentialMatches()); | 1070 EXPECT_EQ(1, numSequentialMatches()); |
1063 EXPECT_EQ(0, numOutOfOrderMatches()); | 1071 EXPECT_EQ(0, numOutOfOrderMatches()); |
1064 EXPECT_EQ(2, numIndexedItems()); | 1072 EXPECT_EQ(2, numIndexedItems()); |
1065 #endif | 1073 #endif |
1066 | 1074 |
1067 getPaintController().commitNewDisplayItems(); | 1075 getPaintController().commitNewDisplayItems(); |
1068 | 1076 |
1069 EXPECT_DISPLAY_LIST(getPaintController().getDisplayItemList(), 10, | 1077 EXPECT_DISPLAY_LIST(getPaintController().getDisplayItemList(), 10, |
1070 TestDisplayItem(content2, DisplayItem::kSubsequence), | 1078 TestDisplayItem(content2, DisplayItem::kSubsequence), |
1071 TestDisplayItem(content2, foregroundDrawingType), | 1079 TestDisplayItem(content2, foregroundDrawingType), |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1139 // Draw again with nothing invalidated. | 1147 // Draw again with nothing invalidated. |
1140 EXPECT_TRUE(getPaintController().clientCacheIsValid(multicol)); | 1148 EXPECT_TRUE(getPaintController().clientCacheIsValid(multicol)); |
1141 drawRect(context, multicol, backgroundDrawingType, FloatRect(100, 200, 100,
100)); | 1149 drawRect(context, multicol, backgroundDrawingType, FloatRect(100, 200, 100,
100)); |
1142 | 1150 |
1143 getPaintController().beginSkippingCache(); | 1151 getPaintController().beginSkippingCache(); |
1144 drawRect(context, content, foregroundDrawingType, rect1); | 1152 drawRect(context, content, foregroundDrawingType, rect1); |
1145 drawRect(context, content, foregroundDrawingType, rect2); | 1153 drawRect(context, content, foregroundDrawingType, rect2); |
1146 getPaintController().endSkippingCache(); | 1154 getPaintController().endSkippingCache(); |
1147 | 1155 |
1148 EXPECT_EQ(1, numCachedNewItems()); | 1156 EXPECT_EQ(1, numCachedNewItems()); |
1149 #ifndef NDEBUG | 1157 #if DCHECK_IS_ON() |
1150 EXPECT_EQ(1, numSequentialMatches()); | 1158 EXPECT_EQ(1, numSequentialMatches()); |
1151 EXPECT_EQ(0, numOutOfOrderMatches()); | 1159 EXPECT_EQ(0, numOutOfOrderMatches()); |
1152 EXPECT_EQ(0, numIndexedItems()); | 1160 EXPECT_EQ(0, numIndexedItems()); |
1153 #endif | 1161 #endif |
1154 | 1162 |
1155 getPaintController().commitNewDisplayItems(); | 1163 getPaintController().commitNewDisplayItems(); |
1156 | 1164 |
1157 EXPECT_DISPLAY_LIST(getPaintController().getDisplayItemList(), 3, | 1165 EXPECT_DISPLAY_LIST(getPaintController().getDisplayItemList(), 3, |
1158 TestDisplayItem(multicol, backgroundDrawingType), | 1166 TestDisplayItem(multicol, backgroundDrawingType), |
1159 TestDisplayItem(content, foregroundDrawingType), | 1167 TestDisplayItem(content, foregroundDrawingType), |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1232 EXPECT_EQ(PaintInvalidationFull, content.getPaintInvalidationReason()); | 1240 EXPECT_EQ(PaintInvalidationFull, content.getPaintInvalidationReason()); |
1233 | 1241 |
1234 // Draw again with nothing invalidated. | 1242 // Draw again with nothing invalidated. |
1235 drawRect(context, content, backgroundDrawingType, rect1); | 1243 drawRect(context, content, backgroundDrawingType, rect1); |
1236 getPaintController().beginSkippingCache(); | 1244 getPaintController().beginSkippingCache(); |
1237 drawRect(context, content, foregroundDrawingType, rect2); | 1245 drawRect(context, content, foregroundDrawingType, rect2); |
1238 getPaintController().endSkippingCache(); | 1246 getPaintController().endSkippingCache(); |
1239 drawRect(context, content, foregroundDrawingType, rect3); | 1247 drawRect(context, content, foregroundDrawingType, rect3); |
1240 | 1248 |
1241 EXPECT_EQ(0, numCachedNewItems()); | 1249 EXPECT_EQ(0, numCachedNewItems()); |
1242 #ifndef NDEBUG | 1250 #if DCHECK_IS_ON() |
1243 EXPECT_EQ(0, numSequentialMatches()); | 1251 EXPECT_EQ(0, numSequentialMatches()); |
1244 EXPECT_EQ(0, numOutOfOrderMatches()); | 1252 EXPECT_EQ(0, numOutOfOrderMatches()); |
1245 EXPECT_EQ(0, numIndexedItems()); | 1253 EXPECT_EQ(0, numIndexedItems()); |
1246 #endif | 1254 #endif |
1247 | 1255 |
1248 getPaintController().commitNewDisplayItems(); | 1256 getPaintController().commitNewDisplayItems(); |
1249 | 1257 |
1250 EXPECT_DISPLAY_LIST(getPaintController().getDisplayItemList(), 3, | 1258 EXPECT_DISPLAY_LIST(getPaintController().getDisplayItemList(), 3, |
1251 TestDisplayItem(content, backgroundDrawingType), | 1259 TestDisplayItem(content, backgroundDrawingType), |
1252 TestDisplayItem(content, foregroundDrawingType), | 1260 TestDisplayItem(content, foregroundDrawingType), |
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1468 for (int j = 0; j < 50; ++j) | 1476 for (int j = 0; j < 50; ++j) |
1469 getPaintController().createAndAppend<BeginClipPathDisplayItem>(clien
t, path); | 1477 getPaintController().createAndAppend<BeginClipPathDisplayItem>(clien
t, path); |
1470 drawRect(context, client, backgroundDrawingType, FloatRect(0, 0, 100, 10
0)); | 1478 drawRect(context, client, backgroundDrawingType, FloatRect(0, 0, 100, 10
0)); |
1471 for (int j = 0; j < 50; ++j) | 1479 for (int j = 0; j < 50; ++j) |
1472 getPaintController().createAndAppend<EndClipPathDisplayItem>(client)
; | 1480 getPaintController().createAndAppend<EndClipPathDisplayItem>(client)
; |
1473 getPaintController().commitNewDisplayItems(LayoutSize()); | 1481 getPaintController().commitNewDisplayItems(LayoutSize()); |
1474 EXPECT_FALSE(getPaintController().paintArtifact().isSuitableForGpuRaster
ization()); | 1482 EXPECT_FALSE(getPaintController().paintArtifact().isSuitableForGpuRaster
ization()); |
1475 } | 1483 } |
1476 } | 1484 } |
1477 | 1485 |
| 1486 // Under-invalidation checking is only available when DCHECK_IS_ON(). |
1478 // Death tests don't work properly on Android. | 1487 // Death tests don't work properly on Android. |
1479 #if defined(GTEST_HAS_DEATH_TEST) && !OS(ANDROID) | 1488 #if DCHECK_IS_ON() && defined(GTEST_HAS_DEATH_TEST) && !OS(ANDROID) |
1480 | 1489 |
1481 class PaintControllerUnderInvalidationTest : public PaintControllerTestBase { | 1490 class PaintControllerUnderInvalidationTest : public PaintControllerTestBase { |
1482 protected: | 1491 protected: |
1483 void SetUp() override | 1492 void SetUp() override |
1484 { | 1493 { |
1485 PaintControllerTestBase::SetUp(); | 1494 PaintControllerTestBase::SetUp(); |
1486 RuntimeEnabledFeatures::setPaintUnderInvalidationCheckingEnabled(true); | 1495 RuntimeEnabledFeatures::setSlimmingPaintUnderInvalidationCheckingEnabled
(true); |
1487 } | 1496 } |
1488 | 1497 |
1489 void testChangeDrawing() | 1498 void testChangeDrawing() |
1490 { | 1499 { |
1491 FakeDisplayItemClient first("first"); | 1500 FakeDisplayItemClient first("first"); |
1492 GraphicsContext context(getPaintController()); | 1501 GraphicsContext context(getPaintController()); |
1493 | 1502 |
1494 drawRect(context, first, backgroundDrawingType, FloatRect(100, 100, 300,
300)); | 1503 drawRect(context, first, backgroundDrawingType, FloatRect(100, 100, 300,
300)); |
1495 drawRect(context, first, foregroundDrawingType, FloatRect(100, 100, 300,
300)); | 1504 drawRect(context, first, foregroundDrawingType, FloatRect(100, 100, 300,
300)); |
1496 getPaintController().commitNewDisplayItems(); | 1505 getPaintController().commitNewDisplayItems(); |
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1745 // We allow invalidated display item clients as long as they would produce t
he same display items. | 1754 // We allow invalidated display item clients as long as they would produce t
he same display items. |
1746 // The cases of changed display items are tested by other test cases. | 1755 // The cases of changed display items are tested by other test cases. |
1747 testInvalidationInSubsequence(); | 1756 testInvalidationInSubsequence(); |
1748 } | 1757 } |
1749 | 1758 |
1750 TEST_F(PaintControllerUnderInvalidationTest, FoldCompositingDrawingInSubsequence
) | 1759 TEST_F(PaintControllerUnderInvalidationTest, FoldCompositingDrawingInSubsequence
) |
1751 { | 1760 { |
1752 testFoldCompositingDrawingInSubsequence(); | 1761 testFoldCompositingDrawingInSubsequence(); |
1753 } | 1762 } |
1754 | 1763 |
1755 #endif // defined(GTEST_HAS_DEATH_TEST) && !OS(ANDROID) | 1764 #endif // DCHECK_IS_ON() && defined(GTEST_HAS_DEATH_TEST) && !OS(ANDROID) |
1756 | 1765 |
1757 } // namespace blink | 1766 } // namespace blink |
OLD | NEW |