Related topics

Firefox alpha dons Flash flak jacket

Ditto 'elite' Jobsian beta testers

Common Topics

Mozilla has pushed out a Firefox developer preview that runs Adobe Flash and other plug-ins as a separate process, hoping to prevent crashing plug-ins from crashing the browser proper.

The move comes as Apple Insider reports that Steve Jobs and cult have asked a group of "elite" testers to kick the proverbial tires on a new version of Safari that includes some sort of Flash crash protection.

Mozilla's new developer preview is the second "pre-release" version of the open source outfit's Gecko 1.9.3 rendering engine. Today's official Firefox offering - version 3.6 - uses Gecko 1.9.2.

The main addition to the platform is support for what Mozilla calls "out-of-process plug-ins," or OOPP. With OOPP, a shim layer executes the Firefox plug-in API, separating plug-ins from the system process where the core-browser executes. Mozilla has done "a fair bit of testing" with Flash and Silverlight, but it's designed to work with other plug-ins as well.

If a plug-in crashes, Firefox puts up a page that says as much and submits a crash report back to Mozilla. The plug-in then relaunches when you reload the page. According to a blog post from Mozilla's Benjamin Smedberg, the company made a conscious decision not to reload plug-ins automatically.

"Web page scripts often have state associated with a plugin," he writes. "If we reload the plugin without reloading the entire page, those scripts will have unexpected state and can get very confused. Overall, it causes fewer problems for the user to simply refresh the page."

Currently, OOPP is only available on Windows and Linux, but a Mac version will be available "soon," Smedberg says. "MacOS presents some unique challenges. The traditional drawing and interaction model for plugins is very difficult to do across processes. We are working on Mac support for multi-process plugins, and hope to have a preview of this work available soon."

OOPP is also planned from an upcoming update to Firefox 3.6 dubbed 'Lorentz'.

In addition to offering OOPP, the new developer preview includes tweaks to the Firefox SpiderMonkey JavaScript engine, including "improved" handling, faster closures, and "some support" for recursion in TraceMonkey, the SpiderMonkey extension that speeds performance by converting code loops into assembly code. Separately, Mozilla is developing a complementary extension called JaegerMonkey designed to improve performance when code can't be "traced".

Meanwhile, "elite" Apple beta testers tell Apple Insider that a new Safari 4.0.5 beta includes a "much improved" plug-in manager designed to reduce the number of crashes caused by plug-ins, including Adobe Flash. In January, during an Apple "town hall" meeting, Steve Jobs said that "Whenever a Mac crashes more often than not it’s because of Flash," launching an almighty war of words over Adobe's widely-used plug-in. Jobs will not allow Flash on either the iPhone or the imminent iPad.

Google's Chrome browser runs plug-ins as separate processes, and Mozilla has lifted Google code from the open-source Chromium project for its OOPP. The current Mozilla developer preview will eventually make its way to world+dog as Firefox 4.0. ®