| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1997 Martin Jones (mjones@kde.org) | 2 * Copyright (C) 1997 Martin Jones (mjones@kde.org) |
| 3 * (C) 1997 Torben Weis (weis@kde.org) | 3 * (C) 1997 Torben Weis (weis@kde.org) |
| 4 * (C) 1998 Waldo Bastian (bastian@kde.org) | 4 * (C) 1998 Waldo Bastian (bastian@kde.org) |
| 5 * (C) 1999 Lars Knoll (knoll@kde.org) | 5 * (C) 1999 Lars Knoll (knoll@kde.org) |
| 6 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 6 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
| 7 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2013 Apple Inc. | 7 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2013 Apple Inc. |
| 8 * All rights reserved. | 8 * All rights reserved. |
| 9 * Copyright (C) 2006 Alexey Proskuryakov (ap@nypop.com) | 9 * Copyright (C) 2006 Alexey Proskuryakov (ap@nypop.com) |
| 10 * | 10 * |
| (...skipping 885 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 896 | 896 |
| 897 for (unsigned i = 0; i < m_captions.size(); i++) | 897 for (unsigned i = 0; i < m_captions.size(); i++) |
| 898 m_minPreferredLogicalWidth = std::max( | 898 m_minPreferredLogicalWidth = std::max( |
| 899 m_minPreferredLogicalWidth, m_captions[i]->minPreferredLogicalWidth()); | 899 m_minPreferredLogicalWidth, m_captions[i]->minPreferredLogicalWidth()); |
| 900 | 900 |
| 901 const ComputedStyle& styleToUse = styleRef(); | 901 const ComputedStyle& styleToUse = styleRef(); |
| 902 // FIXME: This should probably be checking for isSpecified since you should be | 902 // FIXME: This should probably be checking for isSpecified since you should be |
| 903 // able to use percentage or calc values for min-width. | 903 // able to use percentage or calc values for min-width. |
| 904 if (styleToUse.logicalMinWidth().isFixed() && | 904 if (styleToUse.logicalMinWidth().isFixed() && |
| 905 styleToUse.logicalMinWidth().value() > 0) { | 905 styleToUse.logicalMinWidth().value() > 0) { |
| 906 m_maxPreferredLogicalWidth = std::max( | 906 m_maxPreferredLogicalWidth = |
| 907 m_maxPreferredLogicalWidth, adjustContentBoxLogicalWidthForBoxSizing( | 907 std::max(m_maxPreferredLogicalWidth, |
| 908 styleToUse.logicalMinWidth().value())); | 908 adjustContentBoxLogicalWidthForBoxSizing( |
| 909 m_minPreferredLogicalWidth = std::max( | 909 styleToUse.logicalMinWidth().value())); |
| 910 m_minPreferredLogicalWidth, adjustContentBoxLogicalWidthForBoxSizing( | 910 m_minPreferredLogicalWidth = |
| 911 styleToUse.logicalMinWidth().value())); | 911 std::max(m_minPreferredLogicalWidth, |
| 912 adjustContentBoxLogicalWidthForBoxSizing( |
| 913 styleToUse.logicalMinWidth().value())); |
| 912 } | 914 } |
| 913 | 915 |
| 914 // FIXME: This should probably be checking for isSpecified since you should be | 916 // FIXME: This should probably be checking for isSpecified since you should be |
| 915 // able to use percentage or calc values for maxWidth. | 917 // able to use percentage or calc values for maxWidth. |
| 916 if (styleToUse.logicalMaxWidth().isFixed()) { | 918 if (styleToUse.logicalMaxWidth().isFixed()) { |
| 917 // We don't constrain m_minPreferredLogicalWidth as the table should be at | 919 // We don't constrain m_minPreferredLogicalWidth as the table should be at |
| 918 // least the size of its min-content, regardless of 'max-width'. | 920 // least the size of its min-content, regardless of 'max-width'. |
| 919 m_maxPreferredLogicalWidth = std::min( | 921 m_maxPreferredLogicalWidth = |
| 920 m_maxPreferredLogicalWidth, adjustContentBoxLogicalWidthForBoxSizing( | 922 std::min(m_maxPreferredLogicalWidth, |
| 921 styleToUse.logicalMaxWidth().value())); | 923 adjustContentBoxLogicalWidthForBoxSizing( |
| 924 styleToUse.logicalMaxWidth().value())); |
| 922 m_maxPreferredLogicalWidth = | 925 m_maxPreferredLogicalWidth = |
| 923 std::max(m_minPreferredLogicalWidth, m_maxPreferredLogicalWidth); | 926 std::max(m_minPreferredLogicalWidth, m_maxPreferredLogicalWidth); |
| 924 } | 927 } |
| 925 | 928 |
| 926 // FIXME: We should be adding borderAndPaddingLogicalWidth here, but | 929 // FIXME: We should be adding borderAndPaddingLogicalWidth here, but |
| 927 // m_tableLayout->computePreferredLogicalWidths already does, so a bunch of | 930 // m_tableLayout->computePreferredLogicalWidths already does, so a bunch of |
| 928 // tests break doing this naively. | 931 // tests break doing this naively. |
| 929 clearPreferredLogicalWidthsDirty(); | 932 clearPreferredLogicalWidthsDirty(); |
| 930 } | 933 } |
| 931 | 934 |
| (...skipping 444 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1376 SkipEmptySectionsValue skipEmptySections) const { | 1379 SkipEmptySectionsValue skipEmptySections) const { |
| 1377 recalcSectionsIfNeeded(); | 1380 recalcSectionsIfNeeded(); |
| 1378 | 1381 |
| 1379 if (section == m_head) | 1382 if (section == m_head) |
| 1380 return 0; | 1383 return 0; |
| 1381 | 1384 |
| 1382 LayoutObject* prevSection = | 1385 LayoutObject* prevSection = |
| 1383 section == m_foot ? lastChild() : section->previousSibling(); | 1386 section == m_foot ? lastChild() : section->previousSibling(); |
| 1384 while (prevSection) { | 1387 while (prevSection) { |
| 1385 if (prevSection->isTableSection() && prevSection != m_head && | 1388 if (prevSection->isTableSection() && prevSection != m_head && |
| 1386 prevSection != m_foot && (skipEmptySections == DoNotSkipEmptySections || | 1389 prevSection != m_foot && |
| 1387 toLayoutTableSection(prevSection)->numRows())) | 1390 (skipEmptySections == DoNotSkipEmptySections || |
| 1391 toLayoutTableSection(prevSection)->numRows())) |
| 1388 break; | 1392 break; |
| 1389 prevSection = prevSection->previousSibling(); | 1393 prevSection = prevSection->previousSibling(); |
| 1390 } | 1394 } |
| 1391 if (!prevSection && m_head && | 1395 if (!prevSection && m_head && |
| 1392 (skipEmptySections == DoNotSkipEmptySections || m_head->numRows())) | 1396 (skipEmptySections == DoNotSkipEmptySections || m_head->numRows())) |
| 1393 prevSection = m_head; | 1397 prevSection = m_head; |
| 1394 return toLayoutTableSection(prevSection); | 1398 return toLayoutTableSection(prevSection); |
| 1395 } | 1399 } |
| 1396 | 1400 |
| 1397 LayoutTableSection* LayoutTable::sectionBelow( | 1401 LayoutTableSection* LayoutTable::sectionBelow( |
| 1398 const LayoutTableSection* section, | 1402 const LayoutTableSection* section, |
| 1399 SkipEmptySectionsValue skipEmptySections) const { | 1403 SkipEmptySectionsValue skipEmptySections) const { |
| 1400 recalcSectionsIfNeeded(); | 1404 recalcSectionsIfNeeded(); |
| 1401 | 1405 |
| 1402 if (section == m_foot) | 1406 if (section == m_foot) |
| 1403 return nullptr; | 1407 return nullptr; |
| 1404 | 1408 |
| 1405 LayoutObject* nextSection = | 1409 LayoutObject* nextSection = |
| 1406 section == m_head ? firstChild() : section->nextSibling(); | 1410 section == m_head ? firstChild() : section->nextSibling(); |
| 1407 while (nextSection) { | 1411 while (nextSection) { |
| 1408 if (nextSection->isTableSection() && nextSection != m_head && | 1412 if (nextSection->isTableSection() && nextSection != m_head && |
| 1409 nextSection != m_foot && (skipEmptySections == DoNotSkipEmptySections || | 1413 nextSection != m_foot && |
| 1410 toLayoutTableSection(nextSection)->numRows())) | 1414 (skipEmptySections == DoNotSkipEmptySections || |
| 1415 toLayoutTableSection(nextSection)->numRows())) |
| 1411 break; | 1416 break; |
| 1412 nextSection = nextSection->nextSibling(); | 1417 nextSection = nextSection->nextSibling(); |
| 1413 } | 1418 } |
| 1414 if (!nextSection && m_foot && | 1419 if (!nextSection && m_foot && |
| 1415 (skipEmptySections == DoNotSkipEmptySections || m_foot->numRows())) | 1420 (skipEmptySections == DoNotSkipEmptySections || m_foot->numRows())) |
| 1416 nextSection = m_foot; | 1421 nextSection = m_foot; |
| 1417 return toLayoutTableSection(nextSection); | 1422 return toLayoutTableSection(nextSection); |
| 1418 } | 1423 } |
| 1419 | 1424 |
| 1420 LayoutTableSection* LayoutTable::bottomSection() const { | 1425 LayoutTableSection* LayoutTable::bottomSection() const { |
| (...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1696 } | 1701 } |
| 1697 | 1702 |
| 1698 LayoutUnit LayoutTable::paddingRight() const { | 1703 LayoutUnit LayoutTable::paddingRight() const { |
| 1699 if (collapseBorders()) | 1704 if (collapseBorders()) |
| 1700 return LayoutUnit(); | 1705 return LayoutUnit(); |
| 1701 | 1706 |
| 1702 return LayoutBlock::paddingRight(); | 1707 return LayoutBlock::paddingRight(); |
| 1703 } | 1708 } |
| 1704 | 1709 |
| 1705 } // namespace blink | 1710 } // namespace blink |
| OLD | NEW |