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

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

Issue 2453743002: The column balancer needs to look inside inlines. (Closed)
Patch Set: Created 4 years, 1 month 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 #include "core/layout/LayoutMultiColumnSet.h" 5 #include "core/layout/LayoutMultiColumnSet.h"
6 6
7 namespace blink { 7 namespace blink {
8 8
9 // A column balancer traverses a portion of the subtree of a flow thread that 9 // A column balancer traverses a portion of the subtree of a flow thread that
10 // belongs to one or more fragmentainer groups within one column set, in order 10 // belongs to one or more fragmentainer groups within one column set, in order
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 83
84 // Examine and collect column balancing data for everything in the flow thread 84 // Examine and collect column balancing data for everything in the flow thread
85 // portion. Will trigger calls to examineBoxAfterEntering(), 85 // portion. Will trigger calls to examineBoxAfterEntering(),
86 // examineBoxBeforeLeaving() and examineLine() for interesting boxes and 86 // examineBoxBeforeLeaving() and examineLine() for interesting boxes and
87 // lines. 87 // lines.
88 void traverse(); 88 void traverse();
89 89
90 private: 90 private:
91 void traverseSubtree(const LayoutBox&); 91 void traverseSubtree(const LayoutBox&);
92 92
93 void traverseLines(const LayoutBlockFlow&);
94 void traverseChildren(const LayoutObject&);
95
93 const LayoutMultiColumnSet& m_columnSet; 96 const LayoutMultiColumnSet& m_columnSet;
94 const LayoutUnit m_logicalTopInFlowThread; 97 const LayoutUnit m_logicalTopInFlowThread;
95 const LayoutUnit m_logicalBottomInFlowThread; 98 const LayoutUnit m_logicalBottomInFlowThread;
96 99
97 LayoutUnit m_flowThreadOffset; 100 LayoutUnit m_flowThreadOffset;
98 }; 101 };
99 102
100 // After an initial layout pass, we know the height of the contents of a flow 103 // After an initial layout pass, we know the height of the contents of a flow
101 // thread. Based on this, we can estimate an initial minimal column height. This 104 // thread. Based on this, we can estimate an initial minimal column height. This
102 // class will collect the necessary information from the layout objects to make 105 // class will collect the necessary information from the layout objects to make
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
237 240
238 // Set when breaking before a block, and we're looking for the first 241 // Set when breaking before a block, and we're looking for the first
239 // unbreakable descendant, in order to report correct space shortage for that 242 // unbreakable descendant, in order to report correct space shortage for that
240 // one. 243 // one.
241 LayoutUnit m_pendingStrut; 244 LayoutUnit m_pendingStrut;
242 245
243 unsigned m_forcedBreaksCount; 246 unsigned m_forcedBreaksCount;
244 }; 247 };
245 248
246 } // namespace blink 249 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698