Firefox 22 for developers
=========================

Web 开发者需要注意的变化
--------------

### HTML

* 实现了 HTML5 中的`<data>`元素 (Firefox bug 839371).
* The HTML5 `<time>` element has been implemented (Firefox bug 629801).
* The `range` state of the `<input>` element (`<input type="range">`) has been implemented, behind the preference `dom.experimental_forms_range`, only enabled by default on Nightly and Aurora channel (Firefox bug 841948).
* The support for the `<template>` element, part of the Web component specification has been implemented (Firefox bug 818976).
### JavaScript

* Asm.js optimizations are enabled, making it possible to compile C/C++ applications to a subset of JavaScript for better performance.
* 实现了 ES6 中的箭头函数(Firefox bug 846406).
* The new Object.is function has been added (Firefox bug 839979).
* `arguments` in generator expressions is now inherited from enclosing lexical scope (Firefox bug 848051).
* The ES2015 Proxy `preventExtensions` trap have been implemented (Firefox bug 789897).
### DOM

* 不再支持 `XMLHttpRequest` 中的 `multipart` 属性和 `multipart/x-mixed-replace` 响应。这是一个 Gecko 独有的特性，从来没被标准化过。你可以使用Server-Sent Events, Web Sockets (en-US)或者在 progress 事件中查看 `responseText` 属性的变化来实现同样的效果。
* 实现了Web Notifications (Firefox bug 782211).
* `FormData`对象的`append`方法现在开始接受第三个参数`filename`(Firefox bug 690659).
* 移除了`Node.isSupported`方法 (Firefox bug 801562).
* `Node.setUserData` and `Node.getUserData` has been removed for web content and are deprecated for chrome content (Firefox bug 842372).
* The `Element.attributes` property has been moved there from `Node` as required by the spec (Firefox bug 844134).
* 实现了 Mac OS X 中的`Ambient Light Events`后端。
* Elements in the HTML namespace with local names `<bgsound>`, `<multicol>`, and `<image>` no longer implement the `HTMLSpanElement` interface. `<bgsound>` implements `HTMLUnknownElement` and `<image>` implements `HTMLElement`.
* The `NodeIterator.detach` (en-US) method has been changed to do nothing (Firefox bug 823549).
* The `BlobEvent` (en-US) interface has been implemented (Firefox bug 834165).
* The properties `HTMLMediaElement.crossorigin` and `HTMLInputElement.inputmode` has been removed to match the spec in `HTMLMediaElement.crossOrigin` and `HTMLInputElement.inputMode`, respectively (Firefox bug 847370 and Firefox bug 850346).
* WebRTC: the Media Stream API and Peer Connection API are now supported by default.
* Web Components: the `Document.register` method has been implemented (Firefox bug 783129).
* The `ProgressEvent.initProgressEvent()` (en-US) constructor method has been removed. Uses the standard constructor, `ProgressEvent()` to construc and initialize `ProgressEvent` (Firefox bug 843489).
* Manipulated data associated with a `cut`, `copy`, or `paste` event can now be accessed via the `ClipboardEvent.clipboardData` property (Firefox bug 407983).
* The `HTMLTimeElement` (en-US) interface has been implemented (Firefox bug 629801).
* When a `Worker` constructor is passed an invalid URL, it now throws `DOMException` of type `SECURITY_ERR` (Firefox bug 587251).
### CSS

* Support for CSS Flexbox layout (en-US) has been enabled by default (Firefox bug 841876).
* Following a spec change, the initial value for `min-width` and `min-height` has been changed back to `0`, even on flex items (Firefox bug 848539).
* Support for CSS Conditionals (`@supports` and `CSS.supports`) has been enabled by default (Firefox bug 855455).
* Support for `background-clip` and `background-origin` properties in the `background` shorthand has been implemented (Firefox bug 570896).
附加组件和 Mozilla 开发者需要注意的变化
------------------------

* 移除了下面这些方法中的`properties`参数：`nsITreeView.getCellProperties()`, `nsITreeView.getColumnProperties()` and `nsITreeView.getRowProperties()` methods of `nsITreeView`. These methods should now return a string of space-separated property names. (Firefox bug 407956)
* The `inIDOMUtils.getCSSPropertyNames()` method has been implemented and will return all supported CSS property names.
* See here for more changes.
### Firefox Developer Tools

* Font inspector shows which fonts on your computer are applied to the page.
* Visual paint feedback mode shows when and where a page is repainted.
* The dev tools may now be docked to the right side, not just the bottom of the browser.
* Some panes within the dev tools have switched from XUL to HTML. For example, the css rule viewer is now chrome://browser/content/devtools/cssruleview.xhtml, not `cssruleview.xul`. Instead of adding an overlay directly to extend features of these panes, you may add an overlay and script to the outer xul document, to add load listeners and change these html documents.
* The stack trace is now shown as a breadcrumb near the top, and the script listing is now at the left panel of the debugger.
参见
--

* Firefox 22 Aurora Release Notes
* Site Compatibility for Firefox 22
* Add-on Compatibility for Firefox 22
### Older versions

* Firefox 21 for developers
* Firefox 20 for developers
* Firefox 19 for developers
* Firefox 18 for developers
* Firefox 17 for developers (en-US)
* Firefox 16 for developers (en-US)
* Firefox 15 for developers (en-US)
* Firefox 14 for developers
* Firefox 13 for developers (en-US)
* Firefox 12 for developers (en-US)
* Firefox 11 for developers (en-US)
* Firefox 10 for developers (en-US)
* Firefox 9 for developers (en-US)
* Firefox 8 for developers (en-US)
* Firefox 7 for developers (en-US)
* Firefox 6 for developers (en-US)
* Firefox 5 for developers (en-US)
* Firefox 4 for developers (en-US)
* Firefox 3.6 for developers (en-US)
* Firefox 3.5 for developers (en-US)
* Firefox 3 for developers
* Firefox 2 for developers (en-US)
* Firefox 1.5 for developers (en-US)