Open Bug 1455886 Opened 6 years ago Updated 22 days ago

Blending across SVG elements doesn't work with WebRender

Categories

(Core :: Graphics: WebRender, enhancement, P2)

enhancement

Tracking

()

People

(Reporter: jrmuizel, Assigned: jrmuizel)

References

(Blocks 2 open bugs)

Details

This is tested by: https://searchfox.org/mozilla-central/source/layout/reftests/svg/blend-difference-stacking.html

We marked this test as failing with webrender in the initial <svg> grouping patch.

I currently have no good ideas for how we'd make this work.
It seems like we can fix this by having a separate group when ever we have a blend item that needs to blend outside of the svg
Also, it seems like our current behaviour is not inconsistent with other browsers and the spec.

i.e. Firefox, Chrome, and the spec all have different behaviour.
Isolation support seems to be very spotty across the different browsers. For example, Chrome and Safari fail that reftest, but for a different reason: They don't isolate enough. There is a second box in that reftest which is wrapped in a position:absolute;z-index:1; element, which is a CSS stacking context, which should make it an isolated group.
Edge does not support mix-blend-mode.

Here's a different page which renders incorrectly in Chrome due to too much isolation: https://www.chenhuijing.com/demos/colour-diagrams/ Here, Chrome has an implicit isolated group around the page contents which does not include the page background color. Firefox correctly blends with the background color.
Assignee: nobody → jmuizelaar
Blocks: stage-wr-next
No longer blocks: stage-wr-trains
Severity: normal → S3
Blocks: wr-correctness
No longer blocks: stage-wr-next
You need to log in before you can comment on or make changes to this bug.