zoom.minPercent not respected by layout in some cases, although the frontend correctly displays the expected zoom




a year ago
a month ago


(Reporter: seldevall, Unassigned)


57 Branch

Firefox Tracking Flags

(firefox-esr52 affected, firefox56 affected, firefox57 affected, firefox58 affected)



(1 attachment)



a year ago
Created attachment 8922911 [details]

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.

Comment 2

a year ago
(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-firefox56: --- → affected
status-firefox57: --- → affected
status-firefox58: --- → affected
status-firefox-esr52: --- → affected
Component: Untriaged → Panning and Zooming
Ever confirmed: true
OS: Unspecified → All
Product: Firefox → Core
Hardware: Unspecified → All
See Also: → bug 539417, bug 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

Comment 6

a month ago

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

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.
You need to log in before you can comment on or make changes to this bug.