Bug 428263. Don't treat continuations of blocks as 'continuations' for setting zeroEffectiveSpanBox, since they're not span-continuations which is all we care about here. r+sr=dbaron

This commit is contained in:
Robert O'Callahan 2008-10-16 09:57:27 +13:00
Родитель 1e2b37a461
Коммит e6b57b58b1
3 изменённых файлов: 23 добавлений и 4 удалений

Просмотреть файл

@ -0,0 +1,18 @@
<!DOCTYPE html>
<html style="display: table;">
<head>
<script type="text/javascript">
function boom()
{
document.documentElement.appendChild(document.body);
document.documentElement.offsetHeight;
document.documentElement.appendChild(document.body);
}
</script>
</head>
<body onload="boom();" style="-moz-column-count: 2;"><div style="height: 1px;"></div><span style="display: inline-block;"></span></body>
</html>

Просмотреть файл

@ -149,6 +149,7 @@ load 422301-1.html
load 423055-1.html
load 425253-1.html
load 426272-1.html
load 428263-1.html
load 429981-1.html
load 430352-1.html
load 437156-1.html

Просмотреть файл

@ -1550,9 +1550,8 @@ nsLineLayout::VerticalAlignFrames(PerSpanData* psd)
// - it has a prev-in-flow
// - it has no next in flow
// - it's zero sized
nsIFrame* spanNextInFlow = spanFrame->GetNextInFlow();
nsIFrame* spanPrevInFlow = spanFrame->GetPrevInFlow();
PRBool emptyContinuation = spanPrevInFlow && !spanNextInFlow &&
PRBool emptyContinuation = psd != mRootSpan &&
spanFrame->GetPrevInFlow() && !spanFrame->GetNextInFlow() &&
(0 == spanFramePFD->mBounds.width) && (0 == spanFramePFD->mBounds.height);
#ifdef NOISY_VERTICAL_ALIGN
@ -1679,7 +1678,8 @@ nsLineLayout::VerticalAlignFrames(PerSpanData* psd)
// Special-case for a ::first-letter frame, set the line height to
// the frame height if the user has left line-height == normal
if (spanFramePFD->GetFlag(PFD_ISLETTERFRAME) && !spanPrevInFlow &&
if (spanFramePFD->GetFlag(PFD_ISLETTERFRAME) &&
!spanFrame->GetPrevInFlow() &&
spanFrame->GetStyleText()->mLineHeight.GetUnit() == eStyleUnit_Normal) {
logicalHeight = spanFramePFD->mBounds.height;
}