Bug 509155. Don't store outline structs in the rule tree if outline-color:inherit is set on the root element. r=dbaron

This commit is contained in:
Boris Zbarsky 2009-08-10 10:54:22 -04:00
Родитель 3a7c74d351
Коммит 294d2e51ec
8 изменённых файлов: 66 добавлений и 1 удалений

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

@ -0,0 +1,10 @@
<html xmlns="http://www.w3.org/1999/xhtml" style="border-color: black">
<head>
<style>
html { color: black; border-width: 10px; border-style: solid; }
</style>
</head>
<body>
<html style="border-color: green;">Test</html>
</body>
</html>

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

@ -0,0 +1,19 @@
<html xmlns="http://www.w3.org/1999/xhtml" class="reftest-wait">
<head>
<style>
html { color: black; border-color: inherit; border-width: 10px;
border-style: solid; }
</style>
<script>
window.addEventListener("load",
function() {
document.getElementById("x").removeAttribute("style");
document.documentElement.className = "";
},
false);
</script>
</head>
<body style="border-color: green;">
<html id="x" style="display:none">Test</html>
</body>
</html>

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

@ -0,0 +1,10 @@
<html xmlns="http://www.w3.org/1999/xhtml" style="outline-color: black;">
<head>
<style>
html { color: black; outline-width: 10px; outline-style: solid; }
</style>
</head>
<body>
<html style="outline-color: green;">Test</html>
</body>
</html>

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

@ -0,0 +1,19 @@
<html xmlns="http://www.w3.org/1999/xhtml" class="reftest-wait">
<head>
<style>
html { color: black; outline-color: inherit; outline-width: 10px;
outline-style: solid; }
</style>
<script>
window.addEventListener("MozReftestInvalidate",
function() {
document.getElementById("x").removeAttribute("style");
document.documentElement.className = "";
},
false);
</script>
</head>
<body style="outline-color: green;">
<html id="x" style="display: none">Test</html>
</body>
</html>

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

@ -1295,3 +1295,5 @@ fails-if(MOZ_WIDGET_TOOLKIT!="cocoa") == 488692-1.html 488692-1-ref.html # needs
== 505743-1.html about:blank
== 507487-1.html 507487-1-ref.html
== 507487-2.xhtml 507487-2-ref.xhtml
== 508919-1.xhtml 508919-1-ref.xhtml
== 509155-1.xhtml 509155-1-ref.xhtml

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

@ -0,0 +1,4 @@
<html style="outline-color: inherit;">
<head></head>
<body></body>
</html>

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

@ -40,4 +40,5 @@ load 478321-1.xhtml
skip load long-url-list-stack-overflow.html # skipped due to being slow (bug 477490)
load 495269-1.html
load 495269-2.html
load 509155-1.html
load 509156-1.html

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

@ -4663,8 +4663,8 @@ nsRuleNode::ComputeOutlineData(void* aStartStruct,
nscolor outlineColor;
nscolor unused = NS_RGB(0,0,0);
if (eCSSUnit_Inherit == marginData.mOutlineColor.GetUnit()) {
canStoreInRuleTree = PR_FALSE;
if (parentContext) {
canStoreInRuleTree = PR_FALSE;
if (parentOutline->GetOutlineColor(outlineColor))
outline->SetOutlineColor(outlineColor);
else {