Firefox 29 для разработчика
===========================

Firefox 29 был выпущен 29 апреля 2014 года. Список ключевых изменений, предоставленный в данной статье будет полезен не только веб-разработчикам, но и Firefox-, Gecko-разработчикам и разработчикам дополнений.

Хотите помочь документировать Firefox 29? Просмотрите список недостатков, которые надо устранить и приступайте!

Изменения для разработчиков
---------------------------

### Инструменты разработчика

Важные изменения:

* Vastly improved web console - Arrays are shown inline without clicking to bring up in the right inspector, window objects show their url, etc.
* Added the console API to Web Workers (bug 620935). Now you can log messages to the Web Console from Web Workers.
* The Network Monitor tool now shows performance statistics using pie charts (Firefox bug 846601).
* On the Inspector, preview tooltips of CSS transforms are now available (Firefox bug 726427).
* DOM elements seen in the debugger and console can be removed or inspected directly, via the new buttons to the right of the variable listing.
* A CSS source map is now supported by the Style Editor (Firefox bug 926014).
* Autocompletion of CSS properties and values has been added to the Style Editor (Firefox bug 717369).

*Больше деталей и изменений смотрите в блоге Mozilla Hacks.*

### CSS

* CSS variables have been implemented (Firefox bug 773296). Mozilla Hacks article can be found here. They are enabled by default only for non-release builds (on release builds flip the pref `layout.css.variables.enabled` to `true` if you want to play with them).
* Добавлена поддержка `visibility``: collapse` в
 Flexboxes (Firefox bug 783470).
* Свойство `box-sizing` больше не нуждается в префиксе (Firefox bug 243412).
* The `will-change` property, a hint to that something will animate has been added. The preference `layout.css.will-change.enabled` must be switched to `true` to enable it. (Firefox bug 940842)
* Scientific exponential notation, like `3e1` or `10e+0`, is now supported for `<number>` values (Firefox bug 964529).
* Тип изображения `<gradient>` (en-US) теперь поддерживается в `border-image` (en-US) (Firefox bug 709587).
* The `touch-action` property has been implemented. It is not activated by default; the `layout.css.touch_action.enabled` pref controls it. (Firefox bug 795567)
### HTML

* `<input type=color>` и `<input type=number>` доступны по умолчанию.
* Support for the non standard `<pre cols>` has been removed, as well as the layout effect of `<pre wrap>` . Both effects can, and should, be achieved using CSS. (Firefox bug 949879)
### JavaScript

* Реализованы новые методы строк в ECMAScript 6: `String.prototype.codePointAt()` и `String.prototype.fromCodePoint()` (Firefox bug 918879).
* The ECMAScript Internationalization API (ECMA-402) has been implemented and is now enabled by default in Firefox Desktop (Firefox bug 853301):
    + New objects in the new `Intl` object namespace:
        - `Intl.Collator`
        - `Intl.DateTimeFormat`
        - `Intl.NumberFormat`
    + The following methods of `String`, `Number` and `Date` have been updated to include the `locales` and `options` arguments per ECMA-402:
        - `String.prototype.localeCompare()`
        - `Number.prototype.toLocaleString()`
        - `Date.prototype.toLocaleString()`
        - `Date.prototype.toLocaleDateString()`
        - `Date.prototype.toLocaleTimeString()`
* To match the updated ECMAScript6 draft specification, the `Map` (en-US) and `Set` objects now treat `-0` and `+0` as the same when checking for key and value equality.
* `Promise` has been enabled by default (Firefox bug 918806).
* Completed generators now returns an `IteratorResult` object instead of throwing (Firefox bug 958951).
* A malformed JSON string parsed by `JSON.parse()` now yields a more detailed error message containing the line and column number that caused the parsing error. This is useful when debugging large JSON data.
### Интерфейс/APIs/DOM

