--- title: Firefox 3.6 for developers slug: Mozilla/Firefox/Releases/3.6 translation_of: Mozilla/Firefox/Releases/3.6 ---

Firefox 3.6 offers support for new and developing web standards, increased performance, and an overall better experience for web users and developers. This page provides links to articles covering the new capabilities of Firefox 3.6.

For web site and application developers

CSS

Using gradients
Firefox 3.6 adds support for the proposed -moz-linear-gradient and -moz-radial-gradient properties for background.
Multiple backgrounds
The background property (as well as background-color, background-image, background-position, background-repeat, and background-attachment) now supports multiple backgrounds. This lets you specify multiple backgrounds that are rendered atop one another in layers.
Mozilla-specific media features
Media features have been added for Mozilla-specific system metrics, so that media queries can be used to more safely check on the availability of features such as touch support.
Scaling background images
The background-size property from the CSS 3 Backgrounds and Borders draft is now supported under the name -moz-background-size.
WOFF font support
@font-face now supports the WOFF downloadable font file format.
Pointer events
The pointer-events property lets content specify whether or not an element may be the target of mouse pointer events.

Miscellaneous CSS changes

HTML

Using files from web applications
Support for the new HTML5 File API has been added to Gecko, making it possible for web applications to access local files selected by the user. This includes support for selecting multiple files using the input type="file" HTML element's new multiple attribute.
HTML5 video supports poster frames
The poster attribute is now supported for the video element, allowing content to specify a poster frame to be displayed until the video begins to play.
Checkboxes and radio buttons support the indeterminate property
HTML input elements of types checkbox and radio now support the indeterminate property, which allows a third, "indeterminate" state.
Canvas image smoothing can be controlled
The new mozImageSmoothingEnabled property can be used to turn on and off image smoothing when scaling in canvas elements.
Asynchronous script execution
By setting the async attribute on a script element, the script will not block loading or display of the rest of the page. Instead the script executes as soon as it is downloaded.

JavaScript

Gecko 1.9.2 introduces JavaScript 1.8.2, which adds a number of language features from the ECMAScript 5 standard:

DOM

Web workers can now self-terminate
Workers now support the nsIWorkerScope.close() method, which allows them to terminate themselves.
Drag and drop now supports files
The DataTransfer object provided to drag listeners now includes a list of files that were dragged.
Checking to see if an element matches a specified CSS selector
The new element.mozMatchesSelector method lets you determine whether or not an element matches a specified CSS selector. See Bug 518003.
Detecting device orientation
Content can now detect the orientation of the device if it has a supported accelerometer, using the MozOrientation event. Firefox 3.6 supports the accelerometer in Mac laptops.
Detecting document width and height changes
The new MozScrollAreaChanged event is dispatched whenever the document's scrollWidth and/or scrollHeight properties change.

Miscellaneous DOM changes

XPath

The choose() XPath method is now supported
The choose() method is now supported by our implementation of XPath.

For XUL and add-on developers

If you're an extension developer, you should start by reading Updating extensions for Firefox 3.6, which offers a helpful overview of what changes may affect your extension. Plug-in developers should read Updating plug-ins for Firefox 3.6.

New features

Detecting device orientation
Content can now detect the orientation of the device if it has a supported accelerometer, using the MozOrientation event. Firefox 3.6 supports the accelerometer in Mac laptops.
Monitoring HTTP activity
You can now monitor HTTP transactions to observe requests and responses in real time.
Working with the Windows taskbar
It's now possible to customize the appearance of windows in the taskbar in Windows 7 or later. This has been disabled by default in Firefox 3.6.

Places

Storage

Locale-aware collation of data is now supported by the Storage API
Gecko 1.9.2 added several new collation methods to provide optimized collation (sorting) of results using locale-aware techniques.
Properties on a statement can now be enumerated
You can now use a for..in enumeration to enumerate all the properties on a statement.
mozIStorageStatement's getParameterIndex changed behavior between 3.5 and 3.6.
See Bug 528166 for details.
Asynchronously bind multiple sets of parameters and execute a statement.
See Bug 490085 for details. Documentation coming soon.

Preferences

Themes

See Updating themes for Firefox 3.6 for a list of changes related to themes.

Lightweight themes
Firefox 3.6 supports lightweight themes; these are easy-to-create themes that simply apply a background to the top (URL bar and button bar) and bottom (status bar) of browser windows. This is an integration of the existing Personas theme architecture into Firefox.

Miscellaneous

For Firefox/Gecko developers

Certain changes are only really interesting if you work on the internals of Firefox itself.

Interfaces merged

The following interfaces have been combined together:

Interfaces removed

The following interfaces have been removed entirely because they were unused, unimplemented, or obsolete:

Interfaces moved

The following interfaces have been relocated from their previous IDL files into new ones:

A large number of interfaces have been moved. See Interfaces moved in Firefox 3.6 for a complete list.

Other interface changes

The following assorted changes have been made:

Changes in accessibility code

See also