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

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

Issue 1696713003: Introduce maxColumnLogicalHeight() and clean up a little. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 10 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
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/layout/LayoutMultiColumnFlowThread.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2012 Apple Inc. All rights reserved. 2 * Copyright (C) 2012 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
150 // Populate the flow thread with what's currently its siblings. Called when a regular block 150 // Populate the flow thread with what's currently its siblings. Called when a regular block
151 // becomes a multicol container. 151 // becomes a multicol container.
152 void populate(); 152 void populate();
153 153
154 // Empty the flow thread by moving everything to the parent. Remove all mult icol specific 154 // Empty the flow thread by moving everything to the parent. Remove all mult icol specific
155 // layoutObjects. Then destroy the flow thread. Called when a multicol conta iner becomes a regular 155 // layoutObjects. Then destroy the flow thread. Called when a multicol conta iner becomes a regular
156 // block. 156 // block.
157 void evacuateAndDestroy(); 157 void evacuateAndDestroy();
158 158
159 unsigned columnCount() const { return m_columnCount; } 159 unsigned columnCount() const { return m_columnCount; }
160
161 // Total height available to columns and spanners. This is the multicol cont ainer's content box
162 // logical height, or 0 if auto.
160 LayoutUnit columnHeightAvailable() const { return m_columnHeightAvailable; } 163 LayoutUnit columnHeightAvailable() const { return m_columnHeightAvailable; }
161 void setColumnHeightAvailable(LayoutUnit available) { m_columnHeightAvailabl e = available; } 164 void setColumnHeightAvailable(LayoutUnit available) { m_columnHeightAvailabl e = available; }
165
166 // Maximum content box logical height for the multicol container. This takes CSS logical
167 // 'height' and 'max-height' into account. LayoutUnit::max() is returned if nothing constrains
168 // the height of the multicol container. This method only deals with used va lues of CSS
169 // properties, and it does not consider enclosing fragmentation contexts -- that's something
170 // that needs to be calculated per fragmentainer group.
171 LayoutUnit maxColumnLogicalHeight() const;
172
162 bool progressionIsInline() const { return m_progressionIsInline; } 173 bool progressionIsInline() const { return m_progressionIsInline; }
163 174
164 LayoutUnit tallestUnbreakableLogicalHeight(LayoutUnit offsetInFlowThread) co nst; 175 LayoutUnit tallestUnbreakableLogicalHeight(LayoutUnit offsetInFlowThread) co nst;
165 176
166 LayoutSize columnOffset(const LayoutPoint&) const final; 177 LayoutSize columnOffset(const LayoutPoint&) const final;
167 178
168 // Do we need to set a new width and lay out? 179 // Do we need to set a new width and lay out?
169 virtual bool needsNewWidth() const; 180 virtual bool needsNewWidth() const;
170 181
171 bool isPageLogicalHeightKnown() const final; 182 bool isPageLogicalHeightKnown() const final;
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
256 bool m_isBeingEvacuated; 267 bool m_isBeingEvacuated;
257 }; 268 };
258 269
259 // Cannot use DEFINE_LAYOUT_OBJECT_TYPE_CASTS here, because isMultiColumnFlowThr ead() is defined in 270 // Cannot use DEFINE_LAYOUT_OBJECT_TYPE_CASTS here, because isMultiColumnFlowThr ead() is defined in
260 // LayoutFlowThread, not in LayoutObject. 271 // LayoutFlowThread, not in LayoutObject.
261 DEFINE_TYPE_CASTS(LayoutMultiColumnFlowThread, LayoutFlowThread, object, object- >isLayoutMultiColumnFlowThread(), object.isLayoutMultiColumnFlowThread()); 272 DEFINE_TYPE_CASTS(LayoutMultiColumnFlowThread, LayoutFlowThread, object, object- >isLayoutMultiColumnFlowThread(), object.isLayoutMultiColumnFlowThread());
262 273
263 } // namespace blink 274 } // namespace blink
264 275
265 #endif // LayoutMultiColumnFlowThread_h 276 #endif // LayoutMultiColumnFlowThread_h
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/layout/LayoutMultiColumnFlowThread.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698