diff --git a/mozilla/layout/html/table/src/BasicTableLayoutStrategy.cpp b/mozilla/layout/html/table/src/BasicTableLayoutStrategy.cpp
index f8a10678494..d548b55ce32 100644
--- a/mozilla/layout/html/table/src/BasicTableLayoutStrategy.cpp
+++ b/mozilla/layout/html/table/src/BasicTableLayoutStrategy.cpp
@@ -149,18 +149,15 @@ BasicTableLayoutStrategy::BalanceColumnWidths(nsIStyleContext* aTableSty
if (!tableIsAutoWidth && (specifiedTableWidth > 0)) {
maxWidth = PR_MIN(specifiedTableWidth, aMaxWidthIn); // specifiedWidth usually == aMaxWidthIn for fixed table
}
- // reduce the maxWidth by border and padding in some cases, since we will be dealing with content width
- if (!tableIsAutoWidth && (maxWidth != NS_UNCONSTRAINEDSIZE)) {
- const nsStylePosition* position;
- mTableFrame->GetStyleData(eStyleStruct_Position, ((const nsStyleStruct *&)position));
- if (eStyleUnit_Percent != position->mWidth.GetUnit()) {
- const nsStyleSpacing* spacing;
- mTableFrame->GetStyleData(eStyleStruct_Spacing, (const nsStyleStruct *&)spacing);
- nsMargin borderPadding;
- spacing->CalcBorderPaddingFor(mTableFrame, borderPadding);
- maxWidth -= borderPadding.left + borderPadding.right;
- maxWidth = PR_MAX(0, maxWidth);
- }
+ // reduce the maxWidth by border and padding, since we will be dealing with content width
+ // XXX should this be done in aMaxWidthIn by the caller?
+ if (maxWidth != NS_UNCONSTRAINEDSIZE) {
+ const nsStyleSpacing* spacing;
+ mTableFrame->GetStyleData(eStyleStruct_Spacing, (const nsStyleStruct *&)spacing);
+ nsMargin borderPadding;
+ spacing->CalcBorderPaddingFor(mTableFrame, borderPadding);
+ maxWidth -= borderPadding.left + borderPadding.right;
+ maxWidth = PR_MAX(0, maxWidth);
}
// set the table's columns to the min width
// initialize the col percent and cell percent values to 0.
diff --git a/mozilla/layout/html/table/src/nsTableOuterFrame.cpp b/mozilla/layout/html/table/src/nsTableOuterFrame.cpp
index 381e943efce..790190ab558 100644
--- a/mozilla/layout/html/table/src/nsTableOuterFrame.cpp
+++ b/mozilla/layout/html/table/src/nsTableOuterFrame.cpp
@@ -809,14 +809,7 @@ nscoord nsTableOuterFrame::ComputeAvailableTableWidth(const nsHTMLReflowState& a
maxWidth = aReflowState.availableWidth;
break;
}
-
- // Subtract out border and padding
- const nsStyleSpacing* spacing =
- (const nsStyleSpacing*)mStyleContext->GetStyleData(eStyleStruct_Spacing);
- nsMargin borderPadding;
- spacing->CalcBorderPaddingFor(this, borderPadding);
-
- maxWidth -= borderPadding.left + borderPadding.right;
+
if (maxWidth <= 0) {
// Nonsense style specification
maxWidth = 0;
diff --git a/mozilla/layout/tables/BasicTableLayoutStrategy.cpp b/mozilla/layout/tables/BasicTableLayoutStrategy.cpp
index f8a10678494..d548b55ce32 100644
--- a/mozilla/layout/tables/BasicTableLayoutStrategy.cpp
+++ b/mozilla/layout/tables/BasicTableLayoutStrategy.cpp
@@ -149,18 +149,15 @@ BasicTableLayoutStrategy::BalanceColumnWidths(nsIStyleContext* aTableSty
if (!tableIsAutoWidth && (specifiedTableWidth > 0)) {
maxWidth = PR_MIN(specifiedTableWidth, aMaxWidthIn); // specifiedWidth usually == aMaxWidthIn for fixed table
}
- // reduce the maxWidth by border and padding in some cases, since we will be dealing with content width
- if (!tableIsAutoWidth && (maxWidth != NS_UNCONSTRAINEDSIZE)) {
- const nsStylePosition* position;
- mTableFrame->GetStyleData(eStyleStruct_Position, ((const nsStyleStruct *&)position));
- if (eStyleUnit_Percent != position->mWidth.GetUnit()) {
- const nsStyleSpacing* spacing;
- mTableFrame->GetStyleData(eStyleStruct_Spacing, (const nsStyleStruct *&)spacing);
- nsMargin borderPadding;
- spacing->CalcBorderPaddingFor(mTableFrame, borderPadding);
- maxWidth -= borderPadding.left + borderPadding.right;
- maxWidth = PR_MAX(0, maxWidth);
- }
+ // reduce the maxWidth by border and padding, since we will be dealing with content width
+ // XXX should this be done in aMaxWidthIn by the caller?
+ if (maxWidth != NS_UNCONSTRAINEDSIZE) {
+ const nsStyleSpacing* spacing;
+ mTableFrame->GetStyleData(eStyleStruct_Spacing, (const nsStyleStruct *&)spacing);
+ nsMargin borderPadding;
+ spacing->CalcBorderPaddingFor(mTableFrame, borderPadding);
+ maxWidth -= borderPadding.left + borderPadding.right;
+ maxWidth = PR_MAX(0, maxWidth);
}
// set the table's columns to the min width
// initialize the col percent and cell percent values to 0.
diff --git a/mozilla/layout/tables/nsTableOuterFrame.cpp b/mozilla/layout/tables/nsTableOuterFrame.cpp
index 381e943efce..790190ab558 100644
--- a/mozilla/layout/tables/nsTableOuterFrame.cpp
+++ b/mozilla/layout/tables/nsTableOuterFrame.cpp
@@ -809,14 +809,7 @@ nscoord nsTableOuterFrame::ComputeAvailableTableWidth(const nsHTMLReflowState& a
maxWidth = aReflowState.availableWidth;
break;
}
-
- // Subtract out border and padding
- const nsStyleSpacing* spacing =
- (const nsStyleSpacing*)mStyleContext->GetStyleData(eStyleStruct_Spacing);
- nsMargin borderPadding;
- spacing->CalcBorderPaddingFor(this, borderPadding);
-
- maxWidth -= borderPadding.left + borderPadding.right;
+
if (maxWidth <= 0) {
// Nonsense style specification
maxWidth = 0;