Closed Bug 1923150 Opened 1 year ago Closed 11 months ago

Text layer and canvas mismatch on Windows for people using an old version of pdf.js with Firefox 133

Categories

(Core :: Graphics: Text, defect)

defect

Tracking

()

RESOLVED FIXED
136 Branch
Tracking Status
firefox-esr115 --- unaffected
firefox-esr128 --- unaffected
firefox131 --- unaffected
firefox132 --- unaffected
firefox133 + disabled
firefox134 blocking disabled
firefox135 blocking fixed
firefox136 --- fixed

People

(Reporter: calixte, Assigned: jfkthame)

References

(Regression)

Details

(Keywords: regression)

This bug isn't about the built-in pdf viewer in Firefox.

For the context, a lot of websites are using pdf.js and it's pretty frequent that they use an out-of-date one.
The fix for bug 1919906 has induced a regression: bug 1922063.
Because of this regression, the text selection and the find-in-page can be painful.
It's fixed in Firefox 133 for the built-in viewer and there is a fix too in the very last release of pdf.js (as a js lib).
But nothing is fixed for people using Firefox 133, on Windows, with an out-of-date pdf.js.

:jfkthame, since you are the author of the regressor, bug 1919906, could you take a look?

For more information, please visit BugBot documentation.

Flags: needinfo?(jfkthame)

Simply reverting bug 1919906 would (obviously) reintroduce the bad rendering that it fixed.

https://bugzilla.mozilla.org/show_bug.cgi?id=1922063#c10 discusses some options, but none of them (except the "update pdf.js" option) seem risk-free.

Flags: needinfo?(jfkthame)

I think we should get bug 1920733 landed so that we can at least get a better picture of its risk

Yes, let's get that into Nightly and see how things go. I'll try to take a look at the test failures there.

