Chromium Code Reviews| Index: Source/core/layout/line/InlineFlowBox.cpp |
| diff --git a/Source/core/layout/line/InlineFlowBox.cpp b/Source/core/layout/line/InlineFlowBox.cpp |
| index 22885f2f095fe728d8b028bf7dc92e35bf8ca815..fd2ffe489607195849016283b8ec0f64993ea6b9 100644 |
| --- a/Source/core/layout/line/InlineFlowBox.cpp |
| +++ b/Source/core/layout/line/InlineFlowBox.cpp |
| @@ -744,11 +744,13 @@ void InlineFlowBox::flipLinesInBlockDirection(LayoutUnit lineTop, LayoutUnit lin |
| inline void InlineFlowBox::addBoxShadowVisualOverflow(LayoutRect& logicalVisualOverflow) |
| { |
| - // box-shadow on root line boxes is applying to the block and not to the lines. |
| - if (!parent()) |
| + const ComputedStyle& style = layoutObject().styleRef(isFirstLineStyle()); |
| + |
| + // box-shadow on the block element applies to the block and not to the lines, |
| + // unless it is modified by :first-line pseudo element. |
| + if (!parent() && (!isFirstLineStyle() || &style == layoutObject().style())) |
|
fs
2015/06/18 08:47:33
This is also true for border-image outsets and out
|
| return; |
| - const ComputedStyle& style = layoutObject().styleRef(isFirstLineStyle()); |
| WritingMode writingMode = style.writingMode(); |
| ShadowList* boxShadow = style.boxShadow(); |
| if (!boxShadow) |