Why is there no sandboxing in the Firefox browser, and why are not individual websites running in their own process instead of one process for all the websites Firefox users have currently open in the browser? That's a good question and if you have been around for a while you may remember that Mozilla planned to start working on the implementation of a multi-process architecture in Firefox that it called Electrolysis or short e10s.

It quickly turned out in 2011 that Electrolysis was not something that could be done quickly, that it required many resources and that other improvements to Firefox would make more sense at that point in time. And Mozilla started to work on the browser's responsiveness instead and optimized it in many other ways first, optimizations that yielded a result in shorter time.

Today, Firefox is faster, leaner and slimmer than ever before and while the optimizations will continue, it appears as if Mozilla has started to bring back the e10s project from hibernation. In a recent IAMA (I'm ... ask me anything) session on Reddit, Mozilla employees confirmed that E10s is evaluated again by the team.

There is a new effort underway to evaluate e10s, again. The biggest issue was that addons, which make Firefox so useful and extensible, at the same time were mostly incompatible with process separation. One way to solve that is to have "Proxies" and "Wrappers" that pass different operations between the processes. This is however not a very clean solution, so the new Addon SDK ("Jetpack") was built with sandboxing in mind.

Electrolysis has also been discussed in recent team meetings as indicated here for instance, and while that does not mean that it will be finally implemented in the browser, it certainly looks as if this could really happen in the near future. Some bugs on Mozilla indicate that the team is already working on e10s.

So what are the goals of the e10s project? To increase the browser's responsiveness and stability, and also increase its performance especially on multi-core computer systems. Sandboxing does not seem to be high up the list, but it is listed as a future goal on the Electrolysis page on the wiki.

Adding the architecture to Firefox will certainly be a step in the right direction for Mozilla and the browser as a whole. It will also bring it closer to Chrome (and Opera in the near future) in this regard, which is supporting both multi-process contents and sandboxing. (via)

Advertisement