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 3404 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3415 LayoutUnit preferredMinWidth = minPreferredLogicalWidth() - bordersP lusPadding; | 3415 LayoutUnit preferredMinWidth = minPreferredLogicalWidth() - bordersP lusPadding; |
| 3416 LayoutUnit availableWidth = availableSpace - logicalLeftValue; | 3416 LayoutUnit availableWidth = availableSpace - logicalLeftValue; |
| 3417 computedValues.m_extent = min(max(preferredMinWidth, availableWidth) , preferredWidth); | 3417 computedValues.m_extent = min(max(preferredMinWidth, availableWidth) , preferredWidth); |
| 3418 } else if (logicalLeftIsAuto && !logicalWidthIsAuto && !logicalRightIsAu to) { | 3418 } else if (logicalLeftIsAuto && !logicalWidthIsAuto && !logicalRightIsAu to) { |
| 3419 // RULE 4: (solve for left) | 3419 // RULE 4: (solve for left) |
| 3420 computedValues.m_extent = adjustContentBoxLogicalWidthForBoxSizing(v alueForLength(logicalWidth, containerLogicalWidth, renderView)); | 3420 computedValues.m_extent = adjustContentBoxLogicalWidthForBoxSizing(v alueForLength(logicalWidth, containerLogicalWidth, renderView)); |
| 3421 logicalLeftValue = availableSpace - (computedValues.m_extent + value ForLength(logicalRight, containerLogicalWidth, renderView)); | 3421 logicalLeftValue = availableSpace - (computedValues.m_extent + value ForLength(logicalRight, containerLogicalWidth, renderView)); |
| 3422 } else if (!logicalLeftIsAuto && logicalWidthIsAuto && !logicalRightIsAu to) { | 3422 } else if (!logicalLeftIsAuto && logicalWidthIsAuto && !logicalRightIsAu to) { |
| 3423 // RULE 5: (solve for width) | 3423 // RULE 5: (solve for width) |
| 3424 logicalLeftValue = valueForLength(logicalLeft, containerLogicalWidth , renderView); | 3424 logicalLeftValue = valueForLength(logicalLeft, containerLogicalWidth , renderView); |
| 3425 computedValues.m_extent = availableSpace - (logicalLeftValue + value ForLength(logicalRight, containerLogicalWidth, renderView)); | 3425 // Use shrink-to-fit for width for Button, input, select, textarea, and legend treat width value of |
| 3426 // 'auto' as 'intrinsic' unless it's in a stretching column flexbox. | |
| 3427 if (!isStretchingColumnFlexItem(this) && node() && (node()->hasTagNa me(inputTag) || node()->hasTagName(selectTag) | |
|
ojan
2013/09/24 23:58:44
This should share more code withe RenderBox::sizes
cbiesinger
2013/09/26 18:03:14
Can you explain a bit why you need the isStretchin
pals
2013/10/03 11:00:05
Done.
pals
2013/10/03 11:00:05
Done. Removed the check. Thanks for pointing it ou
| |
| 3428 || node()->hasTagName(buttonTag) || isHTMLTextAreaElement(node() ) || node()->hasTagName(legendTag))) { | |
| 3429 LayoutUnit preferredWidth = maxPreferredLogicalWidth() - borders PlusPadding; | |
| 3430 LayoutUnit preferredMinWidth = minPreferredLogicalWidth() - bord ersPlusPadding; | |
|
ojan
2013/09/24 23:58:44
Make sure to add layout tests with and without bor
pals
2013/10/03 11:00:05
Done.
cbiesinger
2013/10/03 21:43:30
Thanks for the updated patch.
On 2013/10/03 11:00
| |
| 3431 LayoutUnit availableWidth = availableSpace - logicalLeftValue; | |
| 3432 computedValues.m_extent = min(max(preferredMinWidth, availableWi dth), preferredWidth); | |
| 3433 } else { | |
| 3434 computedValues.m_extent = availableSpace - (logicalLeftValue + v alueForLength(logicalRight, containerLogicalWidth, renderView)); | |
| 3435 } | |
| 3426 } else if (!logicalLeftIsAuto && !logicalWidthIsAuto && logicalRightIsAu to) { | 3436 } else if (!logicalLeftIsAuto && !logicalWidthIsAuto && logicalRightIsAu to) { |
| 3427 // RULE 6: (no need solve for right) | 3437 // RULE 6: (no need solve for right) |
| 3428 logicalLeftValue = valueForLength(logicalLeft, containerLogicalWidth , renderView); | 3438 logicalLeftValue = valueForLength(logicalLeft, containerLogicalWidth , renderView); |
| 3429 computedValues.m_extent = adjustContentBoxLogicalWidthForBoxSizing(v alueForLength(logicalWidth, containerLogicalWidth, renderView)); | 3439 computedValues.m_extent = adjustContentBoxLogicalWidthForBoxSizing(v alueForLength(logicalWidth, containerLogicalWidth, renderView)); |
| 3430 } | 3440 } |
| 3431 } | 3441 } |
| 3432 | 3442 |
| 3433 // Use computed values to calculate the horizontal position. | 3443 // Use computed values to calculate the horizontal position. |
| 3434 | 3444 |
| 3435 // FIXME: This hack is needed to calculate the logical left position for a 'rtl' relatively | 3445 // FIXME: This hack is needed to calculate the logical left position for a 'rtl' relatively |
| (...skipping 1286 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 4722 return 0; | 4732 return 0; |
| 4723 | 4733 |
| 4724 if (!layoutState && !flowThreadContainingBlock()) | 4734 if (!layoutState && !flowThreadContainingBlock()) |
| 4725 return 0; | 4735 return 0; |
| 4726 | 4736 |
| 4727 RenderBlock* containerBlock = containingBlock(); | 4737 RenderBlock* containerBlock = containingBlock(); |
| 4728 return containerBlock->offsetFromLogicalTopOfFirstPage() + logicalTop(); | 4738 return containerBlock->offsetFromLogicalTopOfFirstPage() + logicalTop(); |
| 4729 } | 4739 } |
| 4730 | 4740 |
| 4731 } // namespace WebCore | 4741 } // namespace WebCore |
| OLD | NEW |