Index: third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp |
diff --git a/third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp b/third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp |
index ab2d5509de0af71a189d0bf07b7ddfd6f36b6bb3..368922a09211bc031a9a7bc77ec50d0edbdc4d9e 100644 |
--- a/third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp |
+++ b/third_party/WebKit/Source/core/page/scrolling/ScrollingCoordinator.cpp |
@@ -936,7 +936,8 @@ bool ScrollingCoordinator::hasVisibleSlowRepaintViewportConstrainedObjects(Frame |
for (const LayoutObject* layoutObject : *viewportConstrainedObjects) { |
ASSERT(layoutObject->isBoxModelObject() && layoutObject->hasLayer()); |
- ASSERT(layoutObject->style()->position() == FixedPosition); |
+ ASSERT(layoutObject->style()->position() == FixedPosition |
+ || layoutObject->style()->position() == StickyPosition); |
PaintLayer* layer = toLayoutBoxModelObject(layoutObject)->layer(); |
// Whether the Layer scrolls with the viewport is a tree-depenent |
@@ -985,6 +986,8 @@ MainThreadScrollingReasons ScrollingCoordinator::mainThreadScrollingReasons() co |
if (frameView->hasBackgroundAttachmentFixedObjects()) |
reasons |= MainThreadScrollingReason::kHasBackgroundAttachmentFixedObjects; |
+ if (frameView->hasStickyPositionObjects()) |
+ reasons |= MainThreadScrollingReason::kHasStickyPositionObjects; |
FrameView::ScrollingReasons scrollingReasons = frameView->getScrollingReasons(); |
const bool mayBeScrolledByInput = (scrollingReasons == FrameView::Scrollable); |
const bool mayBeScrolledByScript = mayBeScrolledByInput || (scrollingReasons == |
@@ -1010,6 +1013,8 @@ String ScrollingCoordinator::mainThreadScrollingReasonsAsText(MainThreadScrollin |
stringBuilder.appendLiteral("Has background-attachment:fixed, "); |
if (reasons & MainThreadScrollingReason::kHasNonLayerViewportConstrainedObjects) |
stringBuilder.appendLiteral("Has non-layer viewport-constrained objects, "); |
+ if (reasons & MainThreadScrollingReason::kHasStickyPositionObjects) |
+ stringBuilder.appendLiteral("Has sticky position objects, "); |
if (reasons & MainThreadScrollingReason::kThreadedScrollingDisabled) |
stringBuilder.appendLiteral("Threaded scrolling is disabled, "); |
if (reasons & MainThreadScrollingReason::kAnimatingScrollOnMainThread) |