So is there a reason to apply the rounding *in Firefox* where my patch would remove it? From a GTK3 point of view, probably, because the reason you mentioned that an application can provide hi-res bitmaps etc. From a Firefox point of view, I can say that there is no *technical* reason, i.e. setting devPixelsPerPx to a float value by hand (as Kai Mast has reported), produces the desired result - Firefox scales the content according to the preference.
However, as Firefox is supposed to read the DPI value from the system when devPixelsPerPx is <=0, it currently doesn't, at least not in a meaningful way. It will work for the very limited use case of DPI=192 (font scaling=2) and other factors, but for anything in between, it does not. Comparing this to the Windows behaviour: the set scaling it read from the system as is, with no rounding applied.
So is there a reason to apply the rounding *in Firefox* where my patch would remove it? From a GTK3 point of view, probably, because the reason you mentioned that an application can provide hi-res bitmaps etc. From a Firefox point of view, I can say that there is no *technical* reason, i.e. setting devPixelsPerPx to a float value by hand (as Kai Mast has reported), produces the desired result - Firefox scales the content according to the preference.
However, as Firefox is supposed to read the DPI value from the system when devPixelsPerPx is <=0, it currently doesn't, at least not in a meaningful way. It will work for the very limited use case of DPI=192 (font scaling=2) and other factors, but for anything in between, it does not. Comparing this to the Windows behaviour: the set scaling it read from the system as is, with no rounding applied.