Index: Source/core/rendering/RenderFlexibleBox.cpp |
diff --git a/Source/core/rendering/RenderFlexibleBox.cpp b/Source/core/rendering/RenderFlexibleBox.cpp |
index c00acbefc313719cac27c313e843e82d5934b162..ddbc258b1d77c93d1527420b15a248fc4ad14588 100644 |
--- a/Source/core/rendering/RenderFlexibleBox.cpp |
+++ b/Source/core/rendering/RenderFlexibleBox.cpp |
@@ -1104,6 +1104,7 @@ void RenderFlexibleBox::layoutAndPlaceChildren(LayoutUnit& crossAxisOffset, cons |
updateAutoMarginsInMainAxis(child, autoMarginOffset); |
LayoutUnit childCrossAxisMarginBoxExtent; |
+ LayoutUnit crossAxisScrollbarExtentForChild = !isColumnFlow() ? child->scrollbarLogicalHeight() : child->instrinsicScrollbarLogicalWidth(); |
cbiesinger
2014/08/07 02:57:01
I'd really prefer you to flip the ?: around so you
harpreet.sk
2014/08/07 12:46:39
Modified the solution to use isHorizontalFlow and
|
if (alignmentForChild(child) == ItemPositionBaseline && !hasAutoMarginsInCrossAxis(child)) { |
LayoutUnit ascent = marginBoxAscentForChild(child); |
LayoutUnit descent = (crossAxisMarginExtentForChild(child) + crossAxisExtentForChild(child)) - ascent; |
@@ -1111,9 +1112,9 @@ void RenderFlexibleBox::layoutAndPlaceChildren(LayoutUnit& crossAxisOffset, cons |
maxAscent = std::max(maxAscent, ascent); |
maxDescent = std::max(maxDescent, descent); |
- childCrossAxisMarginBoxExtent = maxAscent + maxDescent; |
+ childCrossAxisMarginBoxExtent = maxAscent + maxDescent + crossAxisScrollbarExtentForChild; |
tony
2014/08/06 16:47:22
I don't see any align-item baseline test cases tha
harpreet.sk
2014/08/07 12:46:39
Actually we should not add crossAxisScrollbarExten
|
} else { |
- childCrossAxisMarginBoxExtent = crossAxisIntrinsicExtentForChild(child) + crossAxisMarginExtentForChild(child); |
+ childCrossAxisMarginBoxExtent = crossAxisIntrinsicExtentForChild(child) + crossAxisMarginExtentForChild(child) + crossAxisScrollbarExtentForChild; |
} |
if (!isColumnFlow()) |
setLogicalHeight(std::max(logicalHeight(), crossAxisOffset + flowAwareBorderAfter() + flowAwarePaddingAfter() + childCrossAxisMarginBoxExtent + crossAxisScrollbarExtent())); |