| Index: Source/core/css/LayoutStyleCSSValueMapping.cpp
|
| diff --git a/Source/core/css/LayoutStyleCSSValueMapping.cpp b/Source/core/css/LayoutStyleCSSValueMapping.cpp
|
| index a33156932f6c3e183d3e8143a2626baca6d2b4a8..67b0d245028fc30210a9f86f37a8f6a4c61dd1c7 100644
|
| --- a/Source/core/css/LayoutStyleCSSValueMapping.cpp
|
| +++ b/Source/core/css/LayoutStyleCSSValueMapping.cpp
|
| @@ -163,9 +163,11 @@ static PassRefPtrWillBeRawPtr<CSSValue> valueForPositionOffset(const LayoutStyle
|
| }
|
|
|
| if (offset.isPercent() && renderer && renderer->isBox()) {
|
| + // http://www.w3.org/TR/CSS21/visudet.html#containing-block-details
|
| + AvailableLogicalHeightType heightType = (style.position() == AbsolutePosition) ? IncludePadding : ExcludeMarginBorderPadding;
|
| LayoutUnit containingBlockSize = (propertyID == CSSPropertyLeft || propertyID == CSSPropertyRight) ?
|
| toLayoutBox(renderer)->containingBlockLogicalWidthForContent() :
|
| - toLayoutBox(renderer)->containingBlockLogicalHeightForContent(ExcludeMarginBorderPadding);
|
| + toLayoutBox(renderer)->containingBlockLogicalHeightForContent(heightType);
|
| return zoomAdjustedPixelValue(valueForLength(offset, containingBlockSize), style);
|
| }
|
| if (offset.isAuto()) {
|
|
|