| Index: third_party/WebKit/Source/core/layout/LayoutBoxModelObjectTest.cpp
|
| diff --git a/third_party/WebKit/Source/core/layout/LayoutBoxModelObjectTest.cpp b/third_party/WebKit/Source/core/layout/LayoutBoxModelObjectTest.cpp
|
| index ca16f0c6be9a2f1ec16ff0bf5dd4f3dcc545b033..133df0a09698577c163f223d3240aa827aa6db65 100644
|
| --- a/third_party/WebKit/Source/core/layout/LayoutBoxModelObjectTest.cpp
|
| +++ b/third_party/WebKit/Source/core/layout/LayoutBoxModelObjectTest.cpp
|
| @@ -328,4 +328,32 @@ TEST_F(LayoutBoxModelObjectTest, StickyPositionConstraintInvalidation) {
|
| .x());
|
| }
|
|
|
| +TEST_F(LayoutBoxModelObjectTest, StyleChangesUpdateViewportConstrainedObjects) {
|
| + setBodyInnerHTML(
|
| + "<style>"
|
| + ".container { height: 200%; }"
|
| + "#sticky { position: sticky; top: 0; height: 50px; }</style>"
|
| + "<div class='container'><div id='sticky'></div></div>");
|
| +
|
| + LayoutBoxModelObject* sticky =
|
| + toLayoutBoxModelObject(getLayoutObjectByElementId("sticky"));
|
| +
|
| + EXPECT_TRUE(
|
| + document().view()->viewportConstrainedObjects()->contains(sticky));
|
| +
|
| + RefPtr<ComputedStyle> relativeStyle = ComputedStyle::clone(*sticky->style());
|
| + relativeStyle->setPosition(EPosition::kRelative);
|
| + sticky->setStyle(relativeStyle.get());
|
| +
|
| + EXPECT_FALSE(
|
| + document().view()->viewportConstrainedObjects()->contains(sticky));
|
| +
|
| + RefPtr<ComputedStyle> stickyStyle = ComputedStyle::clone(*sticky->style());
|
| + stickyStyle->setPosition(EPosition::kSticky);
|
| + sticky->setStyle(stickyStyle.get());
|
| +
|
| + EXPECT_TRUE(
|
| + document().view()->viewportConstrainedObjects()->contains(sticky));
|
| +}
|
| +
|
| } // namespace blink
|
|
|