| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
| 4 * (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com) | 4 * (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com) |
| 5 * (C) 2005, 2006 Samuel Weinig (sam.weinig@gmail.com) | 5 * (C) 2005, 2006 Samuel Weinig (sam.weinig@gmail.com) |
| 6 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserv
ed. | 6 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserv
ed. |
| 7 * Copyright (C) 2013 Adobe Systems Incorporated. All rights reserved. | 7 * Copyright (C) 2013 Adobe Systems Incorporated. All rights reserved. |
| 8 * | 8 * |
| 9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
| 10 * modify it under the terms of the GNU Library General Public | 10 * modify it under the terms of the GNU Library General Public |
| (...skipping 28 matching lines...) Expand all Loading... |
| 39 #include "core/html/HTMLFrameOwnerElement.h" | 39 #include "core/html/HTMLFrameOwnerElement.h" |
| 40 #include "core/page/AutoscrollController.h" | 40 #include "core/page/AutoscrollController.h" |
| 41 #include "core/page/EventHandler.h" | 41 #include "core/page/EventHandler.h" |
| 42 #include "core/page/Page.h" | 42 #include "core/page/Page.h" |
| 43 #include "core/paint/BackgroundImageGeometry.h" | 43 #include "core/paint/BackgroundImageGeometry.h" |
| 44 #include "core/paint/BoxPainter.h" | 44 #include "core/paint/BoxPainter.h" |
| 45 #include "core/rendering/HitTestResult.h" | 45 #include "core/rendering/HitTestResult.h" |
| 46 #include "core/rendering/PaintInfo.h" | 46 #include "core/rendering/PaintInfo.h" |
| 47 #include "core/rendering/RenderDeprecatedFlexibleBox.h" | 47 #include "core/rendering/RenderDeprecatedFlexibleBox.h" |
| 48 #include "core/rendering/RenderFlexibleBox.h" | 48 #include "core/rendering/RenderFlexibleBox.h" |
| 49 #include "core/rendering/RenderFlowThread.h" |
| 49 #include "core/rendering/RenderGeometryMap.h" | 50 #include "core/rendering/RenderGeometryMap.h" |
| 50 #include "core/rendering/RenderGrid.h" | 51 #include "core/rendering/RenderGrid.h" |
| 51 #include "core/rendering/RenderInline.h" | 52 #include "core/rendering/RenderInline.h" |
| 52 #include "core/rendering/RenderLayer.h" | 53 #include "core/rendering/RenderLayer.h" |
| 53 #include "core/rendering/RenderListBox.h" | 54 #include "core/rendering/RenderListBox.h" |
| 54 #include "core/rendering/RenderListMarker.h" | 55 #include "core/rendering/RenderListMarker.h" |
| 55 #include "core/rendering/RenderTableCell.h" | 56 #include "core/rendering/RenderTableCell.h" |
| 56 #include "core/rendering/RenderView.h" | 57 #include "core/rendering/RenderView.h" |
| 57 #include "core/rendering/compositing/RenderLayerCompositor.h" | 58 #include "core/rendering/compositing/RenderLayerCompositor.h" |
| 58 #include "platform/LengthFunctions.h" | 59 #include "platform/LengthFunctions.h" |
| (...skipping 1360 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1419 width += portionOfMarginNotConsumedByFloat(childMarginStart, startOffsetForC
ontent, startOffsetForLine); | 1420 width += portionOfMarginNotConsumedByFloat(childMarginStart, startOffsetForC
ontent, startOffsetForLine); |
| 1420 width += portionOfMarginNotConsumedByFloat(childMarginEnd, endOffsetForConte
nt, endOffsetForLine); | 1421 width += portionOfMarginNotConsumedByFloat(childMarginEnd, endOffsetForConte
nt, endOffsetForLine); |
| 1421 return width; | 1422 return width; |
| 1422 } | 1423 } |
| 1423 | 1424 |
| 1424 LayoutUnit RenderBox::containingBlockLogicalWidthForContent() const | 1425 LayoutUnit RenderBox::containingBlockLogicalWidthForContent() const |
| 1425 { | 1426 { |
| 1426 if (hasOverrideContainingBlockLogicalWidth()) | 1427 if (hasOverrideContainingBlockLogicalWidth()) |
| 1427 return overrideContainingBlockContentLogicalWidth(); | 1428 return overrideContainingBlockContentLogicalWidth(); |
| 1428 | 1429 |
| 1429 RenderBlock* cb = containingBlock(); | 1430 RenderBlock* cb; |
| 1431 if (isColumnSpanAll()) |
| 1432 cb = flowThreadContainingBlock()->containingBlock(); |
| 1433 else |
| 1434 cb = containingBlock(); |
| 1430 return cb->availableLogicalWidth(); | 1435 return cb->availableLogicalWidth(); |
| 1431 } | 1436 } |
| 1432 | 1437 |
| 1433 LayoutUnit RenderBox::containingBlockLogicalHeightForContent(AvailableLogicalHei
ghtType heightType) const | 1438 LayoutUnit RenderBox::containingBlockLogicalHeightForContent(AvailableLogicalHei
ghtType heightType) const |
| 1434 { | 1439 { |
| 1435 if (hasOverrideContainingBlockLogicalHeight()) | 1440 if (hasOverrideContainingBlockLogicalHeight()) |
| 1436 return overrideContainingBlockContentLogicalHeight(); | 1441 return overrideContainingBlockContentLogicalHeight(); |
| 1437 | 1442 |
| 1438 RenderBlock* cb = containingBlock(); | 1443 RenderBlock* cb; |
| 1444 if (isColumnSpanAll()) |
| 1445 cb = flowThreadContainingBlock()->containingBlock(); |
| 1446 else |
| 1447 cb = containingBlock(); |
| 1439 return cb->availableLogicalHeight(heightType); | 1448 return cb->availableLogicalHeight(heightType); |
| 1440 } | 1449 } |
| 1441 | 1450 |
| 1442 LayoutUnit RenderBox::containingBlockAvailableLineWidth() const | 1451 LayoutUnit RenderBox::containingBlockAvailableLineWidth() const |
| 1443 { | 1452 { |
| 1444 RenderBlock* cb = containingBlock(); | 1453 RenderBlock* cb = containingBlock(); |
| 1445 if (cb->isRenderBlockFlow()) | 1454 if (cb->isRenderBlockFlow()) |
| 1446 return toRenderBlockFlow(cb)->availableLogicalWidthForLine(logicalTop(),
false, availableLogicalHeight(IncludeMarginBorderPadding)); | 1455 return toRenderBlockFlow(cb)->availableLogicalWidthForLine(logicalTop(),
false, availableLogicalHeight(IncludeMarginBorderPadding)); |
| 1447 return 0; | 1456 return 0; |
| 1448 } | 1457 } |
| (...skipping 2664 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4113 // Note this is just a heuristic, and it's still possible to have overflow u
nder these | 4122 // Note this is just a heuristic, and it's still possible to have overflow u
nder these |
| 4114 // conditions, but it should work out to be good enough for common cases. Pa
ginating overflow | 4123 // conditions, but it should work out to be good enough for common cases. Pa
ginating overflow |
| 4115 // with scrollbars present is not the end of the world and is what we used t
o do in the old model anyway. | 4124 // with scrollbars present is not the end of the world and is what we used t
o do in the old model anyway. |
| 4116 return !style()->logicalHeight().isIntrinsicOrAuto() | 4125 return !style()->logicalHeight().isIntrinsicOrAuto() |
| 4117 || (!style()->logicalMaxHeight().isIntrinsicOrAuto() && !style()->logica
lMaxHeight().isMaxSizeNone() && (!style()->logicalMaxHeight().isPercent() || per
centageLogicalHeightIsResolvable(this))) | 4126 || (!style()->logicalMaxHeight().isIntrinsicOrAuto() && !style()->logica
lMaxHeight().isMaxSizeNone() && (!style()->logicalMaxHeight().isPercent() || per
centageLogicalHeightIsResolvable(this))) |
| 4118 || (!style()->logicalMinHeight().isIntrinsicOrAuto() && style()->logical
MinHeight().isPositive() && (!style()->logicalMinHeight().isPercent() || percent
ageLogicalHeightIsResolvable(this))); | 4127 || (!style()->logicalMinHeight().isIntrinsicOrAuto() && style()->logical
MinHeight().isPositive() && (!style()->logicalMinHeight().isPercent() || percent
ageLogicalHeightIsResolvable(this))); |
| 4119 } | 4128 } |
| 4120 | 4129 |
| 4121 bool RenderBox::isUnsplittableForPagination() const | 4130 bool RenderBox::isUnsplittableForPagination() const |
| 4122 { | 4131 { |
| 4123 return isReplaced() || hasUnsplittableScrollingOverflow() || (parent() && is
WritingModeRoot()); | 4132 // FIXME: column spanners are only unsplittable (or rather: they do not part
icipate in |
| 4133 // fragmentation) in their nearest ancestor multicol container. If there are
additional |
| 4134 // fragmentation contexts further up in the tree, spanners still need to tak
e those into |
| 4135 // account. |
| 4136 return isReplaced() || hasUnsplittableScrollingOverflow() || (parent() && is
WritingModeRoot()) || isColumnSpanAll(); |
| 4124 } | 4137 } |
| 4125 | 4138 |
| 4126 LayoutUnit RenderBox::lineHeight(bool /*firstLine*/, LineDirectionMode direction
, LinePositionMode /*linePositionMode*/) const | 4139 LayoutUnit RenderBox::lineHeight(bool /*firstLine*/, LineDirectionMode direction
, LinePositionMode /*linePositionMode*/) const |
| 4127 { | 4140 { |
| 4128 if (isReplaced()) | 4141 if (isReplaced()) |
| 4129 return direction == HorizontalLine ? m_marginBox.top() + height() + m_ma
rginBox.bottom() : m_marginBox.right() + width() + m_marginBox.left(); | 4142 return direction == HorizontalLine ? m_marginBox.top() + height() + m_ma
rginBox.bottom() : m_marginBox.right() + width() + m_marginBox.left(); |
| 4130 return 0; | 4143 return 0; |
| 4131 } | 4144 } |
| 4132 | 4145 |
| 4133 int RenderBox::baselinePosition(FontBaseline baselineType, bool /*firstLine*/, L
ineDirectionMode direction, LinePositionMode linePositionMode) const | 4146 int RenderBox::baselinePosition(FontBaseline baselineType, bool /*firstLine*/, L
ineDirectionMode direction, LinePositionMode linePositionMode) const |
| (...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4438 | 4451 |
| 4439 setLogicalTop(oldLogicalTop); | 4452 setLogicalTop(oldLogicalTop); |
| 4440 setLogicalWidth(oldLogicalWidth); | 4453 setLogicalWidth(oldLogicalWidth); |
| 4441 setMarginLeft(oldMarginLeft); | 4454 setMarginLeft(oldMarginLeft); |
| 4442 setMarginRight(oldMarginRight); | 4455 setMarginRight(oldMarginRight); |
| 4443 | 4456 |
| 4444 return borderBox; | 4457 return borderBox; |
| 4445 } | 4458 } |
| 4446 | 4459 |
| 4447 } // namespace blink | 4460 } // namespace blink |
| OLD | NEW |