We have just released Firefox Aurora 14, which includes a number of improvements. If all goes well, these features should be released in 12 weeks as part of Firefox 14.
Highlights
There are a few of things we’d like to shine some extra light on here:
- Native Fullscreen Support in Mac OS X 10.7 “Lion”: Firefox can now use the native full-screen mode and button. It animates and behaves properly in that mode, like any other well-integrated application.
- Great news for gamers! The Pointer Lock API, sometimes called the Mouse Lock API, lets games better control the mouse, by removing the pointer and letting the application capture and handle the mouse move coordinates directly.
- The four default ways to search — using the search bar, the address bar, the contextual menu, or the home page, now all use the Google https search service in Aurora. This increase the security of your searches.
- The dev tools now allow easily inspecting pseudo-classes states: when hovering over an element with the dev tools activated, the contextual menu now lists the different states of the element, like :hover, :active, and :focus. When selecting one of these items, the element is locked in the associated state and can be inspected. That feature was already there in Aurora 13, but the interface to access it is now very convenient!
List of improvements
Here is a (more or less) complete list of the improvements.
DevTools
- New keyboard shortcuts have been added to the Source Editor JS module (used by the Scratchpad or the Style Editor) to quickly jump to the code block start and end.
- Still in the Source Editor module, it is now possible to add or remove a comment on a line or the current selection with one keystroke.
- Beside the new pseudo-class inspector, several improvements have been made to the infobar which has now an inspect button to the left and a node menu to the right (for example, it may be used to set the pseudo-class state on the node!)
DOM
- The Pointer Lock API has been implemented.
- A proposal for the replacement of MutationEvents, introduced in DOM Level 2 but deprecated in DOM Events Level 3, has landed, prefixed: instead of events, an API allowing callbacks to be registered has been crafted.
- New, with added performance, DOM bindings for non-list objects have landed. Currently XMLHttpRequest is the only non-list object using them. These bindings are often called the “Paris DOM bindings” as they were designed in that city.
- The
<a title="SVGSVGElement DOM Element" href="https://developer.mozilla.org/en/DOM/SVGSVGElement">SVGSVGElement</a>
has been fixed to be a DOM Element. HTMLProgressElement
, the DOM object associated with the<a href="https://developer.mozilla.org/en/HTML/Element/progress"><progress></a>
HTML element, was a<a href="https://developer.mozilla.org/en/DOM/HTMLFormElement">HTMLFormElement</a>
. This was incorrect and has been fixed. It is a simple<a href="https://developer.mozilla.org/en/DOM/HTMLElement">HTMLElement</a>
now.
Plugins
- Optionally, if the
plugins.click_to_play
preference is enabled inabout:config
, plugins will require an extra click to activate and start “playing” content. This mode improves the security of the browser and may be extended in the future to be activated by default in some cases. When on, site-specific permissions can be set.
Layout
- CSS
text-transform
andfont-variant
properties have been updated to match the spec and now handle the Dutch IJ digraph, the Turkic dotless and dotted i, and the Greek sigma lowercase characters correctly. This is big improvement for writing on the Web in these languages! - Related to CSS transforms, the
skew()
function has been removed from the spec, so support has been removed from Firefox as well. It wasn’t a real skew function which designs the linear shear mapping transform and its effect is still achievable using thematrix()
function. - Directly viewed images now have a textured background.
- The character maps (cmap) have been optimized. Fonts with identical character coverage now share them. This lets Firefox use less memory, about 0.5 MB on a desktop system with few fonts, and up to 1.8MB or more on systems with a lot of fonts. The more fonts that are installed, the greater the savings. This was done as a part of the MemShrink project.
- SVG performance has been significantly improved.
User Interface
- The popup bubble containing a link URL that appears on the bottom of the page when hovering over a link is now longer when the URL doesn’t fit in it.
- As part of the Australis theme evolution project, the navigation bar buttons have been modified (on Windows only).
- The identity block has been redesigned. The favicon has been changed to show an icon describing the connection used:
- The page is served unencrypted (http).
- The page is served encrypted (via https) but some of its content comes from unencrypted servers.
- The page and its content is served encrypted (and the server uses a CV certificate).
- The page and its content is served encrypted (and the server uses an EV certificate).
Network
- At launch, tabs are no longer loaded in the background. Instead, they are now loaded when first selected, which improves response during the start-up of Firefox. This has been done as a part of the Snappy project.
Others
- Both the Internet Explorer and Safari migrators have been rewritten in JavaScript. Using asynchronous I/O, they don’t block the browser when they run and it improves their maintainability. This has been done as part of the Snappy project.
- On Linux, the $LANG system variable is now used when not able to locate a given dictionary in another way. Useful for system-wide installed dictionaries.
- For add-ons writers, the js-ctypes library has been extended. Variadic ctypes functions — that is, support for functions with a variable number of arguments — have been added.
- Several bugs in our WebGL implementation have been fixed (and workarounds for some common driver bugs added). We are close to WebGL 1.0.1 conformance, but your help is still needed.
- Extra flexibility has been added to the Garbage Collector (GC): it could previously be applied on a single compartment or on all compartments. Now it can also be applied on a set of compartments. This will let it be launched in more cases in the future, leading to a finer control of memory and of GC pauses.
Note: pdf.js and the new panel-based Download Manager, though they landed on Nightly, have not been lifted to Aurora 14 as they need further polishing. Similarly, support of GStreamer for videos, though it landed last week, has not been activated yet.
About Jean-Yves Perrier
Jean-Yves is a program manager in the Developer Outreach team at Mozilla. Previous he was an MDN Technical Writer specialized in Web platform technologies (HTML, CSS, APIs), and for several years the MDN Content Lead.
39 comments