Mozilla
Aurora Logo

Download Aurora

Keeping up the pace with our new development cycle, today we release Aurora 7. Enjoy its new features and performance improvements: CSS “text-overflow: ellipsis“, Navigation Timing API, reduced memory usage, a faster javascript parser, and the first steps of Azure, our new graphics API.

text-overflow: ellipsis;

It is now possible to get Firefox to display “” to give a visual clue that a text is longer than the element containing it.

At last, with text-overflow implemented in Aurora 7 it’s now possible to create a cross-browser ellipsis!

Navigation Timing

Performance is a key parameter of the user experience on the Web. To help Web developers monitor efficiently the performance of their Web pages, Aurora 7 implements the Navigation Timing specification: using the window.performance.timing object, developers will be able to know the time when different navigation steps (such as navigationStart, connectStart/End, responseStart/End, domLoading/Complete) happened and deduce how long one step or a sequence of steps took to complete.

Reduced Memory Usage

Our continuous efforts to monitor and reduce memory consumption in Firefox will substantially pay off with Aurora 7:

  • The memory “zone” where javascript objects reside gets fragmented as objects are created and deleted. To reduce the negative impact of this fragmentation, long-lived objects created by the browser’s own UI have been separated from the objects created by Web pages. The browser can now free memory more efficiently when a tab is closed or after a garbage collection.
  • Speaking of garbage collection, as we successfully reduced the cost of this operation, we are able to execute it more often. Not only is memory freed more rapidly, but this also leads to shorter GC pauses(the period where javascript execution stops to let the garbage collector do his job, which is sometime noticeable during heavy animations).
  • All those improvements are reflected in the about:memory page, which is now able to tell how much memory a particular Web page or the browser’s own UI, is using.

More frequent updates and detailed explanations of the memshrink effort are posted on Nicholas Nethercote’s blog.

Faster Javascript Parsing

A javascript parser is the part of the browser that reads the javascript before it gets executed by the javascript engine. With modern Web applications such as Gmail or Facebook sending close to 1Mb of javascript, being able to still read all of that code instantly matters in the quest of responsive user experience.
Thanks to Nicholas’s work, our parser is now almost twice as fast as it used to. This adds up well with our constant work to improve the execution speed of our javascript engine.

First Steps of Azure

After the layout engine (Gecko) has computed the visual appearance (position, dimension, colors, …) of all elements in the window, the browser asks the Operating System to actually draw them on the screen. The browser needs an abstraction layer to be able to talk to the different graphics libraries of the different OSes, but this layer has to be as thin and as adaptable as possible to deliver the promises of hardware acceleration.
Azure is the name of the new and better graphics API/abstraction layer that is going to gradually replace Cairo in hardware accelerated environments. In Aurora 7, it is already able to interact with Windows 7′s Direct2D API to render the content of a <canvas> element (in a 2D context). You can read a detailed explanation of the Azure project and its next steps on Joe Drew’s blog.

Other Improvements

HTML

Canvas

  • Specifying invalid values when calling setTransform(), bezierCurveTo(), or arcTo() no longer throws an exception; these calls are now correctly silently ignored.
  • Calling strokeRect with a zero width and height now correctly does nothing. (see bug 663190 )
  • Calling drawImage with a zero width or height <canvas> now throws INVALID_STATE_ERR. (see bug 663194 )
  • toDataURL() method now accepts a second argument to control JPEG quality (see bug 564388 )

CSS

MathML

  • XLink href has been restored and the MathML3 href attribute is now supported. Developers are encouraged to move to the latter syntax.
  • Support for the voffset attribute on <mpadded> elements has been added and behavior of lspace attribute has been fixed.
  • The top-level <math> element accepts any attributes of the <mstyle> element.
  • The medium line thickness of fraction bars in <mfrac> elements has been corrected to match the default thickness.
  • Names for negative spaces are now supported.

DOM

  • The File interface’s non-standard methods getAsBinary(), getAsDataURL(), and getAsText() have been removed as well as the non-standard properties fileName and fileSize.
  • The FileReader readAsArrayBuffer() method is now implemented. (see bug 632255 )
  • document.createEntityReference has been removed. It was never properly implemented and is not implemented in most other browsers. (see bug 611983 )
  • document.normalizeDocument has been removed. Use Node.normalize instead. (see bug 641190 )
  • DOMTokenList.item now returns undefined if the index is out of bounds, previously it returned null. (see bug 529328 )
  • Node.getFeature has been removed. (see bug 659053 )

JavaScript

Net

  • WebSockets are now available on Firefox Mobile. (see bug 537787 )

console API

  • Implement console.dir(), console.time(), console.timeEnd(), console.group() and console.groupEnd() methods.
  • Message logged with console.log before the WebConsole is opened are now stored and displayed once the WebConsole is opened.

(see the Web Console page in the Wiki)

Web Timing

Posted by on at

27 comments

