Skip to content
  • roger_fong@apple.com's avatar
    Layout info should never be cleared before delayed scroll information updates. · adc9c902
    roger_fong@apple.com authored
    https://bugs.webkit.org/show_bug.cgi?id=116689.
    
    Reviewed by Darin Adler.
    
    Test: fast/flexbox/clear-overflow-before-scroll-update.html
    
    Make sure that clearLayoutOverflow only gets called after layer()->updateScrollInfoAfterLayout().
    Also move clearLayoutOverflow to RenderBlock so we can keep all the delayed scroll update logic in RenderBlock.
    
    * rendering/RenderBlock.cpp:
    (WebCore::RenderBlock::finishDelayUpdateScrollInfo): Call clearLayoutOverflow here.
    (WebCore::RenderBlock::layout): Only call clearLayoutOverflow here if scrolling isn't being delayed.
    (WebCore::RenderBlock::clearLayoutOverflow): Remove clearLayoutOverflow, move into RenderBlock to keep delayed scrolling logic in the same file.
    * rendering/RenderBlock.h:
    * rendering/RenderBox.cpp:
    * rendering/RenderBox.h:
    * rendering/RenderDeprecatedFlexibleBox.cpp: Should call updateScrollInfoAfterLayout, not layer()->updateScrollInfoAfterLayout(), so that it takes delayed scrolling logic into account.
    (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
    * rendering/RenderGrid.cpp: Ditto
    (WebCore::RenderGrid::layoutBlock):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151360 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    adc9c902