зеркало из https://github.com/mozilla/gecko-dev.git
Bug 487539. Don't use an <area>'s primary frame as a primary frame hint. r+sr=roc
This commit is contained in:
Родитель
e7be5bbeb9
Коммит
b9856acf00
|
@ -386,7 +386,10 @@ nsFrameManager::GetPrimaryFrameFor(nsIContent* aContent,
|
|||
entry = static_cast<PrimaryFrameMapEntry*>
|
||||
(PL_DHashTableOperate(&mPrimaryFrameMap, prevSibling,
|
||||
PL_DHASH_LOOKUP));
|
||||
if (PL_DHASH_ENTRY_IS_BUSY(entry))
|
||||
// XXXbz the GetContent() == prevSibling check is needed due to bug
|
||||
// 135040. Remove it once that's fixed.
|
||||
if (PL_DHASH_ENTRY_IS_BUSY(entry) && entry->frame &&
|
||||
entry->frame->GetContent() == prevSibling)
|
||||
hint.mPrimaryFrameForPrevSibling = entry->frame;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,45 @@
|
|||
<!DOCTYPE html>
|
||||
<html class="reftest-wait">
|
||||
<head>
|
||||
<script type="text/javascript">
|
||||
|
||||
var img = document.createElement("img");
|
||||
img.setAttributeNS(null, "usemap", "#map");
|
||||
img.setAttributeNS(null, "src", "data:image/gif;base64,R0lGODlhEwATAKIAAP//AMzMADMzAP8AAAAAAP///wAAAAAAACH5BAEAAAUALAAAAAATABMAAANWWLrUTisyEoC1oUlFr8dQRHykFRad+Y0gdzlv86KVKdsskOUAjHu312rFK5FuxaMNIMgYe85GrVfKZVDAR7DHmVoG4IHn6vqEgZLU90xOq8OazUS7SQAAOw==");
|
||||
|
||||
function boom()
|
||||
{
|
||||
map = document.createElement("map");
|
||||
map.setAttributeNS(null, "name", "map");
|
||||
area = document.createElement("area");
|
||||
map.appendChild(area);
|
||||
span = document.createElement("span");
|
||||
span.appendChild(img);
|
||||
td = document.createElement("td");
|
||||
span.appendChild(td);
|
||||
map.appendChild(span);
|
||||
document.body.appendChild(map);
|
||||
boom2();
|
||||
}
|
||||
|
||||
function boom2()
|
||||
{
|
||||
// For reliable reproduction, need a flush here.
|
||||
var x = document.body.offsetWidth;
|
||||
|
||||
// needs to be async, apparently.
|
||||
setTimeout(boom3, 0);
|
||||
}
|
||||
|
||||
function boom3()
|
||||
{
|
||||
span.parentNode.removeChild(span);
|
||||
document.documentElement.removeAttribute("class");
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body onload="boom();"></body>
|
||||
|
||||
</html>
|
|
@ -1203,3 +1203,4 @@ fails == 472020-2.xul 472020-2-ref.xul
|
|||
== 486052-2f.html 486052-2-ref.html
|
||||
== 486052-2g.html 486052-2-ref.html
|
||||
== 486848-1.xul 486848-1-ref.xul
|
||||
== 487539-1.html about:blank
|
||||
|
|
Загрузка…
Ссылка в новой задаче