diff --git a/mozilla/layout/forms/nsTextControlFrame.cpp b/mozilla/layout/forms/nsTextControlFrame.cpp index fc2420cfd0d..be6fc196642 100644 --- a/mozilla/layout/forms/nsTextControlFrame.cpp +++ b/mozilla/layout/forms/nsTextControlFrame.cpp @@ -1490,6 +1490,14 @@ nsTextControlFrame::CalculateSizeStandard(nsIPresContext* aPresContext, } // Now add the extra padding on (so that small input sizes work well) aDesiredSize.width += internalPadding; + } else { + // This is to account for the anonymous
having a 1 twip width + // in Full Standards mode, see BRFrame::Reflow and bug 228752. + nsCompatibility mode; + aPresContext->GetCompatibilityMode(&mode); + if (mode == eCompatibility_FullStandards) { + aDesiredSize.width += 1; + } } // Set the height equal to total number of rows (times the height of each diff --git a/mozilla/layout/generic/nsBRFrame.cpp b/mozilla/layout/generic/nsBRFrame.cpp index 5504769315a..4be7091b312 100644 --- a/mozilla/layout/generic/nsBRFrame.cpp +++ b/mozilla/layout/generic/nsBRFrame.cpp @@ -184,6 +184,8 @@ BRFrame::Reflow(nsIPresContext* aPresContext, // code in nsLineLayout::VerticalAlignFrames that zaps minY/maxY // if the width is zero. // XXX This also fixes bug 10036! + // Warning: nsTextControlFrame::CalculateSizeStandard depends on + // the following line, see bug 228752. aMetrics.width = 1; // Update max-element-width to keep us honest diff --git a/mozilla/layout/html/base/src/nsBRFrame.cpp b/mozilla/layout/html/base/src/nsBRFrame.cpp index 5504769315a..4be7091b312 100644 --- a/mozilla/layout/html/base/src/nsBRFrame.cpp +++ b/mozilla/layout/html/base/src/nsBRFrame.cpp @@ -184,6 +184,8 @@ BRFrame::Reflow(nsIPresContext* aPresContext, // code in nsLineLayout::VerticalAlignFrames that zaps minY/maxY // if the width is zero. // XXX This also fixes bug 10036! + // Warning: nsTextControlFrame::CalculateSizeStandard depends on + // the following line, see bug 228752. aMetrics.width = 1; // Update max-element-width to keep us honest diff --git a/mozilla/layout/html/forms/src/nsTextControlFrame.cpp b/mozilla/layout/html/forms/src/nsTextControlFrame.cpp index fc2420cfd0d..be6fc196642 100644 --- a/mozilla/layout/html/forms/src/nsTextControlFrame.cpp +++ b/mozilla/layout/html/forms/src/nsTextControlFrame.cpp @@ -1490,6 +1490,14 @@ nsTextControlFrame::CalculateSizeStandard(nsIPresContext* aPresContext, } // Now add the extra padding on (so that small input sizes work well) aDesiredSize.width += internalPadding; + } else { + // This is to account for the anonymous
having a 1 twip width + // in Full Standards mode, see BRFrame::Reflow and bug 228752. + nsCompatibility mode; + aPresContext->GetCompatibilityMode(&mode); + if (mode == eCompatibility_FullStandards) { + aDesiredSize.width += 1; + } } // Set the height equal to total number of rows (times the height of each