Index: Source/core/rendering/AutoTableLayout.cpp |
diff --git a/Source/core/rendering/AutoTableLayout.cpp b/Source/core/rendering/AutoTableLayout.cpp |
index eec5a0cd9f63a4fdf8ed79387308db06ee725ad3..31d26bf0e35075f7d76b6119316214f4793182bf 100644 |
--- a/Source/core/rendering/AutoTableLayout.cpp |
+++ b/Source/core/rendering/AutoTableLayout.cpp |
@@ -28,8 +28,6 @@ |
#include "core/rendering/RenderTableCol.h" |
#include "core/rendering/RenderTableSection.h" |
-using namespace std; |
- |
namespace WebCore { |
AutoTableLayout::AutoTableLayout(RenderTable* table) |
@@ -72,11 +70,11 @@ void AutoTableLayout::recalcColumn(unsigned effCol) |
// A cell originates in this column. Ensure we have |
// a min/max width of at least 1px for this column now. |
- columnLayout.minLogicalWidth = max<int>(columnLayout.minLogicalWidth, cellHasContent ? 1 : 0); |
- columnLayout.maxLogicalWidth = max<int>(columnLayout.maxLogicalWidth, 1); |
+ columnLayout.minLogicalWidth = std::max<int>(columnLayout.minLogicalWidth, cellHasContent ? 1 : 0); |
+ columnLayout.maxLogicalWidth = std::max<int>(columnLayout.maxLogicalWidth, 1); |
if (cell->colSpan() == 1) { |
- columnLayout.minLogicalWidth = max<int>(cell->minPreferredLogicalWidth(), columnLayout.minLogicalWidth); |
+ columnLayout.minLogicalWidth = std::max<int>(cell->minPreferredLogicalWidth(), columnLayout.minLogicalWidth); |
if (cell->maxPreferredLogicalWidth() > columnLayout.maxLogicalWidth) { |
columnLayout.maxLogicalWidth = cell->maxPreferredLogicalWidth(); |
maxContributor = cell; |
@@ -133,7 +131,7 @@ void AutoTableLayout::recalcColumn(unsigned effCol) |
} |
} |
- columnLayout.maxLogicalWidth = max(columnLayout.maxLogicalWidth, columnLayout.minLogicalWidth); |
+ columnLayout.maxLogicalWidth = std::max(columnLayout.maxLogicalWidth, columnLayout.minLogicalWidth); |
} |
void AutoTableLayout::fullRecalc() |
@@ -229,9 +227,9 @@ void AutoTableLayout::computeIntrinsicLogicalWidths(LayoutUnit& minWidth, Layout |
maxWidth += m_layoutStruct[i].effectiveMaxLogicalWidth; |
if (scaleColumns) { |
if (m_layoutStruct[i].effectiveLogicalWidth.isPercent()) { |
- float percent = min(static_cast<float>(m_layoutStruct[i].effectiveLogicalWidth.percent()), remainingPercent); |
- float logicalWidth = static_cast<float>(m_layoutStruct[i].effectiveMaxLogicalWidth) * 100 / max(percent, epsilon); |
- maxPercent = max(logicalWidth, maxPercent); |
+ float percent = std::min(static_cast<float>(m_layoutStruct[i].effectiveLogicalWidth.percent()), remainingPercent); |
+ float logicalWidth = static_cast<float>(m_layoutStruct[i].effectiveMaxLogicalWidth) * 100 / std::max(percent, epsilon); |
+ maxPercent = std::max(logicalWidth, maxPercent); |
remainingPercent -= percent; |
} else |
maxNonPercent += m_layoutStruct[i].effectiveMaxLogicalWidth; |
@@ -239,12 +237,12 @@ void AutoTableLayout::computeIntrinsicLogicalWidths(LayoutUnit& minWidth, Layout |
} |
if (scaleColumns) { |
- maxNonPercent = maxNonPercent * 100 / max(remainingPercent, epsilon); |
- maxWidth = max<int>(maxWidth, static_cast<int>(min(maxNonPercent, static_cast<float>(tableMaxWidth)))); |
- maxWidth = max<int>(maxWidth, static_cast<int>(min(maxPercent, static_cast<float>(tableMaxWidth)))); |
+ maxNonPercent = maxNonPercent * 100 / std::max(remainingPercent, epsilon); |
+ maxWidth = std::max<int>(maxWidth, static_cast<int>(std::min(maxNonPercent, static_cast<float>(tableMaxWidth)))); |
+ maxWidth = std::max<int>(maxWidth, static_cast<int>(std::min(maxPercent, static_cast<float>(tableMaxWidth)))); |
} |
- maxWidth = max<int>(maxWidth, spanMaxLogicalWidth); |
+ maxWidth = std::max<int>(maxWidth, spanMaxLogicalWidth); |
} |
void AutoTableLayout::applyPreferredLogicalWidthQuirks(LayoutUnit& minWidth, LayoutUnit& maxWidth) const |
@@ -257,12 +255,12 @@ void AutoTableLayout::applyPreferredLogicalWidthQuirks(LayoutUnit& minWidth, Lay |
// FIXME: This line looks REALLY suspicious as it could allow the minimum |
// preferred logical width to be smaller than the table content. This has |
// to be cross-checked against other browsers. |
- minWidth = maxWidth = max<int>(minWidth, tableLogicalWidth.value()); |
+ minWidth = maxWidth = std::max<int>(minWidth, tableLogicalWidth.value()); |
const Length& styleMaxLogicalWidth = m_table->style()->logicalMaxWidth(); |
if (styleMaxLogicalWidth.isFixed() && !styleMaxLogicalWidth.isNegative()) { |
- minWidth = min<int>(minWidth, styleMaxLogicalWidth.value()); |
- minWidth = max(minWidth, minContentWidth); |
+ minWidth = std::min<int>(minWidth, styleMaxLogicalWidth.value()); |
+ minWidth = std::max(minWidth, minContentWidth); |
maxWidth = minWidth; |
} |
} |
@@ -358,7 +356,7 @@ int AutoTableLayout::calcEffectiveLogicalWidth() |
// can't satify this condition, treat as variable |
cellLogicalWidth = Length(); |
} else { |
- maxLogicalWidth = max(maxLogicalWidth, static_cast<int>(max(spanMaxLogicalWidth, cellMaxLogicalWidth) * 100 / cellLogicalWidth.percent())); |
+ maxLogicalWidth = std::max(maxLogicalWidth, static_cast<int>(std::max(spanMaxLogicalWidth, cellMaxLogicalWidth) * 100 / cellLogicalWidth.percent())); |
// all non percent columns in the span get percent values to sum up correctly. |
float percentMissing = cellLogicalWidth.percent() - totalPercent; |
@@ -386,7 +384,7 @@ int AutoTableLayout::calcEffectiveLogicalWidth() |
if (cellMinLogicalWidth > spanMinLogicalWidth) { |
if (allColsAreFixed) { |
for (unsigned pos = effCol; fixedWidth > 0 && pos < lastCol; ++pos) { |
- int cellLogicalWidth = max(m_layoutStruct[pos].effectiveMinLogicalWidth, static_cast<int>(cellMinLogicalWidth * m_layoutStruct[pos].logicalWidth.value() / fixedWidth)); |
+ int cellLogicalWidth = std::max(m_layoutStruct[pos].effectiveMinLogicalWidth, static_cast<int>(cellMinLogicalWidth * m_layoutStruct[pos].logicalWidth.value() / fixedWidth)); |
fixedWidth -= m_layoutStruct[pos].logicalWidth.value(); |
cellMinLogicalWidth -= cellLogicalWidth; |
m_layoutStruct[pos].effectiveMinLogicalWidth = cellLogicalWidth; |
@@ -401,7 +399,7 @@ int AutoTableLayout::calcEffectiveLogicalWidth() |
float percent = m_layoutStruct[pos].logicalWidth.isPercent() ? m_layoutStruct[pos].logicalWidth.percent() : m_layoutStruct[pos].effectiveLogicalWidth.percent(); |
int columnMinLogicalWidth = static_cast<int>(percent * cellMinLogicalWidth / totalPercent); |
int columnMaxLogicalWidth = static_cast<int>(percent * cellMaxLogicalWidth / totalPercent); |
- m_layoutStruct[pos].effectiveMinLogicalWidth = max(m_layoutStruct[pos].effectiveMinLogicalWidth, columnMinLogicalWidth); |
+ m_layoutStruct[pos].effectiveMinLogicalWidth = std::max(m_layoutStruct[pos].effectiveMinLogicalWidth, columnMinLogicalWidth); |
m_layoutStruct[pos].effectiveMaxLogicalWidth = columnMaxLogicalWidth; |
allocatedMinLogicalWidth += columnMinLogicalWidth; |
allocatedMaxLogicalWidth += columnMaxLogicalWidth; |
@@ -417,7 +415,7 @@ int AutoTableLayout::calcEffectiveLogicalWidth() |
// Give min to variable first, to fixed second, and to others third. |
for (unsigned pos = effCol; remainingMaxLogicalWidth >= 0 && pos < lastCol; ++pos) { |
if (m_layoutStruct[pos].logicalWidth.isFixed() && haveAuto && fixedWidth <= cellMinLogicalWidth) { |
- int colMinLogicalWidth = max<int>(m_layoutStruct[pos].effectiveMinLogicalWidth, m_layoutStruct[pos].logicalWidth.value()); |
+ int colMinLogicalWidth = std::max<int>(m_layoutStruct[pos].effectiveMinLogicalWidth, m_layoutStruct[pos].logicalWidth.value()); |
fixedWidth -= m_layoutStruct[pos].logicalWidth.value(); |
remainingMinLogicalWidth -= m_layoutStruct[pos].effectiveMinLogicalWidth; |
remainingMaxLogicalWidth -= m_layoutStruct[pos].effectiveMaxLogicalWidth; |
@@ -428,8 +426,8 @@ int AutoTableLayout::calcEffectiveLogicalWidth() |
for (unsigned pos = effCol; remainingMaxLogicalWidth >= 0 && pos < lastCol && remainingMinLogicalWidth < cellMinLogicalWidth; ++pos) { |
if (!(m_layoutStruct[pos].logicalWidth.isFixed() && haveAuto && fixedWidth <= cellMinLogicalWidth)) { |
- int colMinLogicalWidth = max<int>(m_layoutStruct[pos].effectiveMinLogicalWidth, static_cast<int>(remainingMaxLogicalWidth ? cellMinLogicalWidth * static_cast<float>(m_layoutStruct[pos].effectiveMaxLogicalWidth) / remainingMaxLogicalWidth : cellMinLogicalWidth)); |
- colMinLogicalWidth = min<int>(m_layoutStruct[pos].effectiveMinLogicalWidth + (cellMinLogicalWidth - remainingMinLogicalWidth), colMinLogicalWidth); |
+ int colMinLogicalWidth = std::max<int>(m_layoutStruct[pos].effectiveMinLogicalWidth, static_cast<int>(remainingMaxLogicalWidth ? cellMinLogicalWidth * static_cast<float>(m_layoutStruct[pos].effectiveMaxLogicalWidth) / remainingMaxLogicalWidth : cellMinLogicalWidth)); |
+ colMinLogicalWidth = std::min<int>(m_layoutStruct[pos].effectiveMinLogicalWidth + (cellMinLogicalWidth - remainingMinLogicalWidth), colMinLogicalWidth); |
remainingMaxLogicalWidth -= m_layoutStruct[pos].effectiveMaxLogicalWidth; |
remainingMinLogicalWidth -= m_layoutStruct[pos].effectiveMinLogicalWidth; |
cellMinLogicalWidth -= colMinLogicalWidth; |
@@ -441,7 +439,7 @@ int AutoTableLayout::calcEffectiveLogicalWidth() |
if (!cellLogicalWidth.isPercent()) { |
if (cellMaxLogicalWidth > spanMaxLogicalWidth) { |
for (unsigned pos = effCol; spanMaxLogicalWidth >= 0 && pos < lastCol; ++pos) { |
- int colMaxLogicalWidth = max(m_layoutStruct[pos].effectiveMaxLogicalWidth, static_cast<int>(spanMaxLogicalWidth ? cellMaxLogicalWidth * static_cast<float>(m_layoutStruct[pos].effectiveMaxLogicalWidth) / spanMaxLogicalWidth : cellMaxLogicalWidth)); |
+ int colMaxLogicalWidth = std::max(m_layoutStruct[pos].effectiveMaxLogicalWidth, static_cast<int>(spanMaxLogicalWidth ? cellMaxLogicalWidth * static_cast<float>(m_layoutStruct[pos].effectiveMaxLogicalWidth) / spanMaxLogicalWidth : cellMaxLogicalWidth)); |
spanMaxLogicalWidth -= m_layoutStruct[pos].effectiveMaxLogicalWidth; |
cellMaxLogicalWidth -= colMaxLogicalWidth; |
m_layoutStruct[pos].effectiveMaxLogicalWidth = colMaxLogicalWidth; |
@@ -449,7 +447,7 @@ int AutoTableLayout::calcEffectiveLogicalWidth() |
} |
} else { |
for (unsigned pos = effCol; pos < lastCol; ++pos) |
- m_layoutStruct[pos].maxLogicalWidth = max(m_layoutStruct[pos].maxLogicalWidth, m_layoutStruct[pos].minLogicalWidth); |
+ m_layoutStruct[pos].maxLogicalWidth = std::max(m_layoutStruct[pos].maxLogicalWidth, m_layoutStruct[pos].minLogicalWidth); |
} |
// treat span ranges consisting of empty cells only as if they had content |
if (spanHasEmptyCellsOnly) { |
@@ -459,7 +457,7 @@ int AutoTableLayout::calcEffectiveLogicalWidth() |
} |
m_effectiveLogicalWidthDirty = false; |
- return min(maxLogicalWidth, INT_MAX / 2); |
+ return std::min(maxLogicalWidth, INT_MAX / 2); |
} |
/* gets all cells that originate in a column and have a cellspan > 1 |
@@ -551,7 +549,7 @@ void AutoTableLayout::layout() |
for (size_t i = 0; i < nEffCols; ++i) { |
Length& logicalWidth = m_layoutStruct[i].effectiveLogicalWidth; |
if (logicalWidth.isPercent()) { |
- int cellLogicalWidth = max<int>(m_layoutStruct[i].effectiveMinLogicalWidth, minimumValueForLength(logicalWidth, tableLogicalWidth)); |
+ int cellLogicalWidth = std::max<int>(m_layoutStruct[i].effectiveMinLogicalWidth, minimumValueForLength(logicalWidth, tableLogicalWidth)); |
available += m_layoutStruct[i].computedLogicalWidth - cellLogicalWidth; |
m_layoutStruct[i].computedLogicalWidth = cellLogicalWidth; |
} |
@@ -563,10 +561,10 @@ void AutoTableLayout::layout() |
--i; |
if (m_layoutStruct[i].effectiveLogicalWidth.isPercent()) { |
int cellLogicalWidth = m_layoutStruct[i].computedLogicalWidth; |
- int reduction = min(cellLogicalWidth, excess); |
+ int reduction = std::min(cellLogicalWidth, excess); |
// the lines below might look inconsistent, but that's the way it's handled in mozilla |
excess -= reduction; |
- int newLogicalWidth = max<int>(m_layoutStruct[i].effectiveMinLogicalWidth, cellLogicalWidth - reduction); |
+ int newLogicalWidth = std::max<int>(m_layoutStruct[i].effectiveMinLogicalWidth, cellLogicalWidth - reduction); |
available += cellLogicalWidth - newLogicalWidth; |
m_layoutStruct[i].computedLogicalWidth = newLogicalWidth; |
} |
@@ -591,7 +589,7 @@ void AutoTableLayout::layout() |
for (size_t i = 0; i < nEffCols; ++i) { |
Length& logicalWidth = m_layoutStruct[i].effectiveLogicalWidth; |
if (logicalWidth.isAuto() && totalAuto && !m_layoutStruct[i].emptyCellsOnly) { |
- int cellLogicalWidth = max<int>(m_layoutStruct[i].computedLogicalWidth, static_cast<int>(available * static_cast<float>(m_layoutStruct[i].effectiveMaxLogicalWidth) / totalAuto)); |
+ int cellLogicalWidth = std::max<int>(m_layoutStruct[i].computedLogicalWidth, static_cast<int>(available * static_cast<float>(m_layoutStruct[i].effectiveMaxLogicalWidth) / totalAuto)); |
available -= cellLogicalWidth; |
totalAuto -= m_layoutStruct[i].effectiveMaxLogicalWidth; |
m_layoutStruct[i].computedLogicalWidth = cellLogicalWidth; |