Chromium Code Reviews| Index: third_party/WebKit/Source/core/paint/PaintControllerPaintTest.h |
| diff --git a/third_party/WebKit/Source/core/paint/PaintControllerPaintTest.h b/third_party/WebKit/Source/core/paint/PaintControllerPaintTest.h |
| index 43952c11c50d41f15e3b24237f58e062421407cd..82814473b7b980948e0a7869d7c61810bc6665a1 100644 |
| --- a/third_party/WebKit/Source/core/paint/PaintControllerPaintTest.h |
| +++ b/third_party/WebKit/Source/core/paint/PaintControllerPaintTest.h |
| @@ -14,46 +14,34 @@ |
| namespace blink { |
| -class PaintControllerPaintTest : public RenderingTest { |
| +class PaintControllerPaintTestBase : public RenderingTest { |
| public: |
| - PaintControllerPaintTest() |
| + PaintControllerPaintTestBase(bool enableSlimmingPaintV2) |
| : m_originalSlimmingPaintSynchronizedPaintingEnabled(RuntimeEnabledFeatures::slimmingPaintSynchronizedPaintingEnabled()) |
| , m_originalSlimmingPaintOffsetCachingEnabled(RuntimeEnabledFeatures::slimmingPaintOffsetCachingEnabled()) |
| - { } |
| + , m_originalSlimmingPaintV2Enabled(RuntimeEnabledFeatures::slimmingPaintV2Enabled()) |
| + , m_enableSlimmingPaintV2(enableSlimmingPaintV2) |
| + { } |
| protected: |
| LayoutView& layoutView() { return *document().layoutView(); } |
| PaintController& rootPaintController() { return *layoutView().layer()->graphicsLayerBacking()->paintController(); } |
| -private: |
| void SetUp() override |
| { |
| RenderingTest::SetUp(); |
| enableCompositing(); |
| GraphicsLayer::setDrawDebugRedFillForTesting(false); |
| + RuntimeEnabledFeatures::setSlimmingPaintV2Enabled(m_enableSlimmingPaintV2); |
| } |
| void TearDown() override |
| { |
| RuntimeEnabledFeatures::setSlimmingPaintSynchronizedPaintingEnabled(m_originalSlimmingPaintSynchronizedPaintingEnabled); |
| RuntimeEnabledFeatures::setSlimmingPaintOffsetCachingEnabled(m_originalSlimmingPaintOffsetCachingEnabled); |
| + RuntimeEnabledFeatures::setSlimmingPaintV2Enabled(m_originalSlimmingPaintV2Enabled); |
| GraphicsLayer::setDrawDebugRedFillForTesting(true); |
| } |
| - bool m_originalSlimmingPaintSynchronizedPaintingEnabled; |
| - bool m_originalSlimmingPaintOffsetCachingEnabled; |
| -}; |
| - |
| -// Slimming paint v2 has subtly different behavior on some paint tests. This |
| -// class is used to test only v2 behavior while maintaining v1 test coverage. |
| -class PaintControllerPaintTestForSlimmingPaintV2 : public RenderingTest { |
| -public: |
| - PaintControllerPaintTestForSlimmingPaintV2() |
| - : m_originalSlimmingPaintV2Enabled(RuntimeEnabledFeatures::slimmingPaintV2Enabled()) { } |
| - |
| -protected: |
| - LayoutView& layoutView() { return *document().layoutView(); } |
| - PaintController& rootPaintController() { return *layoutView().layer()->graphicsLayerBacking()->paintController(); } |
| - |
| // Expose some document lifecycle steps for checking new display items before commiting. |
| void updateLifecyclePhasesToPaintClean(const LayoutRect* interestRect = nullptr) |
| { |
| @@ -65,22 +53,27 @@ protected: |
| void compositeForSlimmingPaintV2() { document().view()->compositeForSlimmingPaintV2(); } |
| private: |
| - void SetUp() override |
| - { |
| - RuntimeEnabledFeatures::setSlimmingPaintV2Enabled(true); |
| + bool m_originalSlimmingPaintSynchronizedPaintingEnabled; |
| + bool m_originalSlimmingPaintOffsetCachingEnabled; |
| + bool m_originalSlimmingPaintV2Enabled; |
| + bool m_enableSlimmingPaintV2; |
| +}; |
| - RenderingTest::SetUp(); |
| - enableCompositing(); |
| - GraphicsLayer::setDrawDebugRedFillForTesting(false); |
| - } |
| +class PaintControllerPaintTest : public PaintControllerPaintTestBase { |
| +public: |
| + PaintControllerPaintTest() : PaintControllerPaintTestBase(false) { } |
| +}; |
| - void TearDown() override |
| - { |
| - GraphicsLayer::setDrawDebugRedFillForTesting(true); |
| - RuntimeEnabledFeatures::setSlimmingPaintV2Enabled(m_originalSlimmingPaintV2Enabled); |
| - } |
| +class PaintControllerPaintTestForSlimmingPaintV2 : public PaintControllerPaintTestBase { |
| +public: |
| + PaintControllerPaintTestForSlimmingPaintV2() : PaintControllerPaintTestBase(true) { } |
| +}; |
| - bool m_originalSlimmingPaintV2Enabled; |
| +class PaintControllerPaintTestForSlimmingPaintV1AndV2 |
|
Xianzhu
2015/10/28 18:10:23
With this we can run the same test for both v1 and
|
| + : public PaintControllerPaintTestBase |
| + , public testing::WithParamInterface<bool> { |
| +public: |
| + PaintControllerPaintTestForSlimmingPaintV1AndV2() : PaintControllerPaintTestBase(GetParam()) { } |
| }; |
| class TestDisplayItem final : public DisplayItem { |