Merge backout of changeset 046f5da25280 due to crash in layout/forms/test/ mochitests.

This commit is contained in:
L. David Baron 2009-01-13 17:47:38 -08:00
Родитель 215dc017f4 e4e5edb2d9
Коммит e06f93310b
2 изменённых файлов: 2 добавлений и 24 удалений

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

@ -271,10 +271,6 @@ public:
nsIFrame* GetRootElementStyleFrame() { return mRootElementStyleFrame; }
nsIFrame* GetPageSequenceFrame() { return mPageSequenceFrame; }
// Get the frame that is the parent of the root element.
nsIFrame* GetDocElementContainingBlock()
{ return mDocElementContainingBlock; }
private:
nsresult ReconstructDocElementHierarchyInternal();

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

@ -1312,28 +1312,10 @@ nsFrameManager::ReResolveStyleContext(nsPresContext *aPresContext,
}
// now look for undisplayed child content and pseudos
// When the root element is display:none, we still construct *some*
// frames that have the root element as their mContent, down to the
// DocElementContainingBlock.
PRBool checkUndisplayed;
nsIContent *undisplayedParent;
if (pseudoTag) {
checkUndisplayed = aFrame == mPresShell->FrameConstructor()->
GetDocElementContainingBlock();
undisplayedParent = nsnull;
} else {
checkUndisplayed = !!localContent;
undisplayedParent = localContent;
}
if (checkUndisplayed && mUndisplayedMap) {
if (!pseudoTag && localContent && mUndisplayedMap) {
for (UndisplayedNode* undisplayed =
mUndisplayedMap->GetFirstNode(undisplayedParent);
mUndisplayedMap->GetFirstNode(localContent);
undisplayed; undisplayed = undisplayed->mNext) {
NS_ASSERTION(undisplayedParent ||
undisplayed->mContent ==
mPresShell->GetDocument()->GetRootContent(),
"undisplayed node child of null must be root");
nsRefPtr<nsStyleContext> undisplayedContext;
nsIAtom* const undisplayedPseudoTag = undisplayed->mStyle->GetPseudoType();
if (!undisplayedPseudoTag) { // child content