Index: Source/core/rendering/RenderBox.cpp |
diff --git a/Source/core/rendering/RenderBox.cpp b/Source/core/rendering/RenderBox.cpp |
index 2cf62d56b3ec3e058d0507708a4d31f92305419f..dbbf24bbcfb5e20ccddb16597b5e2c4179d0cd1c 100644 |
--- a/Source/core/rendering/RenderBox.cpp |
+++ b/Source/core/rendering/RenderBox.cpp |
@@ -4179,8 +4179,12 @@ void RenderBox::clearLayoutOverflow() |
bool RenderBox::logicalWidthIsResolvableFromBlock(const RenderBlock* containingBlock) |
Julien - ping for review
2015/02/18 22:13:16
This function looks like it could have static link
Manuel Rego
2015/02/25 16:57:59
This is marked as static in LayoutBox.h like
perce
|
{ |
const RenderBlock* cb = containingBlock; |
- while (!cb->isRenderView() && !cb->isOutOfFlowPositioned() && (cb->style()->logicalWidth().isAuto() || cb->isAnonymousBlock())) |
+ while (!cb->isRenderView() && !cb->isOutOfFlowPositioned() && (cb->style()->logicalWidth().isAuto() || cb->isAnonymousBlock())) { |
+ if (cb->hasOverrideContainingBlockLogicalWidth()) |
+ return cb->overrideContainingBlockContentLogicalWidth() != -1; |
Julien - ping for review
2015/02/18 22:13:16
I am concerned about this logic needing the bits i
Manuel Rego
2015/02/25 16:57:59
Done.
|
+ |
cb = cb->containingBlock(); |
+ } |
if (cb->style()->logicalWidth().isFixed()) |
return true; |
@@ -4205,6 +4209,8 @@ bool RenderBox::hasDefiniteLogicalWidth() const |
// element (http://dev.w3.org/csswg/css-sizing-3/#definite). |
if (isOutOfFlowPositioned()) |
return true; |
+ if (hasOverrideContainingBlockLogicalWidth()) |
+ return overrideContainingBlockContentLogicalWidth() != -1; |
return RenderBox::logicalWidthIsResolvableFromBlock(containingBlock()); |
} |
@@ -4226,6 +4232,9 @@ bool RenderBox::percentageLogicalHeightIsResolvableFromBlock(const RenderBlock* |
while (!cb->isRenderView() && !cb->isBody() && !cb->isTableCell() && !cb->isOutOfFlowPositioned() && cb->style()->logicalHeight().isAuto()) { |
if (!inQuirksMode && !cb->isAnonymousBlock()) |
break; |
+ if (cb->hasOverrideContainingBlockLogicalHeight()) |
+ return cb->overrideContainingBlockContentLogicalHeight() != -1; |
+ |
cb = cb->containingBlock(); |
} |
@@ -4269,6 +4278,8 @@ bool RenderBox::hasDefiniteLogicalHeight() const |
// element (http://dev.w3.org/csswg/css-sizing-3/#definite). |
if (isOutOfFlowPositioned()) |
return true; |
+ if (hasOverrideContainingBlockLogicalHeight()) |
+ return overrideContainingBlockContentLogicalHeight() != -1; |
return percentageLogicalHeightIsResolvable(this); |
} |