Mozilla developer preview (Gecko 1.9.3a2) now available

We’ve posted a new release of our Mozilla developer preview series as a way to test new features that we’re putting into the Mozilla platform. These features may or may not make it into a future Firefox release, either for desktops or for mobile phones. But that’s why we do these releases – to get testing and feedback early so we know how to treat them.

Note that this release does not contain two things that have gotten press recently: D2D or the new JavaScript VM work we’ve been doing.

Since this is a weblog focused on web developers, I think that it’s important to talk about what’s new for all of you. So we’ll jump right into that:

Out of Process Plugins

We did an a1 release about three weeks ago in order to get testing on some of the new web developer features (which we’ll list here again.) The biggest change between that release and this one is the inclusion of out of process plugins for Windows and Linux. (Mac is a little bit more work and we’re working on it as fast as our little fingers will type.)

There are a lot of plugins out there on the web, and they exist to varying degrees of quality. So we’re pushing plugins out of process so that when one of them crashes it doesn’t take the entire browser with it. (It also has lots of other nice side effects – we can better control memory usage, CPU usage and it also helps with general UI lag.)

If you want to know more about it, have a look at this post by Ben Smedberg who goes over how it works, what prefs you can set and how you can help test it. It would help us a lot of you did.

(If you really want to get on the testing train we strongly suggest you start running our nightly builds which are the ultimate in bleeding edge but are generally stable enough for daily use.)

Anyway, on to the feature list and performance improvements taken from the release announcement:

Web Developer Features

  • Support for Content Security Policy. This is largely complete, minus the ability to disable eval().
  • The placeholder attribute for <input/> and <textarea> is now supported.
  • Support for SMIL Animation in SVG. Support for animating some SVG attributes is still under development and the animateMotion element isn’t supported yet.
  • Support for CSS Transitions. This support is not quite complete: support for animation of transforms and gradients has not yet been implemented.
  • Support for WebGL, which is disabled by default but can be enabled by changing a preference. See this blog post and this blog post for more details.
  • Support for the getClientRects and getBoundingClientRect methods on Range objects. See bug 396392 for details.
  • Support for the setCapture and releaseCapture methods on DOM elements. See bug 503943 for details.
  • Support for the HTML5 History.pushState() and History.replaceState() methods and the popstate event. See bug 500328 for details.
  • Support for the <a href="https://developer.mozilla.org/en/CSS/background-image">-moz-image-rect()</a> value for background-image. See bug 113577 for more details.

For the full list of new web developer features please visit our page on Upcoming Features for Web Developers.

Performance Improvements

  • We’ve removed link history lookup from the main thread and made it asynchronous. This results in less I/O during page loads and improves overall browser responsiveness.
  • Loading the HTML5 spec no longer causes very long browser pauses.
  • A large number of layout performance improvements have been made, including work around DOM access times, color management performance, text area improvements and many other hot spots in the layout engine.
  • The JavaScript engine has many improvements: String handling is improved, faster closures, some support for recursion in TraceMonkey to name a few.
  • Improvements to the performance of repainting HTML in <foreignObject>.
  • Strings are not copied between the main DOM code and web workers, improving performance for threaded JavaScript which moves large pieces of data between threads.