(We need to keep in mind, though, that until we decide we're comfortable shipping it to all Release users, that will in effect "hide" this issue on Nightly (and early Beta) channels, but end users will still experience the problem.)

The bug is marked as tracked for firefox133 (nightly). However, the bug still isn't assigned, has low priority and has low severity.

:marco, could you please find an assignee, increase the priority and increase the severity for this tracked bug? Given that it is a regression and we know the cause, we could also simply backout the regressor. If you disagree with the tracking decision, please talk with the release managers.

For more information, please visit BugBot documentation.

Flags: needinfo?(mcastelluccio)
Severity: S3 → --
Component: PDF Viewer → Graphics: Text
Flags: needinfo?(mcastelluccio)
Priority: P3 → --
Product: Firefox → Core
See Also: → 1922063

:jrmuizel: Looks like some recent progress has been made on bug 1920733. Any thoughts on risk assessment now?

Flags: needinfo?(jmuizelaar)

(In reply to Erich Gubler [:ErichDonGubler] from comment #6)

:jrmuizel: Looks like some recent progress has been made on bug 1920733. Any thoughts on risk assessment now?

bug 1920733 hasn't made it to nightly yet so we don't know anything new.

Flags: needinfo?(jmuizelaar)

This is a reminder regarding comment #5!

The bug is marked as tracked for firefox133 (nightly). We have limited time to fix this, the soft freeze is in 10 days. However, the bug still isn't assigned.

:jrmuizel/:jfkthame next week is the final week of nightly before Fx133 goes to beta.
Any updates here on a possible fix?
We could consider backing out Bug 1919906 when we get to beta

Flags: needinfo?(jmuizelaar)
Flags: needinfo?(jfkthame)

The current state of things, as I understand it:

As far as I know, bug 1920733 should have fixed the issue here, but the change there is currently targeting Nightly/Early Beta only, so as things stand the issue will reappear in later betas.

Whether we can un-gate the change from bug 1920733 and let it ship to Release will depend on any regressions that are discovered (as well as how the change is received in general, I guess; bug 1924346 is an instance of someone who noticed the change and doesn't sound happy with it).

Backing out bug 1919906 should be a "safe" option inasmuch as it will resolve the issue for pdf.js, but it will obviously re-introduce the poor canvas text rendering seen on Apple Maps (and presumably affecting other sites as well).

We could attempt to fix bug 1919906 in the "opposite" way: instead of ensuring that force-gdi-classic mode is consistently ignored for canvas2d text, we could allow it to be respected during both measurement/layout and rendering. This would in effect mean reverting bug 1730772, which introduced the inconsistency that results in bug 1919906. However, I have confirmed with a local build that doing this would regress the GDocs rendering that bug 1730772 was attempting to fix.

On balance, I think I'd lean toward backing out bug 1919906 from beta if we conclude that we're not ready to let bug 1920733 go to release yet. Jeff, does that seem like the right option at this point?

Flags: needinfo?(jfkthame)

Yeah, I think backing out bug 1919906 from beta makes the most sense. I think we can afford to wait for bug 1920733 to cook a little bit.

Flags: needinfo?(jmuizelaar)

Thanks all for the input, I will backout Bug 1919906 from beta after Fx133 merges to beta.

Severity: -- → S3

This is a reminder regarding comment #5!

The bug is marked as tracked for firefox133 (nightly). We have limited time to fix this, the soft freeze is in 3 days. However, the bug still isn't assigned.

Setting Fx133 to disabled since the regressor was backed out of beta
https://bugzilla.mozilla.org/show_bug.cgi?id=1919906#c29

Updating the Fx134 tracking to blocking.
This will need to be addressed in time for Fx134

This is a reminder regarding comment #5!

The bug is marked as blocking firefox134 (nightly). We have limited time to fix this, the soft freeze is in 14 days. However, the bug still isn't assigned.

This is a reminder regarding comment #5!

The bug is marked as blocking firefox134 (nightly). We have limited time to fix this, the soft freeze is in 8 days. However, the bug still isn't assigned.

This is a reminder regarding comment #5!

The bug is marked as blocking firefox134 (nightly). We have limited time to fix this, the soft freeze is in 2 days. However, the bug still isn't assigned.

Jeff, what is the plan for 134? Should we ungate bug 1920733 or should we back out Bug 1919906? Thanks

Flags: needinfo?(jmuizelaar)

I'm fine with ungating bug 1920733. What do you think Jonathan?

Flags: needinfo?(jmuizelaar) → needinfo?(jfkthame)

We are mid beta cycle, could we get a decision on this one? Thanks

(In reply to Jeff Muizelaar [:jrmuizel] from comment #20)

I'm fine with ungating bug 1920733. What do you think Jonathan?

I guess that's OK, though some users won't be pleased (see bug 1924346). As long as we just clear the prefs, but don't (yet) rip out the underlying code, people can manually restore them if they care strongly enough.

The reporter in bug 1924346 also claims that setting gfx.font_rendering.cleartype_params.rendering_mode to 2 (which would be expected to choose GDI Classic rendering everywhere) doesn't work. We should perhaps look into that before finally removing the force_GDI prefs.

Flags: needinfo?(jfkthame)

Last week of betas. Setting Fx134 to disabled since the regressor was backed out of beta
https://bugzilla.mozilla.org/show_bug.cgi?id=1919906#c30

This is a reminder regarding comment #5!

The bug is marked as blocking firefox135 (nightly). We have limited time to fix this, the soft freeze is in 14 days. However, the bug still isn't assigned.

This is a reminder regarding comment #5!

The bug is marked as blocking firefox135 (nightly). We have limited time to fix this, the soft freeze is in 8 days. However, the bug still isn't assigned.

This is a reminder regarding comment #5!

The bug is marked as blocking firefox135 (nightly). We have limited time to fix this, the soft freeze is in 2 days. However, the bug still isn't assigned.

We're in week 2 of the 135 Beta cycle. What did we want to do with this bug?

Flags: needinfo?(jmuizelaar)

Redirect NI to jfkthame

Flags: needinfo?(jmuizelaar) → needinfo?(jfkthame)

This is a reminder regarding comment #5!

The bug is marked as blocking firefox135 (beta). We have limited time to fix this, the soft freeze is in 14 days. However, the bug still isn't assigned.

Depends on: 1942335

Calling this fixed by bug 1942335.

Assignee: nobody → jfkthame
Status: NEW → RESOLVED
Closed: 11 months ago
Flags: needinfo?(jfkthame)
Resolution: --- → FIXED
Target Milestone: --- → 136 Branch
You need to log in before you can comment on or make changes to this bug.