| 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 48187b14f3f262ee9eda784dc757de14dce7ec5d..143a3c793260212bc9a1d91d90bebf7a8ad56a23 100644
|
| --- a/third_party/WebKit/Source/core/paint/PaintControllerPaintTest.cpp
|
| +++ b/third_party/WebKit/Source/core/paint/PaintControllerPaintTest.cpp
|
| @@ -15,77 +15,9 @@
|
|
|
| namespace blink {
|
|
|
| -TEST_F(PaintControllerPaintTest, FullDocumentPaintingWithCaret)
|
| -{
|
| - setBodyInnerHTML("<div id='div' contentEditable='true' style='outline:none'>XYZ</div>");
|
| - document().page()->focusController().setActive(true);
|
| - document().page()->focusController().setFocused(true);
|
| - PaintLayer& rootLayer = *layoutView().layer();
|
| - Element& div = *toElement(document().body()->firstChild());
|
| - LayoutObject& divLayoutObject = *document().body()->firstChild()->layoutObject();
|
| - InlineTextBox& textInlineBox = *toLayoutText(div.firstChild()->layoutObject())->firstTextBox();
|
| -
|
| - GraphicsContext context(rootPaintController());
|
| - PaintLayerPaintingInfo paintingInfo(&rootLayer, LayoutRect(0, 0, 800, 600), GlobalPaintNormalPhase, LayoutSize());
|
| - PaintLayerPainter(rootLayer).paintLayerContents(&context, paintingInfo, PaintLayerPaintingCompositingAllPhases);
|
| - rootPaintController().commitNewDisplayItems();
|
| -
|
| - EXPECT_DISPLAY_LIST(rootPaintController().displayItemList(), 2,
|
| - TestDisplayItem(layoutView(), backgroundType),
|
| - TestDisplayItem(textInlineBox, foregroundType));
|
| +INSTANTIATE_TEST_CASE_P(All, PaintControllerPaintTestForSlimmingPaintV1AndV2, ::testing::Bool());
|
|
|
| - div.focus();
|
| - document().view()->updateAllLifecyclePhases();
|
| - EXPECT_TRUE(rootPaintController().clientCacheIsValid(layoutView().displayItemClient()));
|
| - EXPECT_FALSE(rootPaintController().clientCacheIsValid(divLayoutObject.displayItemClient()));
|
| - EXPECT_TRUE(rootPaintController().clientCacheIsValid(textInlineBox.displayItemClient()));
|
| - PaintLayerPainter(rootLayer).paintLayerContents(&context, paintingInfo, PaintLayerPaintingCompositingAllPhases);
|
| - rootPaintController().commitNewDisplayItems();
|
| -
|
| - EXPECT_DISPLAY_LIST(rootPaintController().displayItemList(), 3,
|
| - TestDisplayItem(layoutView(), backgroundType),
|
| - TestDisplayItem(textInlineBox, foregroundType),
|
| - TestDisplayItem(divLayoutObject, DisplayItem::Caret)); // New!
|
| -}
|
| -
|
| -TEST_F(PaintControllerPaintTest, InlineRelayout)
|
| -{
|
| - setBodyInnerHTML("<div id='div' style='width:100px; height: 200px'>AAAAAAAAAA BBBBBBBBBB</div>");
|
| - PaintLayer& rootLayer = *layoutView().layer();
|
| - Element& div = *toElement(document().body()->firstChild());
|
| - LayoutBlock& divBlock = *toLayoutBlock(document().body()->firstChild()->layoutObject());
|
| - LayoutText& text = *toLayoutText(divBlock.firstChild());
|
| - InlineTextBox& firstTextBox = *text.firstTextBox();
|
| - DisplayItemClient firstTextBoxDisplayItemClient = firstTextBox.displayItemClient();
|
| -
|
| - GraphicsContext context(rootPaintController());
|
| - PaintLayerPaintingInfo paintingInfo(&rootLayer, LayoutRect(0, 0, 800, 600), GlobalPaintNormalPhase, LayoutSize());
|
| - PaintLayerPainter(rootLayer).paintLayerContents(&context, paintingInfo, PaintLayerPaintingCompositingAllPhases);
|
| - rootPaintController().commitNewDisplayItems();
|
| -
|
| - EXPECT_DISPLAY_LIST(rootPaintController().displayItemList(), 2,
|
| - TestDisplayItem(layoutView(), backgroundType),
|
| - TestDisplayItem(firstTextBox, foregroundType));
|
| -
|
| - div.setAttribute(HTMLNames::styleAttr, "width: 10px; height: 200px");
|
| - document().view()->updateAllLifecyclePhases();
|
| - EXPECT_TRUE(rootPaintController().clientCacheIsValid(layoutView().displayItemClient()));
|
| - EXPECT_FALSE(rootPaintController().clientCacheIsValid(divBlock.displayItemClient()));
|
| - EXPECT_FALSE(rootPaintController().clientCacheIsValid(firstTextBoxDisplayItemClient));
|
| - PaintLayerPainter(rootLayer).paintLayerContents(&context, paintingInfo, PaintLayerPaintingCompositingAllPhases);
|
| - rootPaintController().commitNewDisplayItems();
|
| -
|
| - LayoutText& newText = *toLayoutText(divBlock.firstChild());
|
| - InlineTextBox& newFirstTextBox = *newText.firstTextBox();
|
| - InlineTextBox& secondTextBox = *newText.firstTextBox()->nextTextBox();
|
| -
|
| - EXPECT_DISPLAY_LIST(rootPaintController().displayItemList(), 3,
|
| - TestDisplayItem(layoutView(), backgroundType),
|
| - TestDisplayItem(newFirstTextBox, foregroundType),
|
| - TestDisplayItem(secondTextBox, foregroundType));
|
| -}
|
| -
|
| -TEST_F(PaintControllerPaintTestForSlimmingPaintV2, FullDocumentPaintingWithCaret)
|
| +TEST_P(PaintControllerPaintTestForSlimmingPaintV1AndV2, FullDocumentPaintingWithCaret)
|
| {
|
| setBodyInnerHTML("<div id='div' contentEditable='true' style='outline:none'>XYZ</div>");
|
| document().page()->focusController().setActive(true);
|
| @@ -95,26 +27,47 @@ TEST_F(PaintControllerPaintTestForSlimmingPaintV2, FullDocumentPaintingWithCaret
|
| LayoutObject& divLayoutObject = *document().body()->firstChild()->layoutObject();
|
| InlineTextBox& textInlineBox = *toLayoutText(div.firstChild()->layoutObject())->firstTextBox();
|
|
|
| - document().view()->updateAllLifecyclePhases();
|
| -
|
| - EXPECT_DISPLAY_LIST(rootPaintController().displayItemList(), 4,
|
| - TestDisplayItem(layoutView(), backgroundType),
|
| - TestDisplayItem(rootLayer, subsequenceType),
|
| - TestDisplayItem(textInlineBox, foregroundType),
|
| - TestDisplayItem(rootLayer, endSubsequenceType));
|
| + if (RuntimeEnabledFeatures::slimmingPaintSynchronizedPaintingEnabled()) {
|
| + EXPECT_DISPLAY_LIST(rootPaintController().displayItemList(), 4,
|
| + TestDisplayItem(layoutView(), backgroundType),
|
| + TestDisplayItem(rootLayer, subsequenceType),
|
| + TestDisplayItem(textInlineBox, foregroundType),
|
| + TestDisplayItem(rootLayer, endSubsequenceType));
|
| + } else {
|
| + GraphicsContext context(rootPaintController());
|
| + PaintLayerPaintingInfo paintingInfo(&rootLayer, LayoutRect(0, 0, 800, 600), GlobalPaintNormalPhase, LayoutSize());
|
| + PaintLayerPainter(rootLayer).paintLayerContents(&context, paintingInfo, PaintLayerPaintingCompositingAllPhases);
|
| + rootPaintController().commitNewDisplayItems();
|
| +
|
| + EXPECT_DISPLAY_LIST(rootPaintController().displayItemList(), 2,
|
| + TestDisplayItem(layoutView(), backgroundType),
|
| + TestDisplayItem(textInlineBox, foregroundType));
|
| + }
|
|
|
| div.focus();
|
| document().view()->updateAllLifecyclePhases();
|
|
|
| - EXPECT_DISPLAY_LIST(rootPaintController().displayItemList(), 5,
|
| - TestDisplayItem(layoutView(), backgroundType),
|
| - TestDisplayItem(rootLayer, subsequenceType),
|
| - TestDisplayItem(textInlineBox, foregroundType),
|
| - TestDisplayItem(divLayoutObject, DisplayItem::Caret), // New!
|
| - TestDisplayItem(rootLayer, endSubsequenceType));
|
| + if (RuntimeEnabledFeatures::slimmingPaintSynchronizedPaintingEnabled()) {
|
| + EXPECT_DISPLAY_LIST(rootPaintController().displayItemList(), 5,
|
| + TestDisplayItem(layoutView(), backgroundType),
|
| + TestDisplayItem(rootLayer, subsequenceType),
|
| + TestDisplayItem(textInlineBox, foregroundType),
|
| + TestDisplayItem(divLayoutObject, DisplayItem::Caret), // New!
|
| + TestDisplayItem(rootLayer, endSubsequenceType));
|
| + } else {
|
| + GraphicsContext context(rootPaintController());
|
| + PaintLayerPaintingInfo paintingInfo(&rootLayer, LayoutRect(0, 0, 800, 600), GlobalPaintNormalPhase, LayoutSize());
|
| + PaintLayerPainter(rootLayer).paintLayerContents(&context, paintingInfo, PaintLayerPaintingCompositingAllPhases);
|
| + rootPaintController().commitNewDisplayItems();
|
| +
|
| + EXPECT_DISPLAY_LIST(rootPaintController().displayItemList(), 3,
|
| + TestDisplayItem(layoutView(), backgroundType),
|
| + TestDisplayItem(textInlineBox, foregroundType),
|
| + TestDisplayItem(divLayoutObject, DisplayItem::Caret)); // New!
|
| + }
|
| }
|
|
|
| -TEST_F(PaintControllerPaintTestForSlimmingPaintV2, InlineRelayout)
|
| +TEST_P(PaintControllerPaintTestForSlimmingPaintV1AndV2, InlineRelayout)
|
| {
|
| setBodyInnerHTML("<div id='div' style='width:100px; height: 200px'>AAAAAAAAAA BBBBBBBBBB</div>");
|
| PaintLayer& rootLayer = *layoutView().layer();
|
| @@ -123,13 +76,22 @@ TEST_F(PaintControllerPaintTestForSlimmingPaintV2, InlineRelayout)
|
| LayoutText& text = *toLayoutText(divBlock.firstChild());
|
| InlineTextBox& firstTextBox = *text.firstTextBox();
|
|
|
| - document().view()->updateAllLifecyclePhases();
|
| -
|
| - EXPECT_DISPLAY_LIST(rootPaintController().displayItemList(), 4,
|
| - TestDisplayItem(layoutView(), backgroundType),
|
| - TestDisplayItem(rootLayer, subsequenceType),
|
| - TestDisplayItem(firstTextBox, foregroundType),
|
| - TestDisplayItem(rootLayer, endSubsequenceType));
|
| + if (RuntimeEnabledFeatures::slimmingPaintSynchronizedPaintingEnabled()) {
|
| + EXPECT_DISPLAY_LIST(rootPaintController().displayItemList(), 4,
|
| + TestDisplayItem(layoutView(), backgroundType),
|
| + TestDisplayItem(rootLayer, subsequenceType),
|
| + TestDisplayItem(firstTextBox, foregroundType),
|
| + TestDisplayItem(rootLayer, endSubsequenceType));
|
| + } else {
|
| + GraphicsContext context(rootPaintController());
|
| + PaintLayerPaintingInfo paintingInfo(&rootLayer, LayoutRect(0, 0, 800, 600), GlobalPaintNormalPhase, LayoutSize());
|
| + PaintLayerPainter(rootLayer).paintLayerContents(&context, paintingInfo, PaintLayerPaintingCompositingAllPhases);
|
| + rootPaintController().commitNewDisplayItems();
|
| +
|
| + EXPECT_DISPLAY_LIST(rootPaintController().displayItemList(), 2,
|
| + TestDisplayItem(layoutView(), backgroundType),
|
| + TestDisplayItem(firstTextBox, foregroundType));
|
| + }
|
|
|
| div.setAttribute(HTMLNames::styleAttr, "width: 10px; height: 200px");
|
| document().view()->updateAllLifecyclePhases();
|
| @@ -138,12 +100,24 @@ TEST_F(PaintControllerPaintTestForSlimmingPaintV2, InlineRelayout)
|
| InlineTextBox& newFirstTextBox = *newText.firstTextBox();
|
| InlineTextBox& secondTextBox = *newText.firstTextBox()->nextTextBox();
|
|
|
| - EXPECT_DISPLAY_LIST(rootPaintController().displayItemList(), 5,
|
| - TestDisplayItem(layoutView(), backgroundType),
|
| - TestDisplayItem(rootLayer, subsequenceType),
|
| - TestDisplayItem(newFirstTextBox, foregroundType),
|
| - TestDisplayItem(secondTextBox, foregroundType),
|
| - TestDisplayItem(rootLayer, endSubsequenceType));
|
| + if (RuntimeEnabledFeatures::slimmingPaintSynchronizedPaintingEnabled()) {
|
| + EXPECT_DISPLAY_LIST(rootPaintController().displayItemList(), 5,
|
| + TestDisplayItem(layoutView(), backgroundType),
|
| + TestDisplayItem(rootLayer, subsequenceType),
|
| + TestDisplayItem(newFirstTextBox, foregroundType),
|
| + TestDisplayItem(secondTextBox, foregroundType),
|
| + TestDisplayItem(rootLayer, endSubsequenceType));
|
| + } else {
|
| + GraphicsContext context(rootPaintController());
|
| + PaintLayerPaintingInfo paintingInfo(&rootLayer, LayoutRect(0, 0, 800, 600), GlobalPaintNormalPhase, LayoutSize());
|
| + PaintLayerPainter(rootLayer).paintLayerContents(&context, paintingInfo, PaintLayerPaintingCompositingAllPhases);
|
| + rootPaintController().commitNewDisplayItems();
|
| +
|
| + EXPECT_DISPLAY_LIST(rootPaintController().displayItemList(), 3,
|
| + TestDisplayItem(layoutView(), backgroundType),
|
| + TestDisplayItem(newFirstTextBox, foregroundType),
|
| + TestDisplayItem(secondTextBox, foregroundType));
|
| + }
|
| }
|
|
|
| } // namespace blink
|
|
|