Bug 486052. Make our FCData bits match GetAbsoluteContainingBlock again. r+sr=roc
This commit is contained in:
@@ -4560,26 +4560,30 @@ nsCSSFrameConstructor::FindDisplayData(const nsStyleDisplay* aDisplay,
|
|||||||
{ NS_STYLE_DISPLAY_TABLE_CAPTION,
|
{ NS_STYLE_DISPLAY_TABLE_CAPTION,
|
||||||
FCDATA_DECL(FCDATA_IS_TABLE_PART | FCDATA_SKIP_FRAMEMAP |
|
FCDATA_DECL(FCDATA_IS_TABLE_PART | FCDATA_SKIP_FRAMEMAP |
|
||||||
FCDATA_ALLOW_BLOCK_STYLES | FCDATA_DISALLOW_OUT_OF_FLOW |
|
FCDATA_ALLOW_BLOCK_STYLES | FCDATA_DISALLOW_OUT_OF_FLOW |
|
||||||
|
FCDATA_SKIP_ABSPOS_PUSH |
|
||||||
FCDATA_DESIRED_PARENT_TYPE_TO_BITS(eTypeTable),
|
FCDATA_DESIRED_PARENT_TYPE_TO_BITS(eTypeTable),
|
||||||
NS_NewTableCaptionFrame) },
|
NS_NewTableCaptionFrame) },
|
||||||
{ NS_STYLE_DISPLAY_TABLE_ROW_GROUP,
|
{ NS_STYLE_DISPLAY_TABLE_ROW_GROUP,
|
||||||
FCDATA_DECL(FCDATA_IS_TABLE_PART | FCDATA_SKIP_FRAMEMAP |
|
FCDATA_DECL(FCDATA_IS_TABLE_PART | FCDATA_SKIP_FRAMEMAP |
|
||||||
FCDATA_DISALLOW_OUT_OF_FLOW | FCDATA_MAY_NEED_SCROLLFRAME |
|
FCDATA_DISALLOW_OUT_OF_FLOW | FCDATA_MAY_NEED_SCROLLFRAME |
|
||||||
|
FCDATA_SKIP_ABSPOS_PUSH |
|
||||||
FCDATA_DESIRED_PARENT_TYPE_TO_BITS(eTypeTable),
|
FCDATA_DESIRED_PARENT_TYPE_TO_BITS(eTypeTable),
|
||||||
NS_NewTableRowGroupFrame) },
|
NS_NewTableRowGroupFrame) },
|
||||||
{ NS_STYLE_DISPLAY_TABLE_HEADER_GROUP,
|
{ NS_STYLE_DISPLAY_TABLE_HEADER_GROUP,
|
||||||
FCDATA_DECL(FCDATA_IS_TABLE_PART | FCDATA_SKIP_FRAMEMAP |
|
FCDATA_DECL(FCDATA_IS_TABLE_PART | FCDATA_SKIP_FRAMEMAP |
|
||||||
FCDATA_DISALLOW_OUT_OF_FLOW | FCDATA_MAY_NEED_SCROLLFRAME |
|
FCDATA_DISALLOW_OUT_OF_FLOW | FCDATA_MAY_NEED_SCROLLFRAME |
|
||||||
|
FCDATA_SKIP_ABSPOS_PUSH |
|
||||||
FCDATA_DESIRED_PARENT_TYPE_TO_BITS(eTypeTable),
|
FCDATA_DESIRED_PARENT_TYPE_TO_BITS(eTypeTable),
|
||||||
NS_NewTableRowGroupFrame) },
|
NS_NewTableRowGroupFrame) },
|
||||||
{ NS_STYLE_DISPLAY_TABLE_FOOTER_GROUP,
|
{ NS_STYLE_DISPLAY_TABLE_FOOTER_GROUP,
|
||||||
FCDATA_DECL(FCDATA_IS_TABLE_PART | FCDATA_SKIP_FRAMEMAP |
|
FCDATA_DECL(FCDATA_IS_TABLE_PART | FCDATA_SKIP_FRAMEMAP |
|
||||||
FCDATA_DISALLOW_OUT_OF_FLOW | FCDATA_MAY_NEED_SCROLLFRAME |
|
FCDATA_DISALLOW_OUT_OF_FLOW | FCDATA_MAY_NEED_SCROLLFRAME |
|
||||||
|
FCDATA_SKIP_ABSPOS_PUSH |
|
||||||
FCDATA_DESIRED_PARENT_TYPE_TO_BITS(eTypeTable),
|
FCDATA_DESIRED_PARENT_TYPE_TO_BITS(eTypeTable),
|
||||||
NS_NewTableRowGroupFrame) },
|
NS_NewTableRowGroupFrame) },
|
||||||
{ NS_STYLE_DISPLAY_TABLE_COLUMN_GROUP,
|
{ NS_STYLE_DISPLAY_TABLE_COLUMN_GROUP,
|
||||||
FCDATA_DECL(FCDATA_IS_TABLE_PART | FCDATA_SKIP_FRAMEMAP |
|
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),
|
FCDATA_DESIRED_PARENT_TYPE_TO_BITS(eTypeTable),
|
||||||
NS_NewTableColGroupFrame) },
|
NS_NewTableColGroupFrame) },
|
||||||
{ NS_STYLE_DISPLAY_TABLE_COLUMN,
|
{ NS_STYLE_DISPLAY_TABLE_COLUMN,
|
||||||
@@ -9011,6 +9015,7 @@ nsCSSFrameConstructor::sPseudoParentData[eParentTypeCount] = {
|
|||||||
{ // Row group
|
{ // Row group
|
||||||
FCDATA_DECL(FCDATA_IS_TABLE_PART | FCDATA_SKIP_FRAMEMAP |
|
FCDATA_DECL(FCDATA_IS_TABLE_PART | FCDATA_SKIP_FRAMEMAP |
|
||||||
FCDATA_DISALLOW_OUT_OF_FLOW | FCDATA_USE_CHILD_ITEMS |
|
FCDATA_DISALLOW_OUT_OF_FLOW | FCDATA_USE_CHILD_ITEMS |
|
||||||
|
FCDATA_SKIP_ABSPOS_PUSH |
|
||||||
FCDATA_DESIRED_PARENT_TYPE_TO_BITS(eTypeTable),
|
FCDATA_DESIRED_PARENT_TYPE_TO_BITS(eTypeTable),
|
||||||
NS_NewTableRowGroupFrame),
|
NS_NewTableRowGroupFrame),
|
||||||
&nsCSSAnonBoxes::tableRowGroup
|
&nsCSSAnonBoxes::tableRowGroup
|
||||||
@@ -9018,6 +9023,7 @@ nsCSSFrameConstructor::sPseudoParentData[eParentTypeCount] = {
|
|||||||
{ // Column group
|
{ // Column group
|
||||||
FCDATA_DECL(FCDATA_IS_TABLE_PART | FCDATA_SKIP_FRAMEMAP |
|
FCDATA_DECL(FCDATA_IS_TABLE_PART | FCDATA_SKIP_FRAMEMAP |
|
||||||
FCDATA_DISALLOW_OUT_OF_FLOW | FCDATA_USE_CHILD_ITEMS |
|
FCDATA_DISALLOW_OUT_OF_FLOW | FCDATA_USE_CHILD_ITEMS |
|
||||||
|
FCDATA_SKIP_ABSPOS_PUSH |
|
||||||
FCDATA_DESIRED_PARENT_TYPE_TO_BITS(eTypeTable),
|
FCDATA_DESIRED_PARENT_TYPE_TO_BITS(eTypeTable),
|
||||||
NS_NewTableColGroupFrame),
|
NS_NewTableColGroupFrame),
|
||||||
&nsCSSAnonBoxes::tableColGroup
|
&nsCSSAnonBoxes::tableColGroup
|
||||||
|
|||||||
12
layout/reftests/bugs/486052-1-ref.html
Normal file
12
layout/reftests/bugs/486052-1-ref.html
Normal file
@@ -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>
|
||||||
23
layout/reftests/bugs/486052-1.html
Normal file
23
layout/reftests/bugs/486052-1.html
Normal file
@@ -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>
|
||||||
6
layout/reftests/bugs/486052-2-ref.html
Normal file
6
layout/reftests/bugs/486052-2-ref.html
Normal file
@@ -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>
|
||||||
17
layout/reftests/bugs/486052-2a.html
Normal file
17
layout/reftests/bugs/486052-2a.html
Normal file
@@ -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>
|
||||||
17
layout/reftests/bugs/486052-2b.html
Normal file
17
layout/reftests/bugs/486052-2b.html
Normal file
@@ -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>
|
||||||
17
layout/reftests/bugs/486052-2c.html
Normal file
17
layout/reftests/bugs/486052-2c.html
Normal file
@@ -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>
|
||||||
6
layout/reftests/bugs/486052-2d.html
Normal file
6
layout/reftests/bugs/486052-2d.html
Normal file
@@ -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>
|
||||||
17
layout/reftests/bugs/486052-2e.html
Normal file
17
layout/reftests/bugs/486052-2e.html
Normal file
@@ -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>
|
||||||
17
layout/reftests/bugs/486052-2f.html
Normal file
17
layout/reftests/bugs/486052-2f.html
Normal file
@@ -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>
|
||||||
17
layout/reftests/bugs/486052-2g.html
Normal file
17
layout/reftests/bugs/486052-2g.html
Normal file
@@ -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-1b.html 482659-1-ref.html
|
||||||
== 482659-1c.html 482659-1-ref.html
|
== 482659-1c.html 482659-1-ref.html
|
||||||
== 482659-1d.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
|
||||||
|
|||||||
Reference in New Issue
Block a user