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

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

Issue 1487083003: It's not just the last column set that may need additional fragmentainer groups. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: sqrt(squareheight) 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 /* 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 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 bool recalculateColumnHeights(); 185 bool recalculateColumnHeights();
186 186
187 void columnRuleStyleDidChange(); 187 void columnRuleStyleDidChange();
188 188
189 // Remove the spanner placeholder and return true if the specified object is no longer a valid spanner. 189 // Remove the spanner placeholder and return true if the specified object is no longer a valid spanner.
190 bool removeSpannerPlaceholderIfNoLongerValid(LayoutBox* spannerObjectInFlowT hread); 190 bool removeSpannerPlaceholderIfNoLongerValid(LayoutBox* spannerObjectInFlowT hread);
191 191
192 LayoutMultiColumnFlowThread* enclosingFlowThread() const; 192 LayoutMultiColumnFlowThread* enclosingFlowThread() const;
193 LayoutUnit blockOffsetInEnclosingFlowThread() const { ASSERT(enclosingFlowTh read()); return m_blockOffsetInEnclosingFlowThread; } 193 LayoutUnit blockOffsetInEnclosingFlowThread() const { ASSERT(enclosingFlowTh read()); return m_blockOffsetInEnclosingFlowThread; }
194 194
195 // Return true if we have a fragmentainer group that can hold a column at th e specified flow thread block offset.
196 bool hasFragmentainerGroupForColumnAt(LayoutUnit offsetInFlowThread) const;
197
198 // If we've run out of columns in the last fragmentainer group (column row), we have to insert 195 // If we've run out of columns in the last fragmentainer group (column row), we have to insert
199 // another fragmentainer group in order to hold more columns. This means tha t we're moving to 196 // another fragmentainer group in order to hold more columns. This means tha t we're moving to
200 // the next outer column (in the enclosing fragmentation context). 197 // the next outer column (in the enclosing fragmentation context).
201 void appendNewFragmentainerGroupIfNeeded(LayoutUnit offsetInFlowThread); 198 void appendNewFragmentainerGroupIfNeeded(LayoutUnit offsetInFlowThread);
202 199
203 const char* name() const override { return "LayoutMultiColumnFlowThread"; } 200 const char* name() const override { return "LayoutMultiColumnFlowThread"; }
204 201
205 protected: 202 protected:
206 LayoutMultiColumnFlowThread(); 203 LayoutMultiColumnFlowThread();
207 void setProgressionIsInline(bool isInline) { m_progressionIsInline = isInlin e; } 204 void setProgressionIsInline(bool isInline) { m_progressionIsInline = isInlin e; }
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
244 bool m_isBeingEvacuated; 241 bool m_isBeingEvacuated;
245 }; 242 };
246 243
247 // Cannot use DEFINE_LAYOUT_OBJECT_TYPE_CASTS here, because isMultiColumnFlowThr ead() is defined in 244 // Cannot use DEFINE_LAYOUT_OBJECT_TYPE_CASTS here, because isMultiColumnFlowThr ead() is defined in
248 // LayoutFlowThread, not in LayoutObject. 245 // LayoutFlowThread, not in LayoutObject.
249 DEFINE_TYPE_CASTS(LayoutMultiColumnFlowThread, LayoutFlowThread, object, object- >isLayoutMultiColumnFlowThread(), object.isLayoutMultiColumnFlowThread()); 246 DEFINE_TYPE_CASTS(LayoutMultiColumnFlowThread, LayoutFlowThread, object, object- >isLayoutMultiColumnFlowThread(), object.isLayoutMultiColumnFlowThread());
250 247
251 } // namespace blink 248 } // namespace blink
252 249
253 #endif // LayoutMultiColumnFlowThread_h 250 #endif // LayoutMultiColumnFlowThread_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698