Bug 1249913 - True overflow containers shouldn't have borders or background. r=dholbert

This commit is contained in:
Mats Palmgren 2016-03-02 23:39:34 +01:00
parent 73199721de
commit d1909a0b07
3 changed files with 8 additions and 4 deletions

View File

@ -755,10 +755,13 @@ nsCSSRendering::PaintBorderWithStyleBorder(nsPresContext* aPresContext,
} else {
MOZ_ASSERT(joinedBorderArea.IsEqualEdges(aBorderArea),
"Should use aBorderArea for box-decoration-break:clone");
MOZ_ASSERT(aForFrame->GetSkipSides().IsEmpty(),
MOZ_ASSERT(aForFrame->GetSkipSides().IsEmpty() ||
IS_TRUE_OVERFLOW_CONTAINER(aForFrame),
"Should not skip sides for box-decoration-break:clone except "
"::first-letter/line continuations or other frame types that "
"don't have borders but those shouldn't reach this point.");
"don't have borders but those shouldn't reach this point. "
"Overflow containers do reach this point though.");
border.ApplySkipSides(aSkipSides);
}
// Convert to dev pixels.

View File

@ -1024,7 +1024,8 @@ nsIFrame::Sides
nsIFrame::GetSkipSides(const nsHTMLReflowState* aReflowState) const
{
if (MOZ_UNLIKELY(StyleBorder()->mBoxDecorationBreak ==
NS_STYLE_BOX_DECORATION_BREAK_CLONE)) {
NS_STYLE_BOX_DECORATION_BREAK_CLONE) &&
!(GetStateBits() & NS_FRAME_IS_OVERFLOW_CONTAINER)) {
return Sides();
}

View File

@ -9,4 +9,4 @@ random-if(!gtkWidget) HTTP(..) == box-decoration-break-border-image.html box-dec
fuzzy-if(!Android,1,5) fuzzy-if(Android,8,6627) fuzzy-if(skiaContent,1,24) == box-decoration-break-first-letter.html box-decoration-break-first-letter-ref.html
== box-decoration-break-with-bidi.html box-decoration-break-with-bidi-ref.html
== box-decoration-break-bug-1235152.html box-decoration-break-bug-1235152-ref.html
!= box-decoration-break-bug-1249913.html box-decoration-break-bug-1249913-ref.html
== box-decoration-break-bug-1249913.html box-decoration-break-bug-1249913-ref.html