Comments are now closed.

  1. Gavra wrote on July 7th, 2011 at 13:13:

    Wow! The speed! It’s amazing!

  2. Skoua wrote on July 7th, 2011 at 14:09:

    It seems really fast!

    http:// is gone. :’(

  3. Aldonio wrote on July 7th, 2011 at 14:11:

    I’m surprised about text-overflow: ellipsis, not the fact that it has been included, but the fact that Firefox didn’t have it until today :/

    1. Boris wrote on July 7th, 2011 at 16:12:

      Turns out it’s a hard problem as soon as you try to implement it for any but the simplest use cases (e.g. if you have bidi text involved). None of the other implementations actually agreed with each other on how it should work, for example.

  4. David Bruant wrote on July 7th, 2011 at 14:25:

    “Function.arity” is not a function. It was a property that all function object had. There is no need for the parenthesis “()”.

  5. Claudio Cicali wrote on July 7th, 2011 at 14:37:

    “Navigation Timing” link is broken

    1. louisremi wrote on July 8th, 2011 at 11:37:

      Thank you, this should be fixed now :-)

  6. Brian Blakely wrote on July 7th, 2011 at 14:52:

    Sneak ellipsis into FF6. It’ll be alright, just this once. ;)

  7. MrS wrote on July 7th, 2011 at 15:08:

    How do I get the protocol back in the address bar?

    1. louisremi wrote on July 8th, 2011 at 11:29:

      You can set “browser.urlbar.trimURLs” to “false” in about:config

  8. eobe wrote on July 7th, 2011 at 16:32:

    One thing that still bugs me. It probably has a bugzilla entry but i’m not sure. it’s so simple:

    if you load a page that takes a long time to connect (stays on “connecting…” a while) and you decide to type another URL.. and in between the page finally connects and loads a redirect, the URL you are typing will be deleted and replaced by the redirected page URL, interrupting your typing and losing the URL you were typing completely!

    This annoys me each and every time. Note that Chrome does that right:
    Whenever the user is editing the URL the browser should NEVER overwrite or change it. It should only do so when the URL text field is NOT focused by the user.

  9. PCビギナー wrote on July 7th, 2011 at 19:55:

    コメントしてる人ってどうやってDLしたの?
    散々自慢しておいて、ボタンクリックしてもダウンロード出来ないよ
    一般ユーザは排除か。
    http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-mozilla-aurora-l10n/firefox-6.0a2.ja.linux-i686.tar.bz2

  10. nnethercote wrote on July 7th, 2011 at 19:58:

    About the faster JavaScript parsing — those improvements trickled in gradually over more than a year. A lot of them were already in FF4, some more got into FF5. The last ones might have got into FF6? Not sure, I can’t remember the exact timing.

    So, the JS parser is almost twice as fast as it was in 3.6 :)

  11. Jeff Walden wrote on July 7th, 2011 at 20:31:

    The JSON parser rewrite was in Firefox 5, so it’s not new to 7.

  12. Georgiy Ivankin wrote on July 7th, 2011 at 21:46:

    text-overflow: ellipsis finally! You made my day! Great work as always ;)

  13. Insano wrote on July 8th, 2011 at 02:07:

    Yes, “http://” is gone from the URL bar. For future reference, take a look at Chrome to know what Mozilla will do next.

  14. Jason wrote on July 8th, 2011 at 09:23:

    How much of the Navigation Timing and other related timing specifications is implemented?

    I actually tried some examples while the IE9 testdrive examples at http://ie.microsoft.com/testdrive/Performance/msPerformance/Default.html does work.

    It seems that the example given at http://webtimingdemo.appspot.com/ doesn’t work.

    1. louisremi wrote on July 8th, 2011 at 11:34:

      The Web Timing specification has been split into smaller specifications and we implement the Navigation Timing one.

  15. Rob wrote on July 10th, 2011 at 06:47:

    This IS ANNOYING!! I runs too fast, uses too little RAM and 7.0a2 (2011-07-09) HAS NOT crashed yet on me, Linux or Win7!
    How can I justify a new PC??? My CPUs idling even on MS test…
    even the restart from beta to read the “…” only took a few seconds.
    Boring, boring I have TOO little to complain about!

  16. juan wrote on July 11th, 2011 at 08:56:

    a ver como va

  17. art wrote on July 11th, 2011 at 14:00:

    when xulrunner 6 and 7 be publish for Window? We worked on plugin and they are no longer compatible with Firefox 6 and 7.

  18. Seth wrote on July 12th, 2011 at 15:55:

    consider all the fantastic ways advertisers will abuse this technology to torment and violate surfers!

    the professional privacy-rapists will be gleeful

  19. sun wrote on July 14th, 2011 at 09:51:

    I have been using Chrome, but maybe I can stick with Firefox now with these speed and memory improvements. :)

  20. Major wrote on July 19th, 2011 at 06:53:

    太美了,FF竟然动作这么快,顶~
    that’s amazing~

  21. Sau wrote on August 20th, 2011 at 10:09:

    Aurora is much faster than previous version, even when compared to firefox 7 beta 1 its faster.

  22. Annie wrote on August 25th, 2011 at 08:51:

    Ok I am a geek with a great deal of confidence and no skill. So I am wondering should I download Aurora or am I going to regret it. I have 6 now and really am not very impressed.

  23. Dennis Schultze wrote on November 20th, 2011 at 08:52:

    Tried the new Aurora and it imported ALL my bookmarks from FF 8.X Runs faster and not too many add-ons function with this new version…no surprise.

    Went back to FF 8.X and the bookmarks were all gone…Is this something anyone else noticed? Had to use a backup to restore.

    Dennis

Comments are closed for this article.