Bug 99135 - Change creation of layer when blendmode is set
Summary: Change creation of layer when blendmode is set
Status: RESOLVED WONTFIX
Alias: None
Product: WebKit
Classification: Unclassified
Component: CSS (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Rik Cabanier
URL:
Keywords:
Depends on:
Blocks: 99119
  Show dependency treegraph
 
Reported: 2012-10-11 21:51 PDT by Rik Cabanier
Modified: 2012-10-12 13:04 PDT (History)
3 users (show)

See Also:


Attachments
Patch (6.89 KB, patch)
2012-10-11 22:12 PDT, Rik Cabanier
simon.fraser: review-
simon.fraser: commit-queue-
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Rik Cabanier 2012-10-11 21:51:59 PDT
The current code always creates a layer when it sees a blend mode.
This is not always necessary since Core Graphics supports this idiom.

This patch will change the code so it no longer creates a layer. Subsequent patches are needed for cases that layers are needed such as when there is video, nested blending or filters.
Comment 1 Rik Cabanier 2012-10-11 22:12:30 PDT
Created attachment 168358 [details]
Patch
Comment 2 Simon Fraser (smfr) 2012-10-12 09:58:01 PDT
Comment on attachment 168358 [details]
Patch

You need to change RenderLayerCompositor::requiresCompositingForIndirectReason() to make a compositing layer when blending is on, when children are composited.

You need a test that has a blended div with a 3d-transformed descendant to test this.
Comment 3 Rik Cabanier 2012-10-12 12:14:08 PDT
(In reply to comment #2)
> (From update of attachment 168358 [details])
> You need to change RenderLayerCompositor::requiresCompositingForIndirectReason() to make a compositing layer when blending is on, when children are composited.
> 
> You need a test that has a blended div with a 3d-transformed descendant to test this.

I know that this is not a complete patch.
As we discussed, I want to land the CG code first but the tests won't work since the layer negates the effect of blending.