Chromium Code Reviews| Index: Source/core/css/resolver/StyleAdjuster.cpp |
| diff --git a/Source/core/css/resolver/StyleAdjuster.cpp b/Source/core/css/resolver/StyleAdjuster.cpp |
| index 215d499af052796dcfadab339bcc6cb48c84e9c4..dc3fb601bf7d5d5a2689b080f5cb53713db16a92 100644 |
| --- a/Source/core/css/resolver/StyleAdjuster.cpp |
| +++ b/Source/core/css/resolver/StyleAdjuster.cpp |
| @@ -260,12 +260,16 @@ void StyleAdjuster::adjustRenderStyle(RenderStyle* style, RenderStyle* parentSty |
| if (style->display() == INLINE && style->styleType() == NOPSEUDO && style->writingMode() != parentStyle->writingMode()) |
| style->setDisplay(INLINE_BLOCK); |
| - // After performing the display mutation, check table rows. We do not honor position:relative or position:sticky on |
| - // table rows or cells. This has been established for position:relative in CSS2.1 (and caused a crash in containingBlock() |
| + // After performing the display mutation, check table rows. We do not honor position:relativetable rows or cells. |
| + // This has been established for position:relative in CSS2.1 (and caused a crash in containingBlock() |
| // on some sites). |
| - if ((style->display() == TABLE_HEADER_GROUP || style->display() == TABLE_ROW_GROUP |
| + if (((style->display() == TABLE_HEADER_GROUP || style->display() == TABLE_ROW_GROUP |
| || style->display() == TABLE_FOOTER_GROUP || style->display() == TABLE_ROW) |
| && style->position() == RelativePosition) |
| + // Do not allow position:sticky for table columns and column groups because table columns |
| + // don't have RenderLayer |
| + || ((style->display() == TABLE_COLUMN_GROUP || style->display() == TABLE_COLUMN) |
| + && style->position() == StickyPosition)) |
|
Julien - ping for review
2014/03/12 18:41:38
I would rather have that as a separate branch belo
ostap
2014/03/12 20:12:57
Done.
|
| style->setPosition(StaticPosition); |
| // writing-mode does not apply to table row groups, table column groups, table rows, and table columns. |