{inc} MathML matrices break when the content sink is incremental, b=344281, r+sr=bzbarsky

This commit is contained in:
rbs%maths.uq.edu.au 2006-08-14 07:27:42 +00:00
Родитель 4d7051c30f
Коммит e18f6d285a
2 изменённых файлов: 23 добавлений и 0 удалений

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

@ -72,3 +72,23 @@ nsMathMLmrowFrame::InheritAutomaticData(nsIFrame* aParent)
return NS_OK;
}
nsIFrame*
nsMathMLmrowFrame::GetContentInsertionFrame()
{
// Special for <mtable>: In the frame construction code, we also use
// this frame class as a wrapper for mtable. Hence, if we are asked
// for the insertion frame in the context where we are such a wrapper,
// we should return the real frame intended for mtable
if (mContent->Tag() == nsMathMLAtoms::mtable_) {
nsIFrame* frame = mFrames.FirstChild();
for ( ; frame; frame = frame->GetFirstChild(nsnull)) {
// drill down to the real mtable
if (frame->GetType() == nsLayoutAtoms::tableOuterFrame)
return frame->GetContentInsertionFrame();
}
NS_NOTREACHED("mtable wrapper without the real table frame");
}
return nsMathMLContainerFrame::GetContentInsertionFrame();
}

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

@ -50,6 +50,9 @@ class nsMathMLmrowFrame : public nsMathMLContainerFrame {
public:
friend nsIFrame* NS_NewMathMLmrowFrame(nsIPresShell* aPresShell, nsStyleContext* aContext);
virtual nsIFrame*
GetContentInsertionFrame();
NS_IMETHOD
InheritAutomaticData(nsIFrame* aParent);