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 теперь доступны вне зависимости от быстродействия компьютера.
См. также официальные примечания к выпуску и информацию для разработчиков.