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

Установить Firefox Developer Edition Firefox 43 был выпущен 15 декабря 2015 года. В этой статье перечислены ключевые изменения, которые полезны не только для веб-разработчиков, но и для разработчиков Firefox и Gecko, а также для разработчиков приложений.

Важные изменения для Веб Разработчиков
--------------------------------------

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

Главное:

* Просмотр логов сервера в Консоли Веб (en-US)
* Быстрый поиск правила переопределяющего объявление CSS
* Новый пункт в контекстном меню Инспектора : "Use in Console"
* "Strict" опция для фильтрации в Rules view
* Сообщения в панели Сеть, в Консоли теперь ссылаются на Сетевой Монитор (en-US)
* В Инспекторе при обзоре разметки можно увидеть индикатор указывающий псевдоклассы у соответствующих элементов
* Новая боковая панель в WebIDE

И как обычно исправлены обнаруженные баги в инструментах разработчика в версиях Firefox 42 и Firefox 43.

### CSS

* Удалён префикс CSS-свойства `hyphens` (Firefox bug 953408).
* CCS свойство `font` теперь поддерживает указание `font-stretch` (en-US) Firefox bug 1057680).
* Псевдокласс `:fullscreen` теперь выбирает весь стек элементов с дисплея в полноэкранном режиме, а не только элементы высшего уровня (Firefox bug 1199522).
* Устаревшие свойства SVG `writing-mode`, `lr`, `lr-tb`, `rl`, `tb`, and `tb-rl`, добавлены в CSS как алиасы стандартных CSS-свойств (Firefox bug 1205787).
### HTML

* Для тега `<img>` с изображением формата ICO содержащего несколько кадров (анимированного), разрешение изображения будет равным разрешению самого большого кадра, а не самого малого Firefox bug 1201796.
* Значение области просмотра документа (viewport) (определённого с помощью тега `<meta name="viewport>`) можно динамически изменять с помощью JavaScript (Firefox bug 976616).
### JavaScript

#### Новые API

* Новые методы ES2016 `Array.prototype.includes()` и `TypedArray.prototype.includes()` (en-US) доступны по умолчанию (Firefox bug 1070767).

#### Изменения связанные с объектом `arguments`

* Более полное соответствие спецификации ES2015, стрелочные функции больше не содержат свой собственный встроенный объект `arguments`. Объект `arguments` теперь прикреплён лексически (наследуется от внешней функции). В большинстве случаев, остаточные параметры лучшая альтернатива `(...args) => args[i]`, смотри Firefox bug 889158.
* Объект arguments теперь разрешается использовать вместе с остаточными параметрами (Firefox bug 1133298).
* Теперь, объект map `arguments` в нестрогих функциях доступен только если функция не содержит другие остаточные параметры, или параметры по умолчанию илиdestructured parameters (Firefox bug 1175394).
### Interfaces/APIs/DOM

#### DOM & HTML DOM

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

#### IndexedDB

* Добавлена сортировка с учётом локали, которая позволяет создавать индексы учитывающие локаль. Эти индексы потом могут быть использованы чтобы отсортировать данные с учётом правил локали. (Firefox bug 871846). Это не стандартная функция и доступна только в Firefox.

#### Service Workers

* Согласно спецификации, если `ExtendableEvent.waitUntil()` был вызван вне обработчика `ExtendableEvent` (en-US), Firefox выбросит `InvalidStateError`; также несколько подряд идущих вызовов `waitUntil()` теперь будут помещены в стек, и результирующие промисы будут добавлены в extend lifetime promises (Firefox bug 1180274).
* Реализованы методы `PushMessageData` (en-US) (Firefox bug 1149195).

#### WebRTC

* Метод `HTMLCanvasElement.captureStream()` активирован в Firefox по умолчанию (Firefox bug 1177276).

#### Разное

