Bug 32449

Summary: Child elements disappear, then get doubled, when changing -webkit-transform-style
Product: WebKit Reporter: Adam Roben (:aroben) <aroben>
Component: Layout and RenderingAssignee: Chris Marrin <cmarrin>
Status: RESOLVED FIXED    
Severity: Normal CC: cmarrin
Priority: P2 Keywords: InRadar, PlatformOnly
Version: 528+ (Nightly build)   
Hardware: PC   
OS: Windows 7   
URL: http://webkit.org/blog-files/3d-transforms/transform-style.html
Attachments:
Description Flags
Patch
none
replacement patch simon.fraser: review+

Adam Roben (:aroben)
Reported 2009-12-11 14:07:06 PST
To reproduce: 1. Go to http://webkit.org/blog-files/3d-transforms/transform-style.html 2. Hover over the box with the blue border 3. Move your mouse out of the box with the blue border After step 2, the yellow and green rectangles disappear, but should instead be rendered flattened into the purple rectangle. After step 3, the yellow and green rectangles appear *both* flattened and unflattened, but should only appear unflattened.
Attachments
Patch (5.86 KB, patch)
2010-03-17 16:58 PDT, Chris Marrin
no flags
replacement patch (7.18 KB, patch)
2010-03-18 14:46 PDT, Chris Marrin
simon.fraser: review+
mitz
Comment 1 2009-12-11 14:09:46 PST
Chris Marrin
Comment 2 2010-03-17 16:58:59 PDT
Chris Marrin
Comment 3 2010-03-18 14:46:06 PDT
Created attachment 51097 [details] replacement patch This separates the removeFromSuperLayer loop from the insertSublayer loop in the setSublayers method. This is safer to avoid mutating the array while traversing it.
Simon Fraser (smfr)
Comment 4 2010-03-18 14:49:53 PDT
Comment on attachment 51097 [details] replacement patch r=me but this needs a layout test (written to assume that pixel and/or layer dumping is available in future).
Chris Marrin
Comment 5 2010-03-18 16:01:40 PDT
Chris Marrin
Comment 6 2010-03-18 16:03:47 PDT
I am working on printing the layer tree from DRT. When I land that, I will land a test for this bug as a proof of concept
Note You need to log in before you can comment on or make changes to this bug.