Skip to content
  • hyatt@apple.com's avatar
    https://bugs.webkit.org/show_bug.cgi?id=68719 · 1fb7d582
    hyatt@apple.com authored
            
    Push through multiple regions when an object doesn't fit in any of them. Unlike with pages and
    columns, when regions have a non-uniform height, we may need to push through multiple regions
    in order to find one that fits.
            
    Added an optimization for quickly noticing if regions do have a uniform height so that we can
    treat them like columns and pages if so.
    
    Also fixed the end line matchup to properly null out endLine when no next line box exists. The new
    layout tests I wrote to cover this feature exposed this crasher, so fixing it in order to land
    the new tests.
    
    Reviewed by Anders Carlsson.
    
    Source/WebCore: 
    
    Added new tests in fast/regions.
    
    * rendering/RenderBlock.cpp:
    (WebCore::RenderBlock::adjustForUnsplittableChild):
    (WebCore::RenderBlock::pushToNextPageWithMinimumLogicalHeight):
    (WebCore::RenderBlock::adjustLinePositionForPagination):
    * rendering/RenderBlock.h:
    * rendering/RenderBlockLineLayout.cpp:
    (WebCore::RenderBlock::matchedEndLine):
    * rendering/RenderFlowThread.cpp:
    (WebCore::RenderFlowThread::RenderFlowThread):
    (WebCore::RenderFlowThread::layout):
    * rendering/RenderFlowThread.h:
    
    LayoutTests: 
    
    * fast/regions/webkit-flow-float-pushed-to-last-region.html: Added.
    * fast/regions/webkit-flow-float-unable-to-push.html: Added.
    * platform/mac/fast/regions/webkit-flow-float-pushed-to-last-region-expected.png: Added.
    * platform/mac/fast/regions/webkit-flow-float-pushed-to-last-region-expected.txt: Added.
    * platform/mac/fast/regions/webkit-flow-float-unable-to-push-expected.png: Added.
    * platform/mac/fast/regions/webkit-flow-float-unable-to-push-expected.txt: Added.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95855 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    1fb7d582