Firefox 61
- Опубликовано:
Firefox 61 — первый и единственный летний выпуск веб-браузера Firefox в 2018-м году.
CSS
- Поддержка шрифтов OpenType с переменными характеристиками (OpenType Font Variations):
-
Включена по умолчанию поддержка CSS-свойств
font-variation-settings
иfont-optical-sizing
:font-variation-settings
предназначено для низкоуровневого управления видом шрифтов;font-optical-sizing
позволяет управлять отрисовкой шрифтов, которая по умолчанию может различаться в зависимости от размера шрифта для повышения разборчивости текста.
-
Свойства
font-weight
,font-stretch
иfont-style
теперь поддерживают дополнительные значения в соответствии со спецификацией CSS Fonts Level 4:- в
font-weight
теперь можно использовать значения с плавающей запятой в диапазоне от 1 до 1000 включительно; - в
font-stretch
теперь поддерживаются процентные значения; - в
font-style
теперь можно указать конкретный угол наклона после ключевого словаoblique
; - те же три свойства теперь можно использовать с указанными значениями в составе правила
@font-face
.
Поддерживается также указание диапазона значений, поддерживаемых конкретным шрифтом. Для этого используются двойные значения:
font-weight: 100 600
;font-stretch: 80% 125%
. - в
-
- CSS-свойства
grid-gap
,grid-row-gap
иgrid-column-gap
теперь дополнительно доступны какgap
,row-gap
иcolumn-gap
. Новые свойства универсальные, касаются не только Grid Layout и описаны в спецификации CSS Box Alignment. - Поддержка процентных значений CSS-свойства
column-gap
из спецификации CSS Multi-Column Layout. Свойство служит для управления зазором между колонками при многоколоночном выводе элементов. - Поддержка значения
content
CSS-свойстваflex-basis
для установки размера элемента по его содержимому. Значениеcontent
трактуется какmax-content
. - Поддержка псевдокласса
:host
, соответствующего нестандартному элементу при использовании псевдокласса внутри Shadow-DOM-поддерева элемента. - Поддержка указания двух значений в CSS-свойстве
overflow
как стенографическом (shorthand) дляoverflow-x
иoverflow-y
. Ранее можно было использовать только одно значение, что было эквивалентно установке одного и того же значения для обоих подсвойств. - Отключена по умолчанию поддержка CSS-правила
@-moz-document
в веб-страницах. Для этого служит параметрlayout.css.moz-document.content.enabled
на странице скрытых настроекabout:config
. Изначально это было сделано в Nightly- и ранних бета-версиях Firefox 59.
JavaScript, DOM
- Для HTML-элементов
A
(SVGAElement
) внутри векторных изображений SVG включена по умолчанию поддержка свойствping
,rel
,referrerPolicy
,relList
,hreflang
,type
иtext
для единообразия с обычными элементами-ссылкамиA
. - Свойство
selectorText
объектовCSSStyleRule
теперь реализовано в полном объёме и доступно не только для чтения, но и для изменения. - Новые методы
trimStart()
иtrimEnd()
объектов-строкString
представляют собой абстрагированные от направления письма псевдонимы существовавших до этогоtrimLeft()
иtrimRight()
. - Метод
replace()
объектов-коллекцийDOMTokenList
— например,element.classList
для манипулирования списком классов элемента — теперь возвращает булево значение, показывающее, произошла ли замена. - Конструктор объекта
AudioContext
теперь принимает необязательный параметрoptions
в виде объектаAudioContextOptions
. Это даёт возможность задать желаемые максимальную задержку (latencyHint
) и/или частоту дискретизации (sampleRate
) для нового контекста. Браузер может не принять во внимание заданную задержку, а реальную задержку можно определить с помощью свойстваbaseLatency
после создания объекта. - Удалена поддержка свойства
lastModifiedDate
интерфейсаFile
в связи с удалением свойства из спецификации. - Удалена поддержка метода
Element.createShadowRoot()
. Вместо него следует использоватьattachShadow()
.
Быстродействие
-
Реализован механизм Retained Display Lists, призванный ускорить отрисовку страниц путём определения того, какие из высокоуровневых элементов (рамки, фоны, текст и проч.) изменились по сравнению с предыдущей отрисовкой. Выигрыш может составлять до 40%. Как и с любым кэшированием, в предварительных версиях Firefox не обошлось без аномалий, например:
- в определённых случаях страницы не перерисовывались после удаления блока с фиксированным позиционированием (
position: fixed
), что нередко соответствует закрытию псевдоокна; - была нарушена работа jQuery-плагина fancyBox для отображения увеличенных изображений, используемого, например, на популярном русскоязычном новостном сайте ИТ-тематики iXBT.com.
К счастью, благодаря своевременным баг-репортам и оперативной реакции разработчиков Firefox ошибки были исправлены и в стабильную версию Firefox 61 не попали.
- в определённых случаях страницы не перерисовывались после удаления блока с фиксированным позиционированием (
- Реализовано распараллеливание синтаксического разбора (парсинга) CSS-кода.
- На страницу скрытых настроек
about:config
добавлен параметрbrowser.startup.blankWindow
, позволяющий включить отображение сразу после запуска браузера полностью белого окна с последующей отрисовкой интерфейса. Позиционируется как мера для повышения субъективной скорости запуска браузера. В стабильном Firefox эта функция по умолчанию отключена, но включена в предварительных сборках.
Безопасность
- Поддержка параметра
SameSite
при установке Cookie-записей. ПараметрSameSite
предписывает браузеру не отправлять Cookie-запись при запросах с сайтов, отличных от установившего Cookie, и призван отчасти защитить от атак типа CSRF. - Более не поддерживается загрузка вставленных в HTML-страницу ресурсов по протоколу FTP (
ftp://…
), т. к. это позволяло обойти предупреждение о межсайтовой аутентификации (XSA). FTP по-прежнему поддерживается при прямом доступе к ресурсу, когда адрес ресурса фигурирует в адресной строке.
См. также официальные примечания к выпуску и информацию для разработчиков.