during pseudo frame creation pseudo colgroup frames should not taken into account when analyzing the pseudostackframe depth, bug 266015 r=me sr=bzbarsky
git-svn-id: svn://10.0.0.236/trunk@165055 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
parent
31397754be
commit
d17e10572f
@ -2778,7 +2778,7 @@ nsCSSFrameConstructor::GetPseudoCellFrame(nsIPresShell* aPresShell,
|
||||
nsPseudoFrames& pseudoFrames = aState.mPseudoFrames;
|
||||
nsIAtom* parentFrameType = aParentFrameIn.GetType();
|
||||
|
||||
if (pseudoFrames.IsEmpty()) {
|
||||
if (!pseudoFrames.mLowestType) {
|
||||
PRBool created = PR_FALSE;
|
||||
if (nsLayoutAtoms::tableFrame == parentFrameType) { // table parent
|
||||
rv = CreatePseudoRowGroupFrame(aPresShell, aPresContext, aTableCreator, aState, &aParentFrameIn);
|
||||
@ -3426,9 +3426,10 @@ nsCSSFrameConstructor::ConstructTableForeignFrame(nsIPresShell* aPres
|
||||
aStyleContext)) {
|
||||
// this frame may have a pseudo parent, use block frame type to
|
||||
// trigger foreign
|
||||
GetParentFrame(aPresShell, aPresContext, aTableCreator, *aParentFrameIn,
|
||||
nsLayoutAtoms::blockFrame, aState, parentFrame,
|
||||
hasPseudoParent);
|
||||
rv = GetParentFrame(aPresShell, aPresContext, aTableCreator,
|
||||
*aParentFrameIn, nsLayoutAtoms::blockFrame,
|
||||
aState, parentFrame, hasPseudoParent);
|
||||
NS_ASSERTION(NS_SUCCEEDED(rv), "GetParentFrame failed!");
|
||||
if (!hasPseudoParent && !aState.mPseudoFrames.IsEmpty()) {
|
||||
ProcessPseudoFrames(aPresContext, aState.mPseudoFrames, aChildItems);
|
||||
}
|
||||
|
||||
@ -2778,7 +2778,7 @@ nsCSSFrameConstructor::GetPseudoCellFrame(nsIPresShell* aPresShell,
|
||||
nsPseudoFrames& pseudoFrames = aState.mPseudoFrames;
|
||||
nsIAtom* parentFrameType = aParentFrameIn.GetType();
|
||||
|
||||
if (pseudoFrames.IsEmpty()) {
|
||||
if (!pseudoFrames.mLowestType) {
|
||||
PRBool created = PR_FALSE;
|
||||
if (nsLayoutAtoms::tableFrame == parentFrameType) { // table parent
|
||||
rv = CreatePseudoRowGroupFrame(aPresShell, aPresContext, aTableCreator, aState, &aParentFrameIn);
|
||||
@ -3426,9 +3426,10 @@ nsCSSFrameConstructor::ConstructTableForeignFrame(nsIPresShell* aPres
|
||||
aStyleContext)) {
|
||||
// this frame may have a pseudo parent, use block frame type to
|
||||
// trigger foreign
|
||||
GetParentFrame(aPresShell, aPresContext, aTableCreator, *aParentFrameIn,
|
||||
nsLayoutAtoms::blockFrame, aState, parentFrame,
|
||||
hasPseudoParent);
|
||||
rv = GetParentFrame(aPresShell, aPresContext, aTableCreator,
|
||||
*aParentFrameIn, nsLayoutAtoms::blockFrame,
|
||||
aState, parentFrame, hasPseudoParent);
|
||||
NS_ASSERTION(NS_SUCCEEDED(rv), "GetParentFrame failed!");
|
||||
if (!hasPseudoParent && !aState.mPseudoFrames.IsEmpty()) {
|
||||
ProcessPseudoFrames(aPresContext, aState.mPseudoFrames, aChildItems);
|
||||
}
|
||||
|
||||
@ -554,6 +554,7 @@ void nsTableCellFrame::VerticallyAlignChild(nsPresContext* aPresContext
|
||||
|
||||
nscoord height = mRect.height;
|
||||
nsIFrame* firstKid = mFrames.FirstChild();
|
||||
NS_ASSERTION(firstKid, "Frame construction error, a table cell always has an inner cell frame");
|
||||
nsRect kidRect = firstKid->GetRect();
|
||||
nscoord childHeight = kidRect.height;
|
||||
|
||||
@ -798,6 +799,7 @@ NS_METHOD nsTableCellFrame::Reflow(nsPresContext* aPresContext,
|
||||
kidSize.width=kidSize.height=kidSize.ascent=kidSize.descent=0;
|
||||
SetPriorAvailWidth(aReflowState.availableWidth);
|
||||
nsIFrame* firstKid = mFrames.FirstChild();
|
||||
NS_ASSERTION(firstKid, "Frame construction error, a table cell always has an inner cell frame");
|
||||
|
||||
nscoord computedPaginatedHeight = 0;
|
||||
|
||||
|
||||
@ -554,6 +554,7 @@ void nsTableCellFrame::VerticallyAlignChild(nsPresContext* aPresContext
|
||||
|
||||
nscoord height = mRect.height;
|
||||
nsIFrame* firstKid = mFrames.FirstChild();
|
||||
NS_ASSERTION(firstKid, "Frame construction error, a table cell always has an inner cell frame");
|
||||
nsRect kidRect = firstKid->GetRect();
|
||||
nscoord childHeight = kidRect.height;
|
||||
|
||||
@ -798,6 +799,7 @@ NS_METHOD nsTableCellFrame::Reflow(nsPresContext* aPresContext,
|
||||
kidSize.width=kidSize.height=kidSize.ascent=kidSize.descent=0;
|
||||
SetPriorAvailWidth(aReflowState.availableWidth);
|
||||
nsIFrame* firstKid = mFrames.FirstChild();
|
||||
NS_ASSERTION(firstKid, "Frame construction error, a table cell always has an inner cell frame");
|
||||
|
||||
nscoord computedPaginatedHeight = 0;
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user