Open Bug 1898170 Opened 4 months ago Updated 4 months ago

JavaScript regression in image/buffer handling

Categories

(Core :: Graphics: WebRender, defect, P3)

Firefox 126
defect

Tracking

()

Tracking Status
firefox-esr115 --- wontfix
firefox126 --- wontfix
firefox127 --- wontfix
firefox128 --- fix-optional

People

(Reporter: martin, Unassigned)

References

(Blocks 1 open bug, Regression, )

Details

(Keywords: regression)

The https://github.com/blueimp/JavaScript-Load-Image repository provides a module that handles scaling/rotation based on exif data on image loading in a very convenient way. It includes a self test page - just clone/checkout the repo and open test/index.html.

This self test works fine on other current browsers, but fails one test (EXIF Orientation 6, step 7) in Firefox 126.

I did not extensively test older version, but the test works on Firefox 110.

This works with Enhanced Tracking Protection disabled.

Component: JavaScript Engine → Privacy: Anti-Tracking

I think this works with Standard protection but breaks with Strict.

I can reproduce the issue on Nightly128.0a1 Windows11 with clean new profile.
And it works if setting gfx.webrender.software to true (required restart browser).

So, I think this is WebRender bug rather than the ETP bug.

The page is broken because Firefox enables the fingerprinting protection in ETP strict mode. I think it's the canvas randomization which causes the issue.

Blocks: fingerprinting-breakage
No longer blocks: tp-breakage
Severity: -- → S3
Component: Privacy: Anti-Tracking → Graphics: WebRender
Priority: -- → P3

Disabling ETP does not fix the test for me (Windows, FF 126).
Switching gfx.webrender.software to true (as suggested in #4) makes it work for me.

This bug has been marked as a regression. Setting status flag for Nightly to affected.

For what it's worth, I can't reproduce on Linux or on Android, but I can reproduce on Windows 11. So this might be Windows-specific? (This is currently classified as All/All, but that might be overbroad.) (I'm testing with hardware WebRender in all cases.)

(In reply to Martin Husemann from comment #0)

I did not extensively test older version, but the test works on Firefox 110.

Perhaps someone could track down when this regressed --> adding regressionwindow-wanted.

#1 Regression window, All tests of EXIF Orientation: 6 are fail:
https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=15953f022d92a0513163feefb61fc53f80c95d54&tochange=c6fe172dd237e2a89a33ec8c61ad91bcdb235bf1

Suspect: Bug 1566316

#2 Regression window, Fixed the previous failures except 7: horizontal flip + 90° rotate right:
https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=f055b35804d7d6f8a5878f21583284708475cf32&tochange=325e655b6024492c976ba22bf2335ad5d2229036

Bug 1616411 fixes the failures from Bug 1566316, but not this bug 7: horizontal flip + 90° rotate right.

Depends on: 1616411
Regressed by: 1566316

Set release status flags based on info from the regressing bug 1566316

FWIW, Setting gfx.canvas.azure.backends to skia fix the failure on Nightly128.0a1 Windows11.

You need to log in before you can comment on or make changes to this bug.