Index: third_party/WebKit/Source/core/layout/LayoutTableCell.cpp |
diff --git a/third_party/WebKit/Source/core/layout/LayoutTableCell.cpp b/third_party/WebKit/Source/core/layout/LayoutTableCell.cpp |
index d13f7b18d23b392f75bfe45936a8d83802059437..9796c3cbd8b4c1228e1dde601a3c9572be7c4855 100644 |
--- a/third_party/WebKit/Source/core/layout/LayoutTableCell.cpp |
+++ b/third_party/WebKit/Source/core/layout/LayoutTableCell.cpp |
@@ -415,11 +415,11 @@ LayoutRect LayoutTableCell::localVisualRect() const { |
return LayoutBlockFlow::localVisualRect(); |
bool rtl = !styleForCellFlow().isLeftToRightDirection(); |
- int outlineOutset = style()->outlineOutsetExtent(); |
- int left = std::max(borderHalfLeft(true), outlineOutset); |
- int right = std::max(borderHalfRight(true), outlineOutset); |
- int top = std::max(borderHalfTop(true), outlineOutset); |
- int bottom = std::max(borderHalfBottom(true), outlineOutset); |
+ LayoutUnit outlineOutset(style()->outlineOutsetExtent()); |
+ LayoutUnit left(std::max(borderHalfLeft(true), outlineOutset)); |
+ LayoutUnit right(std::max(borderHalfRight(true), outlineOutset)); |
+ LayoutUnit top(std::max(borderHalfTop(true), outlineOutset)); |
+ LayoutUnit bottom(std::max(borderHalfBottom(true), outlineOutset)); |
if ((left && !rtl) || (right && rtl)) { |
if (LayoutTableCell* before = table()->cellBefore(this)) { |
top = std::max(top, before->borderHalfTop(true)); |
@@ -1177,22 +1177,22 @@ CollapsedBorderValue LayoutTableCell::computeCollapsedAfterBorder( |
return result; |
} |
-int LayoutTableCell::borderLeft() const { |
+LayoutUnit LayoutTableCell::borderLeft() const { |
return table()->collapseBorders() ? borderHalfLeft(false) |
: LayoutBlockFlow::borderLeft(); |
} |
-int LayoutTableCell::borderRight() const { |
+LayoutUnit LayoutTableCell::borderRight() const { |
return table()->collapseBorders() ? borderHalfRight(false) |
: LayoutBlockFlow::borderRight(); |
} |
-int LayoutTableCell::borderTop() const { |
+LayoutUnit LayoutTableCell::borderTop() const { |
return table()->collapseBorders() ? borderHalfTop(false) |
: LayoutBlockFlow::borderTop(); |
} |
-int LayoutTableCell::borderBottom() const { |
+LayoutUnit LayoutTableCell::borderBottom() const { |
return table()->collapseBorders() ? borderHalfBottom(false) |
: LayoutBlockFlow::borderBottom(); |
} |
@@ -1200,27 +1200,27 @@ int LayoutTableCell::borderBottom() const { |
// FIXME: https://bugs.webkit.org/show_bug.cgi?id=46191, make the collapsed |
// border drawing work with different block flow values instead of being |
// hard-coded to top-to-bottom. |
-int LayoutTableCell::borderStart() const { |
+LayoutUnit LayoutTableCell::borderStart() const { |
return table()->collapseBorders() ? borderHalfStart(false) |
: LayoutBlockFlow::borderStart(); |
} |
-int LayoutTableCell::borderEnd() const { |
+LayoutUnit LayoutTableCell::borderEnd() const { |
return table()->collapseBorders() ? borderHalfEnd(false) |
: LayoutBlockFlow::borderEnd(); |
} |
-int LayoutTableCell::borderBefore() const { |
+LayoutUnit LayoutTableCell::borderBefore() const { |
return table()->collapseBorders() ? borderHalfBefore(false) |
: LayoutBlockFlow::borderBefore(); |
} |
-int LayoutTableCell::borderAfter() const { |
+LayoutUnit LayoutTableCell::borderAfter() const { |
return table()->collapseBorders() ? borderHalfAfter(false) |
: LayoutBlockFlow::borderAfter(); |
} |
-int LayoutTableCell::borderHalfLeft(bool outer) const { |
+LayoutUnit LayoutTableCell::borderHalfLeft(bool outer) const { |
const ComputedStyle& styleForCellFlow = this->styleForCellFlow(); |
if (styleForCellFlow.isHorizontalWritingMode()) |
return styleForCellFlow.isLeftToRightDirection() ? borderHalfStart(outer) |
@@ -1230,7 +1230,7 @@ int LayoutTableCell::borderHalfLeft(bool outer) const { |
: borderHalfBefore(outer); |
} |
-int LayoutTableCell::borderHalfRight(bool outer) const { |
+LayoutUnit LayoutTableCell::borderHalfRight(bool outer) const { |
const ComputedStyle& styleForCellFlow = this->styleForCellFlow(); |
if (styleForCellFlow.isHorizontalWritingMode()) |
return styleForCellFlow.isLeftToRightDirection() ? borderHalfEnd(outer) |
@@ -1239,7 +1239,7 @@ int LayoutTableCell::borderHalfRight(bool outer) const { |
: borderHalfAfter(outer); |
} |
-int LayoutTableCell::borderHalfTop(bool outer) const { |
+LayoutUnit LayoutTableCell::borderHalfTop(bool outer) const { |
const ComputedStyle& styleForCellFlow = this->styleForCellFlow(); |
if (styleForCellFlow.isHorizontalWritingMode()) |
return styleForCellFlow.isFlippedBlocksWritingMode() |
@@ -1249,7 +1249,7 @@ int LayoutTableCell::borderHalfTop(bool outer) const { |
: borderHalfEnd(outer); |
} |
-int LayoutTableCell::borderHalfBottom(bool outer) const { |
+LayoutUnit LayoutTableCell::borderHalfBottom(bool outer) const { |
const ComputedStyle& styleForCellFlow = this->styleForCellFlow(); |
if (styleForCellFlow.isHorizontalWritingMode()) |
return styleForCellFlow.isFlippedBlocksWritingMode() |
@@ -1259,46 +1259,52 @@ int LayoutTableCell::borderHalfBottom(bool outer) const { |
: borderHalfStart(outer); |
} |
-int LayoutTableCell::borderHalfStart(bool outer) const { |
+LayoutUnit LayoutTableCell::borderHalfStart(bool outer) const { |
CollapsedBorderValue border = |
computeCollapsedStartBorder(DoNotIncludeBorderColor); |
- if (border.exists()) |
- return (border.width() + |
- ((styleForCellFlow().isLeftToRightDirection() ^ outer) ? 1 : 0)) / |
- 2; // Give the extra pixel to top and left. |
- return 0; |
+ if (border.exists()) { |
+ return LayoutUnit( |
+ (border.width() + |
+ ((styleForCellFlow().isLeftToRightDirection() ^ outer) ? 1 : 0)) / |
+ 2); // Give the extra pixel to top and left. |
+ } |
+ return LayoutUnit(); |
} |
-int LayoutTableCell::borderHalfEnd(bool outer) const { |
+LayoutUnit LayoutTableCell::borderHalfEnd(bool outer) const { |
CollapsedBorderValue border = |
computeCollapsedEndBorder(DoNotIncludeBorderColor); |
- if (border.exists()) |
- return (border.width() + |
- ((styleForCellFlow().isLeftToRightDirection() ^ outer) ? 0 : 1)) / |
- 2; |
- return 0; |
+ if (border.exists()) { |
+ return LayoutUnit( |
+ (border.width() + |
+ ((styleForCellFlow().isLeftToRightDirection() ^ outer) ? 0 : 1)) / |
+ 2); |
+ } |
+ return LayoutUnit(); |
} |
-int LayoutTableCell::borderHalfBefore(bool outer) const { |
+LayoutUnit LayoutTableCell::borderHalfBefore(bool outer) const { |
CollapsedBorderValue border = |
computeCollapsedBeforeBorder(DoNotIncludeBorderColor); |
- if (border.exists()) |
- return (border.width() + |
- ((styleForCellFlow().isFlippedBlocksWritingMode() ^ outer) ? 0 |
- : 1)) / |
- 2; // Give the extra pixel to top and left. |
- return 0; |
+ if (border.exists()) { |
+ return LayoutUnit( |
+ (border.width() + |
+ ((styleForCellFlow().isFlippedBlocksWritingMode() ^ outer) ? 0 : 1)) / |
+ 2); // Give the extra pixel to top and left. |
+ } |
+ return LayoutUnit(); |
} |
-int LayoutTableCell::borderHalfAfter(bool outer) const { |
+LayoutUnit LayoutTableCell::borderHalfAfter(bool outer) const { |
CollapsedBorderValue border = |
computeCollapsedAfterBorder(DoNotIncludeBorderColor); |
- if (border.exists()) |
- return (border.width() + |
- ((styleForCellFlow().isFlippedBlocksWritingMode() ^ outer) ? 1 |
- : 0)) / |
- 2; |
- return 0; |
+ if (border.exists()) { |
+ return LayoutUnit( |
+ (border.width() + |
+ ((styleForCellFlow().isFlippedBlocksWritingMode() ^ outer) ? 1 : 0)) / |
+ 2); |
+ } |
+ return LayoutUnit(); |
} |
void LayoutTableCell::paint(const PaintInfo& paintInfo, |