Firefox 3 for developers - Mozilla | MDN (original) (raw)

If you're a developer trying to get a handle on all the new features in Firefox 3, this is the perfect place to start. This article provides a list of the new articles covering features added to Firefox 3. While it doesn't necessarily cover every little change, it will help you learn about the major improvements.

New developer features in Firefox 3

For website and application developers

Updating web applications for Firefox 3

Provides information about changes you may need to make to your website or web application to take advantage of new features in Firefox 3.

Online and offline events

Firefox 3 supports WHATWG online and offline events, which let applications and extensions detect whether or not there's an active Internet connection, as well as to detect when the connection goes up and down.

Web-based protocol handlers

You can now register web applications as protocol handlers using the navigator.registerProtocolHandler() method.

Drawing text using a canvas

You can now draw text in a canvas using a non-standardized API supported by Firefox 3.

Transform support for canvas

Firefox now supports the transform() and setTransform() methods on canvases.

Using microformats

Firefox now has APIs for working with microformats.

Drag and drop events

Firefox 3 supports new events that are sent to the source node for a drag operation when the drag begins and ends.

Focus management in HTML

The new HTML 5 activeElement and hasFocus attributes are supported.

Offline resources in Firefox

Firefox now lets web applications request that resources be cached to allow the application to be used while offline.

CSS improvements in Firefox 3

Firefox 3 features a number of improvements in its CSS support.

DOM improvements in Firefox 3

Firefox 3 offers a number of new features in Firefox 3's DOM implementation, including support for several Internet Explorer extensions to the DOM.

JavaScript 1.8 support

Firefox 3 offers JavaScript 1.8.

EXSLT support

Firefox 3 provides support for a substantial subset of the EXSLT extensions to XSLT.

SVG improvements in Firefox 3

SVG support in Firefox 3 has been upgraded significantly, with support for over two dozen new filters, several new elements and attributes, and other improvements.

Animated PNG graphics

Firefox 3 supports the animated PNG (APNG) image format.

For XUL and extension developers

Notable changes and improvements

Updating extensions for Firefox 3

Provides a guide to the things you'll need to do to update your extension to work with Firefox 3.

XUL improvements in Firefox 3

Firefox 3 offers a number of new XUL elements, including new sliding scales, the date and time pickers, and spin buttons.

Templates in Firefox 3

Templates have been significantly improved in Firefox 3. The key improvement allows the use of custom query processors to allow data sources other than RDF to be used.

Securing updates

In order to provide a more secure add-on upgrade path for users, add-ons are now required to provide a secure method for obtaining updates before they can be installed. Add-ons hosted at AMO automatically provide this. Any add-ons installed that do not provide a secure update method when the user upgrades to Firefox 3 will be automatically disabled. Firefox will however continue to check for updates to the extension over the insecure path and attempt to install any update offered (installation will fail if the update also fails to provide a secure update method).

Places migration guide

An article about how to update an existing extension to use the Places API.

Download Manager improvements in Firefox 3

The Firefox 3 Download Manager features new and improved APIs, including support for multiple progress listeners.

Using nsILoginManager

The Password Manager has been replaced by the new Login Manager.

Embedding XBL bindings

You can now use the data: URL scheme from chrome code to embed XBL bindings directly instead of having them in separate XML files.

Localizing extension descriptions

Firefox 3 offers a new method for localizing add-on metadata. This lets the localized details be available as soon as the add-on has been downloaded, as well as when the add-on is disabled.

Localization and Plurals

Firefox 3 adds the new PluralForm module, which provides tools to aid in correctly pluralizing words in multiple localizations.

Theme changes in Firefox 3

Notes and information of use to people who want to create themes for Firefox 3.

New components and functionality

FUEL Library

FUEL is about making it easier for extension developers to be productive, by minimizing some of the XPCOM formality and adding some "modern" JavaScript ideas.

Places

The history and bookmarks APIs have been completely replaced by the new Places API.

Idle service

Firefox 3 offers the new nsIIdleService interface, which lets extensions determine how long it's been since the user last pressed a key or moved their mouse.

ZIP writer

The new nsIZipWriter interface lets extensions create ZIP archives.

Full page zoom

Firefox 3 improves the user experience by offering full page zoom in addition to text-only zoom.

Interfacing with the XPCOM cycle collector

XPCOM code can now take advantage of the cycle collector, which helps ensure that unused memory gets released instead of leaking.

The Thread Manager

Firefox 3 provides the new nsIThreadManager interface, along with new interfaces for threads and thread events, which provides a convenient way to create and manage threads in your code.

JavaScript modules

Firefox 3 now offers a new shared code module mechanism that lets you easily create modules in JavaScript that can be loaded by extensions and applications for use, much like shared libraries.

The nsIJSON interface

Firefox 3 offers the new nsIJSON interface, which offers high-performance encoding and decoding of JSON strings.

The nsIParentalControlsService interface

Firefox 3 now supports the Microsoft Windows Vista parental controls feature, and allows code to interact with it.

Using content preferences

Firefox 3 includes a new service for getting and setting arbitrary site-specific preferences that extensions as well as core code can use to keep track of their users' preferences for individual sites.

Plug-in Monitoring

A new component of the plugin system is now available to measure how long it takes plugins (e.g., Macromedia Flash) to execute their calls.

Fixed bugs

Notable bugs fixed in Firefox 3

This article provides information about bugs that have been fixed in Firefox 3.

New features for end users

User experience

Security and privacy

Performance

See also