mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-10 20:05:49 +00:00
Bug 696640 - Don't put an existing next-in-flow for the kid into 'rowGroups' - it's either already there or it's not our child. r=roc
This commit is contained in:
parent
f3df68b8d2
commit
796be0f635
47
layout/tables/crashtests/696640-1.html
Normal file
47
layout/tables/crashtests/696640-1.html
Normal file
@ -0,0 +1,47 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="reftest-print">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<meta name="flags" content="paged">
|
||||
<title> crash at A4 90% generated content + repeatable tfoot</title>
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=696640">
|
||||
<style type="text/css">
|
||||
@page { size:5in 3in; margin:0.5in; }
|
||||
html,body {
|
||||
color:black; background-color:white; font-size:16px; padding:0; margin:0; height:100%;
|
||||
}
|
||||
|
||||
.LayoutBreakAfter:after {
|
||||
clear: both;
|
||||
display: block;
|
||||
height: 0;
|
||||
content: "\0020";
|
||||
}
|
||||
td { width:0.1in; height:0.1in; }
|
||||
div.spacer { width:50%; height:1.7in; }
|
||||
</style>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="spacer"></div>
|
||||
|
||||
<div class="LayoutBreakAfter">
|
||||
<div style="float:left">
|
||||
<table>
|
||||
<tbody >
|
||||
<tr>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td >
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
486
layout/tables/crashtests/696640-2.html
Normal file
486
layout/tables/crashtests/696640-2.html
Normal file
@ -0,0 +1,486 @@
|
||||
<!DOCTYPE html>
|
||||
<html class="reftest-print">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<meta name="flags" content="paged">
|
||||
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=696640">
|
||||
<style type="text/css">
|
||||
@page { size:5in 3in; margin:0.5in; }
|
||||
html,body {
|
||||
color:black; background-color:white; font-size:16px; padding:0; margin:0; height:100%;
|
||||
}
|
||||
|
||||
#yui-main { float: left;}
|
||||
#bd:after { content: "."; display: block; clear: both; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="bd">
|
||||
<div id="yui-main">
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><a href="http://football.fantasysports.yahoo.com/bowl/55789">i</a></td>
|
||||
<td> – </td>
|
||||
<td> – </td>
|
||||
<td></td>
|
||||
<td>vs</td>
|
||||
<td></td>
|
||||
<td><em>vs.</em> – </td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td><a href="http://football.fantasysports.yahoo.com/bowl/55789">i</a></td>
|
||||
<td> – </td>
|
||||
<td> – </td>
|
||||
<td></td>
|
||||
<td>vs</td>
|
||||
<td></td>
|
||||
<td><em>vs.</em> – </td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td><a href="http://football.fantasysports.yahoo.com/bowl/55789">i</a></td>
|
||||
<td> – </td>
|
||||
<td> – </td>
|
||||
<td></td>
|
||||
<td>vs</td>
|
||||
<td></td>
|
||||
<td><em>vs.</em> – </td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td><a href="http://football.fantasysports.yahoo.com/bowl/55789">i</a></td>
|
||||
<td> – </td>
|
||||
<td> – </td>
|
||||
<td></td>
|
||||
<td>vs</td>
|
||||
<td></td>
|
||||
<td><em>vs.</em> – </td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td><a href="http://football.fantasysports.yahoo.com/bowl/55789">i</a></td>
|
||||
<td> – </td>
|
||||
<td> – </td>
|
||||
<td></td>
|
||||
<td>vs</td>
|
||||
<td></td>
|
||||
<td><em>vs.</em> – </td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td><a href="http://football.fantasysports.yahoo.com/bowl/55789">i</a></td>
|
||||
<td> – </td>
|
||||
<td> – </td>
|
||||
<td></td>
|
||||
<td>vs</td>
|
||||
<td></td>
|
||||
<td><em>vs.</em> – </td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td><a href="http://football.fantasysports.yahoo.com/bowl/55789">i</a></td>
|
||||
<td> – </td>
|
||||
<td> – </td>
|
||||
<td></td>
|
||||
<td>vs</td>
|
||||
<td></td>
|
||||
<td><em>vs.</em> – </td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td><a href="http://football.fantasysports.yahoo.com/bowl/55789">i</a></td>
|
||||
<td> – </td>
|
||||
<td> – </td>
|
||||
<td></td>
|
||||
<td>vs</td>
|
||||
<td></td>
|
||||
<td><em>vs.</em> – </td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td><a href="http://football.fantasysports.yahoo.com/bowl/55789">i</a></td>
|
||||
<td> – </td>
|
||||
<td> – </td>
|
||||
<td></td>
|
||||
<td>vs</td>
|
||||
<td></td>
|
||||
<td><em>vs.</em> – </td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td><a href="http://football.fantasysports.yahoo.com/bowl/55789">i</a></td>
|
||||
<td> – </td>
|
||||
<td> – </td>
|
||||
<td></td>
|
||||
<td>vs</td>
|
||||
<td></td>
|
||||
<td><em>vs.</em> – </td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td><a href="http://football.fantasysports.yahoo.com/bowl/55789">i</a></td>
|
||||
<td> – </td>
|
||||
<td> – </td>
|
||||
<td></td>
|
||||
<td>vs</td>
|
||||
<td></td>
|
||||
<td><em>vs.</em> – </td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td><a href="http://football.fantasysports.yahoo.com/bowl/55789">i</a></td>
|
||||
<td> – </td>
|
||||
<td> – </td>
|
||||
<td></td>
|
||||
<td>vs</td>
|
||||
<td></td>
|
||||
<td><em>vs.</em> – </td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td><a href="http://football.fantasysports.yahoo.com/bowl/55789">i</a></td>
|
||||
<td> – </td>
|
||||
<td> – </td>
|
||||
<td></td>
|
||||
<td>vs</td>
|
||||
<td></td>
|
||||
<td><em>vs.</em> – </td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td><a href="http://football.fantasysports.yahoo.com/bowl/55789">i</a></td>
|
||||
<td> – </td>
|
||||
<td> – </td>
|
||||
<td></td>
|
||||
<td>vs</td>
|
||||
<td></td>
|
||||
<td><em>vs.</em> – </td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td><a href="http://football.fantasysports.yahoo.com/bowl/55789">i</a></td>
|
||||
<td> – </td>
|
||||
<td> – </td>
|
||||
<td></td>
|
||||
<td>vs</td>
|
||||
<td></td>
|
||||
<td><em>vs.</em> – </td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td><a href="http://football.fantasysports.yahoo.com/bowl/55789">i</a></td>
|
||||
<td> – </td>
|
||||
<td> – </td>
|
||||
<td></td>
|
||||
<td>vs</td>
|
||||
<td></td>
|
||||
<td><em>vs.</em> – </td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td><a href="http://football.fantasysports.yahoo.com/bowl/55789">i</a></td>
|
||||
<td> – </td>
|
||||
<td> – </td>
|
||||
<td></td>
|
||||
<td>vs</td>
|
||||
<td></td>
|
||||
<td><em>vs.</em> – </td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td><a href="http://football.fantasysports.yahoo.com/bowl/55789">i</a></td>
|
||||
<td> – </td>
|
||||
<td> – </td>
|
||||
<td></td>
|
||||
<td>vs</td>
|
||||
<td></td>
|
||||
<td><em>vs.</em> – </td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td><a href="http://football.fantasysports.yahoo.com/bowl/55789">i</a></td>
|
||||
<td> – </td>
|
||||
<td> – </td>
|
||||
<td></td>
|
||||
<td>vs</td>
|
||||
<td></td>
|
||||
<td><em>vs.</em> – </td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td><a href="http://football.fantasysports.yahoo.com/bowl/55789">i</a></td>
|
||||
<td> – </td>
|
||||
<td> – </td>
|
||||
<td></td>
|
||||
<td>vs</td>
|
||||
<td></td>
|
||||
<td><em>vs.</em> – </td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td><a href="http://football.fantasysports.yahoo.com/bowl/55789">i</a></td>
|
||||
<td> – </td>
|
||||
<td> – </td>
|
||||
<td></td>
|
||||
<td>vs</td>
|
||||
<td></td>
|
||||
<td><em>vs.</em> – </td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td><a href="http://football.fantasysports.yahoo.com/bowl/55789">i</a></td>
|
||||
<td> – </td>
|
||||
<td> – </td>
|
||||
<td></td>
|
||||
<td>vs</td>
|
||||
<td></td>
|
||||
<td><em>vs.</em> – </td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td><a href="http://football.fantasysports.yahoo.com/bowl/55789">i</a></td>
|
||||
<td> – </td>
|
||||
<td> – </td>
|
||||
<td></td>
|
||||
<td>vs</td>
|
||||
<td></td>
|
||||
<td><em>vs.</em> – </td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td><a href="http://football.fantasysports.yahoo.com/bowl/55789">i</a></td>
|
||||
<td> – </td>
|
||||
<td> – </td>
|
||||
<td></td>
|
||||
<td>vs</td>
|
||||
<td></td>
|
||||
<td><em>vs.</em> – </td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td><a href="http://football.fantasysports.yahoo.com/bowl/55789">i</a></td>
|
||||
<td> – </td>
|
||||
<td> – </td>
|
||||
<td></td>
|
||||
<td>vs</td>
|
||||
<td></td>
|
||||
<td><em>vs.</em> – </td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td><a href="http://football.fantasysports.yahoo.com/bowl/55789">i</a></td>
|
||||
<td> – </td>
|
||||
<td> – </td>
|
||||
<td></td>
|
||||
<td>vs</td>
|
||||
<td></td>
|
||||
<td><em>vs.</em> – </td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td><a href="http://football.fantasysports.yahoo.com/bowl/55789">i</a></td>
|
||||
<td> – </td>
|
||||
<td> – </td>
|
||||
<td></td>
|
||||
<td>vs</td>
|
||||
<td></td>
|
||||
<td><em>vs.</em> – </td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td><a href="http://football.fantasysports.yahoo.com/bowl/55789">i</a></td>
|
||||
<td> – </td>
|
||||
<td> – </td>
|
||||
<td></td>
|
||||
<td>vs</td>
|
||||
<td></td>
|
||||
<td><em>vs.</em> – </td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td><a href="http://football.fantasysports.yahoo.com/bowl/55789">i</a></td>
|
||||
<td> – </td>
|
||||
<td> – </td>
|
||||
<td></td>
|
||||
<td>vs</td>
|
||||
<td></td>
|
||||
<td><em>vs.</em> – </td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td><a href="http://football.fantasysports.yahoo.com/bowl/55789">i</a></td>
|
||||
<td> – </td>
|
||||
<td> – </td>
|
||||
<td></td>
|
||||
<td>vs</td>
|
||||
<td></td>
|
||||
<td><em>vs.</em> – </td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td><a href="http://football.fantasysports.yahoo.com/bowl/55789">i</a></td>
|
||||
<td> – </td>
|
||||
<td> – </td>
|
||||
<td></td>
|
||||
<td>vs</td>
|
||||
<td></td>
|
||||
<td><em>vs.</em> – </td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td><a href="http://football.fantasysports.yahoo.com/bowl/55789">i</a></td>
|
||||
<td> – </td>
|
||||
<td> – </td>
|
||||
<td></td>
|
||||
<td>vs</td>
|
||||
<td></td>
|
||||
<td><em>vs.</em> – </td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td><a href="http://football.fantasysports.yahoo.com/bowl/55789">i</a></td>
|
||||
<td> – </td>
|
||||
<td> – </td>
|
||||
<td></td>
|
||||
<td>vs</td>
|
||||
<td></td>
|
||||
<td><em>vs.</em> – </td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td><a href="http://football.fantasysports.yahoo.com/bowl/55789">i</a></td>
|
||||
<td> – </td>
|
||||
<td> – </td>
|
||||
<td></td>
|
||||
<td>vs</td>
|
||||
<td></td>
|
||||
<td><em>vs.</em> – </td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td><a href="http://football.fantasysports.yahoo.com/bowl/55789">i</a></td>
|
||||
<td> – </td>
|
||||
<td> – </td>
|
||||
<td></td>
|
||||
<td>vs</td>
|
||||
<td></td>
|
||||
<td><em>vs.</em> – </td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr >
|
||||
<td colspan="8"><p><b >Total Points</b></p></td>
|
||||
<td colspan="2" >0</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@ -120,6 +120,8 @@ load 595758-2.xhtml
|
||||
load 678447-1.html
|
||||
skip-if(Android) load 691824-1.xhtml # Bug 694248
|
||||
load 695430-1.html
|
||||
load 696640-1.html
|
||||
load 696640-2.html
|
||||
load 707622-1.html
|
||||
load 705996-1.html
|
||||
load 705996-2.html
|
||||
|
@ -2938,29 +2938,24 @@ nsTableFrame::ReflowChildren(nsTableReflowState& aReflowState,
|
||||
break;
|
||||
}
|
||||
|
||||
// Insert the continuing frame into the sibling list.
|
||||
// Insert the kid's new next-in-flow into our sibling list...
|
||||
mFrames.InsertFrame(nullptr, kidFrame, kidNextInFlow);
|
||||
|
||||
// Fall through and update |rowGroups| with the new rowgroup, just as
|
||||
// it would have been if we had called OrderRowGroups again.
|
||||
// Note that rowGroups doesn't get used again after we PushChildren
|
||||
// below, anyway.
|
||||
// and in rowGroups after childX so that it will get pushed below.
|
||||
rowGroups.InsertElementAt(childX + 1,
|
||||
static_cast <nsTableRowGroupFrame*>(kidNextInFlow));
|
||||
}
|
||||
|
||||
// Put the nextinflow so that it will get pushed
|
||||
rowGroups.InsertElementAt(childX + 1,
|
||||
static_cast <nsTableRowGroupFrame*>(kidNextInFlow));
|
||||
|
||||
// We've used up all of our available space so push the remaining
|
||||
// children to the next-in-flow
|
||||
// children.
|
||||
if (allowRepeatedFooter) {
|
||||
PlaceRepeatedFooter(aReflowState, tfoot, footerHeight);
|
||||
}
|
||||
else if (tfoot && tfoot->IsRepeatable()) {
|
||||
tfoot->SetRepeatable(false);
|
||||
}
|
||||
|
||||
nsIFrame* nextSibling = kidFrame->GetNextSibling();
|
||||
if (nullptr != nextSibling) {
|
||||
if (nextSibling) {
|
||||
PushChildren(rowGroups, childX + 1);
|
||||
}
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user