| 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 |