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

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

Issue 1461923005: When balancing columns, we must check inner multicols for unbreakable content. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years 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 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef MultiColumnFragmentainerGroup_h 5 #ifndef MultiColumnFragmentainerGroup_h
6 #define MultiColumnFragmentainerGroup_h 6 #define MultiColumnFragmentainerGroup_h
7 7
8 #include "core/layout/LayoutMultiColumnFlowThread.h" 8 #include "core/layout/LayoutMultiColumnFlowThread.h"
9 #include "wtf/Allocator.h" 9 #include "wtf/Allocator.h"
10 10
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
77 unsigned columnIndexAtOffset(LayoutUnit offsetInFlowThread, ColumnIndexCalcu lationMode = ClampToExistingColumns) const; 77 unsigned columnIndexAtOffset(LayoutUnit offsetInFlowThread, ColumnIndexCalcu lationMode = ClampToExistingColumns) const;
78 78
79 // The "CSS actual" value of column-count. This includes overflowing columns , if any. 79 // The "CSS actual" value of column-count. This includes overflowing columns , if any.
80 unsigned actualColumnCount() const; 80 unsigned actualColumnCount() const;
81 81
82 private: 82 private:
83 LayoutUnit heightAdjustedForRowOffset(LayoutUnit height) const; 83 LayoutUnit heightAdjustedForRowOffset(LayoutUnit height) const;
84 LayoutUnit calculateMaxColumnHeight() const; 84 LayoutUnit calculateMaxColumnHeight() const;
85 void setAndConstrainColumnHeight(LayoutUnit); 85 void setAndConstrainColumnHeight(LayoutUnit);
86 86
87 LayoutUnit calculateColumnHeight(BalancedColumnHeightCalculation) const; 87 LayoutUnit rebalanceColumnHeightIfNeeded() const;
88 88
89 LayoutRect columnRectAt(unsigned columnIndex) const; 89 LayoutRect columnRectAt(unsigned columnIndex) const;
90 LayoutUnit logicalTopInFlowThreadAt(unsigned columnIndex) const { return m_l ogicalTopInFlowThread + columnIndex * m_columnHeight; } 90 LayoutUnit logicalTopInFlowThreadAt(unsigned columnIndex) const { return m_l ogicalTopInFlowThread + columnIndex * m_columnHeight; }
91 LayoutRect flowThreadPortionRectAt(unsigned columnIndex) const; 91 LayoutRect flowThreadPortionRectAt(unsigned columnIndex) const;
92 LayoutRect flowThreadPortionOverflowRectAt(unsigned columnIndex) const; 92 LayoutRect flowThreadPortionOverflowRectAt(unsigned columnIndex) const;
93 93
94 // Return the column that the specified visual point belongs to. Only the co ordinate on the 94 // Return the column that the specified visual point belongs to. Only the co ordinate on the
95 // column progression axis is relevant. Every point belongs to a column, eve n if said point is 95 // column progression axis is relevant. Every point belongs to a column, eve n if said point is
96 // not inside any of the columns. 96 // not inside any of the columns.
97 unsigned columnIndexAtVisualPoint(const LayoutPoint& visualPoint) const; 97 unsigned columnIndexAtVisualPoint(const LayoutPoint& visualPoint) const;
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
151 151
152 private: 152 private:
153 LayoutMultiColumnSet& m_columnSet; 153 LayoutMultiColumnSet& m_columnSet;
154 154
155 Vector<MultiColumnFragmentainerGroup, 1> m_groups; 155 Vector<MultiColumnFragmentainerGroup, 1> m_groups;
156 }; 156 };
157 157
158 } // namespace blink 158 } // namespace blink
159 159
160 #endif // MultiColumnFragmentainerGroup_h 160 #endif // MultiColumnFragmentainerGroup_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698