(In reply to Emilio Cobos Álvarez (:emilio) from comment #3)
I guess the inconsistency is probably because
devPixelsPerPx doesn't invalidate the
nsXPLookAndFeel cache, so that code doesn't get run again after changing the pref.
Seems likely. Before
GetFont() started to return sizes in CSS pixels, the device pixel system values would not have depended on the size of a CSS pixel.
Karl, given all other platforms don't behave like this perhaps we should reconsider our decision here?
I'm not aware of any new information that would change an assessment here.
devPixelsPerPx is a common way to change the scale of all the UI (including the browser UI), so it's a bit weird that only system fonts undo that scaling.
I understand that some might like to use a mechanism to experiment with scaling the whole UI, but that is not the purpose of devPixelsPerPx, which is a common way to change the size of a CSS pixel.
Having different sized UI fonts to other applications is not something that many users would want. There already exist mechanisms for scaling system sizes, which also affect default sizes for CSS pixels.
The UI has chosen to use system font sizes (for some fonts at least) rather than font sizes in CSS pixels. That choice seems reasonable to me.
If you still think the current behavior could still be useful for some users, perhaps we could add a default-off pref for the current behavior?
devPixelsPerPx is the right pref for scaling CSS pixels.
FWIW, there is now a similar "Default zoom" in about:preferences, which in some ways works best with devPixelsPerPx set to 1.0, given zoom levels when image viewing and default value of "toolkit.zoomManager.zoomValues".