Skip to content
Commit baef7337 authored by mitz@apple.com's avatar mitz@apple.com
Browse files

Layout not updating in a subtree when a scrollbar is hidden in a flexbox descendant

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
parent 23071ae8
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment