Firefox 54
- Опубликовано:
Встречаем летний выпуск веб-браузера Firefox.
CSS
- Поддержка геометрических фигур (окружность, эллипс, многоугольник) в качестве масок, реализуемых свойством
clip-path
. - Реализация свойств
align-items
/align-self
иjustify-items
/justify-self
в отношении определения статического положения абсолютно позиционированных дочерних элементов Flex- и Grid-контейнеров приведена в соответствие с текущими спецификациями CSS Flexbox и CSS Alignment. - Исправлено неправильное положение нижней (базовой) линии шрифта элементов
INPUT
сdisplay: block
внутри элементов сdisplay: inline-block
. - Восстановлено ранее временно отключённое применение
color
иbackground-color
к элементамOPTION
в многопроцессном режиме Firefox (e10s). В Linux пока по-прежнему отключено ввиду проблем с некоторыми GTK-темами. - Исправлена ошибка, из-за которой полностью прозрачные цвета (с нулевым значением альфа-составляющей) в некоторых случаях трактовались идентично ключевому слову
transparent
. В результате значения CSS-свойств, получаемые с помощью свойстваstyle
элемента и методаwindow.getComputedStyle()
, не соответствовали исходному CSS-коду. Теперь реализация приведена в соответствие со спецификацией и поведением других браузеров. - Удалена поддержка снабжённых префиксом
-moz-
версий значенийisolate
,isolate-override
иplaintext
свойстваunicode-bidi
.
JavaScript, DOM
- При прерывании CSS-анимаций теперь возникает событие
animationcancel
. - Метод
Date.UTC()
при вызове менее чем с двумя аргументами теперь возвращает значение NaN в соответствии со спецификацией ECMAScript 2017. МетодDate.UTC()
создаёт объектDate
на основе компонентов всеобщего скоординированного времени UTC. - Поддержка метода
toJSON()
объектаURL
. Метод возвращает полный URL-адрес как строку (аналогично свойствуhref
) и используется методом JSON.stringify() для генерации строкового представления объекта. - Время возникновения события, доступное с помощью свойства timeStamp объекта
Event
, теперь представлено значением повышенной точности DOMHighResTimeStamp вместо обычного DOMTimeStamp.
WebExtensions API
- Поддержка переопределения страницы новой вкладки.
- Расширения теперь могут задавать собственные обработчики протоколов: например,
irc://
. - В расширениях теперь доступен нестандартный метод drawWindow() объекта
CanvasRenderingContext2D
, позволяющий осуществлять видеозахват отображаемой веб-страницы.
Многопроцессность
Архитектура Firefox теперь полностью многопроцессная: поддерживается использование произвольного количества контент-процессов, отвечающих за обработку отображаемых в браузере документов.
Это помогает эффективно использовать ресурсы многоядерных процессоров и повышает стабильность, устраняя риск аварийного завершения работы (падения) всего браузера при падении отдельного контент-процесса. В перспективе благодаря обработке веб-документов в режиме «песочницы» (sandboxing) также повысится безопасность.
Во избежание излишнего расхода памяти новый контент-процесс не создаётся для каждой новой вкладки, в отличие, например, от Chrome. Вместо этого максимальное количество контент-процессов ограничено и по умолчанию равно 4. Изменить это значение можно с помощью параметра dom.ipc.processCount
на странице скрытых настроек, доступной по псевдо-URL-адресу about:config
.
Прочее
- Неполные URL-адреса, содержащие только протокол, теперь считаются некорректными, например, в конструкторе JS-объекта
URL
и в значении HTML-элементаINPUT
типаurl
. - Поддержка видеокодека VP9 в зашифрованных потоках с использованием незашифрованного ключа Clear Key и модуля Widevine. VP9 позицинируется как открытый аналог проприетарного H.265.
- Расширения MSE при использовании в сочетании с видео в формате WebM/VP8 теперь доступны вне зависимости от быстродействия компьютера.
См. также официальные примечания к выпуску и информацию для разработчиков.