Firefox 78: Protections dashboard, new developer features... and the end of the line for older macOS versions

New Regular Expression evaluator borrowed from Chromium V8 – a sign of more collaboration to come?

19 Reg comments Got Tips?

Mozilla has released Firefox 78 with a new Protections Dashboard and a bunch of updates for web developers. This is also the last supported version of Firefox for macOS El Capitan (10.11) and earlier.

Firefox is on a "rapid release plan", which means a new version every four to five weeks. This means that major new features should not be expected every time. That said, Firefox 78 is also an extended support release (ESR), which means users who stick with ESR get updates from this and the previous 10 releases.

The main new user-facing feature in Firefox 78 is the Protections Dashboard, a screen which shows trackers and scripts blocked, a link to the settings, a link to Firefox Monitor for checking your email address against known data breaches, and a button for password management.

Handy, but does the Protections Dashboard have much real value? It is doubtful; the more revealing thing is to click the shield icon to the left of the address bar on a web page, which tells you what is blocked on that site.

The Firefox protection settings warn that some sites may break if you apply the stricter settings, whereas if you choose "balanced for protection and performance", pages will load normally, it promises.

Debugging JavaScript Promise exceptions is more informative with updated developer tools in Firefox 78

Debugging JavaScript Promise exceptions is more informative with updated developer tools in Firefox 78 (click to enlarge)

Users often have an instinct to uninstall and reinstall when an application is not working correctly. Anticipating this, Mozilla has put a Refresh button into the uninstaller, which resets the settings. Refresh may well work better than reinstall, since developers usually figure that users want to preserve settings when reinstalling – which may also preserve the configuration that is causing problems.

The uninstaller includes a Refresh option in case users are trying to fix a problem. Why not put this in Firefox itself? Because if truly borked, it might not open.

The uninstaller includes a Refresh option in case users are trying to fix a problem. Why not put this in Firefox itself? Because if truly borked, it might not open...

WebRender is a feature which "changes the way the rendering engine works to make it more like a 3D game engine". This is all about using the GPU for rendering web pages, alongside the CPU, and it is a complex process. (As the 7,500-word linked article demonstrates. It has also taken a while to get right; the article is from 2017.)

Firefox 78 implements WebRender for Windows 10 PCs, with a few exceptions for laptops with AMD or older Intel GPUs. It looks like WebRender is coming to macOS and Linux soon, probably in Firefox 79. Will you notice? That will depend; users are most likely to see a benefit with graphically-rich and busy pages on high resolution displays, because this is where the renderer has most work to do.

On the security side, Firefox will no longer load pages over TLS 1.0 or 1.1. If this is the only version of TLS available, an error page is shown.

Accessibility is improved, with the team promising that "screen readers no longer severely lag or freeze when focusing the microphone, camera or screen sharing indicator", along with other bug fixes.

Developers get a bunch of new features. The Accessibility inspector is out of beta - this is a tab in the developer tools that will check a page for accessibility issues when enabled. It is challenging because it will typically find lots of issues. There were plenty, for example, found in the Mozilla blog post about Firefox 78, things like "Color and contrast: does not meet WCAG standards for accessible text." It is an important topic but a hard problem.

Clicking the shield icon in Firefox shows which trackers are blocked for the current site.

Click to enlarge

Source maps are a JavaScript feature that map minified code back to the original code to make debugging easier. Firefox has a Map option that lets you use source maps in the debugger, and this now works with logpoints, a type of breakpoint that writes a message to the console rather than pausing execution, so that you see the original variable names. Mozilla has also worked on debugging JavaScript promises, so you can see more detail when exceptions are thrown.

A big feature for debugging web applications when running on mobile is the ability to connect an Android phone with USB, and navigate and refresh mobile web pages from the desktop. Patience is required though, since this will only work with a forthcoming new version of Firefox for Android.

Mozilla has been working on a new Regular Expression (RegExp) evaluator and this is included in SpiderMonkey (Mozilla's JavaScript engine) in Firefox 78. This brings the evaluator up to date with the requirements of ECMAScript 2018. The intriguing aspect to this though is that Mozilla has not written its own RegExp evaluator, but borrowed the one created by Google for V8, the JavaScript engine in Chromium and Chrome called Irregexp. Apparently this first happened in 2014, but was based on a fork of Irregexp adapted for SpiderMonkey, that was hard to keep up to date. The new approach still uses Irregexp, but with a wrapper that lets SpiderMonkey use the latest code.

"More collaboration on Irregexp is mutually beneficial," writes Mozilla's Iain Ireland. "SpiderMonkey can add new RegExp syntax much more quickly. V8 gains an extra set of eyes and hands to find and fix bugs."

Why, one might ask, does the same reasoning not apply to the entire JavaScript engine? Should Mozilla just migrate to V8? The case against is that multiple independent implementations are good for standards, and helps the world to avoid browser monoculture, but could Irregexp be a sign of what is to come? ®


Biting the hand that feeds IT © 1998–2020