diff --git a/mozilla/layout/generic/nsHTMLReflowState.cpp b/mozilla/layout/generic/nsHTMLReflowState.cpp index 8c7a7fbc506..30ee46f48dc 100644 --- a/mozilla/layout/generic/nsHTMLReflowState.cpp +++ b/mozilla/layout/generic/nsHTMLReflowState.cpp @@ -954,8 +954,15 @@ nsHTMLReflowState::InitConstraints(nsIPresContext& aPresContext) mComputedMaxWidth = mComputedMaxHeight = NS_UNCONSTRAINEDSIZE; } else if (NS_FRAME_GET_TYPE(frameType) == NS_CSS_FRAME_TYPE_ABSOLUTE) { - InitAbsoluteConstraints(aPresContext, cbrs, containingBlockWidth, - containingBlockHeight); + // XXX not sure if this belongs here or somewhere else - cwk + // an nsHTMLFrameInnerFrame doesn't get a placeholder frame, the nsHTMLFrameOuterFrame does + nsIAtom* targetFrameType; + frame->GetFrameType(&targetFrameType); + if (nsLayoutAtoms::htmlFrameInnerFrame != targetFrameType) { + InitAbsoluteConstraints(aPresContext, cbrs, containingBlockWidth, + containingBlockHeight); + } + NS_IF_RELEASE(targetFrameType); } else if (NS_CSS_FRAME_TYPE_INLINE == frameType) { // Inline non-replaced elements do not have computed widths or heights // XXX add this check to HaveFixedContentHeight/Width too diff --git a/mozilla/layout/html/base/src/nsHTMLReflowState.cpp b/mozilla/layout/html/base/src/nsHTMLReflowState.cpp index 8c7a7fbc506..30ee46f48dc 100644 --- a/mozilla/layout/html/base/src/nsHTMLReflowState.cpp +++ b/mozilla/layout/html/base/src/nsHTMLReflowState.cpp @@ -954,8 +954,15 @@ nsHTMLReflowState::InitConstraints(nsIPresContext& aPresContext) mComputedMaxWidth = mComputedMaxHeight = NS_UNCONSTRAINEDSIZE; } else if (NS_FRAME_GET_TYPE(frameType) == NS_CSS_FRAME_TYPE_ABSOLUTE) { - InitAbsoluteConstraints(aPresContext, cbrs, containingBlockWidth, - containingBlockHeight); + // XXX not sure if this belongs here or somewhere else - cwk + // an nsHTMLFrameInnerFrame doesn't get a placeholder frame, the nsHTMLFrameOuterFrame does + nsIAtom* targetFrameType; + frame->GetFrameType(&targetFrameType); + if (nsLayoutAtoms::htmlFrameInnerFrame != targetFrameType) { + InitAbsoluteConstraints(aPresContext, cbrs, containingBlockWidth, + containingBlockHeight); + } + NS_IF_RELEASE(targetFrameType); } else if (NS_CSS_FRAME_TYPE_INLINE == frameType) { // Inline non-replaced elements do not have computed widths or heights // XXX add this check to HaveFixedContentHeight/Width too