Index: third_party/WebKit/Source/core/layout/MultiColumnFragmentainerGroup.cpp |
diff --git a/third_party/WebKit/Source/core/layout/MultiColumnFragmentainerGroup.cpp b/third_party/WebKit/Source/core/layout/MultiColumnFragmentainerGroup.cpp |
index e747f429b52b2dfdcda8970d6557a6ce4fc75676..11c9a64140b026fbf938342706f5ae18163e43b9 100644 |
--- a/third_party/WebKit/Source/core/layout/MultiColumnFragmentainerGroup.cpp |
+++ b/third_party/WebKit/Source/core/layout/MultiColumnFragmentainerGroup.cpp |
@@ -416,7 +416,8 @@ LayoutRect MultiColumnFragmentainerGroup::flowThreadPortionRectAt( |
} |
LayoutRect MultiColumnFragmentainerGroup::flowThreadPortionOverflowRectAt( |
- unsigned columnIndex) const { |
+ unsigned columnIndex, |
+ ClipRectAxesSelector axesSelector) const { |
// This function determines the portion of the flow thread that paints for the |
// column. Along the inline axis, columns are unclipped at outside edges |
// (i.e., the first and last column in the set), and they clip to half the |
@@ -454,21 +455,27 @@ LayoutRect MultiColumnFragmentainerGroup::flowThreadPortionOverflowRectAt( |
overflowRect.shiftYEdgeTo(portionRect.y()); |
if (!isLastColumnInMulticolContainer) |
overflowRect.shiftMaxYEdgeTo(portionRect.maxY()); |
- if (!isLeftmostColumn) |
- overflowRect.shiftXEdgeTo(portionRect.x() - columnGap / 2); |
- if (!isRightmostColumn) |
- overflowRect.shiftMaxXEdgeTo(portionRect.maxX() + columnGap - |
- columnGap / 2); |
+ if (axesSelector == BothAxes) { |
+ if (!isLeftmostColumn) |
+ overflowRect.shiftXEdgeTo(portionRect.x() - columnGap / 2); |
+ if (!isRightmostColumn) { |
+ overflowRect.shiftMaxXEdgeTo(portionRect.maxX() + columnGap - |
+ columnGap / 2); |
+ } |
+ } |
} else { |
if (!isFirstColumnInMulticolContainer) |
overflowRect.shiftXEdgeTo(portionRect.x()); |
if (!isLastColumnInMulticolContainer) |
overflowRect.shiftMaxXEdgeTo(portionRect.maxX()); |
- if (!isLeftmostColumn) |
- overflowRect.shiftYEdgeTo(portionRect.y() - columnGap / 2); |
- if (!isRightmostColumn) |
- overflowRect.shiftMaxYEdgeTo(portionRect.maxY() + columnGap - |
- columnGap / 2); |
+ if (axesSelector == BothAxes) { |
+ if (!isLeftmostColumn) |
+ overflowRect.shiftYEdgeTo(portionRect.y() - columnGap / 2); |
+ if (!isRightmostColumn) { |
+ overflowRect.shiftMaxYEdgeTo(portionRect.maxY() + columnGap - |
+ columnGap / 2); |
+ } |
+ } |
} |
return overflowRect; |
} |