DOM

While editing text using an IME, the {{ domeventxref("input") }} event is now sent whenever the contents of the element being edited have been changed; this happens after the {{ domeventxref("compositionupdate") }} event has been sent to indicate that the IME's text has been changed. You can use the {{ domeventxref("input") }} event handler, therefore, to monitor changes to the actual content of the element.

Network Information API: Experimental support for {{ domxref("window.navigator.connection") }} has been added (prefixed).

{{ domxref("DOMError") }} as defined in the DOM 4 specification has been implemented.

The {{ domxref("Document.createNodeIterator()") }} method has been updated to match the DOM4 specification. This makes the whatToShow and filter parameters optional and removes the non-standard fourth parameter, entityReferenceExpansion.

The {{ domxref("Blob") }} interface's slice() method was affected by a bug that prevented it from properly accepting start and end values outside the range of a signed 64-bit integer; this has been fixed.

SVG

MathML

To control the directionality of MathML formulas the dir attribute is now supported on the {{ MathMLElement("math") }}, {{ MathMLElement("mrow") }} and {{ MathMLElement("mstyle") }} elements as well as on MathML Token Elements. This is particularly important for some Arabic mathematical notations.

Changes for Mozilla and add-on developers

XUL

The definition of the values for the {{ XULAttr("chromemargin") }} attribute has changed slightly, to make it easier to make cross-platform XUL code look good on platforms with different default window border widths.

XPCOM

XPConnect

The PRUint64 data type was incorrectly essentially identical to PRint64 when used with XPConnect. This has been fixed.

Interface changes

The nsIScreen_MOZILLA_2_0_BRANCH interface has been merged into {{ interface("nsIScreen") }}. The APIs defined in that interface (for controlling minimum screen brightness) had not previously been documented, but now they are.

The {{ interface("nsIScriptError2") }} interface has been merged into {{ interface("nsIScriptError") }}.

{{ ifmethod("nsIDownloadManager", "addDownload") }} is now handled asynchronously rather than synchronously.

The {{ ifmethod("iImgIContainerObserver", "frameChanged") }} method now receives as its first parameter an {{ interface("imgIRequest") }} object identifying the corresponding request.