Bug 68738

Summary: Add a mechanism to test for the compositing tree mutated during painting
Product: WebKit Reporter: James Robinson <jamesr>
Component: Layout and RenderingAssignee: James Robinson <jamesr>
Status: RESOLVED FIXED    
Severity: Normal CC: cmarrin, enne, jamesr, simon.fraser, vangelis, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
some assertions, no test case yet
none
Patch none

Description James Robinson 2011-09-23 15:17:19 PDT
We've had a lot of bugs in the past with compositing turning off or the GraphicsLayer tree being mutated during painting.  See https://bugs.webkit.org/show_bug.cgi?id=54707, http://trac.webkit.org/changeset/45715/trunk/WebCore/rendering/RenderLayer.cpp and others.  We should add ASSERT()s to catch this case and some test cases to hit the areas where we've seen this happen in the past.
Comment 1 James Robinson 2011-09-23 15:41:47 PDT
Created attachment 108549 [details]
some assertions, no test case yet
Comment 2 James Robinson 2011-09-23 15:46:01 PDT
I'm working on reduce a manual test case down to something automated that will make this ASSERT() hit without the fix in https://bugs.webkit.org/show_bug.cgi?id=68727.
Comment 3 James Robinson 2011-09-23 18:25:58 PDT
Created attachment 108572 [details]
Patch
Comment 4 James Robinson 2011-09-23 18:26:33 PDT
Many bothans died to bring you this test case that reliably fails in DRT prior to http://trac.webkit.org/changeset/95863.  The timing is unbelievably sensitive.
Comment 5 Adam Barth 2011-09-23 19:30:31 PDT
Comment on attachment 108572 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=108572&action=review

> Source/WebCore/platform/graphics/GraphicsLayer.cpp:65
> +static bool s_inPaintContents = false;

I would have used a counter, but that's because I'm paranoid about re-entrancy from working on the parser.  :)
Comment 6 WebKit Review Bot 2011-09-27 14:46:35 PDT
Comment on attachment 108572 [details]
Patch

Clearing flags on attachment: 108572

Committed r96160: <http://trac.webkit.org/changeset/96160>
Comment 7 WebKit Review Bot 2011-09-27 14:46:40 PDT
All reviewed patches have been landed.  Closing bug.