* Battery Status API (en-US) теперь использует новый синтаксис промисов для `Navigator.getBattery()`, так как это описано в последней версии спецификации (Firefox bug 1050749).
* Заголовок `User-Agent` более не в списке forbidden header names и теперь может быть установлен в объект Fetch `Headers` (en-US), через XHR `XMLHttpRequest.setRequestHeader()`,… (Firefox bug 1188932).
* Конструктор `MediaRecorder.MediaRecorder()` теперь принимает дополнительно необязательный параметр типа словарь (dictionary), который позволяет вам устанавливать произвольный битрейт для записываемого аудио/видео (Firefox bug 1161276).
* Реализован интерфейс `PerformanceObserver` (en-US), из Performance Timeline API (Firefox bug 1165796).
* Добавлены дополнительно два интерфейса в Frame Timing API, `PerformanceRenderTiming` и `PerformanceCompositeTiming` (Firefox bug 1191178).
* Реализована современная версия Screen Orientation API (en-US): доступны беспрефиксные интерфейсы `Screen.orientation` (en-US) и `ScreenOrientation` (en-US) (Firefox bug 1131470). Не стандартные `Screen.mozOrientation`, `Screen.onmozorientationchange`, `Screen.mozLockOrientation()`, и `Screen.mozUnlockOrientation()` будут удалены в будущем.
* В Линукс, как и в Windows, `Event.timeStamp` теперь возвращает {domxref("DOMHighResTimeStamp")}} (Firefox bug 1026803).
* Экспериментальная поддержка `Selection` (en-US) событий `selectionchange` и `selectstart`, а также добавлены `Document.onselectionchange` (en-US) и `GlobalEventHandlers.onselectstart` (en-US) свойства для обработчиков событий (Firefox bug 571294). Событие `selectionchange` теперь возникает на `Document` если связано с объектом `Selection`, или в особом случае `HTMLInputElement` (en-US) или `HTMLTextAreaElement` (en-US) (Firefox bug 1196479). Это свойство контролируется с помощью настройки `dom.select_events.enabled`, которое по умолчанию имеет значение `false`, за исключением Firefox Nightly.
* Поддержка `MouseEvent.offsetX` и `MouseEvent.offsetY` (en-US) доступна по умолчанию в Android версии Firefox и Firefox OS (Firefox bug 1204841).
* Удалён метод `HTMLCanvasElement.mozFetchAsStream()` (Firefox bug 1206030).
* Конструктор `Request()` (en-US) а также `fetch()` (en-US) теперь выбросит исключение `TypeError` если будет использовано в URL которое содержит параметры с именами username и password (Firefox bug 1195820).
### MathML

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

### SVG

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

### Audio/Video

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

HTTP
----

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

Networking
----------

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

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

* Доступ к Web Storage (i.e. `localStorage` и `sessionStorage`) из других IFrame-мов запрещён если у пользователя заблокированы куки из сторонних сервисов (других веб-сайтов) (Firefox bug 536509).
* Белый список удалён из Nightly и Aurora/Dev Edition браузеров (Firefox bug 1201023). Также запланировано удаление из Beta и Release версий в следующей версии (Firefox 44).
* Реализована целостность ресурсов для `<script>` и `<link>` которые ведут к файлам стилей (Firefox bug 992096).
Изменения для разработчиков дополнений и разработчиков Mozilla
--------------------------------------------------------------

### Interfaces

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

### XUL

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

### JavaScript code modules

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

### XPCOM

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

### Other

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

Старые версии
-------------

* Firefox 42 для разработчиков (en-US)
* Firefox 41 для разработчиков (en-US)
* Firefox 40 для разработчиков (en-US)
* Firefox 39 для разработчиков (en-US)
* Firefox 38 для разработчиков (en-US)
* Firefox 37 для разработчиков (en-US)
* Firefox 36 для разработчиков (en-US)
* Firefox 35 для разработчиков (en-US)
* Firefox 34 для разработчиков (en-US)
* Firefox 33 для разработчиков
* Firefox 32 для разработчиков
* Firefox 31 для разработчиков
* Firefox 30 для разработчиков (en-US)
* 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)