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:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user