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

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

Issue 1834223008: All ancestor multicols must have enough rows before laying out some inner multicol. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Forgot to specify line-height in the ref Created 4 years, 8 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) 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 197 matching lines...) Expand 10 before | Expand all | Expand 10 after
208 // Remove the spanner placeholder and return true if the specified object is no longer a valid spanner. 208 // Remove the spanner placeholder and return true if the specified object is no longer a valid spanner.
209 bool removeSpannerPlaceholderIfNoLongerValid(LayoutBox* spannerObjectInFlowT hread); 209 bool removeSpannerPlaceholderIfNoLongerValid(LayoutBox* spannerObjectInFlowT hread);
210 210
211 LayoutMultiColumnFlowThread* enclosingFlowThread() const; 211 LayoutMultiColumnFlowThread* enclosingFlowThread() const;
212 FragmentationContext* enclosingFragmentationContext() const; 212 FragmentationContext* enclosingFragmentationContext() const;
213 LayoutUnit blockOffsetInEnclosingFragmentationContext() const { ASSERT(enclo singFragmentationContext()); return m_blockOffsetInEnclosingFragmentationContext ; } 213 LayoutUnit blockOffsetInEnclosingFragmentationContext() const { ASSERT(enclo singFragmentationContext()); return m_blockOffsetInEnclosingFragmentationContext ; }
214 214
215 // If we've run out of columns in the last fragmentainer group (column row), we have to insert 215 // If we've run out of columns in the last fragmentainer group (column row), we have to insert
216 // another fragmentainer group in order to hold more columns. This means tha t we're moving to 216 // another fragmentainer group in order to hold more columns. This means tha t we're moving to
217 // the next outer column (in the enclosing fragmentation context). 217 // the next outer column (in the enclosing fragmentation context).
218 void appendNewFragmentainerGroupIfNeeded(LayoutUnit bottomOffsetInFlowThread ); 218 void appendNewFragmentainerGroupIfNeeded(LayoutUnit offsetInFlowThread, Page BoundaryRule);
219 219
220 // Implementing FragmentationContext: 220 // Implementing FragmentationContext:
221 bool isFragmentainerLogicalHeightKnown() final; 221 bool isFragmentainerLogicalHeightKnown() final;
222 LayoutUnit fragmentainerLogicalHeightAt(LayoutUnit blockOffset) final; 222 LayoutUnit fragmentainerLogicalHeightAt(LayoutUnit blockOffset) final;
223 LayoutUnit remainingLogicalHeightAt(LayoutUnit blockOffset) final; 223 LayoutUnit remainingLogicalHeightAt(LayoutUnit blockOffset) final;
224 LayoutMultiColumnFlowThread* associatedFlowThread() final { return this; } 224 LayoutMultiColumnFlowThread* associatedFlowThread() final { return this; }
225 225
226 const char* name() const override { return "LayoutMultiColumnFlowThread"; } 226 const char* name() const override { return "LayoutMultiColumnFlowThread"; }
227 227
228 protected: 228 protected:
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
267 bool m_isBeingEvacuated; 267 bool m_isBeingEvacuated;
268 }; 268 };
269 269
270 // 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
271 // LayoutFlowThread, not in LayoutObject. 271 // LayoutFlowThread, not in LayoutObject.
272 DEFINE_TYPE_CASTS(LayoutMultiColumnFlowThread, LayoutFlowThread, object, object- >isLayoutMultiColumnFlowThread(), object.isLayoutMultiColumnFlowThread()); 272 DEFINE_TYPE_CASTS(LayoutMultiColumnFlowThread, LayoutFlowThread, object, object- >isLayoutMultiColumnFlowThread(), object.isLayoutMultiColumnFlowThread());
273 273
274 } // namespace blink 274 } // namespace blink
275 275
276 #endif // LayoutMultiColumnFlowThread_h 276 #endif // LayoutMultiColumnFlowThread_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698