Bug 122784

Summary: Missing content when compositing solid color combined with "paints into ancestor" layers
Product: WebKit Reporter: Simon Fraser (smfr) <simon.fraser>
Component: Layout and RenderingAssignee: Simon Fraser (smfr) <simon.fraser>
Status: RESOLVED DUPLICATE    
Severity: Normal CC: dino, noam, simon.fraser, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Testcase none

Simon Fraser (smfr)
Reported 2013-10-14 15:50:21 PDT
Created attachment 214199 [details] Testcase The testcase shows a bug (missing background image on the middle div) which I think happens because when we determine that an element can use the solid color optimization, we omit to check to see if any descendants render into it.
Attachments
Testcase (1.04 KB, text/html)
2013-10-14 15:50 PDT, Simon Fraser (smfr)
no flags
Simon Fraser (smfr)
Comment 1 2013-10-14 15:50:34 PDT
Simon Fraser (smfr)
Comment 2 2013-10-14 16:25:35 PDT
A couple of things here: 1. I think this boolean logic in RenderLayerCompositor::requiresOwnBackingStore() is wrong: if (compositingAncestorLayer && (!compositingAncestorLayer->backing()->graphicsLayer()->drawsContent() || compositingAncestorLayer->backing()->paintsIntoWindow() || compositingAncestorLayer->backing()->paintsIntoCompositedAncestor())) return true; but fixing that would prevent having nested "paintsIntoCompositedAncestor()" layers. 2. isSimpleContainerCompositingLayer() gives the wrong answer if descendant compositing layers are "paints into ancestor" layers.
Simon Fraser (smfr)
Comment 3 2014-12-11 15:32:13 PST
Fixed via bug 133065. *** This bug has been marked as a duplicate of bug 133065 ***
Note You need to log in before you can comment on or make changes to this bug.