Open Bug 1412374 Opened 7 years ago Updated 2 months ago

zoom.minPercent breaks zooming frontend if larger than the default zoom level

Categories

(Firefox :: General, defect, P3)

57 Branch
defect

Tracking

()

Tracking Status
firefox-esr52 --- affected
firefox56 --- affected
firefox57 --- affected
firefox58 --- affected

People

(Reporter: seldevall, Unassigned)

References

Details

Attachments

(1 file)

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0
Build ID: 20171026211016

Steps to reproduce:

I visit a website I never have visited before, it looks as if the website is zoomed out to 100%. But the zoom display says it's 150%. (the "zoom.minPercent" is 150%)

- I haven't made many changes in about:config
- The only addon I have install is uBlock Origin
- Using 57.0b.12 (64-bit)
- This didn't use to be an issue


Actual results:

When visiting a new website the zoom displays 150%, but despite having the value "zoom.minPercent" on 150% it looks as if the website is zoomed out to 100% (which it is). When zooming in the zoom changes from 100% to 160%, zooming out changes the value to 150% which can't be lowered. (see the GIF to see how it looks like - https://gyazo.com/bf39b4aa78cc510df2b2820bc14e2ac7)


Expected results:

The website should have been displayed with the zoom 150% as I've changed the min percentage websites can show (zoom.minPercent), which it also displays that it shows.
(In reply to Kohei Yoshino [:kohei] from comment #1)
> Please troubleshoot with Safe Mode:
> https://support.mozilla.org/kb/troubleshoot-firefox-issues-using-safe-mode

I've used Firefox in Safe Mode (Add-ons disabled), the bug still appears to happen.
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:58.0) Gecko/20100101 Firefox/58.0
Firefox: 58.0a1, Build ID 20171031220132

I have managed to reproduce this issue, using the steps provided in the description, on Windows 10 x64, Ubuntu 14.04 x64 and Mac 10.12.6 with the latest Firefox release (56.0.2) and latest Nightly (58.0a1) builds.
I went back as far as Firefox 16.0a1 and the issue is still reproducible, considering this I will assign a component to this issue in order to get the engineering team opinion.
Status: UNCONFIRMED → NEW
Component: Untriaged → Panning and Zooming
Ever confirmed: true
OS: Unspecified → All
Product: Firefox → Core
Hardware: Unspecified → All
See Also: → 539417, 1356295
Most likely there's a mismatch between how the frontend and layout handle cases with zoom.minPercent > 100. Moving to layout since that side of the behaviour seems wrong to me (rendering at 100% zoom instead of respecting zoom.minPercent).
Component: Panning and Zooming → Layout
Summary: New websites aren't affected by zoom.minPercent → zoom.minPercent not respected by layout in some cases, although the frontend correctly displays the expected zoom
Priority: -- → P3
I suspect this is a browser frontend issue rather than backend issue, and the problem is probably the combination of the range check in ZoomManager.setZoomForBrowser [1] and the zooming reset for location change [2]. When max is smaller than 100% or min is larger than 100%, aBrowser.fullZoom wouldn't be actually set, and thus no zoom is updated, so things could get weird somewhere.

Anyway, zoom.minPercent is only read from frontend part, so I would say it's unlikely a backend layout issue.

[1] https://searchfox.org/mozilla-central/rev/a6cfee725b9e49adda2c81ced98f27de55603d4e/toolkit/content/viewZoomOverlay.js#53-64
[2] https://searchfox.org/mozilla-central/rev/a6cfee725b9e49adda2c81ced98f27de55603d4e/browser/base/content/browser-fullZoom.js#221
Component: Layout → General
Product: Core → Firefox

Firefox 60 and I can confirm that this is a bug due to the unexpected behaviour.

Motivation:
I want to set a uniform zoom level for all websites. Not DPI!
I set:

browser.zoom.siteSpecific = 0
zoom.minPercent = 120

Restart browser and the default zoom level is still at 100.

  • Before anyone asks, this is unrelated to deriving a page zoom amount using layout.css.devPixelsPerPx. The specific zoom settings need to be fixed instead.
Severity: normal → S3

At this point we have a UI preference for this in the settings, which works correctly.

zoom.minPercent support moved from the frontend to layout code.

This means the bug as originally filed no longer exists... but if you do set minPercent to some value larger than the default zoom value, then the frontend is no longer able to set the right zoom level ("zoom in" and "zoom out" just throw NS_ERROR_ILLEGAL_VALUE errors). :-(

Summary: zoom.minPercent not respected by layout in some cases, although the frontend correctly displays the expected zoom → zoom.minPercent breaks zooming frontend if larger than the default zoom level
Duplicate of this bug: 1876922
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: