Index: third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp |
diff --git a/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp b/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp |
index 486a11a43eb50a95648e8c40706d57d7d6d7f796..60dd69c56611df08e64fbab84c577e38d05a9cee 100644 |
--- a/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp |
+++ b/third_party/WebKit/Source/core/layout/LayoutBoxModelObject.cpp |
@@ -104,7 +104,7 @@ bool LayoutBoxModelObject::hasAcceleratedCompositing() const { |
} |
LayoutBoxModelObject::LayoutBoxModelObject(ContainerNode* node) |
- : LayoutObject(node) {} |
+ : LayoutObject(node), m_isInStickySubtree(false) {} |
bool LayoutBoxModelObject::usesCompositedScrolling() const { |
return hasOverflowClip() && hasLayer() && |
@@ -421,6 +421,11 @@ void LayoutBoxModelObject::styleDidChange(StyleDifference diff, |
frameView->removeViewportConstrainedObject(this); |
} |
} |
+ |
+ m_isInStickySubtree = |
+ style()->position() == StickyPosition || |
+ (parent() && parent()->enclosingBoxModelObject() && |
+ parent()->enclosingBoxModelObject()->isInStickySubtree()); |
} |
void LayoutBoxModelObject::invalidateStickyConstraints() { |