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

Side by Side Diff: Source/core/layout/LayoutMultiColumnSet.cpp

Issue 1266553002: Include overflow when setting the logical flowthread bottom on the last column set. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 4 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 | Annotate | Revision Log
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 203 matching lines...) Expand 10 before | Expand all | Expand 10 after
214 214
215 void LayoutMultiColumnSet::endFlow(LayoutUnit offsetInFlowThread) 215 void LayoutMultiColumnSet::endFlow(LayoutUnit offsetInFlowThread)
216 { 216 {
217 // At this point layout is exactly at the end of this set. Store block offse t from flow thread 217 // At this point layout is exactly at the end of this set. Store block offse t from flow thread
218 // start. This set is now considered "flowed", although we may have to revis it it later (with 218 // start. This set is now considered "flowed", although we may have to revis it it later (with
219 // beginFlow()), e.g. if a subtree in the flow thread has to be laid out ove r again because the 219 // beginFlow()), e.g. if a subtree in the flow thread has to be laid out ove r again because the
220 // initial margin collapsing estimates were wrong. 220 // initial margin collapsing estimates were wrong.
221 m_fragmentainerGroups.last().setLogicalBottomInFlowThread(offsetInFlowThread ); 221 m_fragmentainerGroups.last().setLogicalBottomInFlowThread(offsetInFlowThread );
222 } 222 }
223 223
224 void LayoutMultiColumnSet::expandToEncompassFlowThreadContentsIfNeeded()
225 {
226 ASSERT(multiColumnFlowThread()->lastMultiColumnSet() == this);
227 // FIXME: this may result in the need for creating additional rows, since th ere may not be
228 // enough space remaining in the currently last row.
229 m_fragmentainerGroups.last().expandToEncompassFlowThreadOverflow();
230 }
231
232 void LayoutMultiColumnSet::computeIntrinsicLogicalWidths(LayoutUnit& minLogicalW idth, LayoutUnit& maxLogicalWidth) const 224 void LayoutMultiColumnSet::computeIntrinsicLogicalWidths(LayoutUnit& minLogicalW idth, LayoutUnit& maxLogicalWidth) const
233 { 225 {
234 minLogicalWidth = m_flowThread->minPreferredLogicalWidth(); 226 minLogicalWidth = m_flowThread->minPreferredLogicalWidth();
235 maxLogicalWidth = m_flowThread->maxPreferredLogicalWidth(); 227 maxLogicalWidth = m_flowThread->maxPreferredLogicalWidth();
236 } 228 }
237 229
238 void LayoutMultiColumnSet::computeLogicalHeight(LayoutUnit, LayoutUnit logicalTo p, LogicalExtentComputedValues& computedValues) const 230 void LayoutMultiColumnSet::computeLogicalHeight(LayoutUnit, LayoutUnit logicalTo p, LogicalExtentComputedValues& computedValues) const
239 { 231 {
240 LayoutUnit logicalHeight; 232 LayoutUnit logicalHeight;
241 for (const auto& group : m_fragmentainerGroups) 233 for (const auto& group : m_fragmentainerGroups)
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
325 317
326 LayoutRect LayoutMultiColumnSet::flowThreadPortionRect() const 318 LayoutRect LayoutMultiColumnSet::flowThreadPortionRect() const
327 { 319 {
328 LayoutRect portionRect(LayoutUnit(), logicalTopInFlowThread(), pageLogicalWi dth(), logicalHeightInFlowThread()); 320 LayoutRect portionRect(LayoutUnit(), logicalTopInFlowThread(), pageLogicalWi dth(), logicalHeightInFlowThread());
329 if (!isHorizontalWritingMode()) 321 if (!isHorizontalWritingMode())
330 return portionRect.transposedRect(); 322 return portionRect.transposedRect();
331 return portionRect; 323 return portionRect;
332 } 324 }
333 325
334 } 326 }
OLDNEW
« no previous file with comments | « Source/core/layout/LayoutMultiColumnSet.h ('k') | Source/core/layout/MultiColumnFragmentainerGroup.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698