Index: third_party/WebKit/Source/web/tests/ScrollingCoordinatorTest.cpp |
diff --git a/third_party/WebKit/Source/web/tests/ScrollingCoordinatorTest.cpp b/third_party/WebKit/Source/web/tests/ScrollingCoordinatorTest.cpp |
index 10551bdfd3adc7563b3cdbd6931c2252f6f189b5..170448e6923584cbef875ae3d917346ddcfa6ad9 100644 |
--- a/third_party/WebKit/Source/web/tests/ScrollingCoordinatorTest.cpp |
+++ b/third_party/WebKit/Source/web/tests/ScrollingCoordinatorTest.cpp |
@@ -1038,6 +1038,10 @@ class StyleRelatedMainThreadScrollingReasonTest |
StyleRelatedMainThreadScrollingReasonTest() { |
registerMockedHttpURLLoad("two_scrollable_area.html"); |
navigateTo(m_baseURL + "two_scrollable_area.html"); |
+ m_LCDTextRelatedReasons = |
+ MainThreadScrollingReason::kHasOpacity | |
+ MainThreadScrollingReason::kHasTransform | |
+ MainThreadScrollingReason::kBackgroundNotOpaqueInRect; |
} |
void testStyle(const std::string& target, const uint32_t reason) { |
webViewImpl()->settings()->setPreferCompositingToLCDTextEnabled(false); |
@@ -1078,11 +1082,16 @@ class StyleRelatedMainThreadScrollingReasonTest |
ASSERT_TRUE(frameView->mainThreadScrollingReasons() & reason); |
- webViewImpl()->settings()->setPreferCompositingToLCDTextEnabled(true); |
- forceFullCompositingUpdate(); |
- |
- ASSERT_FALSE(frameView->mainThreadScrollingReasons()); |
+ if ((reason & m_LCDTextRelatedReasons) && |
+ !(reason & ~m_LCDTextRelatedReasons)) { |
+ webViewImpl()->settings()->setPreferCompositingToLCDTextEnabled(true); |
+ forceFullCompositingUpdate(); |
+ ASSERT_FALSE(frameView->mainThreadScrollingReasons()); |
+ } |
} |
+ |
+ private: |
+ uint32_t m_LCDTextRelatedReasons; |
bokan
2017/01/05 14:52:41
nit: this can be a static constexpr I think.
yigu
2017/01/05 20:20:27
Done.
|
}; |
TEST_F(StyleRelatedMainThreadScrollingReasonTest, TransparentTest) { |
@@ -1098,4 +1107,22 @@ TEST_F(StyleRelatedMainThreadScrollingReasonTest, BackgroundNotOpaqueTest) { |
MainThreadScrollingReason::kBackgroundNotOpaqueInRect); |
} |
+TEST_F(StyleRelatedMainThreadScrollingReasonTest, BorderRadiusTest) { |
+ testStyle("border-radius", MainThreadScrollingReason::kHasBorderRadius); |
+} |
+ |
+TEST_F(StyleRelatedMainThreadScrollingReasonTest, ClipTest) { |
+ testStyle("clip", MainThreadScrollingReason::kHasClipRelatedProperty); |
+} |
+ |
+TEST_F(StyleRelatedMainThreadScrollingReasonTest, ClipPathTest) { |
+ testStyle("clip-path", MainThreadScrollingReason::kHasClipRelatedProperty); |
+} |
+ |
+TEST_F(StyleRelatedMainThreadScrollingReasonTest, LCDTextEnabledTest) { |
+ testStyle("transparent border-radius", |
+ MainThreadScrollingReason::kHasOpacity | |
+ MainThreadScrollingReason::kHasBorderRadius); |
+} |
+ |
} // namespace blink |