* A new type of workers, `SharedWorker`, is now available by default (Firefox bug 924089).
* The `URLUtils` interface now supports the `searchParams` property returning a `URLSearchParams` object, allowing to modify the search params of an URL (Firefox bug 887836). The `URLSearchParams` constructor allows easier parsing of query strings.
* The `Worker.onLine` property is now supported, allowing to know the online/offline status in workers (Firefox bug 925437).
* As part of the implementation of Web Components, the `HTMLShadowElement` interface has been implemented behind the `dom.webcomponents.enabled`. Flip it to `true` if you want to use it. (Firefox bug 887538).
* The read-only property `HTMLIFrameElement.sandbox` is no longer a `string` but an `HTMLSettableToken` (Firefox bug 845057).
* On `HTMLCanvasElement.getContext()`, the value `moz-webgl` is no longer supported. Use the standard `webgl` value (Firefox bug 913597).
* The constructor for `ImageData` has been added. This interface can be used in a `Worker`. (Firefox bug 959958)
* The property `location.origin` is now available in workers (Firefox bug 964148).
* The `ValidityState.badInput` property has been implemented (Firefox bug 827161).
* The deprecated `Window.pkcs11` property has been removed; it was returning `null` since Firefox 3.0.14. (Firefox bug 964964)
* The `Node.cloneNode()` and `Document.importNode()` methods take the Boolean `deep` argument. Until now, if omitted, these methods acted as if the value of `deep` was `true`. But this behavior has been changed as per the latest spec, and if omitted, the methods will act as if the value was `false`. (Firefox bug 937461)
* `Window._content` is no longer available to Web content (Firefox bug 946564).
* `URLUtils.port` behavior has been slightly changed: set to `''` will set it to the default port associated with the protocol, and `0` to `0.` (Firefox bug 930450)
* `Document.referrer` is now based on the incumbent script (Firefox bug 887928).
* Gamepad API (en-US) включён по умолчанию (Firefox bug 878828).
### MathML

*Без изменений.*

### SVG

*Без изменений.*

Безопасность
------------

* Реализована экспериментальная директива CSP 1.1 `hash-source`. Чтобы воспользоваться этой функцией, настройка `security.csp.experimentalEnabled` должна быть установлена в положение `true` (Firefox bug 883975).
Изменения для разработчиков дополнений
--------------------------------------

* Совместимость дополнений с Australis - Это существенное изменение темы Firefox, что влияет на большинство расширений, связанных с пользовательским интерфейсом Firefox.

Об изменениях, не касающихся Austrlis, будет объявлено позднее.

Смотрите также
--------------

* Совместимость сайтов с Firefox 29
### Предыдущие версии

* Firefox 28 для разработчиков
* Firefox 27 для разработчиков (en-US)
* Firefox 26 для разработчиков (en-US)
* Firefox 25 для разработчиков (en-US)
* Firefox 24 для разработчиков (en-US)
* Firefox 23 для разработчиков (en-US)
* Firefox 22 для разработчиков (en-US)
* Firefox 21 для разработчиков (en-US)
* Firefox 20 для разработчиков (en-US)
* Firefox 19 для разработчиков (en-US)
* Firefox 18 для разработчиков (en-US)
* Firefox 17 для разработчиков (en-US)
* Firefox 16 для разработчиков (en-US)
* Firefox 15 для разработчиков (en-US)
* Firefox 14 для разработчиков (en-US)
* Firefox 13 для разработчиков (en-US)
* Firefox 12 для разработчиков (en-US)
* Firefox 11 для разработчиков (en-US)
* Firefox 10 для разработчиков (en-US)
* Firefox 9 для разработчиков (en-US)
* Firefox 8 для разработчиков (en-US)
* Firefox 7 для разработчиков (en-US)
* Firefox 6 для разработчиков (en-US)
* Firefox 5 для разработчиков (en-US)
* Firefox 4 для разработчиков (en-US)
* Firefox 3.6 для разработчиков (en-US)
* Firefox 3.5 для разработчиков
* Firefox 3 для разработчиков
* Firefox 2 для разработчиков (en-US)
* Firefox 1.5 для разработчиков (en-US)