Bug 535911. Silence the bogus assertion. r=roc

This commit is contained in:
Boris Zbarsky 2009-12-23 16:17:23 -05:00
Родитель cb926a790c
Коммит c973cb729b
4 изменённых файлов: 27 добавлений и 6 удалений

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

@ -0,0 +1,16 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script>
function boom()
{
var s = document.createElementNS("http://www.w3.org/1999/xhtml", "span");
var b = document.createElementNS("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul", "box");
s.appendChild(b);
document.getElementById("a").appendChild(s);
}
</script>
</head>
<body onload="boom();" style="-moz-column-width: 1px;"><span id="a"><box xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"/></span><div>Hello</div></body>
</html>

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

@ -266,3 +266,4 @@ load 500467-1.html
load 501878-1.html
load 503936-1.html
load 526378-1.xul
load 535911-1.xhtml

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

@ -5775,7 +5775,8 @@ nsresult
nsCSSFrameConstructor::AppendFrames(nsFrameConstructorState& aState,
nsIFrame* aParentFrame,
nsFrameItems& aFrameList,
nsIFrame* aPrevSibling)
nsIFrame* aPrevSibling,
PRBool aIsRecursiveCall)
{
NS_PRECONDITION(!IsFrameSpecial(aParentFrame) ||
!GetSpecialSibling(aParentFrame) ||
@ -5788,13 +5789,15 @@ nsCSSFrameConstructor::AppendFrames(nsFrameConstructorState& aState,
NS_ASSERTION(nextSibling ||
!aParentFrame->GetNextContinuation() ||
!aParentFrame->GetNextContinuation()->GetFirstChild(nsnull),
!aParentFrame->GetNextContinuation()->GetFirstChild(nsnull) ||
aIsRecursiveCall,
"aParentFrame has later continuations with kids?");
NS_ASSERTION(nextSibling ||
!IsFrameSpecial(aParentFrame) ||
(IsInlineFrame(aParentFrame) &&
!GetSpecialSibling(aParentFrame) &&
!aParentFrame->GetNextContinuation()),
!aParentFrame->GetNextContinuation()) ||
aIsRecursiveCall,
"aParentFrame is not last?");
// If we're inserting a list of frames at the end of the trailing inline
@ -5854,13 +5857,13 @@ nsCSSFrameConstructor::AppendFrames(nsFrameConstructorState& aState,
// Recurse so we create new ib siblings as needed for aParentFrame's parent
return AppendFrames(aState, aParentFrame->GetParent(), ibSiblings,
aParentFrame);
aParentFrame, PR_TRUE);
}
return NS_OK;
}
// Insert the frames after out aPrevSibling
// Insert the frames after our aPrevSibling
return aState.mFrameManager->InsertFrames(aParentFrame, nsnull, aPrevSibling,
aFrameList);
}

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

@ -452,7 +452,8 @@ private:
nsresult AppendFrames(nsFrameConstructorState& aState,
nsIFrame* aParentFrame,
nsFrameItems& aFrameList,
nsIFrame* aPrevSibling);
nsIFrame* aPrevSibling,
PRBool aIsRecursiveCall = PR_FALSE);
// BEGIN TABLE SECTION
/**