Set baseLevel and paraLevel properties on empty frames. Bug 489887, r+sr=roc

This commit is contained in:
Simon Montagu 2009-04-28 02:23:53 -07:00
Родитель c7ea3e37f3
Коммит 59514b8d37
4 изменённых файлов: 38 добавлений и 0 удалений

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

@ -402,6 +402,13 @@ nsBidiPresUtils::Resolve(nsBlockFrame* aBlockFrame,
contentTextLength = content->TextLength();
if (contentTextLength == 0) {
frame->AdjustOffsetsForBidi(0, 0);
// Set the base level and embedding level of the current run even
// on an empty frame. Otherwise frame reordering will not be correct.
propTable->SetProperty(frame, nsGkAtoms::embeddingLevel,
NS_INT32_TO_PTR(embeddingLevel),
nsnull, nsnull);
propTable->SetProperty(frame, nsGkAtoms::baseLevel,
NS_INT32_TO_PTR(paraLevel), nsnull, nsnull);
continue;
}
PRInt32 start, end;

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

@ -0,0 +1,15 @@
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function boom()
{
document.getElementById("w").firstChild.data = "";
}
</script>
</head>
<body onload="boom();">
<div><span>&#x06cd;</span><span id="w"> </span><span>&#x06cb;</span></div>
</body>
</html>

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

@ -0,0 +1,15 @@
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function boom()
{
document.getElementById("w").firstChild.data = "";
document.documentElement.appendChild(document.body);
}
</script>
</head>
<body onload="boom();">
<div><span>&#x06cd;</span><span id="w"> </span><span>&#x06cb;</span></div>
</body>
</html>

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

@ -36,3 +36,4 @@ random-if(MOZ_WIDGET_TOOLKIT=="gtk2") == 386339.html 386339-ref.html
== 425338-1a.html 425338-1-ref.html
== 425338-1b.html 425338-1-ref.html
== 489517-1.html 489517-1-ref.html
== 489887-1.html 489887-1-ref.html