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

Firefox 53 был выпущен 19 апреля 2017. В этой статье перечислены основные изменения, которые полезны не только для веб-разработчиков, но и разработчиков Firefox и Gecko, а также разработчикам дополнений.

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

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

* Избегание задержки в прокрутке на подсветке заданных АПЗ (Firefox bug 1312103).
* Добавлена возможность копировать полный путь CSS элемента (Firefox bug 1323700).
* Devtools добавлена поддержка CSS-цвета-4 (Firefox bug 1310681).
* Разметка вид: добавить визуальную подсказку между открывающим и закрывающим тегами сложенного узла (Firefox bug 1323193).
### CSS

#### Новые возможности

* В `mask-*`свойствах обыкновенного письма (см CSS маски (en-US) ) все поддерживается и доступны по умолчанию (см Firefox bug 1251161).
* Добавлено `caret-color` (en-US) Свойство (Firefox bug 1063162).
* Реализована `place-items` / `place-self` (en-US) / `place-content` (en-US) Shorthands (Firefox bug 1319958 ).
* Добавлено `flow-root` значение `display` свойства (Firefox bug 1322191).
* `-moz-tab-size` теперь принимает `<length>` значения (Firefox bug 943918), а теперь анимируемый (Firefox bug 1308110).
* `mask-mode` (en-US): яркости не работает на градиентных масок (Firefox bug 1346265).
* [CSS-сетка] FR Единица в `grid-template-rows` не заполняя окно просмотра (Firefox bug 1346699).
* гибкие элементы не сортируются в соответствии с «порядком», если они отделены друг от друга abspos собрата (Firefox bug 1345873).

#### Другие изменения

