Skip to content
  • mitz@apple.com's avatar
    Layout not updating in a subtree when a scrollbar is hidden in a flexbox descendant · baef7337
    mitz@apple.com authored
    https://bugs.webkit.org/show_bug.cgi?id=48154
    
    Reviewed by Anders Carlsson.
    
    WebCore: 
    
    Test: scrollbars/hidden-scrollbar-prevents-layout.html
    
    updateScrollInfoAfterLayout() calling setHasHorizontalScrollbar() caused updateScrollbarParts()
    to call setChildNeedsLayout() on the overflow, because the RenderScrollbar was created with
    the default thickness instead of the thickness specified in style. This led to the the overflow’s
    parent to be re-marked for layout during its own parent’s finishDelayUpdateScrollInfo(), and
    the result was that at the end of RenderView::layout(), there was a dirty renderer.
    
    * rendering/RenderScrollbar.cpp:
    (WebCore::RenderScrollbar::RenderScrollbar): Set the frame size in the 'display: none' and
    'visibility: hidden' cases as well.
    
    LayoutTests: 
    
    * scrollbars/hidden-scrollbar-prevents-layout-expected.txt: Added.
    * scrollbars/hidden-scrollbar-prevents-layout.html: Added.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@70354 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    baef7337