Summary: | Missing content when compositing solid color combined with "paints into ancestor" layers | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Simon Fraser (smfr) <simon.fraser> | ||||
Component: | Layout and Rendering | Assignee: | 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: |
|
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. Fixed via bug 133065. *** This bug has been marked as a duplicate of bug 133065 *** |
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.