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 402 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
413 | 413 |
414 if (shouldBreakAtLineToAvoidWidow()) { | 414 if (shouldBreakAtLineToAvoidWidow()) { |
415 setEverHadLayout(true); | 415 setEverHadLayout(true); |
416 return false; | 416 return false; |
417 } | 417 } |
418 | 418 |
419 // Calculate our new height. | 419 // Calculate our new height. |
420 LayoutUnit oldHeight = logicalHeight(); | 420 LayoutUnit oldHeight = logicalHeight(); |
421 LayoutUnit oldClientAfterEdge = clientLogicalBottom(); | 421 LayoutUnit oldClientAfterEdge = clientLogicalBottom(); |
422 | 422 |
423 if (isRenderFlowThread()) | |
424 toRenderFlowThread(this)->applyBreakAfterContent(oldClientAfterEdge); | |
425 | |
426 updateLogicalHeight(); | 423 updateLogicalHeight(); |
427 LayoutUnit newHeight = logicalHeight(); | 424 LayoutUnit newHeight = logicalHeight(); |
428 if (oldHeight > newHeight && !childrenInline()) { | 425 if (oldHeight > newHeight && !childrenInline()) { |
429 // One of our children's floats may have become an overhanging float for
us. | 426 // One of our children's floats may have become an overhanging float for
us. |
430 for (RenderObject* child = lastChild(); child; child = child->previousSi
bling()) { | 427 for (RenderObject* child = lastChild(); child; child = child->previousSi
bling()) { |
431 if (child->isRenderBlockFlow() && !child->isFloatingOrOutOfFlowPosit
ioned()) { | 428 if (child->isRenderBlockFlow() && !child->isFloatingOrOutOfFlowPosit
ioned()) { |
432 RenderBlockFlow* block = toRenderBlockFlow(child); | 429 RenderBlockFlow* block = toRenderBlockFlow(child); |
433 if (block->lowestFloatLogicalBottom() + block->logicalTop() <= n
ewHeight) | 430 if (block->lowestFloatLogicalBottom() + block->logicalTop() <= n
ewHeight) |
434 break; | 431 break; |
435 addOverhangingFloats(block, false); | 432 addOverhangingFloats(block, false); |
(...skipping 2360 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2796 RenderBlockFlow::RenderBlockFlowRareData& RenderBlockFlow::ensureRareData() | 2793 RenderBlockFlow::RenderBlockFlowRareData& RenderBlockFlow::ensureRareData() |
2797 { | 2794 { |
2798 if (m_rareData) | 2795 if (m_rareData) |
2799 return *m_rareData; | 2796 return *m_rareData; |
2800 | 2797 |
2801 m_rareData = adoptPtr(new RenderBlockFlowRareData(this)); | 2798 m_rareData = adoptPtr(new RenderBlockFlowRareData(this)); |
2802 return *m_rareData; | 2799 return *m_rareData; |
2803 } | 2800 } |
2804 | 2801 |
2805 } // namespace WebCore | 2802 } // namespace WebCore |
OLD | NEW |