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 2178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2189 if (parent->isFlexibleBox() && parent->style()->flexWrap() == FlexNoWrap &&
parent->style()->isColumnFlexDirection() && columnFlexItemHasStretchAlignment(fl
exitem)) | 2189 if (parent->isFlexibleBox() && parent->style()->flexWrap() == FlexNoWrap &&
parent->style()->isColumnFlexDirection() && columnFlexItemHasStretchAlignment(fl
exitem)) |
2190 return true; | 2190 return true; |
2191 return false; | 2191 return false; |
2192 } | 2192 } |
2193 | 2193 |
2194 bool LayoutBox::sizesLogicalWidthToFitContent(const Length& logicalWidth) const | 2194 bool LayoutBox::sizesLogicalWidthToFitContent(const Length& logicalWidth) const |
2195 { | 2195 { |
2196 if (isFloating() || isInlineBlockOrInlineTable()) | 2196 if (isFloating() || isInlineBlockOrInlineTable()) |
2197 return true; | 2197 return true; |
2198 | 2198 |
2199 if (logicalWidth.type() == Intrinsic) | |
2200 return true; | |
2201 | |
2202 // Flexible box items should shrink wrap, so we lay them out at their intrin
sic widths. | 2199 // Flexible box items should shrink wrap, so we lay them out at their intrin
sic widths. |
2203 // In the case of columns that have a stretch alignment, we go ahead and lay
out at the | 2200 // In the case of columns that have a stretch alignment, we go ahead and lay
out at the |
2204 // stretched size to avoid an extra layout when applying alignment. | 2201 // stretched size to avoid an extra layout when applying alignment. |
2205 if (parent()->isFlexibleBox()) { | 2202 if (parent()->isFlexibleBox()) { |
2206 // For multiline columns, we need to apply align-content first, so we ca
n't stretch now. | 2203 // For multiline columns, we need to apply align-content first, so we ca
n't stretch now. |
2207 if (!parent()->style()->isColumnFlexDirection() || parent()->style()->fl
exWrap() != FlexNoWrap) | 2204 if (!parent()->style()->isColumnFlexDirection() || parent()->style()->fl
exWrap() != FlexNoWrap) |
2208 return true; | 2205 return true; |
2209 if (!columnFlexItemHasStretchAlignment(this)) | 2206 if (!columnFlexItemHasStretchAlignment(this)) |
2210 return true; | 2207 return true; |
2211 } | 2208 } |
(...skipping 438 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2650 const LayoutUnit cw = isOutOfFlowPositioned() ? containingBlockLogicalWi
dthForPositioned(toLayoutBoxModelObject(container())) : containingBlockLogicalWi
dthForContent(); | 2647 const LayoutUnit cw = isOutOfFlowPositioned() ? containingBlockLogicalWi
dthForPositioned(toLayoutBoxModelObject(container())) : containingBlockLogicalWi
dthForContent(); |
2651 Length containerLogicalWidth = containingBlock()->style()->logicalWidth(
); | 2648 Length containerLogicalWidth = containingBlock()->style()->logicalWidth(
); |
2652 // FIXME: Handle cases when containing block width is calculated or view
port percent. | 2649 // FIXME: Handle cases when containing block width is calculated or view
port percent. |
2653 // https://bugs.webkit.org/show_bug.cgi?id=91071 | 2650 // https://bugs.webkit.org/show_bug.cgi?id=91071 |
2654 if (logicalWidth.isIntrinsic()) | 2651 if (logicalWidth.isIntrinsic()) |
2655 return computeIntrinsicLogicalWidthUsing(logicalWidth, cw, borderAnd
PaddingLogicalWidth()) - borderAndPaddingLogicalWidth(); | 2652 return computeIntrinsicLogicalWidthUsing(logicalWidth, cw, borderAnd
PaddingLogicalWidth()) - borderAndPaddingLogicalWidth(); |
2656 if (cw > 0 || (!cw && (containerLogicalWidth.isFixed() || containerLogic
alWidth.hasPercent()))) | 2653 if (cw > 0 || (!cw && (containerLogicalWidth.isFixed() || containerLogic
alWidth.hasPercent()))) |
2657 return adjustContentBoxLogicalWidthForBoxSizing(minimumValueForLengt
h(logicalWidth, cw)); | 2654 return adjustContentBoxLogicalWidthForBoxSizing(minimumValueForLengt
h(logicalWidth, cw)); |
2658 return LayoutUnit(); | 2655 return LayoutUnit(); |
2659 } | 2656 } |
2660 case Intrinsic: | |
2661 case MinIntrinsic: | |
2662 case Auto: | 2657 case Auto: |
2663 case MaxSizeNone: | 2658 case MaxSizeNone: |
2664 return intrinsicLogicalWidth(); | 2659 return intrinsicLogicalWidth(); |
2665 case ExtendToZoom: | 2660 case ExtendToZoom: |
2666 case DeviceWidth: | 2661 case DeviceWidth: |
2667 case DeviceHeight: | 2662 case DeviceHeight: |
2668 break; | 2663 break; |
2669 } | 2664 } |
2670 | 2665 |
2671 ASSERT_NOT_REACHED(); | 2666 ASSERT_NOT_REACHED(); |
(...skipping 2164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4836 StyleImage* borderImage = style()->borderImage().image(); | 4831 StyleImage* borderImage = style()->borderImage().image(); |
4837 return borderImage && borderImage->canRender(*this, style()->effectiveZoom()
) && borderImage->isLoaded(); | 4832 return borderImage && borderImage->canRender(*this, style()->effectiveZoom()
) && borderImage->isLoaded(); |
4838 } | 4833 } |
4839 | 4834 |
4840 ShapeOutsideInfo* LayoutBox::shapeOutsideInfo() const | 4835 ShapeOutsideInfo* LayoutBox::shapeOutsideInfo() const |
4841 { | 4836 { |
4842 return ShapeOutsideInfo::isEnabledFor(*this) ? ShapeOutsideInfo::info(*this)
: nullptr; | 4837 return ShapeOutsideInfo::isEnabledFor(*this) ? ShapeOutsideInfo::info(*this)
: nullptr; |
4843 } | 4838 } |
4844 | 4839 |
4845 } // namespace blink | 4840 } // namespace blink |
OLD | NEW |