Add 'aLineList' param to MarkLineDirty() so it knows the correct line list for 'aLine'. b=443528 r+sr=roc a=dveditz
git-svn-id: svn://10.0.0.236/trunk@254651 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
parent
e45d05c463
commit
3e47c7e680
@ -1458,7 +1458,7 @@ nsBlockFrame::ComputeCombinedArea(const nsHTMLReflowState& aReflowState,
|
||||
}
|
||||
|
||||
nsresult
|
||||
nsBlockFrame::MarkLineDirty(line_iterator aLine)
|
||||
nsBlockFrame::MarkLineDirty(line_iterator aLine, const nsLineList* aLineList)
|
||||
{
|
||||
// Mark aLine dirty
|
||||
aLine->MarkDirty();
|
||||
@ -1474,7 +1474,7 @@ nsBlockFrame::MarkLineDirty(line_iterator aLine)
|
||||
// Mark previous line dirty if it's an inline line so that it can
|
||||
// maybe pullup something from the line just affected.
|
||||
// XXX We don't need to do this if aPrevLine ends in a break-after...
|
||||
if (aLine != mLines.front() &&
|
||||
if (aLine != (aLineList ? aLineList : &mLines)->front() &&
|
||||
aLine->IsInline() &&
|
||||
aLine.prev()->IsInline()) {
|
||||
aLine.prev()->MarkDirty();
|
||||
@ -6259,7 +6259,7 @@ nsBlockFrame::ChildIsDirty(nsIFrame* aChild)
|
||||
PRBool isValid;
|
||||
nsBlockInFlowLineIterator iter(this, aChild, &isValid);
|
||||
if (isValid) {
|
||||
MarkLineDirty(iter.GetLine());
|
||||
iter.GetContainer()->MarkLineDirty(iter.GetLine(), iter.GetLineList());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -479,8 +479,12 @@ protected:
|
||||
* pull-up, mark the previous line dirty as well. Also invalidates textruns
|
||||
* on those lines because the text in the lines might have changed due to
|
||||
* addition/removal of frames.
|
||||
* @param aLine the line to mark dirty
|
||||
* @param aLineList the line list containing that line, null means the line
|
||||
* is in 'mLines' of this frame.
|
||||
*/
|
||||
nsresult MarkLineDirty(line_iterator aLine);
|
||||
nsresult MarkLineDirty(line_iterator aLine,
|
||||
const nsLineList* aLineList = nsnull);
|
||||
|
||||
// XXX where to go
|
||||
PRBool ShouldJustifyLine(nsBlockReflowState& aState,
|
||||
@ -714,6 +718,11 @@ public:
|
||||
nsBlockFrame* GetContainer() { return mFrame; }
|
||||
PRBool GetInOverflow() { return mInOverflowLines != nsnull; }
|
||||
|
||||
/**
|
||||
* Returns the current line list we're iterating, null means
|
||||
* we're iterating |mLines| of the container.
|
||||
*/
|
||||
nsLineList* GetLineList() { return mInOverflowLines; }
|
||||
|
||||
/**
|
||||
* Returns the end-iterator of whatever line list we're in.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user