Bug 117772
| Summary: | [CSS Blending] Background blending is not performed beyond opaque background layers | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Ryosuke Niwa <rniwa> |
| Component: | CSS | Assignee: | Nobody <webkit-unassigned> |
| Status: | RESOLVED DUPLICATE | ||
| Severity: | Normal | CC: | jochen, krit, mitica |
| Priority: | P2 | Keywords: | BlinkMergeCandidate |
| Version: | 528+ (Nightly build) | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Ryosuke Niwa
Consider merging https://chromium.googlesource.com/chromium/blink/+/e5c8e0d80e03728effad4a2708c5a6d4c8d394cc
If an element has the background defined as two opaque layers, let's say a jpg image
and a background color, and background blending is specified via CSS, the operation
isn't performed.
The fix consists of adding another condition in RenderBox::PaintFillLayers to shortcircuit
at the next background layer only if there's no blending operation applied to it.
Otherwise, the layer should be passed forward for painting.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Mihai Tica
(In reply to comment #0)
> Consider merging https://chromium.googlesource.com/chromium/blink/+/e5c8e0d80e03728effad4a2708c5a6d4c8d394cc
>
> If an element has the background defined as two opaque layers, let's say a jpg image
> and a background color, and background blending is specified via CSS, the operation
> isn't performed.
>
> The fix consists of adding another condition in RenderBox::PaintFillLayers to shortcircuit
> at the next background layer only if there's no blending operation applied to it.
> Otherwise, the layer should be passed forward for painting.
This also got into WebKit first :D
Here's the changeset that addressed this problem: http://trac.webkit.org/changeset/151547, we should probably close this.
Ryosuke Niwa
Great!
*** This bug has been marked as a duplicate of bug 117532 ***