| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google 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 are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 244 if (minColumnCount >= desiredColumnCount) { | 244 if (minColumnCount >= desiredColumnCount) { |
| 245 // The forced page breaks are in control of the balancing. Just set the
column height to the | 245 // The forced page breaks are in control of the balancing. Just set the
column height to the |
| 246 // maximum page break distance. | 246 // maximum page break distance. |
| 247 if (!pageLogicalHeight) { | 247 if (!pageLogicalHeight) { |
| 248 LayoutUnit distanceBetweenBreaks = max<LayoutUnit>(colInfo->maximumD
istanceBetweenForcedBreaks(), | 248 LayoutUnit distanceBetweenBreaks = max<LayoutUnit>(colInfo->maximumD
istanceBetweenForcedBreaks(), |
| 249 view()->layoutState()->pageLogicalOffset(*this, borderBefore() +
paddingBefore() + layoutOverflowLogicalBottom) - colInfo->forcedBreakOffset()); | 249 view()->layoutState()->pageLogicalOffset(*this, borderBefore() +
paddingBefore() + layoutOverflowLogicalBottom) - colInfo->forcedBreakOffset()); |
| 250 columnHeight = max(colInfo->minimumColumnHeight(), distanceBetweenBr
eaks); | 250 columnHeight = max(colInfo->minimumColumnHeight(), distanceBetweenBr
eaks); |
| 251 } | 251 } |
| 252 } else if (layoutOverflowLogicalBottom > boundedMultiply(pageLogicalHeight,
desiredColumnCount)) { | 252 } else if (layoutOverflowLogicalBottom > boundedMultiply(pageLogicalHeight,
desiredColumnCount)) { |
| 253 // Now that we know the intrinsic height of the columns, we have to reba
lance them. | 253 // Now that we know the intrinsic height of the columns, we have to reba
lance them. |
| 254 columnHeight = max<LayoutUnit>(colInfo->minimumColumnHeight(), ceilf((fl
oat)layoutOverflowLogicalBottom / desiredColumnCount)); | 254 columnHeight = max<LayoutUnit>(colInfo->minimumColumnHeight(), ceilf(lay
outOverflowLogicalBottom.toFloat() / desiredColumnCount)); |
| 255 } | 255 } |
| 256 | 256 |
| 257 if (columnHeight && columnHeight != pageLogicalHeight) { | 257 if (columnHeight && columnHeight != pageLogicalHeight) { |
| 258 pageLogicalHeight = columnHeight; | 258 pageLogicalHeight = columnHeight; |
| 259 return true; | 259 return true; |
| 260 } | 260 } |
| 261 | 261 |
| 262 return false; | 262 return false; |
| 263 } | 263 } |
| 264 | 264 |
| (...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 383 addOverflowFromBlockChildren(); | 383 addOverflowFromBlockChildren(); |
| 384 LayoutUnit layoutOverflowLogicalBottom = (isHorizontalWritingMode() ? la
youtOverflowRect().maxY() : layoutOverflowRect().maxX()) - borderBefore() - padd
ingBefore(); | 384 LayoutUnit layoutOverflowLogicalBottom = (isHorizontalWritingMode() ? la
youtOverflowRect().maxY() : layoutOverflowRect().maxX()) - borderBefore() - padd
ingBefore(); |
| 385 m_overflow = savedOverflow.release(); | 385 m_overflow = savedOverflow.release(); |
| 386 | 386 |
| 387 if (!hasSpecifiedPageLogicalHeight && shouldRelayoutForPagination(pageLo
gicalHeight, layoutOverflowLogicalBottom)) { | 387 if (!hasSpecifiedPageLogicalHeight && shouldRelayoutForPagination(pageLo
gicalHeight, layoutOverflowLogicalBottom)) { |
| 388 statePusher.pop(); | 388 statePusher.pop(); |
| 389 setEverHadLayout(true); | 389 setEverHadLayout(true); |
| 390 return false; | 390 return false; |
| 391 } | 391 } |
| 392 | 392 |
| 393 setColumnCountAndHeight(ceilf((float)layoutOverflowLogicalBottom / pageL
ogicalHeight), pageLogicalHeight); | 393 setColumnCountAndHeight(ceilf(layoutOverflowLogicalBottom.toFloat() / pa
geLogicalHeight.toFloat()), pageLogicalHeight.toFloat()); |
| 394 } | 394 } |
| 395 | 395 |
| 396 if (shouldBreakAtLineToAvoidWidow()) { | 396 if (shouldBreakAtLineToAvoidWidow()) { |
| 397 statePusher.pop(); | 397 statePusher.pop(); |
| 398 setEverHadLayout(true); | 398 setEverHadLayout(true); |
| 399 return false; | 399 return false; |
| 400 } | 400 } |
| 401 | 401 |
| 402 // Calculate our new height. | 402 // Calculate our new height. |
| 403 LayoutUnit oldHeight = logicalHeight(); | 403 LayoutUnit oldHeight = logicalHeight(); |
| (...skipping 2439 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2843 RenderBlockFlow::RenderBlockFlowRareData& RenderBlockFlow::ensureRareData() | 2843 RenderBlockFlow::RenderBlockFlowRareData& RenderBlockFlow::ensureRareData() |
| 2844 { | 2844 { |
| 2845 if (m_rareData) | 2845 if (m_rareData) |
| 2846 return *m_rareData; | 2846 return *m_rareData; |
| 2847 | 2847 |
| 2848 m_rareData = adoptPtr(new RenderBlockFlowRareData(this)); | 2848 m_rareData = adoptPtr(new RenderBlockFlowRareData(this)); |
| 2849 return *m_rareData; | 2849 return *m_rareData; |
| 2850 } | 2850 } |
| 2851 | 2851 |
| 2852 } // namespace WebCore | 2852 } // namespace WebCore |
| OLD | NEW |