--- 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.
-moz-linear-gradient
and -moz-radial-gradient
properties for background
.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.background-size
property from the CSS 3 Backgrounds and Borders draft is now supported under the name -moz-background-size
.@font-face
now supports the WOFF downloadable font file format.pointer-events
property lets content specify whether or not an element may be the target of mouse pointer events.rem
length unit from CSS3 Values and Units is now supported. Bug 472195image-rendering
is supported for images, background images, videos and canvases. Bug 423756text-align
:end is now supported. Bug 299837display
types now work much better.:-moz-locale-dir(ltr)
and :-moz-locale-dir(rtl)
to make it easier to customize layouts based on whether the user interface is being displayed using a left-to-right or a right-to-left locale. Bug 478416:indeterminate
pseudo-class, which matches checkbox
input
elements whose indeterminate
attribute is true
.input type="file"
HTML element's new multiple
attribute.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.indeterminate
propertyinput
elements of types checkbox
and radio
now support the indeterminate property, which allows a third, "indeterminate" state.mozImageSmoothingEnabled
property can be used to turn on and off image smoothing when scaling in canvas
elements.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.Gecko 1.9.2 introduces JavaScript 1.8.2, which adds a number of language features from the ECMAScript 5 standard:
Date.parse()
can now parse ISO 8601 dates like YYYY-MM-DD.The prototype
property of function instances is no longer enumerable.
nsIWorkerScope.close()
method, which allows them to terminate themselves.DataTransfer
object provided to drag listeners now includes a list of files that were dragged.element.mozMatchesSelector
method lets you determine whether or not an element matches a specified CSS selector. See Bug 518003.MozOrientation
event. Firefox 3.6 supports the accelerometer in Mac laptops.MozScrollAreaChanged
event is dispatched whenever the document's scrollWidth
and/or scrollHeight
properties change.getBoxObjectFor()
method has been removed, as it was non-standard and exposed even more non-standard stuff to the web. See Bug 340571. Also affects MooTools which uses this call for Gecko detection; this has been fixed in the latest version of MooTools, so be sure to update.mozInnerScreenX
and mozInnerScreenY
properties on DOM windows have been added; these return the screen coordinates of the top-left corner of the window's viewport.mozScreenPixelsPerCSSPixel
attribute on the nsIDOMWindowUtils
interface, accessible only to chrome, provides a conversion factor between CSS pixels and screen pixels; this value can vary based on the zoom level of the content.hashchange
event is sent to the page. See window.onhashchange for more information. Bug 385434document.readyState
is now supported. Bug 347174element.classList
to allow easier handling of the class attribute. Bug 501257localName
and namespaceURI
in HTML documents now behave like they do in XHTML documents: localName
returns in lower case and namespaceURI
for HTML elements is "http://www.w3.org/1999/xhtml"
.element.getElementsByTagNameNS
no longer lowercases its argument, so upper-case ASCII letters in the argument make matches against HTML elements fail. The same is true for document.getElementsByTagNameNS
.nsIDOMGeoPositionAddress
interface and a new field added to nsIDOMGeoPosition
.window.getComputedStyle
function now returns quotes within url()
values.choose()
method is now supported by our implementation of XPath.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.
MozOrientation
event. Firefox 3.6 supports the accelerometer in Mac laptops.redirectsMode
attribute on the nsINavHistoryQueryOptions
interface to specify whether or not to include redirected pages in results.nsIFaviconService.expireAllFavicons()
method to the nsIFaviconService
interface.for..in
enumeration to enumerate all the properties on a statement.nsIContentPrefService
interface has two new methods: nsIContentPrefService.getPrefsByName()
and nsIContentPrefService.removePrefsByName()
.See Updating themes for Firefox 3.6 for a list of changes related to themes.
contents.rdf
is no longer supported for registering chrome in extensions. You must now use the chrome.manifest
file instead. See Bug 492008.container-live-role
attribute to objects. See Bug 391829.tabs-closebutton
binding has been removed. See Bug 500971.nsISound
for playing sounds based on events that have occurred. See Bug 502799.nsITreeView
methods nsITreeView.canDrop()
and nsITreeView.drop()
has changed to support the new drag & drop API introduced in Gecko 1.9. See Bug 455590.window
element and it has a default button, it needs to call nsIDOMChromeWindow.notifyDefaultButtonLoaded()
during the window's onload
event handler.nsILocalFileMac
interface has had two methods removed: setFileTypeAndCreatorFromMIMEType()
and setFileTypeAndCreatorFromExtension()
.NetUtils.jsm
code module provides an easy-to-use method for asynchronously copying data from an input stream to an output stream.openLocationLastURL.jsm
code module makes it easy to read and change the value of the "Open Location" dialog box's remembered URL while properly taking private browsing mode into account.nsIScreen
interface now reports 24 bit per pixel color depths when the graphics driver claims 32 bits, since 24 more accurately represents the actual number of color pixels in use.autohide
attribute on the toolbar
XUL element.loadOneTab
and addTab
methods now accept a new relatedToCurrent
parameter and, in addition, allow the parameters to be specified by name, since nearly all of the parameters are optional.@mozilla.org/webshell;1
component no longer exists; you need to use @mozilla.org/docshell;1
instead.nsIUpdateTimerManager.registerTimer()
for details.NPN_GetValue()
function no longer provides access to XPCOM through the variable values NPNVserviceManager
, NPNVDOMelement
, and NPNVDOMWindow
. This is part of the work toward making plugins run in separate processes in a future version of Gecko.NPP_GetValue()
is no longer called to with the value NPPVpluginScriptableInstance
or NPPVpluginScriptableIID
. This is part of the work toward making plugins run in separate processes in a future version of Gecko.Certain changes are only really interesting if you work on the internals of Firefox itself.
The following interfaces have been combined together:
nsIPluginTagInfo2
has been merged into nsIPluginTagInfo
.nsIPluginInstanceInternal
, nsIPPluginInstancePeer
, nsIPluginInstancePeer1
, nsIPluginInstancePeer2
, and nsIPluginInstancePeer3
have all been merged into nsIPluginInstance
.nsIWindowlessPlugInstPeer
has been merged into nsIPluginInstance
.nsIPluginManager
and nsIPluginManager2
have been merged into nsIPluginHost
.The following interfaces have been removed entirely because they were unused, unimplemented, or obsolete:
nsIFullScreen
nsIDOMSVGListener
nsIDOMSVGZoomListener
nsIInternetConfigService
nsIDKey
nsIEventHandler
nsIJRILiveConnectPIPeer
nsIJRILiveConnectPlugin
nsIScriptablePlugin
nsIClassicPluginFactory
nsIFileUtilities
The following interfaces have been relocated from their previous IDL files into new ones:
nsIDOMNSCSS2Properties
is now located in its own IDL file (dom/interfaces/css/nsIDOMCSS2Properties.idl
).nsIUpdateTimerManager
is now located in its own IDL file.A large number of interfaces have been moved. See Interfaces moved in Firefox 3.6 for a complete list.
The following assorted changes have been made:
nsIPlugin
interface now inherits from nsISupports
instead of nsIFactory
.nsIPluginHost
interface now inherits from nsISupports
instead of nsIFactory
.nsIFrame
interface now inherits from nsQueryFrame
instead of nsISupports
.nsIDeviceContext
method getPaletteInfo()
has been removed, as it was never implemented.nsIScriptContext
method reportPendingException()
has been removed, since it was no longer being used._REORDER
accessibility event is now sent when the children of frames and iframes change, as well as when the main document's children change. See Bug 420845.nsIAccessibleTable.selectRow()
now correctly removes any current selection before selecting the specified row.