New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 738810 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner: ----
Closed: Sep 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug-Regression



Sign in to add a comment

opaque background when using nested svg and mix-blend-mode

Reported by ha...@in-tools.com, Jul 3 2017

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36

Steps to reproduce the problem:
1. Create nested svg elements
2. Apply mixed-blend-mode: difference (or any blend-mode other than screen)
3. The svg which has the blend-mode applied has an opaque white background

Here is a jsfiddle which displays the problem:
https://jsfiddle.net/Harbs/rbxaw6oe/1/
It worked correctly in Chrome 58 (although there was always a discrepancy between the Firefox and Chrome behavior in terms of interaction with the backrgound)

Removing the outside svg makes it display correctly:
https://jsfiddle.net/Harbs/rbxaw6oe/2/

What is the expected behavior?
There should be no background and the colors should blend correctly.

What went wrong?
Chrome is applying an opaque background where it shouldn't.

Did this work before? Yes 58

Chrome version: 59.0.3071.115  Channel: stable
OS Version: OS X 10.10.5
Flash Version: Shockwave Flash 26.0 r0

I'm seeing this on Chrome Mac, but not Chrome Windows. IE and Edge both seem to have similar issues to the new version of Chrome in that the colors do nor blend, but there is not visible white background.
 

Comment 1 by ha...@in-tools.com, Jul 3 2017

Here are screenshots of the two fiddles.
bad-fiddle.png
1.6 KB View Download
good-fiddle.png
2.1 KB View Download
Components: -UI Blink>SVG Blink>Paint
I couldn't reproduce this on Linux M59 + ToT:

svg_content_shell_tot.png
1.9 KB View Download

Comment 4 by ha...@in-tools.com, Jul 5 2017

Thanks for looking at it.

Something is odd. I just tried the fiddle on another Mac also running Chrome 59 and it renders like it does in your screenshot. I restarted my machine to see if it was a passing issue, but the problem remains.

Any suggestions on what I might be able to look at which might give a clue would be welcome.

Both systems are running OS X 10.10.5. The one which displays bad is a MacBook, and the one which displays like your version is a Mac Mini running OSX Server.

Another question I have is why the bottom section is black in https://jsfiddle.net/Harbs/rbxaw6oe/1/ (when it works), but blue in https://jsfiddle.net/Harbs/rbxaw6oe/2/.

I would not have thought that nesting it in an SVG would effect the interaction with the background. Is that as designed?

Comment 5 by f...@opera.com, Jul 5 2017

Could you try disabling GPU/hardware acceleration (if it is enabled) and see if this makes for more consistent rendering?

As for why /1/ and /2/ differs I don't know - that seems like a bug. Probably related to what is considered to be the isolating group. (Probably worthy of a bug of its own to avoid confusing issues here.)

You can try using the 'isolation' property ("isolation: isolate") to workaround some of this. (It seems adding it to the outermost <svg> in /1/ will make it render [blend] the same as /2/.)
Labels: PaintTeamTriaged-20170707 Needs-Feedback BugSource-User
NextAction: 2017-07-17
Some Macs also have different compositor layering behavior in my experience. Maybe we're hitting one of those issues. I also cannot reproduce on M-60 or M-61 on a MacPro mid-2012 model.

Comment 7 by ha...@in-tools.com, Jul 8 2017

I am seeing it on MacBook Pro (Retina, 15-inch, Late 2013)
CPU: 2.6 GHz Intel Core i7
Memory: 16 GB 1600 MHz DDR3
Graphics: Intel Iris Pro 1536 MB

Disabling hardware acceleration does in fact cause it to render like the screenshot in comment 3.

Thanks for the tip about isolation. Not only does it make it blend the same as /2/, it's also a work-around the issue on my machine:
https://jsfiddle.net/Harbs/rbxaw6oe/3/
Project Member

Comment 8 by sheriffbot@chromium.org, Jul 8 2017

Cc: schenney@chromium.org
Labels: -Needs-Feedback
Thank you for providing more feedback. Adding requester "schenney@chromium.org" to the cc list and removing "Needs-Feedback" label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Cc: f...@opera.com
Components: -Blink>SVG -Blink>Paint Internals>Compositing Internals>GPU
The bug is related to HW rendering, so passing to teams that might have some insight on what is going wrong.
I can also reproduce this bug on a MacBook Pro (Retina, 15-inch, Mid 2015)

Processor: 2.2 GHz Intel Core i7
Memory: 16 GB 1600 MHz DDR3
Graphics: Intel Iris Pro 1536 MB

userAgent: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"

The tip with isolation also worked for me :) thank you!
The NextAction date has arrived: 2017-07-17
NextAction: ----

Comment 13 by enne@chromium.org, Jul 21 2017

Components: -Internals>GPU -Internals>Compositing Internals>Skia
This seems like a gpu raster issue.  Sending to Skia.
Cc: hdodda@chromium.org
Labels: Needs-Feedback
Tested the issue on Mac os 10.12.5 (sierra and retina) using chrome stbale M60 #60.0.3112.78 and canary M62 #62.0.3168.0 and unable to reproduce the issue.

Attached screenshot for reference.

@harbs-- Could you please check if you can reproduce the issue in latest stable and update us with your observations.

Thanks!
738810.png
100 KB View Download

Comment 15 by ha...@in-tools.com, Jul 27 2017

60.0.3112.78 looks good!

Side question: Why does the blending lighten the black border in /1/ but not in /2/ and /3/? Is that expected behavior?

Firefox displays /1/ differently while Safari displays the same.
Project Member

Comment 16 by sheriffbot@chromium.org, Jul 27 2017

Labels: -Needs-Feedback
Thank you for providing more feedback. Adding requester "hdodda@chromium.org" to the cc list and removing "Needs-Feedback" label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Comment 17 by ha...@in-tools.com, Jul 27 2017

In case I wasn't clear Safari behaves the same as Chrome while Firefox does not blend the black line. Firefox also does not blend it with the white background.

Comment 18 by f...@opera.com, Jul 27 2017

@#15, I think that's a bug. (Speculating as to the cause, maybe it's caused by different sizes of render targets or something like that... so sampling on the black border still works, but doing so outside it doesn't.)
Labels: M-62 Needs-Triage-M62
Status: Untriaged (was: Unconfirmed)
As per comment#15,Able to reproduce the issue on Mac 10.12.6, Windows 7 & ubuntu 14.04 on chrome stable#60.0.3112.90 & Canary#62.0.3178.0  as below:

1. https://jsfiddle.net/Harbs/rbxaw6oe/1/ ---shown 2 bottom black blocks
2. https://jsfiddle.net/Harbs/rbxaw6oe/2/----shown 2 bottom black blocks but observed Good behavior on stable & Canary but 
3. https://jsfiddle.net/Harbs/rbxaw6oe/3/ --- Good behavior as expected

Observed the same behavior from M45 & hence marking it as Untriaged to get more inputs from dev.Please find the screencast for reference.
Thanks..!
738810-Mac.mp4
645 KB View Download
Status: WontFix (was: Untriaged)
Closing this. The blending issue at the border is not something we are going to fix under these circumstances.

Sign in to add a comment