Bug 49023 - RenderFlexibleBox::layoutBlock calls setNeedsLayout(false) while children still have m_needsLayout=true
Summary: RenderFlexibleBox::layoutBlock calls setNeedsLayout(false) while children sti...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC OS X 10.5
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks: 49019
  Show dependency treegraph
 
Reported: 2010-11-04 14:22 PDT by James Robinson
Modified: 2012-06-21 13:26 PDT (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description James Robinson 2010-11-04 14:22:48 PDT
The ASSERT()s in https://bugs.webkit.org/show_bug.cgi?id=49019 trigger on fast/flexbox/021.html.  With this render tree:

RenderView 0x3dfa858                   	#document	0x3e03220
  RenderBlock 0x3e003f8                	HTML	0x3e421b0
    RenderBody 0x3e3d578               	BODY	0x3e42240
      RenderBlock 0x3cc9948            	P	0x3e3d6b0
        RenderText 0x3e3e3c8           	#text	0x3e3e340 "You should see a 100x100 green square below.  If you see any red, the test has failed.  This test is checking\nfor visibility:collapse support."
      RenderFlexibleBox 0x3e3e5f8      	DIV	0x3e3e4b0
*       RenderFlexibleBox 0x3e3ead8    	DIV	0x3e3e840 CLASS=first
        RenderFlexibleBox 0x3e3eff8    	DIV	0x3e3ece0 CLASS=second

RenderFlexibleBox::layoutBlock() on the 0x3e3e5f8 box calls setNeedsLayout(false) on itself while its first child 0x3e3ead8 still has m_needsLayout set to true.
Comment 1 Julien Chaffraix 2012-06-21 13:06:11 PDT
This doesn't reproduce anymore. I don't know Flexbox enough to pinpoint when it was solved though. Maybe Ojan or Tony know more.
Comment 2 Tony Chang 2012-06-21 13:26:34 PDT
This is for old flexbox.

Not sure off the top of my head. Looking through the commit history maybe https://bugs.webkit.org/show_bug.cgi?id=64842 or https://bugs.webkit.org/show_bug.cgi?id=63776 , but it doesn't seem that important.