Firefox 46
- Опубликовано:
Firefox 46 — свежая версия передового веб-браузера. Некоторые из интересных новшеств:
CSS, HTML
- Включена по умолчанию поддержка некоторых CSS-свойств с префиксом
-webkit-
, которые теперь трактуются их как псевдонимы соответствующих уже поддерживаемых стандартных свойств, в частности поддерживаются-webkit-box-orient
,@media (-webkit-transform-3d)
,-webkit-filter
, а также DOM-интерфейсWebKitCSSMatrix
как псевдонимDOMMatrix
. Такая номинальная поддержка призвана улучшить совместимость Firefox с сайтами, созданными в расчёте на нестандартные возможности браузеров на основе движка WebKit (в первую очередь Safari). - Включена по умолчанию поддержка CSS-свойств
text-emphasis
,text-emphasis-style
,text-emphasis-color
иtext-emphasis-position
, позволяющих выводить заданный символ определённого цвета рядом с каждым символом текста элемента. Свойства наследуемые, т. е. их значения можно переопределить для дочерних элементов. При этом свойствоtext-emphasis
является стенографическим (shorthand) лишь дляtext-emphasis-style
иtext-emphasis-color
, а свойствоtext-emphasis-position
при необходимости переопределить его значение следует указывать явно — в отдельном объявлении. - Неподдерживаемое значение атрибута
type
элементаUL
теперь трактуется как отсутствие атрибута вместо включения режима десятичной нумерации.
JavaScript, DOM
- Поддержка нового DOM-метода
document.elementsFromPoint()
, позволяющего получить коллекцию элементов, расположенных в точке с заданными пиксельными координатами. - Поддержка флага
u
для регулярных выражений, что позволяет, в частности, вставлять в регулярные выражения Юникод-символы с помощью escape-кодов вида\u{aa}
. У ранее созданных объектовRegExp
есть соответствующее булево свойствоunicode
, доступное только для чтения. - Удалена поддержка метода
clear()
объектовWeakMap
иWeakSet
, упразднённого в более поздних версиях стандарта ES2015 в пользу создания нового объекта вместо очистки существующего. - Включена по умолчанию поддержка программного интерфейса (API) Permissions, призванного дать веб-разработчикам возможность более явного взаимодействия с пользователем при необходимости использования какой-либо функциональности, требующей согласия пользователя. Реализуется методом
query()
объектаPermissions
, содержащегося в свойствеpermissions
глобального объектаwindow.navigator
. В настоящее время поддерживается управление правами применительно к программным интерфейсам Geolocation, Notifications, Push и WebMIDI, которым соответствуют строкиgeolocation
,notifications
,push
иmidi
в качестве значения свойстваname
объекта, передаваемого методуquery()
в качестве аргумента. - Улучшена совместимость с некорректными файлами шрифтов WOFF, более строгая проверка корректности которых начиная с Firefox 44 привела к невозможности использования таких шрифтов на некоторых популярных сайтах (например, Nokia Networks).
- В рамках реализации программного интерфейса WebExtensions добавлена поддержка
chrome.notifications.getAll
,chrome.runtime.sendMessage
,chrome.webRequest.onBeforeRedirect
иchrome.tabs.move
, а также возможности создания нестандартных всплывающих меню, открываемых по нажатию кнопки на панели инструментов. WebExtensions представляет собой новый, более простой механизм создания расширений, аналогичный используемому в браузере Chrome и в долгосрочной перспективе позиционируемый в качестве замены традиционному для Gecko-браузеров подходу на основе XUL. Полноценная поддержка WebExtensions параллельно с включённым по умолчанию многопроцессным режимом (Electrolysis, e10s) ожидается в Firefox 48.
Безопасность
- Повышена безопасность JIT-комплилятора JavaScript благодаря подходу W^X: каждая страница памяти, хранящая JIT-код, теперь не может быть одновременно исполняемой и доступной для изменения.
- В соответствии с RFC 7686, Firefox теперь не отправляет традиционные DNS-запросы для определения IP-адресов доменов в псевдозоне
.onion
. За это отвечает параметрnetwork.dns.blockDotOnion
вabout:config
. - Планировавшееся ранее удаление возможности установки неподписанных дополнений, доступной сейчас путём установки
about:config
-параметра в значениеxpinstall.signatures.required
, отложено до Firefox 47. - Устранён ряд уязвимостей.
Прочее
- Поддержка GTK3 в сборках Firefox для Linux, благодаря чему, в частности, улучшается поддержка экранных режимов с повышенной плотностью точек (High-DPI, Retina), например, при использовании 4K-мониторов.
См. также официальные примечания к выпуску и информацию для разработчиков.