Firefox 53 для разработчиков
Firefox 53 был выпущен 19 апреля 2017. В этой статье перечислены основные изменения, которые полезны не только для веб-разработчиков, но и разработчиков Firefox и Gecko, а также разработчикам дополнений.
Изменения для веб-разработчиков
Инструменты разработчика
- Избегание задержки в прокрутке на подсветке заданных АПЗ (баг 1312103).
- Добавлена возможность копировать полный путь CSS элемента (баг 1323700).
- Devtools добавлена поддержка CSS-цвета-4 (баг 1310681).
- Разметка вид: добавить визуальную подсказку между открывающим и закрывающим тегами сложенного узла (баг 1323193).
CSS
Новые возможности
- В
mask-*
свойствах обыкновенного письма (см CSS маски (en-US) ) все поддерживается и доступны по умолчанию (см баг 1251161). - Добавлено
caret-color
(en-US) Свойство (баг 1063162). - Реализована
place-items
/place-self
(en-US) /place-content
(en-US) Shorthands (баг 1319958 ). - Добавлено
flow-root
значениеdisplay
свойства (баг 1322191). -moz-tab-size
теперь принимает<length>
значения (баг 943918), а теперь анимируемый (баг 1308110).mask-mode
(en-US): яркости не работает на градиентных масок (баг 1346265).- [CSS-сетка] FR Единица в
grid-template-rows
не заполняя окно просмотра (баг 1346699). - гибкие элементы не сортируются в соответствии с «порядком», если они отделены друг от друга abspos собрата (баг 1345873).
Другие изменения
- Включить маски longhands по элементам SVG (баг 1319667).
- [CSS-сетка] Исправлено:
align-self
/justify-self:stretch
/normal
не работает на<table>
элементах сетки (баг 1316051). - Установленный:
clip-path: circle()
с большой ссылкой окно и процент радиус не оказывают правильно (баг 1324713. - При применении
text-transform
(en-US) значения изuppercase
древнегреческого текста, акцент на дизъюнктивной ETA (rj) больше не удаляется (см баг 1322989). - Наличие
contents
значенияdisplay
контролировали черезlayout.css.display-contents.enabled
настройку. В Firefox 53 эта настройка была удалена полностью, так что значение всегда будет доступен и больше не могут быть отключены (баг 1295788).
JavaScript
- ECMAScript 2015 семантика для
Function.name
свойства были реализованы. Это включает в себя выведенные имена на анонимные функции (var foo = function() {}
) (баг 883377). - ECMAScript 2015 семантика для закрытия итераторы были реализованы. Это влияет на
for...of
цикл, например (баг 1147371). - Шаблон Буквальное предложение Revision , что снимает ограничения избежать последовательностей на помеченных литералах шаблона было реализовано (баг 1317375).
- Нестандартные Струнные дженерики теперь представьте предупреждение устаревания в консоли. Не используйте их больше, они будут удалены в будущем! (баг 1319926).
- Статическое
length
свойствоTypedArray
объектов было изменено с 3 до 0 в соответствии с ES2016 (баг 1317306). SharedArrayBuffer
теперь может быть использован вDataView
объекты (баг 1246597).- В более ранних версиях спецификации,
SharedArrayBuffer
объектов необходимо явно переданы в ходе структурированного клонирования . В новой спецификации они не являются переводными объекты больше , и , следовательно , не должны быть в списке передачи. Новое поведение используется для представления консоли предупреждения только, но теперь будет выдавать ошибку (баг 1302037). ArrayBuffer
длина теперь ограниченаNumber.MAX_SAFE_INTEGER
(> = 2 ** 53) (баг 1255128).Error.prototype
(en-US) и другие нативный объект ошибки прототипы , какRangeError.prototype
(en-US) и т.д. теперь обычные объекты вместо соответствующих объектов Error. (В частности,Object.prototype.toString.call(Error.prototype)
теперь"[object Object]"
вместо"[object Error]"
.) (баг 1213341).
Мероприятия
- CSS Transitions: The
transitionstart
,transitionrun
иtransitioncancel
события были реализованы (см баг 1264125 и баг 1287983). CompositionEvent
(en-US) Конструктор был реализован (см баг 1002256).MouseEvent.x
(en-US) иMouseEvent.y
(en-US) псевдонимамиMouseEvent.clientX
/MouseEvent.clientY
были реализованы (см баг 424390).auxclick
событие и соответствующийGlobalEventHandlers.onauxclick
(en-US) был реализован обработчик (см баг 1304044).transitioncancel
событие теперь уволен после перехода (en-US) отменяется. СмGlobalEventHandlers.ontransitioncancel
(en-US) для получения более подробной информации и пример (баг 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"
соответственно. Теперь это было исправлено (баг 1310483).URLSearchParams ()
(en-US) Конструктор теперь принимает наUSVString
или последовательностьUSVString
ев в качестве инициализации объект (баг 1330678).Selection.setBaseAndExtent ()
метод API выбора (en-US) теперь реализован (см баг 1321623).- "Fakepath" дополнение
file
типа<вход>
values
была реализована в Gecko, давая его соотношение с другими браузерами (см баг 1274596). Node.getRootNode ()
была реализована, заменяя устаревшееNode.rootNode
(en-US) Свойство (баг 1269155).- Собственные свойства
Plugin
(en-US) иPluginArray
(en-US) объектов больше не перечислимы (баг 1270366). - Названные свойства
MimeTypeArray
(en-US) объекты больше не перечислимы (баг 1270364). - API разрешений (en-US) теперь имеет новое название разрешения доступного -
persistent-storage
- как он используется при созданииPermissions.query ()
(см баг 1270038). Это позволяет источнику использовать постоянную форму (т.е. постоянного хранения ) для его хранения, в соответствии с API хранения .
Рабочие и работники сферы обслуживания
- Network Information API теперь доступен в рабочих (см баг 1323172).
- События сервера посланных теперь могут быть использованы из рабочих (см баг 1267903).
ExtendableEvent.waitUntil ()
Теперь можно вызвать асинхронно (см баг 1263304).
WebGL
WEBGL_compressed_texture_astc
(en-US) реализуется расширение WebGL (баг 1250077).WEBGL_debug_renderer_info
(en-US) расширение WebGL теперь включён по умолчанию (баг 1336645).
Аудио, видео и медиа
Генеральная
- Начиная с Firefox 53 для Android , декодирование массовой информации обрабатывается вне процесса для повышения производительности на многоядерных системах (баг 1333323).
элементы медиа
HTMLMediaElement.play ()
Метод, используемый для начала воспроизведения медиа в любом медиа-элемента, теперь возвращаетPromise
, которая выполняется, когда воспроизведение начинается и отклоняется если произошла ошибка (баг 1244768).
Web Audio API
- Был добавлен
AudioScheduledSourceNode
(en-US) интерфейс иAudioBufferSourceNode
(en-US),ConstantSourceNode
(en-US) иOscillatorNode
(en-US) интерфейсы теперь основаны на нем (баг 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) словарь. Это совместимо с существующим кодом, но позволяет новый код, который будет написано чуть более просто при использовании в сочетании с изменениями перечисленных выше (баг 1263312).- DTMF (en-US) поддержка теперь включена по умолчанию , используя
RTCDTMFSender
(en-US). См Использование DTMF с WebRTC (en-US) для получения дополнительной информации о том , как это работает.
HTTP / Networking
- Gecko теперь имеет прив доступный в ,
about:config
чтобы позволить пользователям устанавливать их по умолчаниюReferrer-политики
- (баг 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) - см баг 1248198.
Large-Allocation
(en-US) заголовок HTTP теперь доступен по умолчанию, и больше не скрывается за привилегированную (баг 1331083).
SVG
- Частично реализована
SVGGeometryElement
(en-US) интерфейс (баг 1239100).
Переезды с веб-платформы
HTML / XML
dom.details_element.enabled
Прив - которая контролируется включение / отключение<детали>
и<резюме>
опорный элемент в Firefox - теперь был удалён изabout:config
. Эти элементы (которые впервые были включены по умолчанию в Firefox 49) больше не могут быть отключены. См баг 1271549.
CSS
- Удалён вариант с префиксом
-moz
для псевдо-класса:dir()
(баг 1270406). -moz
Приставкой версиятекст-ALIGN-последний
был удалён (баг 1276808).- Удалён вариант с префиксом
-moz
для методаcalc()
(баг 1331296).
JavaScript
- Нестандартный
ArrayBuffer.slice ()
Метод был удалён (но стандартизированная версияArrayBuffer.prototype.slice()
сохраняется, см баг 1313112).
API-интерфейсы
- Информация API Wi - Fi , спикер API - менеджер, и Привязывание API и настройки API , были удалены из платформы (см баг 1313788, баг 1317853, баг 1313789 и баг 1313155 соответственно).
Изменения для дополнения и разработчиков Mozilla
WebExtensions
Новые API:
Усовершенствованные 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 теперь поддерживают
Промис
, а также колбэки (баг 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)