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 4be8ff8fa37c716d5b1bfc6674c65fb58416cfba..9d2d05eaf502090161ae5c3132db08cf5325fa11 100644 |
--- a/third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp |
+++ b/third_party/WebKit/Source/core/css/resolver/StyleAdjuster.cpp |
@@ -194,7 +194,7 @@ void StyleAdjuster::adjustComputedStyle(ComputedStyle& style, const ComputedStyl |
|| style.hasFilter() |
|| style.hasBlendMode() |
|| style.hasIsolation() |
- || style.position() == FixedPosition |
+ || style.hasViewportConstrainedPosition() |
|| isInTopLayer(element, style) |
|| hasWillChangeThatCreatesStackingContext(style) |
|| style.containsPaint())) |
@@ -411,6 +411,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 |