Chromium Code Reviews| 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 2699 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2710 // FIXME: Check logicalTop/logicalBottom here to correctly handle vertical w riting-mode. | 2710 // FIXME: Check logicalTop/logicalBottom here to correctly handle vertical w riting-mode. |
| 2711 // https://bugs.webkit.org/show_bug.cgi?id=46500 | 2711 // https://bugs.webkit.org/show_bug.cgi?id=46500 |
| 2712 if (isLayoutBlock() && isOutOfFlowPositioned() && style()->height().isAuto() && !(style()->top().isAuto() || style()->bottom().isAuto())) { | 2712 if (isLayoutBlock() && isOutOfFlowPositioned() && style()->height().isAuto() && !(style()->top().isAuto() || style()->bottom().isAuto())) { |
| 2713 LayoutBlock* block = const_cast<LayoutBlock*>(toLayoutBlock(this)); | 2713 LayoutBlock* block = const_cast<LayoutBlock*>(toLayoutBlock(this)); |
| 2714 LogicalExtentComputedValues computedValues; | 2714 LogicalExtentComputedValues computedValues; |
| 2715 block->computeLogicalHeight(block->logicalHeight(), 0, computedValues); | 2715 block->computeLogicalHeight(block->logicalHeight(), 0, computedValues); |
| 2716 LayoutUnit newContentHeight = computedValues.m_extent - block->borderAnd PaddingLogicalHeight() - block->scrollbarLogicalHeight(); | 2716 LayoutUnit newContentHeight = computedValues.m_extent - block->borderAnd PaddingLogicalHeight() - block->scrollbarLogicalHeight(); |
| 2717 return adjustContentBoxLogicalHeightForBoxSizing(newContentHeight); | 2717 return adjustContentBoxLogicalHeightForBoxSizing(newContentHeight); |
| 2718 } | 2718 } |
| 2719 | 2719 |
| 2720 if (isLayoutBlock() && isOutOfFlowPositioned() && (heightType == IncludePadd ing)) { | |
|
rune
2015/03/13 12:49:13
What happens if you pass IncludePadding with non-o
changseok
2015/03/16 10:02:25
IncludePadding is only for position:absolute. so n
| |
| 2721 LayoutUnit availableHeight = containingBlockLogicalHeightForPositioned(t his); | |
| 2722 return adjustContentBoxLogicalHeightForBoxSizing(valueForLength(h, avail ableHeight)); | |
| 2723 } | |
| 2724 | |
| 2720 // FIXME: This is wrong if the containingBlock has a perpendicular writing m ode. | 2725 // FIXME: This is wrong if the containingBlock has a perpendicular writing m ode. |
| 2721 LayoutUnit availableHeight = containingBlockLogicalHeightForContent(heightTy pe); | 2726 LayoutUnit availableHeight = containingBlockLogicalHeightForContent(heightTy pe); |
| 2722 if (heightType == ExcludeMarginBorderPadding) { | 2727 if (heightType == ExcludeMarginBorderPadding) { |
| 2723 // FIXME: Margin collapsing hasn't happened yet, so this incorrectly rem oves collapsed margins. | 2728 // FIXME: Margin collapsing hasn't happened yet, so this incorrectly rem oves collapsed margins. |
| 2724 availableHeight -= marginBefore() + marginAfter() + borderAndPaddingLogi calHeight(); | 2729 availableHeight -= marginBefore() + marginAfter() + borderAndPaddingLogi calHeight(); |
| 2725 } | 2730 } |
| 2726 return availableHeight; | 2731 return availableHeight; |
| 2727 } | 2732 } |
| 2728 | 2733 |
| 2729 void LayoutBox::computeAndSetBlockDirectionMargins(const LayoutBlock* containing Block) | 2734 void LayoutBox::computeAndSetBlockDirectionMargins(const LayoutBlock* containing Block) |
| (...skipping 1914 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 4644 computedValues.m_margins.m_end = marginEnd(); | 4649 computedValues.m_margins.m_end = marginEnd(); |
| 4645 | 4650 |
| 4646 setLogicalTop(oldLogicalTop); | 4651 setLogicalTop(oldLogicalTop); |
| 4647 setLogicalWidth(oldLogicalWidth); | 4652 setLogicalWidth(oldLogicalWidth); |
| 4648 setLogicalLeft(oldLogicalLeft); | 4653 setLogicalLeft(oldLogicalLeft); |
| 4649 setMarginLeft(oldMarginLeft); | 4654 setMarginLeft(oldMarginLeft); |
| 4650 setMarginRight(oldMarginRight); | 4655 setMarginRight(oldMarginRight); |
| 4651 } | 4656 } |
| 4652 | 4657 |
| 4653 } // namespace blink | 4658 } // namespace blink |
| OLD | NEW |