Index: third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp |
diff --git a/third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp b/third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp |
index 0abc9433952c71d5671ab6279e906d3816ee68d6..a564db6ee4093cc0e5e177b5eb0b21755481dcfc 100644 |
--- a/third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp |
+++ b/third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp |
@@ -196,7 +196,7 @@ void StyleAdjuster::adjustComputedStyle(ComputedStyle& style, const ComputedStyl |
|| style.hasFilterInducingProperty() |
|| style.hasBlendMode() |
|| style.hasIsolation() |
- || style.position() == FixedPosition |
+ || style.hasViewportConstrainedPosition() |
|| isInTopLayer(element, style) |
|| hasWillChangeThatCreatesStackingContext(style) |
|| style.containsPaint())) |
@@ -436,6 +436,12 @@ void StyleAdjuster::adjustStyleForDisplay(ComputedStyle& style, const ComputedSt |
&& style.position() == RelativePosition) |
style.setPosition(StaticPosition); |
+ // Cannot support position: sticky for table columns and column groups because current code is only doing |
+ // background painting through columns / column groups |
+ if ((style.display() == TABLE_COLUMN_GROUP || style.display() == TABLE_COLUMN) |
+ && style.position() == StickyPosition) |
+ style.setPosition(StaticPosition); |
+ |
// writing-mode does not apply to table row groups, table column groups, table rows, and table columns. |
// FIXME: Table cells should be allowed to be perpendicular or flipped with respect to the table, though. |
if (style.display() == TABLE_COLUMN || style.display() == TABLE_COLUMN_GROUP || style.display() == TABLE_FOOTER_GROUP |