Bug 486052. Make our FCData bits match GetAbsoluteContainingBlock again. r+sr=roc

This commit is contained in:
Boris Zbarsky 2009-03-31 13:07:29 -04:00
Родитель faa05236ab
Коммит 8a76bba2f4
12 изменённых файлов: 164 добавлений и 1 удалений

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

@ -4560,26 +4560,30 @@ nsCSSFrameConstructor::FindDisplayData(const nsStyleDisplay* aDisplay,
{ NS_STYLE_DISPLAY_TABLE_CAPTION,
FCDATA_DECL(FCDATA_IS_TABLE_PART | FCDATA_SKIP_FRAMEMAP |
FCDATA_ALLOW_BLOCK_STYLES | FCDATA_DISALLOW_OUT_OF_FLOW |
FCDATA_SKIP_ABSPOS_PUSH |
FCDATA_DESIRED_PARENT_TYPE_TO_BITS(eTypeTable),
NS_NewTableCaptionFrame) },
{ NS_STYLE_DISPLAY_TABLE_ROW_GROUP,
FCDATA_DECL(FCDATA_IS_TABLE_PART | FCDATA_SKIP_FRAMEMAP |
FCDATA_DISALLOW_OUT_OF_FLOW | FCDATA_MAY_NEED_SCROLLFRAME |
FCDATA_SKIP_ABSPOS_PUSH |
FCDATA_DESIRED_PARENT_TYPE_TO_BITS(eTypeTable),
NS_NewTableRowGroupFrame) },
{ NS_STYLE_DISPLAY_TABLE_HEADER_GROUP,
FCDATA_DECL(FCDATA_IS_TABLE_PART | FCDATA_SKIP_FRAMEMAP |
FCDATA_DISALLOW_OUT_OF_FLOW | FCDATA_MAY_NEED_SCROLLFRAME |
FCDATA_SKIP_ABSPOS_PUSH |
FCDATA_DESIRED_PARENT_TYPE_TO_BITS(eTypeTable),
NS_NewTableRowGroupFrame) },
{ NS_STYLE_DISPLAY_TABLE_FOOTER_GROUP,
FCDATA_DECL(FCDATA_IS_TABLE_PART | FCDATA_SKIP_FRAMEMAP |
FCDATA_DISALLOW_OUT_OF_FLOW | FCDATA_MAY_NEED_SCROLLFRAME |
FCDATA_SKIP_ABSPOS_PUSH |
FCDATA_DESIRED_PARENT_TYPE_TO_BITS(eTypeTable),
NS_NewTableRowGroupFrame) },
{ NS_STYLE_DISPLAY_TABLE_COLUMN_GROUP,
FCDATA_DECL(FCDATA_IS_TABLE_PART | FCDATA_SKIP_FRAMEMAP |
FCDATA_DISALLOW_OUT_OF_FLOW |
FCDATA_DISALLOW_OUT_OF_FLOW | FCDATA_SKIP_ABSPOS_PUSH |
FCDATA_DESIRED_PARENT_TYPE_TO_BITS(eTypeTable),
NS_NewTableColGroupFrame) },
{ NS_STYLE_DISPLAY_TABLE_COLUMN,
@ -9011,6 +9015,7 @@ nsCSSFrameConstructor::sPseudoParentData[eParentTypeCount] = {
{ // Row group
FCDATA_DECL(FCDATA_IS_TABLE_PART | FCDATA_SKIP_FRAMEMAP |
FCDATA_DISALLOW_OUT_OF_FLOW | FCDATA_USE_CHILD_ITEMS |
FCDATA_SKIP_ABSPOS_PUSH |
FCDATA_DESIRED_PARENT_TYPE_TO_BITS(eTypeTable),
NS_NewTableRowGroupFrame),
&nsCSSAnonBoxes::tableRowGroup
@ -9018,6 +9023,7 @@ nsCSSFrameConstructor::sPseudoParentData[eParentTypeCount] = {
{ // Column group
FCDATA_DECL(FCDATA_IS_TABLE_PART | FCDATA_SKIP_FRAMEMAP |
FCDATA_DISALLOW_OUT_OF_FLOW | FCDATA_USE_CHILD_ITEMS |
FCDATA_SKIP_ABSPOS_PUSH |
FCDATA_DESIRED_PARENT_TYPE_TO_BITS(eTypeTable),
NS_NewTableColGroupFrame),
&nsCSSAnonBoxes::tableColGroup

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

@ -0,0 +1,12 @@
<!DOCTYPE html>
<html>
<body>
<table>
<tr><td>This is a test</td></tr>
<tr><td>This is a test</td></tr>
<tr><td>This is a test</td></tr>
<tr><td>This is a test</td></tr>
<caption style="position: relative; caption-side: bottom"><div style="position: absolute; top: 0; left: 0">Test</div></caption>
</table>
</body>
</html>

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

@ -0,0 +1,23 @@
<!DOCTYPE html>
<html>
<head>
<script>
function doTest() {
var d = document.createElement("div");
d.textContent = "Test";
d.style.top = d.style.left = 0;
d.style.position = "absolute";
document.getElementById("t").appendChild(d);
}
</script>
</head>
<body onload="doTest()">
<table>
<tr><td>This is a test</td></tr>
<tr><td>This is a test</td></tr>
<tr><td>This is a test</td></tr>
<tr><td>This is a test</td></tr>
<caption style="position: relative; caption-side: bottom" id="t"></caption>
</table>
</body>
</html>

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

@ -0,0 +1,6 @@
<!DOCTYPE html>
<html>
<body>
<div style="position: relative; display: table-row-group;"><div style="display: table-row"><div style="display: table-cell"><div style="position: absolute; top: 0; left: 0">Test</div></div></div></div>
</body>
</html>

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

@ -0,0 +1,17 @@
<!DOCTYPE html>
<html>
<head>
<script>
function doTest() {
var d = document.createElement("div");
d.textContent = "Test";
d.style.top = d.style.left = 0;
d.style.position = "absolute";
document.getElementById("t").appendChild(d);
}
</script>
</head>
<body onload="doTest()">
<div style="position: relative; display: table-row-group;" id="t"></div>
</body>
</html>

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

@ -0,0 +1,17 @@
<!DOCTYPE html>
<html>
<head>
<script>
function doTest() {
var d = document.createElement("div");
d.textContent = "Test";
d.style.top = d.style.left = 0;
d.style.position = "absolute";
document.getElementById("t").appendChild(d);
}
</script>
</head>
<body onload="doTest()">
<div style="position: relative; display: table-header-group;" id="t"></div>
</body>
</html>

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

@ -0,0 +1,17 @@
<!DOCTYPE html>
<html>
<head>
<script>
function doTest() {
var d = document.createElement("div");
d.textContent = "Test";
d.style.top = d.style.left = 0;
d.style.position = "absolute";
document.getElementById("t").appendChild(d);
}
</script>
</head>
<body onload="doTest()">
<div style="position: relative; display: table-footer-group;" id="t"></div>
</body>
</html>

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

@ -0,0 +1,6 @@
<!DOCTYPE html>
<html>
<body>
<div style="position: relative; display: table-row-group;"><div style="position: absolute; top: 0; left: 0">Test</div></div>
</body>
</html>

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

@ -0,0 +1,17 @@
<!DOCTYPE html>
<html>
<head>
<script>
function doTest() {
var d = document.createElement("div");
d.textContent = "Test";
d.style.top = d.style.left = 0;
d.style.position = "absolute";
document.getElementById("t").appendChild(d);
}
</script>
</head>
<body onload="doTest()">
<div style="position: relative; display: table-row-group;"><div style="display: table-row"><div style="display: table-cell" id="t"></div></div></div>
</body>
</html>

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

@ -0,0 +1,17 @@
<!DOCTYPE html>
<html>
<head>
<script>
function doTest() {
var d = document.createElement("div");
d.textContent = "Test";
d.style.top = d.style.left = 0;
d.style.position = "absolute";
document.getElementById("t").appendChild(d);
}
</script>
</head>
<body onload="doTest()">
<div style="position: relative; display: table-header-group;"><div style="display: table-row"><div style="display: table-cell" id="t"></div></div></div>
</body>
</html>

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

@ -0,0 +1,17 @@
<!DOCTYPE html>
<html>
<head>
<script>
function doTest() {
var d = document.createElement("div");
d.textContent = "Test";
d.style.top = d.style.left = 0;
d.style.position = "absolute";
document.getElementById("t").appendChild(d);
}
</script>
</head>
<body onload="doTest()">
<div style="position: relative; display: table-footer-group;"><div style="display: table-row"><div style="display: table-cell" id="t"></div></div></div>
</body>
</html>

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

@ -1116,3 +1116,11 @@ fails == 461512-1.html 461512-1-ref.html # Bug 461512
== 482659-1b.html 482659-1-ref.html
== 482659-1c.html 482659-1-ref.html
== 482659-1d.html 482659-1-ref.html
== 486052-1.html 486052-1-ref.html
== 486052-2a.html 486052-2-ref.html
== 486052-2b.html 486052-2-ref.html
== 486052-2c.html 486052-2-ref.html
== 486052-2d.html 486052-2-ref.html
== 486052-2e.html 486052-2-ref.html
== 486052-2f.html 486052-2-ref.html
== 486052-2g.html 486052-2-ref.html