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 { |