Bug 68738 - Add a mechanism to test for the compositing tree mutated during painting
Summary: Add a mechanism to test for the compositing tree mutated during painting
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: James Robinson
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-09-23 15:17 PDT by James Robinson
Modified: 2011-09-27 14:46 PDT (History)
6 users (show)

See Also:


Attachments
some assertions, no test case yet (2.20 KB, patch)
2011-09-23 15:41 PDT, James Robinson
no flags Details | Formatted Diff | Diff
Patch (4.75 KB, patch)
2011-09-23 18:25 PDT, James Robinson
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
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.