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 маски ) все поддерживается и доступны по умолчанию (см Firefox bug 1251161). - Добавлено
caret-color
Свойство (Firefox bug 1063162). - Реализована
place-items
/place-self
/place-content
Shorthands (Firefox bug 1319958 ). - Добавлено
flow-root
значениеdisplay
свойства (Firefox bug 1322191). -moz-tab-size
теперь принимает<length>
значения (Firefox bug 943918), а теперь анимируемый (Firefox bug 1308110).mask-mode
: яркости не работает на градиентных масок (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
значения из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
и другие нативный объект ошибки прототипы , какRangeError.prototype
и т.д. теперь обычные объекты вместо соответствующих объектов Error. (В частности,Object.prototype.toString.call(Error.prototype)
теперь"[object Object]"
вместо"[object Error]"
.) (Firefox bug 1213341).
Мероприятия
- CSS Transitions: The
unsupported templ: event,unsupported templ: eventиunsupported templ: eventсобытия были реализованы (см Firefox bug 1264125 и Firefox bug 1287983). CompositionEvent
Конструктор был реализован (см Firefox bug 1002256).MouseEvent.x
иMouseEvent.y
псевдонимамиMouseEvent.clientX
/MouseEvent.clientY
были реализованы (см Firefox bug 424390).unsupported templ: eventсобытие и соответствующийGlobalEventHandlers.onauxclick
был реализован обработчик (см Firefox bug 1304044).unsupported templ: eventсобытие теперь уволен после перехода отменяется. СмGlobalEventHandlers.ontransitioncancel
для получения более подробной информации и пример (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 ()
Конструктор теперь принимает наUSVString
или последовательностьUSVString
ев в качестве инициализации объект (Firefox bug 1330678).Selection.setBaseAndExtent ()
метод API выбора теперь реализован (см Firefox bug 1321623).- "Fakepath" дополнение
file
типа<вход>
values
была реализована в Gecko, давая его соотношение с другими браузерами (см Firefox bug 1274596). Node.getRootNode ()
была реализована, заменяя устаревшееNode.rootNode
Свойство (Firefox bug 1269155).- Собственные свойства
Plugin
иPluginArray
объектов больше не перечислимы (Firefox bug 1270366). - Названные свойства
MimeTypeArray
объекты больше не перечислимы (Firefox bug 1270364). - API разрешений теперь имеет новое название разрешения доступного -
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
реализуется расширение WebGL (Firefox bug 1250077).WEBGL_debug_renderer_info
расширение WebGL теперь включён по умолчанию (Firefox bug 1336645).
Аудио, видео и медиа
Генеральная
- Начиная с Firefox 53 для Android , декодирование массовой информации обрабатывается вне процесса для повышения производительности на многоядерных системах (Firefox bug 1333323).
элементы медиа
HTMLMediaElement.play ()
Метод, используемый для начала воспроизведения медиа в любом медиа-элемента, теперь возвращаетPromise
, которая выполняется, когда воспроизведение начинается и отклоняется если произошла ошибка (Firefox bug 1244768).
Web Audio API
- Был добавлен
AudioScheduledSourceNode
интерфейс иAudioBufferSourceNode
,ConstantSourceNode
иOscillatorNode
интерфейсы теперь основаны на нем (Firefox bug 1324568).
WebRTC
- В
RTCPeerConnection
методыcreateOffer ()
иcreateAnswer ()
Теперь возвращаетпромис
, который возвращает объект , соответствующий словарьRTCSessionDescriptionInit
вместо возвратаRTCSessionDescription
непосредственно. Существующий код будет продолжать работать, но новый код можно записать более просто . - Аналогичным образом ,
RTCPeerConnection
методыsetLocalDescription ()
иsetRemoteDescription ()
теперь принимают в качестве входных данных объекта , соответствующего словарюRTCSessionDescriptionInit
. Существующий код продолжает работать, но может быть упрощена . RTCPeerConnection.addIceCandidate ()
теперь принимает в качестве входных данных объекта, соответствующуюRTCIceCandidateInit
словарь. Это совместимо с существующим кодом, но позволяет новый код, который будет написано чуть более просто при использовании в сочетании с изменениями перечисленных выше (Firefox bug 1263312).- DTMF поддержка теперь включена по умолчанию , используя
RTCDTMFSender
. См Использование DTMF с WebRTC для получения дополнительной информации о том , как это работает.
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
(по умолчанию)
- 0 -
-
Поддержка следующего протокола переговоров (NPN) была удалена в пользу протокола прикладного уровня переговоров (ALPN) - см Firefox bug 1248198.
-
Large-Allocation
заголовок HTTP теперь доступен по умолчанию, и больше не скрывается за привилегированную (Firefox bug 1331083).
SVG
- Частично реализована
SVGGeometryElement
интерфейс (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:
Усовершенствованные API:
storage.sync
page_action
,browser_action
,password
,tab
Типы контекстов вcontextMenus
webRequest.onBeforeRequest
теперь поддерживаетrequestBody
tabs.insertCSS
теперь поддерживаетcssOrigin
, что позволяет вставлять таблицы стилей пользователя.
модули JavaScript-код
- Асинхронные интерфейсы AddonManager теперь поддерживают
Промис
, а также колбэки (Firefox bug 987512.
Старые версии
- Firefox 52 для разработчиков
- Firefox 51 для разработчиков
- Firefox 50 для разработчиков
- Firefox 49 для разработчиков
- Firefox 48 для разработчиков
- Firefox 47 для разработчиков
- Firefox 46 для разработчиков
- Firefox 45 для разработчиков
- Firefox 44 для разработчиков
- Firefox 43 для разработчиков
- Firefox 42 для разработчиков
- Firefox 41 для разработчиков
- Firefox 40 для разработчиков
- Firefox 39 для разработчиков
- Firefox 38 для разработчиков
- Firefox 37 для разработчиков
- Firefox 36 для разработчиков
- Firefox 35 для разработчиков
- Firefox 34 для разработчиков
- Firefox 33 для разработчиков
- Firefox 32 для разработчиков
- Firefox 31 для разработчиков
- Firefox 30 для разработчиков
- Firefox 29 для разработчиков
- Firefox 28 для разработчиков
- Firefox 27 для разработчиков
- Firefox 26 для разработчиков
- Firefox 25 для разработчиков
- Firefox 24 для разработчиков
- Firefox 23 для разработчиков
- Firefox 22 для разработчиков