r=troy. nsContainerFrame::ReflowDirtyChild() always generates a reflow command targeted at its child. nsInlineFrame::ReflowDirtyChild() always passes up the reflow request to its parent. nsBlockFrame::ReflowDirtyChild() no longer has code for checking whether its parent is an area frame.

git-svn-id: svn://10.0.0.236/trunk@57571 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
nisheeth%netscape.com
2000-01-12 21:52:58 +00:00
parent d553483351
commit 8978d5a35b
12 changed files with 112 additions and 108 deletions

View File

@@ -6039,21 +6039,16 @@ nsBlockFrame::ReflowDirtyChild(nsIPresShell* aPresShell, nsIFrame* aChild)
nsIReflowCommand::ReflowDirty, nsnull, nsnull, nsnull);
}
else {
if (!(mState & NS_FRAME_IS_DIRTY)) {
// If the parent frame is not an area frame
nsCOMPtr<nsIAtom> frameType;
mParent->GetFrameType(getter_AddRefs(frameType));
if (frameType.get() != nsLayoutAtoms::areaFrame) {
// Mark yourself as dirty
mState |= NS_FRAME_IS_DIRTY;
if (!(mState & NS_FRAME_IS_DIRTY)) {
// Mark yourself as dirty
mState |= NS_FRAME_IS_DIRTY;
// Cancel the dirty children reflow command you posted earlier
nsIReflowCommand::ReflowType type = nsIReflowCommand::ReflowDirty;
aPresShell->CancelReflowCommand(this, &type);
// Cancel the dirty children reflow command you posted earlier
nsIReflowCommand::ReflowType type = nsIReflowCommand::ReflowDirty;
aPresShell->CancelReflowCommand(this, &type);
// Pass up the reflow request to the parent frame.
mParent->ReflowDirtyChild(aPresShell, this);
}
// Pass up the reflow request to the parent frame.
mParent->ReflowDirtyChild(aPresShell, this);
}
}