Index: Source/core/rendering/RenderFlexibleBox.cpp |
diff --git a/Source/core/rendering/RenderFlexibleBox.cpp b/Source/core/rendering/RenderFlexibleBox.cpp |
index c00acbefc313719cac27c313e843e82d5934b162..20b316ef51f14bcbd5267ae5b38142b179d14d9e 100644 |
--- a/Source/core/rendering/RenderFlexibleBox.cpp |
+++ b/Source/core/rendering/RenderFlexibleBox.cpp |
@@ -577,6 +577,11 @@ LayoutUnit RenderFlexibleBox::crossAxisScrollbarExtent() const |
return isHorizontalFlow() ? horizontalScrollbarHeight() : verticalScrollbarWidth(); |
} |
+LayoutUnit RenderFlexibleBox::crossAxisScrollbarExtentForChild(RenderBox* child) const |
+{ |
+ return isHorizontalFlow() ? child->horizontalScrollbarHeight() : child->verticalScrollbarWidth(); |
+} |
+ |
LayoutPoint RenderFlexibleBox::flowAwareLocationForChild(RenderBox* child) const |
{ |
return isHorizontalFlow() ? child->location() : child->location().transposedPoint(); |
@@ -1113,7 +1118,7 @@ void RenderFlexibleBox::layoutAndPlaceChildren(LayoutUnit& crossAxisOffset, cons |
childCrossAxisMarginBoxExtent = maxAscent + maxDescent; |
} else { |
- childCrossAxisMarginBoxExtent = crossAxisIntrinsicExtentForChild(child) + crossAxisMarginExtentForChild(child); |
+ childCrossAxisMarginBoxExtent = crossAxisIntrinsicExtentForChild(child) + crossAxisMarginExtentForChild(child) + crossAxisScrollbarExtentForChild(child); |
} |
if (!isColumnFlow()) |
setLogicalHeight(std::max(logicalHeight(), crossAxisOffset + flowAwareBorderAfter() + flowAwarePaddingAfter() + childCrossAxisMarginBoxExtent + crossAxisScrollbarExtent())); |