The HTMLImageElement crossOrigin property has been added. (see bug 664299 )
The HTMLSelectElement.add() method now supports either an item or index of an item that the new item should be inserted before. Previously it only supported an item. (see bug 666200 )
The HTMLIsIndexElement constructor has been removed. No elements have implemented this interface since before Firefox 4.
The HTML5 "context menu" feature (contextmenu attribute), which lets you add custom element specific items to native context menu, is now supported (the implementation is still experimental awaiting changes in the specification; see bug 617528 ).
The input and textarea elements now support the selectionDirection attribute, and their setSelectionRange() methods have been updated to support optionally specifying a direction.
DOM
The insertAdjacentHTML method has been implemented.
BlobBuilder now has a getFile() method that returns the content of the blob as a file.
Event handling in nested
When editing element.contenteditable areas, exiting a heading by pressing return, or exiting list editing mode by pressing return twice, now returns to paragraph entry mode (that is, paragraphs inside p blocks) instead of separating lines by br elements.
Fixed a bug that prevents justification from taking effect properly when applied to the first line in a element.contenteditable area.
Fixed a bug that caused pressing delete or backspace at the beginning of a element.contenteditable area to affect the previous contenteditable block if one is present.
document.getSelection() now returns the same Selection object as window.getSelection(), instead of stringifying it.
The HTML5 selectionDirection property makes it possible to define the direction of the selection in an editable text.
Range and Selection objects now behave according to their specifications when splitText() and normalize() are called.
HTMLMediaElement now have a seekable property that return a TimeRanges object.
crossOrigin property defaults to "Anonymous" when an invalid value is used.
window.navigator.taintEnabled has been removed; it has not been supported in many years.
window.navigator.cookieEnabled now returns correct information when the default cookie setting is overridden on a per-site basis.
JavaScript
RegExp.exec() and RegExp.test() called with no arguments now match against the string "undefined".
String.search() and String.match() called with no arguments or undefined now match against the empty string and thus match every string.
CSS
resolution now accepts , not just values as per the specification.
Hyphenation rules have been added for many new languages when using hyphen.
Network
Double quotes are no longer accepted as a delimiter for RFC 2231 or RFC 5987 encoding, as per those RFCs.
Content-Disposition parser no longer requires "=" in parameters.
Scripts are no longer downloaded when JavaScript is disabled.
WebSockets
The WebSocket object's send() method no longer incorrectly returns a Boolean value.
The WebSocket constructor now supports an array of protocols as well as a single protocol string.
Mixed-content is not allowed with WebSockets.
Connection errors with WebSockets now trigger the onerror handler.
WebSocket API has been updated to the latest draft of the specification (see bug 674890 , bug 674527 , and bug 674716 ).
The deflate-stream extension to WebSockets has been disabled; it has been deprecated, and was breaking compatibility with some sites.
WebGL
Cross-domain textures can now be allowed with CORS approval.
Cross-process rendering with Direct2D/Direct3D 10.
MathML
Support for the displaystyle attribute on the top-level
The interpretation of negative row numbers for the align attribute on has been corrected.
Developer tools
The console object has a new dir() method, which displays an interactive list of the properties on a specified object.