Firefox 13 for developers

Firefox 13 was shipped on June 5, 2012. This page summarizes the changes in Firefox 13 that affect developers.

Changes for Web developers

HTML

Tables' cellspacing attributes are now parsed the same outside quirks mode as they are in quirks mode. That is, if a value is specified as a percentage, it's treated as a number of pixels instead, since percentage values are not actually permitted according to the specification.

The <wbr> element has seen its bidirectional behavior fixed. It now behaves like the Unicode U+200B ZERO-WIDTH SPACE and therefore doesn't affect bi-directionality of its parent element anymore.

The FileError interface has been removed in favor of the DOMError interface as defined in the latest FileAPI specification.

The Range object no longer throws a RangeException. Instead a DOMException as defined in DOM 4 is used.

element.getAttributeNS() now always returns null instead of the empty string for non-existent attributes. Previously, there were cases in which the empty string could be returned. This is in keeping with the DOM4 specification, which now says this should return null for non-existent attributes, instead of an empty string.

The HTMLCanvasElement interface now has a non-standard mozFetchAsStream() method, which provides an input stream containing the element's image data in the specified format.

UA string

Firefox for Android now has a Tablet or Mobile token in the UA string to indicate the form factor and no longer has the Fennec token. Also, the number after "Gecko/" is now the Gecko version number instead of a frozen date.

The UA string no longer exposes the Gecko patch number or release status in the version number; that is, the version number is now always of the form "X.Y", where X is the major release number and Y the minor. For example, "13.0" or "14.1". It will no longer be something like "14.0.1b1".

SVG

WebGL

Support has been added for the EXT_texture_filter_anisotropic extension. Anisotropic texture filtering improves the quality of mipmapped texture access when viewing a textured primitive at an oblique angle.

Style panel improvements

Right-clicking on a rule in the style panel now offers an option to copy the rule to the clipboard.

Entering an unknown property name, or an illegal property value, displays a warning icon next to that property.

Scratchpad improvements

The Scratchpad now has an option in the Help menu to take you to the MDN documentation about Scratchpad.

Changes for Mozilla and add-on developers

Compatibility note

Starting in Firefox 13, Firefox for Windows requires at least Windows XP Service Pack 2; it will no longer run on Windows 2000 or earlier versions of Windows XP.

JavaScript code modules

source-editor.jsm

Support for a dirty flag has been added to the Source Editor API.

The Source Editor no longer supports falling back to a <textarea> instead of using Orion.

The editor now exposes focus and blur events.

The getIndentationString() method has been added; this returns the string to use for indenting text in the editor.

The Source Editor now supports managing a list of breakpoints and displaying user interface for toggling them on and off; it does not actually implement breakpoints, however. That's up to you to write debugger code for.

Support has been added for highlighting the current line, using the highlightCurrentLine configuration option.

The aliases MozOpacity, MozOutline, MozOutlineStyle, MozOutlineWidth, MozOutlineOffset, and MozOutlineColor, all of which were removed in previous versions of Gecko, have been removed from nsIDOMCSS2Properties, which should have been done with the aliases were initially removed.

The nsINavHistoryQueryOptions attribute excludeItemIfParentHasAnnotation has been removed, along with the corresponding query operation. It existed to support livemarks, which no longer exist.