Chromium Code Reviews| 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 |