14 comments

  1. Robert Eisenbraun

    I’ll take it on. Bug-fighting, here I come!

    March 5th, 2010 at 14:02

  2. Ryan

    The out of process plugins will be a much welcomed feature. I use a lot of dodgy, but useful, plugins so not crashing the browser will be awesome.

    What was involved in fixing the hang when the HTML5 spec was loaded?

    March 5th, 2010 at 20:48

  3. Boris

    Ryan, the HTML5 spec fix involved completely rewriting how scrolling worked.

    March 5th, 2010 at 20:59

    1. Magne Andersson

      Could you give us the bug ID?

      Thanks!

      March 7th, 2010 at 03:37

  4. zwu

    And which version the improved javascript engine (jager monkey) will be added? Might be 3.7a3?

    March 6th, 2010 at 01:49

  5. zwu

    I found sunspider javascript test is much faster (1.64x) than 3.6.2pre (ayakawa build).

    ayakawa result:
    http://www2.webkit.org/perf/sunspider-0.9/sunspider-results.html?%7B%223d-cube%22:%5B89,86,92,90,91%5D,%223d-morph%22:%5B54,55,58,56,34%5D,%223d-raytrace%22:%5B139,135,143,141,139%5D,%22access-binary-trees%22:%5B52,90,92,90,84%5D,%22access-fannkuch%22:%5B133,123,131,139,124%5D,%22access-nbody%22:%5B49,30,52,49,51%5D,%22access-nsieve%22:%5B26,26,27,26,26%5D,%22bitops-3bit-bits-in-byte%22:%5B4,4,3,4,4%5D,%22bitops-bits-in-byte%22:%5B22,23,21,21,22%5D,%22bitops-bitwise-and%22:%5B6,6,6,3,6%5D,%22bitops-nsieve-bits%22:%5B53,55,56,52,59%5D,%22controlflow-recursive%22:%5B81,81,82,82,50%5D,%22crypto-aes%22:%5B64,65,59,62,60%5D,%22crypto-md5%22:%5B29,29,29,29,29%5D,%22crypto-sha1%22:%5B16,16,16,16,16%5D,%22date-format-tofte%22:%5B168,172,164,172,164%5D,%22date-format-xparb%22:%5B140,141,140,138,141%5D,%22math-cordic%22:%5B54,54,58,54,54%5D,%22math-partial-sums%22:%5B41,40,41,40,41%5D,%22math-spectral-norm%22:%5B15,14,14,12,9%5D,%22regexp-dna%22:%5B115,117,76,119,115%5D,%22string-base64%22:%5B21,22,22,22,13%5D,%22string-fasta%22:%5B118,76,129,127,131%5D,%22string-tagcloud%22:%5B155,160,163,165,171%5D,%22string-unpack-code%22:%5B170,157,158,169,161%5D,%22string-validate-input%22:%5B70,79,80,69,70%5D%7D

    3.7a3pre (0306 daily) result:
    http://www2.webkit.org/perf/sunspider-0.9/sunspider-results.html?%7B%223d-cube%22:%5B55,60,60,60,60%5D,%223d-morph%22:%5B45,54,54,54,56%5D,%223d-raytrace%22:%5B74,75,75,73,74%5D,%22access-binary-trees%22:%5B29,29,27,31,31%5D,%22access-fannkuch%22:%5B108,104,107,107,157%5D,%22access-nbody%22:%5B29,28,28,29,28%5D,%22access-nsieve%22:%5B18,24,18,18,18%5D,%22bitops-3bit-bits-in-byte%22:%5B2,2,1,2,2%5D,%22bitops-bits-in-byte%22:%5B15,15,15,15,14%5D,%22bitops-bitwise-and%22:%5B3,3,3,2,3%5D,%22bitops-nsieve-bits%22:%5B33,33,34,33,34%5D,%22controlflow-recursive%22:%5B11,11,12,11,11%5D,%22crypto-aes%22:%5B42,43,46,42,41%5D,%22crypto-md5%22:%5B17,16,16,16,16%5D,%22crypto-sha1%22:%5B9,10,10,9,9%5D,%22date-format-tofte%22:%5B78,77,79,78,78%5D,%22date-format-xparb%22:%5B81,82,82,81,81%5D,%22math-cordic%22:%5B42,41,41,41,42%5D,%22math-partial-sums%22:%5B24,23,23,23,23%5D,%22math-spectral-norm%22:%5B10,10,10,9,10%5D,%22regexp-dna%22:%5B76,78,75,75,79%5D,%22string-base64%22:%5B13,13,13,13,13%5D,%22string-fasta%22:%5B70,64,65,64,63%5D,%22string-tagcloud%22:%5B111,110,108,110,112%5D,%22string-unpack-code%22:%5B95,94,94,93,94%5D,%22string-validate-input%22:%5B44,46,50,46,50%5D%7D

    The interesting thing is that the recursive test is 6.71x faster. I can’t believe the improvement does not embed the new jager javascript engine. Any special improvement in the old tracemonkey?

    March 6th, 2010 at 04:42

  6. Robert O’Callahan

    Actually a2 does contain D2D. It’s just very buggy so we’re trying not to talk about it :-). (Trunk is already a lot better.)

    March 6th, 2010 at 14:12

  7. Christopher Blizzard

    Yeah, I considered adding a note about D2D but it’s not in good enough shape yet. I figure in a few weeks we’ll have something that is worth talking about.

    March 7th, 2010 at 15:23

  8. Erik Harrison

    Are there any plans for a hardware accelerated rendering path for OS X/Linux?

    March 7th, 2010 at 19:44

  9. Boris

    Erik, see https://bugzilla.mozilla.org/show_bug.cgi?id=546517 for the OpenGL hardware accelerated rendering work; that would work on OS X and Linux both.

    March 9th, 2010 at 15:05

  10. patrick

    Please include D2D support in the next version of FF. It will really helps in improving rendering performance especially in SVG animations.

    March 10th, 2010 at 23:49

  11. knmaoskd

    1.9.3a3 already on its way?! Is it because of D3D/DW?

    March 17th, 2010 at 07:00

  12. billy bob

    anyone know where the “local” versions are?

    March 17th, 2010 at 09:28

  13. […] even more closely, you can take a look at the list of current Firefox projects, test the latest developer preview, or even run the nightly […]

    March 22nd, 2010 at 12:58

Comments are closed for this article.