| 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 * | 7 * |
| 8 * This library is free software; you can redistribute it and/or | 8 * This library is free software; you can redistribute it and/or |
| 9 * modify it under the terms of the GNU Library General Public | 9 * modify it under the terms of the GNU Library General Public |
| 10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
| (...skipping 690 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 701 void RenderBox::clearOverrideSize() | 701 void RenderBox::clearOverrideSize() |
| 702 { | 702 { |
| 703 if (gOverrideHeightMap) | 703 if (gOverrideHeightMap) |
| 704 gOverrideHeightMap->remove(this); | 704 gOverrideHeightMap->remove(this); |
| 705 if (gOverrideWidthMap) | 705 if (gOverrideWidthMap) |
| 706 gOverrideWidthMap->remove(this); | 706 gOverrideWidthMap->remove(this); |
| 707 } | 707 } |
| 708 | 708 |
| 709 LayoutUnit RenderBox::overrideLogicalContentWidth() const | 709 LayoutUnit RenderBox::overrideLogicalContentWidth() const |
| 710 { | 710 { |
| 711 // FIXME: This should probably be returning contentLogicalWidth instead of c
ontentWidth. | 711 ASSERT(hasOverrideWidth()); |
| 712 return hasOverrideWidth() ? gOverrideWidthMap->get(this) : contentWidth(); | 712 return gOverrideWidthMap->get(this); |
| 713 } | 713 } |
| 714 | 714 |
| 715 LayoutUnit RenderBox::overrideLogicalContentHeight() const | 715 LayoutUnit RenderBox::overrideLogicalContentHeight() const |
| 716 { | 716 { |
| 717 // FIXME: This should probably be returning contentLogicalHeight instead of
contentHeight. | 717 ASSERT(hasOverrideHeight()); |
| 718 return hasOverrideHeight() ? gOverrideHeightMap->get(this) : contentHeight()
; | 718 return gOverrideHeightMap->get(this); |
| 719 } | 719 } |
| 720 | 720 |
| 721 LayoutUnit RenderBox::adjustBorderBoxLogicalWidthForBoxSizing(LayoutUnit width)
const | 721 LayoutUnit RenderBox::adjustBorderBoxLogicalWidthForBoxSizing(LayoutUnit width)
const |
| 722 { | 722 { |
| 723 LayoutUnit bordersPlusPadding = borderAndPaddingLogicalWidth(); | 723 LayoutUnit bordersPlusPadding = borderAndPaddingLogicalWidth(); |
| 724 if (style()->boxSizing() == CONTENT_BOX) | 724 if (style()->boxSizing() == CONTENT_BOX) |
| 725 return width + bordersPlusPadding; | 725 return width + bordersPlusPadding; |
| 726 return max(width, bordersPlusPadding); | 726 return max(width, bordersPlusPadding); |
| 727 } | 727 } |
| 728 | 728 |
| (...skipping 1605 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2334 } | 2334 } |
| 2335 | 2335 |
| 2336 LayoutUnit RenderBox::availableLogicalHeightUsing(const Length& h) const | 2336 LayoutUnit RenderBox::availableLogicalHeightUsing(const Length& h) const |
| 2337 { | 2337 { |
| 2338 if (isRenderView()) | 2338 if (isRenderView()) |
| 2339 return isHorizontalWritingMode() ? toRenderView(this)->frameView()->visi
bleHeight() : toRenderView(this)->frameView()->visibleWidth(); | 2339 return isHorizontalWritingMode() ? toRenderView(this)->frameView()->visi
bleHeight() : toRenderView(this)->frameView()->visibleWidth(); |
| 2340 | 2340 |
| 2341 // We need to stop here, since we don't want to increase the height of the t
able | 2341 // We need to stop here, since we don't want to increase the height of the t
able |
| 2342 // artificially. We're going to rely on this cell getting expanded to some
new | 2342 // artificially. We're going to rely on this cell getting expanded to some
new |
| 2343 // height, and then when we lay out again we'll use the calculation below. | 2343 // height, and then when we lay out again we'll use the calculation below. |
| 2344 if (isTableCell() && (h.isAuto() || h.isPercent())) | 2344 if (isTableCell() && (h.isAuto() || h.isPercent())) { |
| 2345 return overrideLogicalContentHeight(); | 2345 if (hasOverrideHeight()) |
| 2346 return overrideLogicalContentHeight(); |
| 2347 return logicalHeight() - borderAndPaddingLogicalHeight(); |
| 2348 } |
| 2346 | 2349 |
| 2347 if (h.isPercent() && isOutOfFlowPositioned()) { | 2350 if (h.isPercent() && isOutOfFlowPositioned()) { |
| 2348 // FIXME: This is wrong if the containingBlock has a perpendicular writi
ng mode. | 2351 // FIXME: This is wrong if the containingBlock has a perpendicular writi
ng mode. |
| 2349 LayoutUnit availableHeight = containingBlockLogicalHeightForPositioned(c
ontainingBlock()); | 2352 LayoutUnit availableHeight = containingBlockLogicalHeightForPositioned(c
ontainingBlock()); |
| 2350 return adjustContentBoxLogicalHeightForBoxSizing(valueForLength(h, avail
ableHeight)); | 2353 return adjustContentBoxLogicalHeightForBoxSizing(valueForLength(h, avail
ableHeight)); |
| 2351 } | 2354 } |
| 2352 | 2355 |
| 2353 LayoutUnit heightIncludingScrollbar = computeContentAndScrollbarLogicalHeigh
tUsing(MainOrPreferredSize, h); | 2356 LayoutUnit heightIncludingScrollbar = computeContentAndScrollbarLogicalHeigh
tUsing(MainOrPreferredSize, h); |
| 2354 if (heightIncludingScrollbar != -1) | 2357 if (heightIncludingScrollbar != -1) |
| 2355 return std::max<LayoutUnit>(0, adjustContentBoxLogicalHeightForBoxSizing
(heightIncludingScrollbar) - scrollbarLogicalHeight()); | 2358 return std::max<LayoutUnit>(0, adjustContentBoxLogicalHeightForBoxSizing
(heightIncludingScrollbar) - scrollbarLogicalHeight()); |
| (...skipping 1701 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4057 } | 4060 } |
| 4058 | 4061 |
| 4059 if (didSplitParentAnonymousBoxes) | 4062 if (didSplitParentAnonymousBoxes) |
| 4060 markBoxForRelayoutAfterSplit(this); | 4063 markBoxForRelayoutAfterSplit(this); |
| 4061 | 4064 |
| 4062 ASSERT(beforeChild->parent() == this); | 4065 ASSERT(beforeChild->parent() == this); |
| 4063 return beforeChild; | 4066 return beforeChild; |
| 4064 } | 4067 } |
| 4065 | 4068 |
| 4066 } // namespace WebCore | 4069 } // namespace WebCore |
| OLD | NEW |