Index: third_party/WebKit/Source/core/paint/PaintControllerPaintTest.cpp |
diff --git a/third_party/WebKit/Source/core/paint/PaintControllerPaintTest.cpp b/third_party/WebKit/Source/core/paint/PaintControllerPaintTest.cpp |
index 539517b8a53ceef5ff97ac3c3a684b26c3e20ebb..e15c20228d1180de4c7e27ee3b6afcfa9fe7b87b 100644 |
--- a/third_party/WebKit/Source/core/paint/PaintControllerPaintTest.cpp |
+++ b/third_party/WebKit/Source/core/paint/PaintControllerPaintTest.cpp |
@@ -27,17 +27,37 @@ TEST_P(PaintControllerPaintTestForSlimmingPaintV1AndV2, FullDocumentPaintingWith |
Element& div = *toElement(document().body()->firstChild()); |
InlineTextBox& textInlineBox = *toLayoutText(div.firstChild()->layoutObject())->firstTextBox(); |
- EXPECT_DISPLAY_LIST(rootPaintController().getDisplayItemList(), 2, |
+ if (RuntimeEnabledFeatures::slimmingPaintV2Enabled()) { |
+ EXPECT_DISPLAY_LIST(rootPaintController().getDisplayItemList(), 6, |
+ TestDisplayItem(layoutView(), DisplayItem::kClipFrameToVisibleContentRect), |
+ TestDisplayItem(*layoutView().layer(), DisplayItem::kSubsequence), |
+ TestDisplayItem(layoutView(), documentBackgroundType), |
+ TestDisplayItem(textInlineBox, foregroundType), |
+ TestDisplayItem(*layoutView().layer(), DisplayItem::kEndSubsequence), |
+ TestDisplayItem(layoutView(), DisplayItem::clipTypeToEndClipType(DisplayItem::kClipFrameToVisibleContentRect))); |
+ } else { |
+ EXPECT_DISPLAY_LIST(rootPaintController().getDisplayItemList(), 2, |
TestDisplayItem(layoutView(), documentBackgroundType), |
TestDisplayItem(textInlineBox, foregroundType)); |
+ } |
div.focus(); |
document().view()->updateAllLifecyclePhases(); |
- EXPECT_DISPLAY_LIST(rootPaintController().getDisplayItemList(), 3, |
- TestDisplayItem(layoutView(), documentBackgroundType), |
- TestDisplayItem(textInlineBox, foregroundType), |
- TestDisplayItem(*document().frame()->selection().m_frameCaret, DisplayItem::kCaret)); // New! |
+ if (RuntimeEnabledFeatures::slimmingPaintV2Enabled()) { |
+ EXPECT_DISPLAY_LIST(rootPaintController().getDisplayItemList(), 7, |
+ TestDisplayItem(layoutView(), DisplayItem::kClipFrameToVisibleContentRect), |
+ TestDisplayItem(*layoutView().layer(), DisplayItem::kSubsequence), TestDisplayItem(layoutView(), documentBackgroundType), |
+ TestDisplayItem(textInlineBox, foregroundType), |
+ TestDisplayItem(*document().frame()->selection().m_frameCaret, DisplayItem::kCaret), // New! |
+ TestDisplayItem(*layoutView().layer(), DisplayItem::kEndSubsequence), |
+ TestDisplayItem(layoutView(), DisplayItem::clipTypeToEndClipType(DisplayItem::kClipFrameToVisibleContentRect))); |
+ } else { |
+ EXPECT_DISPLAY_LIST(rootPaintController().getDisplayItemList(), 3, |
+ TestDisplayItem(layoutView(), documentBackgroundType), |
+ TestDisplayItem(textInlineBox, foregroundType), |
+ TestDisplayItem(*document().frame()->selection().m_frameCaret, DisplayItem::kCaret)); // New! |
+ } |
} |
TEST_P(PaintControllerPaintTestForSlimmingPaintV1AndV2, InlineRelayout) |
@@ -48,9 +68,19 @@ TEST_P(PaintControllerPaintTestForSlimmingPaintV1AndV2, InlineRelayout) |
LayoutText& text = *toLayoutText(divBlock.firstChild()); |
InlineTextBox& firstTextBox = *text.firstTextBox(); |
- EXPECT_DISPLAY_LIST(rootPaintController().getDisplayItemList(), 2, |
- TestDisplayItem(layoutView(), documentBackgroundType), |
- TestDisplayItem(firstTextBox, foregroundType)); |
+ if (RuntimeEnabledFeatures::slimmingPaintV2Enabled()) { |
+ EXPECT_DISPLAY_LIST(rootPaintController().getDisplayItemList(), 6, |
+ TestDisplayItem(layoutView(), DisplayItem::kClipFrameToVisibleContentRect), |
+ TestDisplayItem(*layoutView().layer(), DisplayItem::kSubsequence), |
+ TestDisplayItem(layoutView(), documentBackgroundType), |
+ TestDisplayItem(firstTextBox, foregroundType), |
+ TestDisplayItem(*layoutView().layer(), DisplayItem::kEndSubsequence), |
+ TestDisplayItem(layoutView(), DisplayItem::clipTypeToEndClipType(DisplayItem::kClipFrameToVisibleContentRect))); |
+ } else { |
+ EXPECT_DISPLAY_LIST(rootPaintController().getDisplayItemList(), 2, |
+ TestDisplayItem(layoutView(), documentBackgroundType), |
+ TestDisplayItem(firstTextBox, foregroundType)); |
+ } |
div.setAttribute(HTMLNames::styleAttr, "width: 10px; height: 200px"); |
document().view()->updateAllLifecyclePhases(); |
@@ -59,10 +89,21 @@ TEST_P(PaintControllerPaintTestForSlimmingPaintV1AndV2, InlineRelayout) |
InlineTextBox& newFirstTextBox = *newText.firstTextBox(); |
InlineTextBox& secondTextBox = *newText.firstTextBox()->nextTextBox(); |
- EXPECT_DISPLAY_LIST(rootPaintController().getDisplayItemList(), 3, |
- TestDisplayItem(layoutView(), documentBackgroundType), |
- TestDisplayItem(newFirstTextBox, foregroundType), |
- TestDisplayItem(secondTextBox, foregroundType)); |
+ if (RuntimeEnabledFeatures::slimmingPaintV2Enabled()) { |
+ EXPECT_DISPLAY_LIST(rootPaintController().getDisplayItemList(), 7, |
+ TestDisplayItem(layoutView(), DisplayItem::kClipFrameToVisibleContentRect), |
+ TestDisplayItem(*layoutView().layer(), DisplayItem::kSubsequence), |
+ TestDisplayItem(layoutView(), documentBackgroundType), |
+ TestDisplayItem(newFirstTextBox, foregroundType), |
+ TestDisplayItem(secondTextBox, foregroundType), |
+ TestDisplayItem(*layoutView().layer(), DisplayItem::kEndSubsequence), |
+ TestDisplayItem(layoutView(), DisplayItem::clipTypeToEndClipType(DisplayItem::kClipFrameToVisibleContentRect))); |
+ } else { |
+ EXPECT_DISPLAY_LIST(rootPaintController().getDisplayItemList(), 3, |
+ TestDisplayItem(layoutView(), documentBackgroundType), |
+ TestDisplayItem(newFirstTextBox, foregroundType), |
+ TestDisplayItem(secondTextBox, foregroundType)); |
+ } |
} |
TEST_F(PaintControllerPaintTestForSlimmingPaintV2, ChunkIdClientCacheFlag) |
@@ -76,18 +117,22 @@ TEST_F(PaintControllerPaintTestForSlimmingPaintV2, ChunkIdClientCacheFlag) |
LayoutBlock& div = *toLayoutBlock(getLayoutObjectByElementId("div")); |
LayoutObject& subDiv = *div.firstChild(); |
LayoutObject& subDiv2 = *subDiv.nextSibling(); |
- EXPECT_DISPLAY_LIST(rootPaintController().getDisplayItemList(), 7, |
+ EXPECT_DISPLAY_LIST(rootPaintController().getDisplayItemList(), 11, |
+ TestDisplayItem(layoutView(), DisplayItem::kClipFrameToVisibleContentRect), |
+ TestDisplayItem(*layoutView().layer(), DisplayItem::kSubsequence), |
TestDisplayItem(layoutView(), documentBackgroundType), |
TestDisplayItem(htmlLayer, DisplayItem::kSubsequence), |
TestDisplayItem(div, DisplayItem::kBeginCompositing), |
TestDisplayItem(subDiv, backgroundType), |
TestDisplayItem(subDiv2, backgroundType), |
TestDisplayItem(div, DisplayItem::kEndCompositing), |
- TestDisplayItem(htmlLayer, DisplayItem::kEndSubsequence)); |
+ TestDisplayItem(htmlLayer, DisplayItem::kEndSubsequence), |
+ TestDisplayItem(*layoutView().layer(), DisplayItem::kEndSubsequence), |
+ TestDisplayItem(layoutView(), DisplayItem::clipTypeToEndClipType(DisplayItem::kClipFrameToVisibleContentRect))); |
const EffectPaintPropertyNode* effectNode = div.objectPaintProperties()->effect(); |
EXPECT_EQ(0.5f, effectNode->opacity()); |
- const PaintChunk& chunk = rootPaintController().paintChunks()[1]; |
+ const PaintChunk& chunk = rootPaintController().paintChunks()[2]; |
EXPECT_EQ(*div.layer(), chunk.id->client); |
EXPECT_EQ(effectNode, chunk.properties.effect.get()); |
@@ -109,12 +154,16 @@ TEST_F(PaintControllerPaintTestForSlimmingPaintV2, CompositingFold) |
LayoutBlock& div = *toLayoutBlock(getLayoutObjectByElementId("div")); |
LayoutObject& subDiv = *div.firstChild(); |
- EXPECT_DISPLAY_LIST(rootPaintController().getDisplayItemList(), 4, |
+ EXPECT_DISPLAY_LIST(rootPaintController().getDisplayItemList(), 8, |
+ TestDisplayItem(layoutView(), DisplayItem::kClipFrameToVisibleContentRect), |
+ TestDisplayItem(*layoutView().layer(), DisplayItem::kSubsequence), |
TestDisplayItem(layoutView(), documentBackgroundType), |
TestDisplayItem(htmlLayer, DisplayItem::kSubsequence), |
// The begin and end compositing display items have been folded into this one. |
TestDisplayItem(subDiv, backgroundType), |
- TestDisplayItem(htmlLayer, DisplayItem::kEndSubsequence)); |
+ TestDisplayItem(htmlLayer, DisplayItem::kEndSubsequence), |
+ TestDisplayItem(*layoutView().layer(), DisplayItem::kEndSubsequence), |
+ TestDisplayItem(layoutView(), DisplayItem::clipTypeToEndClipType(DisplayItem::kClipFrameToVisibleContentRect))); |
} |