Index: third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilderTest.cpp |
diff --git a/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilderTest.cpp b/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilderTest.cpp |
index 509eb77eb446a825355e81cf2e30de3ceee274f1..e563192d1b552ec79c2131c9baeb56c416b6f329 100644 |
--- a/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilderTest.cpp |
+++ b/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilderTest.cpp |
@@ -16,13 +16,28 @@ |
namespace blink { |
+typedef bool TestParamRootLayerScrolling; |
class PaintPropertyTreeBuilderTest |
: public RenderingTest |
- , public ::testing::WithParamInterface<FrameSettingOverrideFunction> { |
+ , public ::testing::WithParamInterface<TestParamRootLayerScrolling> { |
public: |
PaintPropertyTreeBuilderTest() |
: RenderingTest(SingleChildFrameLoaderClient::create()) |
- , m_originalSlimmingPaintV2Enabled(RuntimeEnabledFeatures::slimmingPaintV2Enabled()) { } |
+ , m_originalSlimmingPaintV2Enabled(RuntimeEnabledFeatures::slimmingPaintV2Enabled()) |
+ , m_originalRootLayerScrollingEnabled(RuntimeEnabledFeatures::rootLayerScrollingEnabled()) |
+ , m_enableRootLayerScrolling(GetParam()) |
+ { |
+ RuntimeEnabledFeatures::setSlimmingPaintV2Enabled(true); |
+ RuntimeEnabledFeatures::setRootLayerScrollingEnabled(m_enableRootLayerScrolling); |
+ } |
+ |
+ ~PaintPropertyTreeBuilderTest() |
+ { |
+ CHECK_EQ(true, RuntimeEnabledFeatures::slimmingPaintV2Enabled()); |
+ CHECK_EQ(m_enableRootLayerScrolling, RuntimeEnabledFeatures::rootLayerScrollingEnabled()); |
+ RuntimeEnabledFeatures::setRootLayerScrollingEnabled(m_originalRootLayerScrollingEnabled); |
esprehn
2016/08/25 23:59:24
We do this manually in a lot of places?
trchen
2016/08/26 00:15:11
Good point. I was tired of this too. I can make it
|
+ RuntimeEnabledFeatures::setSlimmingPaintV2Enabled(m_originalSlimmingPaintV2Enabled); |
+ } |
void loadTestData(const char* fileName) |
{ |
@@ -33,22 +48,17 @@ public: |
setBodyInnerHTML(String(inputBuffer->data(), inputBuffer->size())); |
} |
- bool rootLayerScrolls() |
- { |
- return document().settings() && document().settings()->rootLayerScrolls(); |
- } |
- |
const TransformPaintPropertyNode* rootTransform() |
{ |
FrameView* frameView = document().view(); |
- if (rootLayerScrolls()) |
+ if (RuntimeEnabledFeatures::rootLayerScrollingEnabled()) |
return frameView->layoutView()->objectPaintProperties()->paintOffsetTranslation(); |
return frameView->rootTransform(); |
} |
const ClipPaintPropertyNode* rootClip() |
{ |
- if (rootLayerScrolls()) |
+ if (RuntimeEnabledFeatures::rootLayerScrollingEnabled()) |
return document().view()->layoutView()->objectPaintProperties()->localBorderBoxProperties()->propertyTreeState.clip.get(); |
return document().view()->rootClip(); |
} |
@@ -56,7 +66,7 @@ public: |
const TransformPaintPropertyNode* framePreTranslation() |
{ |
FrameView* frameView = document().view(); |
- if (rootLayerScrolls()) |
+ if (RuntimeEnabledFeatures::rootLayerScrollingEnabled()) |
return frameView->layoutView()->objectPaintProperties()->paintOffsetTranslation(); |
return frameView->preTranslation(); |
} |
@@ -64,7 +74,7 @@ public: |
const TransformPaintPropertyNode* frameScrollTranslation() |
{ |
FrameView* frameView = document().view(); |
- if (rootLayerScrolls()) |
+ if (RuntimeEnabledFeatures::rootLayerScrollingEnabled()) |
return frameView->layoutView()->objectPaintProperties()->scrollTranslation(); |
return frameView->scrollTranslation(); |
} |
@@ -72,17 +82,14 @@ public: |
const ClipPaintPropertyNode* frameContentClip() |
{ |
FrameView* frameView = document().view(); |
- if (rootLayerScrolls()) |
+ if (RuntimeEnabledFeatures::rootLayerScrollingEnabled()) |
return frameView->layoutView()->objectPaintProperties()->overflowClip(); |
return frameView->contentClip(); |
} |
- FrameSettingOverrideFunction settingOverrider() const override { return GetParam(); } |
- |
private: |
void SetUp() override |
{ |
- RuntimeEnabledFeatures::setSlimmingPaintV2Enabled(true); |
Settings::setMockScrollbarsEnabled(true); |
RenderingTest::SetUp(); |
@@ -94,10 +101,11 @@ private: |
RenderingTest::TearDown(); |
Settings::setMockScrollbarsEnabled(false); |
- RuntimeEnabledFeatures::setSlimmingPaintV2Enabled(m_originalSlimmingPaintV2Enabled); |
} |
bool m_originalSlimmingPaintV2Enabled; |
+ bool m_originalRootLayerScrollingEnabled; |
+ bool m_enableRootLayerScrolling; |
}; |
#define CHECK_VISUAL_RECT(expected, sourceLayoutObject, ancestorLayoutObject, slopFactor) \ |
@@ -130,7 +138,7 @@ do { \ |
#define CHECK_EXACT_VISUAL_RECT(expected, sourceLayoutObject, ancestorLayoutObject) CHECK_VISUAL_RECT(expected, sourceLayoutObject, ancestorLayoutObject, 0) |
-INSTANTIATE_TEST_CASE_P(All, PaintPropertyTreeBuilderTest, ::testing::Values(nullptr, &RootLayerScrollsFrameSettingOverride)); |
+INSTANTIATE_TEST_CASE_P(All, PaintPropertyTreeBuilderTest, ::testing::Bool()); |
TEST_P(PaintPropertyTreeBuilderTest, FixedPosition) |
{ |
@@ -179,7 +187,7 @@ TEST_P(PaintPropertyTreeBuilderTest, PositionAndScroll) |
EXPECT_EQ(FloatRoundedRect(120, 340, 400, 300), scrollerProperties->overflowClip()->clipRect()); |
EXPECT_EQ(frameContentClip(), scrollerProperties->overflowClip()->parent()); |
// http://crbug.com/638415 |
- if (!rootLayerScrolls()) { |
+ if (!RuntimeEnabledFeatures::rootLayerScrollingEnabled()) { |
CHECK_EXACT_VISUAL_RECT(LayoutRect(120, 340, 400, 300), scroller->layoutObject(), frameView->layoutView()); |
} |
@@ -203,7 +211,7 @@ TEST_P(PaintPropertyTreeBuilderTest, PositionAndScroll) |
EXPECT_EQ(FloatRoundedRect(0, 0, 300, 400), absPosProperties->overflowClip()->clipRect()); |
EXPECT_EQ(frameContentClip(), absPosProperties->overflowClip()->parent()); |
// http://crbug.com/638415 |
- if (!rootLayerScrolls()) { |
+ if (!RuntimeEnabledFeatures::rootLayerScrollingEnabled()) { |
CHECK_EXACT_VISUAL_RECT(LayoutRect(123, 456, 300, 400), absPos->layoutObject(), frameView->layoutView()); |
} |
} |
@@ -217,7 +225,7 @@ TEST_P(PaintPropertyTreeBuilderTest, FrameScrollingTraditional) |
FrameView* frameView = document().view(); |
frameView->updateAllLifecyclePhases(); |
EXPECT_EQ(TransformationMatrix(), framePreTranslation()->matrix()); |
- if (!rootLayerScrolls()) |
+ if (!RuntimeEnabledFeatures::rootLayerScrollingEnabled()) |
EXPECT_EQ(rootTransform(), framePreTranslation()->parent()); |
EXPECT_EQ(nullptr, rootTransform()->parent()); |
EXPECT_EQ(TransformationMatrix().translate(0, -100), frameScrollTranslation()->matrix()); |
@@ -225,13 +233,13 @@ TEST_P(PaintPropertyTreeBuilderTest, FrameScrollingTraditional) |
EXPECT_EQ(framePreTranslation(), frameContentClip()->localTransformSpace()); |
EXPECT_EQ(FloatRoundedRect(0, 0, 800, 600), frameContentClip()->clipRect()); |
EXPECT_EQ(rootClip(), frameContentClip()->parent()); |
- if (!rootLayerScrolls()) |
+ if (!RuntimeEnabledFeatures::rootLayerScrollingEnabled()) |
EXPECT_EQ(nullptr, rootClip()->parent()); |
LayoutViewItem layoutViewItem = document().layoutViewItem(); |
const ObjectPaintProperties* layoutViewProperties = layoutViewItem.objectPaintProperties(); |
// http://crbug.com/638415 |
- if (!rootLayerScrolls()) { |
+ if (!RuntimeEnabledFeatures::rootLayerScrollingEnabled()) { |
EXPECT_EQ(nullptr, layoutViewProperties->scrollTranslation()); |
CHECK_EXACT_VISUAL_RECT(LayoutRect(8, 8, 784, 10000), document().body()->layoutObject(), frameView->layoutView()); |
} |
@@ -268,7 +276,7 @@ TEST_P(PaintPropertyTreeBuilderTest, Transform) |
EXPECT_EQ(TransformationMatrix().translate(50, 100), transformProperties->paintOffsetTranslation()->matrix()); |
EXPECT_EQ(frameScrollTranslation(), transformProperties->paintOffsetTranslation()->parent()); |
// http://crbug.com/638415 |
- if (!rootLayerScrolls()) { |
+ if (!RuntimeEnabledFeatures::rootLayerScrollingEnabled()) { |
CHECK_EXACT_VISUAL_RECT(LayoutRect(173, 556, 400, 300), transform->layoutObject(), document().view()->layoutView()); |
} |
} |
@@ -748,7 +756,7 @@ TEST_P(PaintPropertyTreeBuilderTest, TransformNodesAcrossSubframes) |
const ObjectPaintProperties* divWithTransformProperties = divWithTransform->objectPaintProperties(); |
EXPECT_EQ(TransformationMatrix().translate3d(1, 2, 3), divWithTransformProperties->transform()->matrix()); |
// http://crbug.com/638415 |
- if (!rootLayerScrolls()) { |
+ if (!RuntimeEnabledFeatures::rootLayerScrollingEnabled()) { |
CHECK_EXACT_VISUAL_RECT(LayoutRect(1, 2, 800, 164), divWithTransform, frameView->layoutView()); |
} |
@@ -815,7 +823,7 @@ TEST_P(PaintPropertyTreeBuilderTest, TransformNodesInTransformedSubframes) |
LayoutObject* divWithTransform = document().getElementById("divWithTransform")->layoutObject(); |
EXPECT_EQ(divWithTransformTransform, divWithTransform->objectPaintProperties()->transform()); |
// http://crbug.com/638415 |
- if (!rootLayerScrolls()) { |
+ if (!RuntimeEnabledFeatures::rootLayerScrollingEnabled()) { |
CHECK_EXACT_VISUAL_RECT(LayoutRect(1, 2, 800, 248), divWithTransform, frameView->layoutView()); |
} |
} |
@@ -868,7 +876,7 @@ TEST_P(PaintPropertyTreeBuilderTest, TreeContextUnclipFromParentStackingContext) |
EXPECT_EQ(frameContentClip(), childProperties->localBorderBoxProperties()->propertyTreeState.clip); |
EXPECT_EQ(frameScrollTranslation(), childProperties->localBorderBoxProperties()->propertyTreeState.transform); |
EXPECT_EQ(scrollerProperties->effect(), childProperties->localBorderBoxProperties()->propertyTreeState.effect); |
- if (!rootLayerScrolls()) { |
+ if (!RuntimeEnabledFeatures::rootLayerScrollingEnabled()) { |
CHECK_EXACT_VISUAL_RECT(LayoutRect(0, 0, 800, 10000), &scroller, document().view()->layoutView()); |
} |
CHECK_EXACT_VISUAL_RECT(LayoutRect(0, 0, 100, 200), &child, document().view()->layoutView()); |