Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(308)

Side by Side Diff: Source/core/layout/TableLayoutAlgorithmAuto.h

Issue 1181643007: Fix regression in unwinding overallocation on auto cells (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 * 4 *
5 * This library is free software; you can redistribute it and/or 5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Library General Public 6 * modify it under the terms of the GNU Library General Public
7 * License as published by the Free Software Foundation; either 7 * License as published by the Free Software Foundation; either
8 * version 2 of the License. 8 * version 2 of the License.
9 * 9 *
10 * This library is distributed in the hope that it will be useful, 10 * This library is distributed in the hope that it will be useful,
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 virtual void applyPreferredLogicalWidthQuirks(LayoutUnit& minWidth, LayoutUn it& maxWidth) const override; 56 virtual void applyPreferredLogicalWidthQuirks(LayoutUnit& minWidth, LayoutUn it& maxWidth) const override;
57 virtual void layout() override; 57 virtual void layout() override;
58 virtual void willChangeTableLayout() override { } 58 virtual void willChangeTableLayout() override { }
59 59
60 private: 60 private:
61 void fullRecalc(); 61 void fullRecalc();
62 void recalcColumn(unsigned effCol); 62 void recalcColumn(unsigned effCol);
63 63
64 int calcEffectiveLogicalWidth(); 64 int calcEffectiveLogicalWidth();
65 void shrinkColumnWidth(const LengthType&, int& available); 65 void shrinkColumnWidth(const LengthType&, int& available);
66 template<typename Total, LengthType, CellsToProcess, DistributionMode, Distr ibutionDirection> void distributeWidthToColumns(int& available, Total); 66 template<typename Total, LengthType, CellsToProcess, DistributionMode, Distr ibutionDirection> void distributeWidthToColumns(int& available, Total&);
67 67
68 void insertSpanCell(LayoutTableCell*); 68 void insertSpanCell(LayoutTableCell*);
69 69
70 struct Layout { 70 struct Layout {
71 Layout() 71 Layout()
72 : minLogicalWidth(0) 72 : minLogicalWidth(0)
73 , maxLogicalWidth(0) 73 , maxLogicalWidth(0)
74 , effectiveMinLogicalWidth(0) 74 , effectiveMinLogicalWidth(0)
75 , effectiveMaxLogicalWidth(0) 75 , effectiveMaxLogicalWidth(0)
76 , computedLogicalWidth(0) 76 , computedLogicalWidth(0)
(...skipping 13 matching lines...) Expand all
90 90
91 Vector<Layout, 4> m_layoutStruct; 91 Vector<Layout, 4> m_layoutStruct;
92 Vector<LayoutTableCell*, 4> m_spanCells; 92 Vector<LayoutTableCell*, 4> m_spanCells;
93 bool m_hasPercent : 1; 93 bool m_hasPercent : 1;
94 mutable bool m_effectiveLogicalWidthDirty : 1; 94 mutable bool m_effectiveLogicalWidthDirty : 1;
95 }; 95 };
96 96
97 } // namespace blink 97 } // namespace blink
98 98
99 #endif // TableLayoutAlgorithmAuto 99 #endif // TableLayoutAlgorithmAuto
OLDNEW
« no previous file with comments | « LayoutTests/fast/table/overallocating-auto-cells-expected.txt ('k') | Source/core/layout/TableLayoutAlgorithmAuto.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698