Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(739)

Unified Diff: third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilderTest.cpp

Issue 2251303003: Implement position: sticky updates on compositor (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Merge with master and add comments to WebLayerStickyPositionConstraint members. Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 40783fbb86fde1955f8fd72548f60b53ad64db99..57b02fde301f1b5094cc5efd03054879662ba018 100644
--- a/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilderTest.cpp
+++ b/third_party/WebKit/Source/core/paint/PaintPropertyTreeBuilderTest.cpp
@@ -2137,99 +2137,4 @@ TEST_P(PaintPropertyTreeBuilderTest, BackgroundAttachmentFixedMainThreadScrollRe
EXPECT_FALSE(overflowB->layoutObject()->objectPaintProperties()->scroll()->hasMainThreadScrollingReasons(MainThreadScrollingReason::kHasBackgroundAttachmentFixedObjects));
}
-TEST_P(PaintPropertyTreeBuilderTest, PositionStickyMainThreadScrollReasonsWithNestedScrollers)
-{
- setBodyInnerHTML(
- "<style>"
- " #overflowA {"
- " overflow: scroll;"
- " width: 20px;"
- " height: 20px;"
- " }"
- " #overflowB {"
- " overflow: scroll;"
- " width: 5px;"
- " height: 3px;"
- " }"
- " .positionSticky {"
- " position: sticky;"
- " top: 0;"
- " left: 0;"
- " }"
- " .forceScroll {"
- " height: 4000px;"
- " }"
- "</style>"
- "<div id='overflowA'>"
- " <div id='overflowB' class='positionSticky'>"
- " <div id='overflowBChild'></div>"
- " <div class='forceScroll'></div>"
- " </div>"
- " <div class='forceScroll'></div>"
- "</div>"
- "<div class='forceScroll'></div>");
- Element* overflowA = document().getElementById("overflowA");
- Element* overflowB = document().getElementById("overflowB");
- Element* overflowBChild = document().getElementById("overflowBChild");
-
- EXPECT_TRUE(frameScroll()->hasMainThreadScrollingReasons(MainThreadScrollingReason::kHasStickyPositionObjects));
- EXPECT_TRUE(overflowA->layoutObject()->objectPaintProperties()->scroll()->hasMainThreadScrollingReasons(MainThreadScrollingReason::kHasStickyPositionObjects));
- EXPECT_FALSE(overflowB->layoutObject()->objectPaintProperties()->scroll()->hasMainThreadScrollingReasons(MainThreadScrollingReason::kHasStickyPositionObjects));
- EXPECT_TRUE(!overflowBChild->layoutObject()->objectPaintProperties() || !overflowBChild->layoutObject()->objectPaintProperties()->scroll());
-
- // Removing a main thread scrolling reason should update the entire tree.
- overflowB->removeAttribute("class");
- document().view()->updateAllLifecyclePhases();
- EXPECT_FALSE(frameScroll()->hasMainThreadScrollingReasons(MainThreadScrollingReason::kHasStickyPositionObjects));
- EXPECT_FALSE(overflowA->layoutObject()->objectPaintProperties()->scroll()->hasMainThreadScrollingReasons(MainThreadScrollingReason::kHasStickyPositionObjects));
- EXPECT_FALSE(overflowB->layoutObject()->objectPaintProperties()->scroll()->hasMainThreadScrollingReasons(MainThreadScrollingReason::kHasStickyPositionObjects));
- EXPECT_TRUE(!overflowBChild->layoutObject()->objectPaintProperties() || !overflowBChild->layoutObject()->objectPaintProperties()->scroll());
-
- // Adding a main thread scrolling reason should update the entire tree.
- overflowBChild->setAttribute(HTMLNames::classAttr, "positionSticky");
- document().view()->updateAllLifecyclePhases();
- EXPECT_TRUE(frameScroll()->hasMainThreadScrollingReasons(MainThreadScrollingReason::kHasStickyPositionObjects));
- EXPECT_TRUE(overflowA->layoutObject()->objectPaintProperties()->scroll()->hasMainThreadScrollingReasons(MainThreadScrollingReason::kHasStickyPositionObjects));
- EXPECT_TRUE(overflowB->layoutObject()->objectPaintProperties()->scroll()->hasMainThreadScrollingReasons(MainThreadScrollingReason::kHasStickyPositionObjects));
- EXPECT_TRUE(!overflowBChild->layoutObject()->objectPaintProperties() || !overflowBChild->layoutObject()->objectPaintProperties()->scroll());
-}
-
-TEST_P(PaintPropertyTreeBuilderTest, MainThreadScrollReasonsWithNestedPositionStickyScrollers)
-{
- setBodyInnerHTML(
- "<style>"
- " #overflowA {"
- " overflow: scroll;"
- " width: 20px;"
- " height: 20px;"
- " }"
- " #overflowB {"
- " overflow: scroll;"
- " width: 5px;"
- " height: 3px;"
- " }"
- " .positionSticky {"
- " position: sticky;"
- " top: 0;"
- " left: 0;"
- " }"
- " .forceScroll {"
- " height: 4000px;"
- " }"
- "</style>"
- "<div id='overflowA' class='positionSticky'>"
- " <div id='overflowB'>"
- " <div class='forceScroll'></div>"
- " </div>"
- " <div class='forceScroll'></div>"
- "</div>"
- "<div class='forceScroll'></div>");
- Element* overflowA = document().getElementById("overflowA");
- Element* overflowB = document().getElementById("overflowB");
-
- EXPECT_TRUE(frameScroll()->hasMainThreadScrollingReasons(MainThreadScrollingReason::kHasStickyPositionObjects));
- EXPECT_FALSE(overflowA->layoutObject()->objectPaintProperties()->scroll()->hasMainThreadScrollingReasons(MainThreadScrollingReason::kHasStickyPositionObjects));
- EXPECT_FALSE(overflowB->layoutObject()->objectPaintProperties()->scroll()->hasMainThreadScrollingReasons(MainThreadScrollingReason::kHasStickyPositionObjects));
-}
-
} // namespace blink

Powered by Google App Engine
This is Rietveld 408576698