Clarify when ReParentStyleContext should be called and remove more bogus style

parentage warnings.  Bug 217225, r+sr=dbaron
This commit is contained in:
bzbarsky%mit.edu 2003-11-13 04:31:04 +00:00
Родитель c9061a1c2a
Коммит 8b1b76c827
12 изменённых файлов: 30 добавлений и 28 удалений

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

@ -2802,9 +2802,8 @@ nsCSSFrameConstructor::ConstructTableColFrame(nsIPresShell* aPresShel
rv = aTableCreator.CreateTableColFrame(&aNewFrame); if (NS_FAILED(rv)) return rv;
InitAndRestoreFrame(aPresContext, aState, aContent, parentFrame, aStyleContext, nsnull, aNewFrame);
// if the parent frame was anonymous then reparent the style context
nsStyleContext* parentStyleContext = parentFrame->GetStyleContext();
if (aIsPseudoParent) {
aPresContext->ReParentStyleContext(aNewFrame, parentStyleContext);
aPresContext->ReParentStyleContext(aNewFrame, parentFrame->GetStyleContext());
}
// construct additional col frames if the col frame has a span > 1
@ -11678,8 +11677,8 @@ ReparentFrame(nsIPresContext* aPresContext,
nsStyleContext* aParentStyleContext,
nsIFrame* aFrame)
{
aPresContext->ReParentStyleContext(aFrame, aParentStyleContext);
aFrame->SetParent(aNewParentFrame);
aPresContext->ReParentStyleContext(aFrame, aParentStyleContext);
}
// Special routine to handle placing a list of frames into a block

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

@ -1463,10 +1463,8 @@ FrameManager::ReParentStyleContext(nsIFrame* aFrame,
NS_ENSURE_TRUE(mPresShell, NS_ERROR_NOT_AVAILABLE);
nsresult result = NS_ERROR_NULL_POINTER;
if (aFrame) {
#ifdef NS_DEBUG
DebugVerifyStyleTree(aFrame);
#endif
// DO NOT verify the style tree before reparenting. The frame
// tree has already been changed, so this check would just fail.
nsStyleContext* oldContext = aFrame->GetStyleContext();
if (oldContext) {
nsIPresContext *presContext = GetPresContext();
@ -1529,7 +1527,7 @@ FrameManager::ReParentStyleContext(nsIFrame* aFrame,
break;
}
}
#ifdef NS_DEBUG
#ifdef DEBUG
VerifyStyleTree(GetPresContext(), aFrame, aNewParentContext);
#endif
}

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

@ -253,7 +253,9 @@ public:
/**
* For a given frame tree, get a new style context that is the equivalent
* but within a new parent
* but within a new parent. The StyleContextParent of aFrame should be
* changed _before_ this method is called, so that style tree verification
* can take place correctly.
*/
NS_IMETHOD ReParentStyleContext(nsIFrame* aFrame,
nsStyleContext* aNewParentContext) = 0;

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

@ -140,7 +140,9 @@ public:
NS_IMETHOD NotifyDestroyingFrame(nsIFrame* aFrame) = 0;
// reparent the style contexts of this frame sub tree to live under the
// new given parent style context
// new given parent style context. The StyleContextParent of aFrame
// should be changed _before_ this method is called, so that style tree
// verification can take place correctly.
NS_IMETHOD ReParentStyleContext(nsIFrame* aFrame,
nsStyleContext* aNewParentContext) = 0;

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

@ -253,7 +253,9 @@ public:
/**
* For a given frame tree, get a new style context that is the equivalent
* but within a new parent
* but within a new parent. The StyleContextParent of aFrame should be
* changed _before_ this method is called, so that style tree verification
* can take place correctly.
*/
NS_IMETHOD ReParentStyleContext(nsIFrame* aFrame,
nsStyleContext* aNewParentContext) = 0;

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

@ -253,7 +253,9 @@ public:
/**
* For a given frame tree, get a new style context that is the equivalent
* but within a new parent
* but within a new parent. The StyleContextParent of aFrame should be
* changed _before_ this method is called, so that style tree verification
* can take place correctly.
*/
NS_IMETHOD ReParentStyleContext(nsIFrame* aFrame,
nsStyleContext* aNewParentContext) = 0;

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

@ -158,8 +158,8 @@ nsFirstLetterFrame::SetInitialChildList(nsIPresContext* aPresContext,
nsIFrame* aChildList)
{
mFrames.SetFrames(aChildList);
if (aChildList) {
aPresContext->ReParentStyleContext(aChildList, mStyleContext);
for (nsIFrame* frame = aChildList; frame; frame = frame->GetNextSibling()) {
aPresContext->ReParentStyleContext(frame, mStyleContext);
}
return NS_OK;
}

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

@ -993,8 +993,8 @@ nsFirstLineFrame::Reflow(nsIPresContext* aPresContext,
if (prevOverflowFrames) {
nsFrameList frames(prevOverflowFrames);
ReParentChildListStyle(aPresContext, mStyleContext, frames);
mFrames.InsertFrames(this, nsnull, prevOverflowFrames);
ReParentChildListStyle(aPresContext, mStyleContext, frames);
}
}
@ -1004,8 +1004,8 @@ nsFirstLineFrame::Reflow(nsIPresContext* aPresContext,
NS_ASSERTION(mFrames.NotEmpty(), "overflow list w/o frames");
nsFrameList frames(overflowFrames);
ReParentChildListStyle(aPresContext, mStyleContext, frames);
mFrames.AppendFrames(nsnull, overflowFrames);
ReParentChildListStyle(aPresContext, mStyleContext, frames);
}
// Set our own reflow state (additional state above and beyond

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

@ -158,8 +158,8 @@ nsFirstLetterFrame::SetInitialChildList(nsIPresContext* aPresContext,
nsIFrame* aChildList)
{
mFrames.SetFrames(aChildList);
if (aChildList) {
aPresContext->ReParentStyleContext(aChildList, mStyleContext);
for (nsIFrame* frame = aChildList; frame; frame = frame->GetNextSibling()) {
aPresContext->ReParentStyleContext(frame, mStyleContext);
}
return NS_OK;
}

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

@ -1463,10 +1463,8 @@ FrameManager::ReParentStyleContext(nsIFrame* aFrame,
NS_ENSURE_TRUE(mPresShell, NS_ERROR_NOT_AVAILABLE);
nsresult result = NS_ERROR_NULL_POINTER;
if (aFrame) {
#ifdef NS_DEBUG
DebugVerifyStyleTree(aFrame);
#endif
// DO NOT verify the style tree before reparenting. The frame
// tree has already been changed, so this check would just fail.
nsStyleContext* oldContext = aFrame->GetStyleContext();
if (oldContext) {
nsIPresContext *presContext = GetPresContext();
@ -1529,7 +1527,7 @@ FrameManager::ReParentStyleContext(nsIFrame* aFrame,
break;
}
}
#ifdef NS_DEBUG
#ifdef DEBUG
VerifyStyleTree(GetPresContext(), aFrame, aNewParentContext);
#endif
}

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

@ -993,8 +993,8 @@ nsFirstLineFrame::Reflow(nsIPresContext* aPresContext,
if (prevOverflowFrames) {
nsFrameList frames(prevOverflowFrames);
ReParentChildListStyle(aPresContext, mStyleContext, frames);
mFrames.InsertFrames(this, nsnull, prevOverflowFrames);
ReParentChildListStyle(aPresContext, mStyleContext, frames);
}
}
@ -1004,8 +1004,8 @@ nsFirstLineFrame::Reflow(nsIPresContext* aPresContext,
NS_ASSERTION(mFrames.NotEmpty(), "overflow list w/o frames");
nsFrameList frames(overflowFrames);
ReParentChildListStyle(aPresContext, mStyleContext, frames);
mFrames.AppendFrames(nsnull, overflowFrames);
ReParentChildListStyle(aPresContext, mStyleContext, frames);
}
// Set our own reflow state (additional state above and beyond

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

@ -2802,9 +2802,8 @@ nsCSSFrameConstructor::ConstructTableColFrame(nsIPresShell* aPresShel
rv = aTableCreator.CreateTableColFrame(&aNewFrame); if (NS_FAILED(rv)) return rv;
InitAndRestoreFrame(aPresContext, aState, aContent, parentFrame, aStyleContext, nsnull, aNewFrame);
// if the parent frame was anonymous then reparent the style context
nsStyleContext* parentStyleContext = parentFrame->GetStyleContext();
if (aIsPseudoParent) {
aPresContext->ReParentStyleContext(aNewFrame, parentStyleContext);
aPresContext->ReParentStyleContext(aNewFrame, parentFrame->GetStyleContext());
}
// construct additional col frames if the col frame has a span > 1
@ -11678,8 +11677,8 @@ ReparentFrame(nsIPresContext* aPresContext,
nsStyleContext* aParentStyleContext,
nsIFrame* aFrame)
{
aPresContext->ReParentStyleContext(aFrame, aParentStyleContext);
aFrame->SetParent(aNewParentFrame);
aPresContext->ReParentStyleContext(aFrame, aParentStyleContext);
}
// Special routine to handle placing a list of frames into a block