* Включить маски longhands по элементам SVG (Firefox bug 1319667).
* [CSS-сетка] Исправлено: `align-self`/ `justify-self:stretch`/ `normal` не работает на `<table>` элементах сетки (Firefox bug 1316051).
* Установленный: `clip-path: circle()` с большой ссылкой окно и процент радиус не оказывают правильно (Firefox bug 1324713.
* При применении `text-transform` (en-US) значения из `uppercase` древнегреческого текста, акцент на дизъюнктивной ETA (rj) больше не удаляется (см Firefox bug 1322989).
* Наличие `contents` значения `display` контролировали через `layout.css.display-contents.enabled` настройку. В Firefox 53 эта настройка была удалена полностью, так что значение всегда будет доступен и больше не могут быть отключены (Firefox bug 1295788).
### JavaScript

* ECMAScript 2015 семантика для `Function.name` свойства были реализованы. Это включает в себя выведенные имена на анонимные функции ( `var foo = function() {}`) (Firefox bug 883377).
* ECMAScript 2015 семантика для закрытия итераторы были реализованы. Это влияет на `for...of`цикл, например (Firefox bug 1147371).
* Шаблон Буквальное предложение Revision , что снимает ограничения избежать последовательностей на помеченных литералах шаблона было реализовано (Firefox bug 1317375).
* Нестандартные Струнные дженерики теперь представьте предупреждение устаревания в консоли. Не используйте их больше, они будут удалены в будущем! (Firefox bug 1319926).
* Статическое `length` свойство `TypedArray` объектов было изменено с 3 до 0 в соответствии с ES2016 (Firefox bug 1317306).
* `SharedArrayBuffer` теперь может быть использован в `DataView` объекты (Firefox bug 1246597).
* В более ранних версиях спецификации, `SharedArrayBuffer` объектов необходимо явно переданы в ходе структурированного клонирования . В новой спецификации они не являются переводными объекты больше , и , следовательно , не должны быть в списке передачи. Новое поведение используется для представления консоли предупреждения только, но теперь будет выдавать ошибку (Firefox bug 1302037).
* `ArrayBuffer` длина теперь ограничена `Number.MAX_SAFE_INTEGER` (> = 2 \*\* 53) (Firefox bug 1255128).
* `Error.prototype` (en-US) и другие нативный объект ошибки прототипы , как `RangeError.prototype` (en-US) и т.д. теперь обычные объекты вместо соответствующих объектов Error. (В частности, `Object.prototype.toString.call(Error.prototype)` теперь `"[object Object]"`вместо `"[object Error]"`.) (Firefox bug 1213341).
### Мероприятия

* CSS Transitions: The `transitionstart`, `transitionrun` и `transitioncancel` события были реализованы (см Firefox bug 1264125 и Firefox bug 1287983).
* `CompositionEvent` (en-US) Конструктор был реализован (см Firefox bug 1002256).
* `MouseEvent.x` (en-US) и `MouseEvent.y` (en-US) псевдонимами `MouseEvent.clientX` / `MouseEvent.clientY` были реализованы (см Firefox bug 424390).
* `auxclick` событие и соответствующий `GlobalEventHandlers.onauxclick` (en-US) был реализован обработчик (см Firefox bug 1304044).
* `transitioncancel` событие теперь уволен после перехода (en-US) отменяется. См `GlobalEventHandlers.ontransitioncancel` (en-US) для получения более подробной информации и пример (Firefox bug 1264125).
### DOM

* `путь` и `поиск` `HTMLHyperLinkElementUtils` свойства ранее возвращено неправильные части в URL. Например, для URL из `http://z.com/x?a=true&b=false`, `pathname` будет возвращаться « `/x?a=true&b=false"` и `search` вернётся„", а не» `/x` «и» `?a=true&b=false"` соответственно. Теперь это было исправлено (Firefox bug 1310483).
* `URLSearchParams ()` (en-US) Конструктор теперь принимает на `USVString` (en-US) или последовательность `USVString` (en-US) ев в качестве инициализации объект (Firefox bug 1330678).
* `Selection.setBaseAndExtent ()` метод API выбора (en-US) теперь реализован (см Firefox bug 1321623).
* "Fakepath" дополнение `file` типа `<вход>` `values` была реализована в Gecko, давая его соотношение с другими браузерами (см Firefox bug 1274596).
* `Node.getRootNode ()` была реализована, заменяя устаревшее `Node.rootNode` (en-US) Свойство (Firefox bug 1269155).
* Собственные свойства `Plugin` (en-US) и `PluginArray` (en-US) объектов больше не перечислимы (Firefox bug 1270366).
* Названные свойства `MimeTypeArray` (en-US) объекты больше не перечислимы (Firefox bug 1270364).
* API разрешений (en-US) теперь имеет новое название разрешения доступного - `persistent-storage`- как он используется при создании `Permissions.query ()` (см Firefox bug 1270038). Это позволяет источнику использовать постоянную форму (т.е. постоянного хранения ) для его хранения, в соответствии с API хранения .
### Рабочие и работники сферы обслуживания

* Network Information API теперь доступен в рабочих (см Firefox bug 1323172).
* События сервера посланных теперь могут быть использованы из рабочих (см Firefox bug 1267903).
* `ExtendableEvent.waitUntil ()` Теперь можно вызвать асинхронно (см Firefox bug 1263304).
### WebGL

* `WEBGL_compressed_texture_astc` (en-US) реализуется расширение WebGL (Firefox bug 1250077).
* `WEBGL_debug_renderer_info` (en-US) расширение WebGL теперь включён по умолчанию (Firefox bug 1336645).
### Аудио, видео и медиа

#### Генеральная

* Начиная с **Firefox 53 для Android** , декодирование массовой информации обрабатывается вне процесса для повышения производительности на многоядерных системах (Firefox bug 1333323).

#### элементы медиа

* `HTMLMediaElement.play ()` Метод, используемый для начала воспроизведения медиа в любом медиа-элемента, теперь возвращает `Promise`, которая выполняется, когда воспроизведение начинается и отклоняется если произошла ошибка (Firefox bug 1244768).

#### Web Audio API

* Был добавлен `AudioScheduledSourceNode` (en-US) интерфейс и `AudioBufferSourceNode` (en-US), `ConstantSourceNode` (en-US) и `OscillatorNode` (en-US) интерфейсы теперь основаны на нем (Firefox bug 1324568).

#### WebRTC

* В `RTCPeerConnection` методы `createOffer ()` (en-US) и `createAnswer ()` (en-US) Теперь возвращает `промис` , который возвращает объект , соответствующий словарь `RTCSessionDescriptionInit` вместо возврата `RTCSessionDescription` (en-US) непосредственно. Существующий код будет продолжать работать, но новый код можно записать более просто (en-US) .
* Аналогичным образом , `RTCPeerConnection` методы `setLocalDescription ()` (en-US) и `setRemoteDescription ()` (en-US) теперь принимают в качестве входных данных объекта , соответствующего словарю `RTCSessionDescriptionInit`. Существующий код продолжает работать, но может быть упрощена (en-US) .
* `RTCPeerConnection.addIceCandidate ()` теперь принимает в качестве входных данных объекта, соответствующую `RTCIceCandidateInit` (en-US) словарь. Это совместимо с существующим кодом, но позволяет новый код, который будет написано чуть более просто при использовании в сочетании с изменениями перечисленных выше (Firefox bug 1263312).
* DTMF (en-US) поддержка теперь включена по умолчанию , используя `RTCDTMFSender` (en-US). См Использование DTMF с WebRTC (en-US) для получения дополнительной информации о том , как это работает.
### HTTP / Networking

* Gecko теперь имеет прив доступный в , `about:config` чтобы позволить пользователям устанавливать их по умолчанию `Referrer-политики` - (Firefox bug 1304623). Возможные значения: `network.http.referer.userControlPolicy`
    + 0 - `no-referrer`
    + 1 - `same-origin`
    + 2 - `strict-origin-when-cross-origin`
    + 3 - `no-referrer-when-downgrade` (по умолчанию)
* Поддержка следующего протокола переговоров (NPN) была удалена в пользу протокола прикладного уровня переговоров (ALPN) - см Firefox bug 1248198.
* `Large-Allocation` (en-US) заголовок HTTP теперь доступен по умолчанию, и больше не скрывается за привилегированную (Firefox bug 1331083).
### SVG

* Частично реализована `SVGGeometryElement` (en-US) интерфейс (Firefox bug 1239100).
Переезды с веб-платформы
------------------------

### HTML / XML

* `dom.details_element.enabled` Прив - которая контролируется включение / отключение `<детали>` и `<резюме>` опорный элемент в Firefox - теперь был удалён из `about:config`. Эти элементы (которые впервые были включены по умолчанию в Firefox 49) больше не могут быть отключены. См Firefox bug 1271549.
### CSS

* Удалён вариант с префиксом `-moz` для псевдо-класса `:dir()` (Firefox bug 1270406).
* `-moz` Приставкой версия `текст-ALIGN-последний` был удалён (Firefox bug 1276808).
* Удалён вариант с префиксом `-moz` для метода `calc()` (Firefox bug 1331296).
### JavaScript

* Нестандартный `ArrayBuffer.slice ()` Метод был удалён (но стандартизированная версия `ArrayBuffer.prototype.slice()` сохраняется, см Firefox bug 1313112).
### API-интерфейсы

* Информация API Wi - Fi , спикер API - менеджер, и Привязывание API и настройки API , были удалены из платформы (см Firefox bug 1313788, Firefox bug 1317853, Firefox bug 1313789 и Firefox bug 1313155 соответственно).
Изменения для дополнения и разработчиков Mozilla
------------------------------------------------

### WebExtensions

Новые API:

* `browsingData` (en-US)
* `identity` (en-US)
* `contextualIdentities` (en-US)

Усовершенствованные API:

* `storage.sync` (en-US)
* `page_action`, `browser_action`, `password`, `tab` Типы контекстов в`contextMenus` (en-US)
* `webRequest.onBeforeRequest` (en-US) теперь поддерживает `requestBody`
* `tabs.insertCSS` (en-US)теперь поддерживает `cssOrigin`, что позволяет вставлять таблицы стилей пользователя.
### модули JavaScript-код

* Асинхронные интерфейсы AddonManager теперь поддерживают `Промис`, а также колбэки (Firefox bug 987512.
Старые версии
-------------

* Firefox 52 для разработчиков (en-US)
* Firefox 51 для разработчиков (en-US)
* Firefox 50 для разработчиков (en-US)
* Firefox 49 для разработчиков (en-US)
* Firefox 48 для разработчиков (en-US)
* Firefox 47 для разработчиков (en-US)
* Firefox 46 для разработчиков (en-US)
* Firefox 45 для разработчиков (en-US)
* Firefox 44 для разработчиков (en-US)
* Firefox 43 для разработчиков
* 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)