| Index: third_party/WebKit/Source/platform/graphics/paint/PaintControllerTest.cpp
|
| diff --git a/third_party/WebKit/Source/platform/graphics/paint/PaintControllerTest.cpp b/third_party/WebKit/Source/platform/graphics/paint/PaintControllerTest.cpp
|
| index 9904efebe90c1d1137e7c3922762ffbd90d109f1..c497fbade374abd3a0165c90ecbbc8c069607c1f 100644
|
| --- a/third_party/WebKit/Source/platform/graphics/paint/PaintControllerTest.cpp
|
| +++ b/third_party/WebKit/Source/platform/graphics/paint/PaintControllerTest.cpp
|
| @@ -2273,6 +2273,40 @@
|
| DisplayItemClient::EndShouldKeepAliveAllClients();
|
| #endif
|
| }
|
| +
|
| + void TestFoldCompositingDrawingInSubsequence() {
|
| + FakeDisplayItemClient container("container");
|
| + FakeDisplayItemClient content("content");
|
| + GraphicsContext context(GetPaintController());
|
| +
|
| + {
|
| + SubsequenceRecorder subsequence(context, container);
|
| + CompositingRecorder compositing(context, content, SkBlendMode::kSrc, 0.5);
|
| + DrawRect(context, content, kBackgroundDrawingType,
|
| + FloatRect(100, 100, 300, 300));
|
| + }
|
| + GetPaintController().CommitNewDisplayItems();
|
| + EXPECT_EQ(
|
| + 1u,
|
| + GetPaintController().GetPaintArtifact().GetDisplayItemList().size());
|
| +
|
| + {
|
| + EXPECT_FALSE(SubsequenceRecorder::UseCachedSubsequenceIfPossible(
|
| + context, container));
|
| + SubsequenceRecorder subsequence(context, container);
|
| + CompositingRecorder compositing(context, content, SkBlendMode::kSrc, 0.5);
|
| + DrawRect(context, content, kBackgroundDrawingType,
|
| + FloatRect(100, 100, 300, 300));
|
| + }
|
| + GetPaintController().CommitNewDisplayItems();
|
| + EXPECT_EQ(
|
| + 1u,
|
| + GetPaintController().GetPaintArtifact().GetDisplayItemList().size());
|
| +
|
| +#if CHECK_DISPLAY_ITEM_CLIENT_ALIVENESS
|
| + DisplayItemClient::EndShouldKeepAliveAllClients();
|
| +#endif
|
| + }
|
| };
|
|
|
| TEST_F(PaintControllerUnderInvalidationTest, ChangeDrawing) {
|
| @@ -2322,6 +2356,11 @@
|
| TestInvalidationInSubsequence();
|
| }
|
|
|
| +TEST_F(PaintControllerUnderInvalidationTest,
|
| + FoldCompositingDrawingInSubsequence) {
|
| + TestFoldCompositingDrawingInSubsequence();
|
| +}
|
| +
|
| #endif // defined(GTEST_HAS_DEATH_TEST) && !OS(ANDROID)
|
|
|
| } // namespace blink
|
|
|