mix-blend-mode on an image doesn't print correctly (affects Leaflet maps which use plus-lighter)
Categories
(Core :: Graphics, defect)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox-esr115 | --- | wontfix |
| firefox-esr128 | --- | fix-optional |
| firefox134 | --- | wontfix |
| firefox135 | --- | wontfix |
| firefox136 | --- | fix-optional |
People
(Reporter: Mark.Falconbridge, Assigned: bradwerth, NeedInfo)
References
(Regression)
Details
(Keywords: regression)
Attachments
(2 files)
Steps to reproduce:
To reproduce, go here https://leafletjs.com/examples/quick-start/example.html and then use Firefox to print the page.
Actual results:
The printed image does not contain the map background, only the elements rendered over the map.
The print preview looks ok, using the dev tools to emulate print media looks ok and printing to pdf is also ok, the bug is only present when you send it to a physical printer.
Printing is fine on Chrome, Edge and Safari.
Expected results:
The map should print as per the preview.
Comment 1•1 year ago
|
||
The Bugbug bot thinks this bug should belong to the 'Core::Printing: Output' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.
Comment 2•1 year ago
|
||
Which OS are you testing this on out of curiosity?
I could repro using "Microsoft Print to PDF" on Windows, but interestingly not our PDF printer.
| Reporter | ||
Comment 3•1 year ago
|
||
I'm on Windows 10.
Comment 4•1 year ago
|
||
I tried to bisect this and got to: https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=bad861b891423d17bc93922efdbc5f55588f5e5b&tochange=76e48e33855f2bacad3301ebe987e46ff65db5cf
But I don't see anything too obvious there...
Comment 5•1 year ago
|
||
Ohh, found it:
.leaflet-container img.leaflet-tile {
/* See: https://bugs.chromium.org/p/chromium/issues/detail?id=600120 */
mix-blend-mode: plus-lighter;
}
So (kind of) a regression from bug 1746248.
Updated•1 year ago
|
Comment 6•1 year ago
|
||
This is all kinda busted...
Comment 7•1 year ago
|
||
Set release status flags based on info from the regressing bug 1746248
Comment 8•1 year ago
|
||
Jonathan, do you happen to know what might be going on? I think at least:
- There seems to be some sort of display list building bug (that's what causes even the print preview of comment 6 to be busted).
- There seems to be some issue probably around the drawtarget subclass that we use for windows printing (
DrawTargetD2D1.h?), where the composition ends up fully busted.
Comment 9•1 year ago
|
||
(In reply to Emilio Cobos Álvarez (:emilio) from comment #8)
Jonathan, do you happen to know what might be going on?
Not really -- I think this is more for :lsalzman or :tnikkel or someone closer to the gfx side of things. We should probably move it to the Graphics component to try and get the right eyes on this.
(I was going to mention that I've seen other possibly-related issues with mix-blend-mode -- and maybe other compositing operations? don't recall exactly -- but I see you found bug 1939714 already, which was the most recent thing I had in mind.)
Comment 10•1 year ago
|
||
Set release status flags based on info from the regressing bug 1746248
Updated•1 year ago
|
Comment 11•1 year ago
|
||
The severity field is not set for this bug.
:bhood, could you have a look please?
For more information, please visit BugBot documentation.
Updated•11 months ago
|
Comment 12•11 months ago
|
||
Assigning S3, will raise to S2 if it turns out lots of people are encountering it.
Comment 13•11 months ago
|
||
Comment 14•11 months ago
•
|
||
Seems like there might be two different bugs here.
Print preview is drawn by web render using the same path as the page. My hypothesis that is the background that we are mix-blending the images over is separated from the images due to a different structure to the print preview document, so we aren't blending over the correct thing. My reasoning is that if I contain the images in a div with a background color, and then check "draw background colors" in the print preview we paint correctly.
For print that is painted using the ::Paint display items fallback path, even the above trick of having a div with a background color and draw background colors being on does not fix it, so perhaps the cairo backend that we are using to generate the pdf doesn't support blend modes?
| Assignee | ||
Comment 15•11 months ago
|
||
I can reproduce. I'll try to figure it out.
Comment 16•11 months ago
|
||
Brad will attempt to locate the root cause.
Updated•11 months ago
|
Comment 17•11 months ago
|
||
I'll clear my needinfo for now and let Brad look.
Updated•2 months ago
|
Comment 20•2 months ago
|
||
The severity field for this bug is set to S3. However, the following bug duplicate has higher severity:
- Bug 1999924: S2
:bradwerth, could you consider increasing the severity of this bug to S2?
For more information, please visit BugBot documentation.
Comment 21•5 days ago
|
||
Hey there!
Seems the bug I've just reported here https://bugzilla.mozilla.org/show_bug.cgi?id=2013553 is a duplicate of this one, correct?
Description
•