Mozilla has landed several HiDPI-display patches already in the Nightly branch

Oct 1, 2012 18:11 GMT  ·  By

Firefox is getting ready for Retina or HiDPI displays, but it's in Firefox 18 at the earliest that support for these high resolution displays is going to be implemented. Already, the building blocks are included in Firefox 18 Nightly thanks to several patches that have just landed.

Following Chrome and Opera, Mozilla is working on supporting display modes that are only available on very few devices as of yet.

In fact, the feature will only be useful on MacBook Pros with Retina displays for now, at least until Windows laptops and desktops start shipping with this type of souped-up displays.

Still, it is a trend and something that's better done now before hardware sporting high-resolutions starts becoming mainstream.

Already, Firefox 18 can boast support for OS X Lion's HiDPI mode which means fonts and images will look nice on Retina display devices.

But Mozilla is looking beyond this and is implementing support for a few more features catering to HiDPI devices. For one, it has already added support for window.devicePixelRatio in Firefox 18 which means that websites can now determine whether the user is running a HiDPI display or not via JavaScript.

This could be useful in a number of situations and the feature is already supported by Chrome, Safari and Opera.

Mozilla is also working on fixing image rescaling, an issue that has been in the works for a few years now. Currently, rescaled images, either upscaled or downscaled don't look as nice as in Chrome or Safari. This isn't strictly related to HiDPI displays as it affects anyone.

Using the page zoom feature in Firefox will uncover this but it's also visible on sites that serve a fixed size image and then rescale it locally in the browser to the size they want it displayed.

This is the case for HiDPI-ready sites, which may use one large image, suitable for HiDPI displays, which is then downscaled for everyone else. Alternatively, if the website doesn't provide a high-resolution image, the browser has to upscale the existing one.