| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2002 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 2002 Lars Knoll (knoll@kde.org) |
| 3 * (C) 2002 Dirk Mueller (mueller@kde.org) | 3 * (C) 2002 Dirk Mueller (mueller@kde.org) |
| 4 * Copyright (C) 2003, 2006, 2008, 2010 Apple Inc. All rights reserved. | 4 * Copyright (C) 2003, 2006, 2008, 2010 Apple Inc. All rights reserved. |
| 5 * | 5 * |
| 6 * This library is free software; you can redistribute it and/or | 6 * This library is free software; you can redistribute it and/or |
| 7 * modify it under the terms of the GNU Library General Public | 7 * modify it under the terms of the GNU Library General Public |
| 8 * License as published by the Free Software Foundation; either | 8 * License as published by the Free Software Foundation; either |
| 9 * version 2 of the License. | 9 * version 2 of the License. |
| 10 * | 10 * |
| (...skipping 27 matching lines...) Expand all Loading... |
| 38 } | 38 } |
| 39 | 39 |
| 40 TableLayoutAlgorithmAuto::~TableLayoutAlgorithmAuto() | 40 TableLayoutAlgorithmAuto::~TableLayoutAlgorithmAuto() |
| 41 { | 41 { |
| 42 } | 42 } |
| 43 | 43 |
| 44 void TableLayoutAlgorithmAuto::recalcColumn(unsigned effCol) | 44 void TableLayoutAlgorithmAuto::recalcColumn(unsigned effCol) |
| 45 { | 45 { |
| 46 Layout& columnLayout = m_layoutStruct[effCol]; | 46 Layout& columnLayout = m_layoutStruct[effCol]; |
| 47 | 47 |
| 48 LayoutTableCell* fixedContributor = 0; | 48 LayoutTableCell* fixedContributor = nullptr; |
| 49 LayoutTableCell* maxContributor = 0; | 49 LayoutTableCell* maxContributor = nullptr; |
| 50 | 50 |
| 51 for (LayoutObject* child = m_table->children()->firstChild(); child; child =
child->nextSibling()) { | 51 for (LayoutObject* child = m_table->children()->firstChild(); child; child =
child->nextSibling()) { |
| 52 if (child->isLayoutTableCol()) { | 52 if (child->isLayoutTableCol()) { |
| 53 // LayoutTableCols don't have the concept of preferred logical width
, but we need to clear their dirty bits | 53 // LayoutTableCols don't have the concept of preferred logical width
, but we need to clear their dirty bits |
| 54 // so that if we call setPreferredWidthsDirty(true) on a col or one
of its descendants, we'll mark it's | 54 // so that if we call setPreferredWidthsDirty(true) on a col or one
of its descendants, we'll mark it's |
| 55 // ancestors as dirty. | 55 // ancestors as dirty. |
| 56 toLayoutTableCol(child)->clearPreferredLogicalWidthsDirtyBits(); | 56 toLayoutTableCol(child)->clearPreferredLogicalWidthsDirtyBits(); |
| 57 } else if (child->isTableSection()) { | 57 } else if (child->isTableSection()) { |
| 58 LayoutTableSection* section = toLayoutTableSection(child); | 58 LayoutTableSection* section = toLayoutTableSection(child); |
| 59 unsigned numRows = section->numRows(); | 59 unsigned numRows = section->numRows(); |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 124 insertSpanCell(cell); | 124 insertSpanCell(cell); |
| 125 } | 125 } |
| 126 } | 126 } |
| 127 } | 127 } |
| 128 } | 128 } |
| 129 | 129 |
| 130 // Nav/IE weirdness | 130 // Nav/IE weirdness |
| 131 if (columnLayout.logicalWidth.isFixed()) { | 131 if (columnLayout.logicalWidth.isFixed()) { |
| 132 if (m_table->document().inQuirksMode() && columnLayout.maxLogicalWidth >
columnLayout.logicalWidth.value() && fixedContributor != maxContributor) { | 132 if (m_table->document().inQuirksMode() && columnLayout.maxLogicalWidth >
columnLayout.logicalWidth.value() && fixedContributor != maxContributor) { |
| 133 columnLayout.logicalWidth = Length(); | 133 columnLayout.logicalWidth = Length(); |
| 134 fixedContributor = 0; | 134 fixedContributor = nullptr; |
| 135 } | 135 } |
| 136 } | 136 } |
| 137 | 137 |
| 138 columnLayout.maxLogicalWidth = std::max(columnLayout.maxLogicalWidth, column
Layout.minLogicalWidth); | 138 columnLayout.maxLogicalWidth = std::max(columnLayout.maxLogicalWidth, column
Layout.minLogicalWidth); |
| 139 } | 139 } |
| 140 | 140 |
| 141 void TableLayoutAlgorithmAuto::fullRecalc() | 141 void TableLayoutAlgorithmAuto::fullRecalc() |
| 142 { | 142 { |
| 143 m_hasPercent = false; | 143 m_hasPercent = false; |
| 144 m_effectiveLogicalWidthDirty = true; | 144 m_effectiveLogicalWidthDirty = true; |
| (...skipping 547 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 692 int reduce = available * minMaxDiff / logicalWidthBeyondMin; | 692 int reduce = available * minMaxDiff / logicalWidthBeyondMin; |
| 693 m_layoutStruct[i].computedLogicalWidth += reduce; | 693 m_layoutStruct[i].computedLogicalWidth += reduce; |
| 694 available -= reduce; | 694 available -= reduce; |
| 695 logicalWidthBeyondMin -= minMaxDiff; | 695 logicalWidthBeyondMin -= minMaxDiff; |
| 696 if (available >= 0) | 696 if (available >= 0) |
| 697 break; | 697 break; |
| 698 } | 698 } |
| 699 } | 699 } |
| 700 } | 700 } |
| 701 } | 701 } |
| OLD | NEW |