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 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
192 if (RenderMultiColumnFlowThread* flowThread = multiColumnFlowThread()) { | 192 if (RenderMultiColumnFlowThread* flowThread = multiColumnFlowThread()) { |
193 if (flowThread->computeColumnCountAndWidth()) | 193 if (flowThread->computeColumnCountAndWidth()) |
194 return true; | 194 return true; |
195 } | 195 } |
196 return relayoutChildren; | 196 return relayoutChildren; |
197 } | 197 } |
198 | 198 |
199 void RenderBlockFlow::checkForPaginationLogicalHeightChange(LayoutUnit& pageLogi
calHeight, bool& pageLogicalHeightChanged, bool& hasSpecifiedPageLogicalHeight) | 199 void RenderBlockFlow::checkForPaginationLogicalHeightChange(LayoutUnit& pageLogi
calHeight, bool& pageLogicalHeightChanged, bool& hasSpecifiedPageLogicalHeight) |
200 { | 200 { |
201 if (RenderMultiColumnFlowThread* flowThread = multiColumnFlowThread()) { | 201 if (RenderMultiColumnFlowThread* flowThread = multiColumnFlowThread()) { |
202 updateLogicalHeight(); | 202 LogicalExtentComputedValues computedValues; |
203 pageLogicalHeightChanged = contentLogicalHeight() != flowThread->columnH
eightAvailable(); | 203 computeLogicalHeight(LayoutUnit(), logicalTop(), computedValues); |
204 flowThread->setColumnHeightAvailable(std::max<LayoutUnit>(contentLogical
Height(), 0)); | 204 LayoutUnit columnHeight = computedValues.m_extent - borderAndPaddingLogi
calHeight() - scrollbarLogicalHeight(); |
205 setLogicalHeight(0); | 205 pageLogicalHeightChanged = columnHeight != flowThread->columnHeightAvail
able(); |
| 206 flowThread->setColumnHeightAvailable(std::max<LayoutUnit>(columnHeight,
0)); |
206 } else if (hasColumns()) { | 207 } else if (hasColumns()) { |
207 ColumnInfo* colInfo = columnInfo(); | 208 ColumnInfo* colInfo = columnInfo(); |
208 | 209 |
209 if (!pageLogicalHeight) { | 210 if (!pageLogicalHeight) { |
210 LayoutUnit oldLogicalHeight = logicalHeight(); | 211 LayoutUnit oldLogicalHeight = logicalHeight(); |
211 setLogicalHeight(0); | 212 setLogicalHeight(0); |
212 // We need to go ahead and set our explicit page height if one exist
s, so that we can | 213 // We need to go ahead and set our explicit page height if one exist
s, so that we can |
213 // avoid doing two layout passes. | 214 // avoid doing two layout passes. |
214 updateLogicalHeight(); | 215 updateLogicalHeight(); |
215 LayoutUnit columnHeight = contentLogicalHeight(); | 216 LayoutUnit columnHeight = contentLogicalHeight(); |
(...skipping 2587 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2803 RenderBlockFlow::RenderBlockFlowRareData& RenderBlockFlow::ensureRareData() | 2804 RenderBlockFlow::RenderBlockFlowRareData& RenderBlockFlow::ensureRareData() |
2804 { | 2805 { |
2805 if (m_rareData) | 2806 if (m_rareData) |
2806 return *m_rareData; | 2807 return *m_rareData; |
2807 | 2808 |
2808 m_rareData = adoptPtr(new RenderBlockFlowRareData(this)); | 2809 m_rareData = adoptPtr(new RenderBlockFlowRareData(this)); |
2809 return *m_rareData; | 2810 return *m_rareData; |
2810 } | 2811 } |
2811 | 2812 |
2812 } // namespace WebCore | 2813 } // namespace WebCore |
OLD | NEW |