Bug 949294 - Mark the delegating frame as being IN_REFLOW while reflowing abs.pos. children. r=roc

This commit is contained in:
Mats Palmgren 2014-01-03 21:08:50 +00:00
Родитель 5ce4271c24
Коммит 3e7a93ab5f
2 изменённых файлов: 4 добавлений и 0 удалений

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

@ -7740,11 +7740,13 @@ nsFrame::DoLayout(nsBoxLayoutState& aState)
nsSize(size.width, NS_UNCONSTRAINEDSIZE), nsSize(size.width, NS_UNCONSTRAINEDSIZE),
nsHTMLReflowState::DUMMY_PARENT_REFLOW_STATE); nsHTMLReflowState::DUMMY_PARENT_REFLOW_STATE);
AddStateBits(NS_FRAME_IN_REFLOW);
// Set up a |reflowStatus| to pass into ReflowAbsoluteFrames // Set up a |reflowStatus| to pass into ReflowAbsoluteFrames
// (just a dummy value; hopefully that's OK) // (just a dummy value; hopefully that's OK)
nsReflowStatus reflowStatus = NS_FRAME_COMPLETE; nsReflowStatus reflowStatus = NS_FRAME_COMPLETE;
ReflowAbsoluteFrames(aState.PresContext(), desiredSize, ReflowAbsoluteFrames(aState.PresContext(), desiredSize,
reflowState, reflowStatus); reflowState, reflowStatus);
RemoveStateBits(NS_FRAME_IN_REFLOW);
} }
nsSize oldSize(ourRect.Size()); nsSize oldSize(ourRect.Size());

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

@ -928,11 +928,13 @@ nsBoxFrame::DoLayout(nsBoxLayoutState& aState)
desiredSize.SetTopAscent(ascent); desiredSize.SetTopAscent(ascent);
desiredSize.mOverflowAreas = GetOverflowAreas(); desiredSize.mOverflowAreas = GetOverflowAreas();
AddStateBits(NS_FRAME_IN_REFLOW);
// Set up a |reflowStatus| to pass into ReflowAbsoluteFrames // Set up a |reflowStatus| to pass into ReflowAbsoluteFrames
// (just a dummy value; hopefully that's OK) // (just a dummy value; hopefully that's OK)
nsReflowStatus reflowStatus = NS_FRAME_COMPLETE; nsReflowStatus reflowStatus = NS_FRAME_COMPLETE;
ReflowAbsoluteFrames(aState.PresContext(), desiredSize, ReflowAbsoluteFrames(aState.PresContext(), desiredSize,
reflowState, reflowStatus); reflowState, reflowStatus);
RemoveStateBits(NS_FRAME_IN_REFLOW);
} }
return rv; return rv;