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

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

Issue 1921973005: [css tables] Don't pass table width increase due to % columns to parents (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: merge ToT Created 4 years, 7 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
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 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 StartToEnd, 47 StartToEnd,
48 EndToStart 48 EndToStart
49 }; 49 };
50 50
51 class TableLayoutAlgorithmAuto final : public TableLayoutAlgorithm { 51 class TableLayoutAlgorithmAuto final : public TableLayoutAlgorithm {
52 public: 52 public:
53 TableLayoutAlgorithmAuto(LayoutTable*); 53 TableLayoutAlgorithmAuto(LayoutTable*);
54 ~TableLayoutAlgorithmAuto() override; 54 ~TableLayoutAlgorithmAuto() override;
55 55
56 void computeIntrinsicLogicalWidths(LayoutUnit& minWidth, LayoutUnit& maxWidt h) override; 56 void computeIntrinsicLogicalWidths(LayoutUnit& minWidth, LayoutUnit& maxWidt h) override;
57 LayoutUnit scaledWidthFromPercentColumns() override
58 {
59 return m_scaledWidthFromPercentColumns;
60 }
57 void applyPreferredLogicalWidthQuirks(LayoutUnit& minWidth, LayoutUnit& maxW idth) const override; 61 void applyPreferredLogicalWidthQuirks(LayoutUnit& minWidth, LayoutUnit& maxW idth) const override;
58 void layout() override; 62 void layout() override;
59 void willChangeTableLayout() override { } 63 void willChangeTableLayout() override { }
60 64
61 private: 65 private:
62 void fullRecalc(); 66 void fullRecalc();
63 void recalcColumn(unsigned effCol); 67 void recalcColumn(unsigned effCol);
64 68
65 int calcEffectiveLogicalWidth(); 69 int calcEffectiveLogicalWidth();
66 void shrinkColumnWidth(const LengthType&, int& available); 70 void shrinkColumnWidth(const LengthType&, int& available);
(...skipping 22 matching lines...) Expand all
89 int computedLogicalWidth; 93 int computedLogicalWidth;
90 bool emptyCellsOnly; 94 bool emptyCellsOnly;
91 bool columnHasNoCells; 95 bool columnHasNoCells;
92 int clampedEffectiveMaxLogicalWidth() { return std::max<int>(1, effectiv eMaxLogicalWidth); } 96 int clampedEffectiveMaxLogicalWidth() { return std::max<int>(1, effectiv eMaxLogicalWidth); }
93 }; 97 };
94 98
95 Vector<Layout, 4> m_layoutStruct; 99 Vector<Layout, 4> m_layoutStruct;
96 Vector<LayoutTableCell*, 4> m_spanCells; 100 Vector<LayoutTableCell*, 4> m_spanCells;
97 bool m_hasPercent : 1; 101 bool m_hasPercent : 1;
98 mutable bool m_effectiveLogicalWidthDirty : 1; 102 mutable bool m_effectiveLogicalWidthDirty : 1;
103 LayoutUnit m_scaledWidthFromPercentColumns;
99 }; 104 };
100 105
101 } // namespace blink 106 } // namespace blink
102 107
103 #endif // TableLayoutAlgorithmAuto 108 #endif // TableLayoutAlgorithmAuto
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698