Firefox 54

good-penguin.png

Доступен выпуск Firefox 54.

  • Отныне Firefox использует несколько процессов при обработке веб-страниц, что позволяет ускорить работу (нагрузка разносится на разные ядра процессора), повысить стабильность (падение вкладки не закроет остальные вкладки) и уменьшить фрагментацию памяти при длительной работе. Многопроцессный режим для веб-содержимого автоматически отключается при обнаружении несовместимых дополнений (за это отвечает настройка extensions.e10sMultiBlocksEnabling). По умолчанию число процессов ограничивается четырьмя (в отличие от подхода Chromium, где выделяется отдельный процесс для каждой вкладки), впрочем, это значение можно изменять с помощью настройки dom.ipc.processCount.
  • Задействована изоляция для ограничения доступа процессов браузера к системным вызовам и файловой системе. На платформе Linux это реализовано с помощью Seccomp-bpf, пользовательского пространства имён и chroot. В Windows применяются библиотеки sandboxbroker и sandboxtarget, разработанные в рамках проекта Chromium.
  • Сведения о загрузках в панели загрузок стали отображаться в более понятном и подробном виде.
  • В меню закладок добавлена папка с закладками, созданными на мобильных устройствах.
  • Включена поддержка объёмного звука (5.1) в Windows, macOS и Linux (1334508, 1321502, 1323659).
  • Удалена поддержка конвейерной обработки HTTP. Усилия, ранее тратившиеся на поддержку конвейерной обработки и решение проблем с её производительностью, целесообразнее пустить на работу над HTTP/2. Все настройки, начинающиеся с «network.http.pipelining», отныне игнорируются (1340655).
  • Добавлено системное дополнение, позволяющее сделать скриншот выделенной или видимой области страницы, а также всей страницы целиком. Скриншоты автоматически загружаются на screenshots.firefox.com, где пользователь может установить срок хранения изображения, получить на него ссылку, либо удалить. Следует учитывать, что дополнение посылает на свой сервер различную информацию (в т. ч. уникальный идентификатор пользователя) ещё до создания скриншота, уже при выборе области (впрочем, информация перестаёт посылаться, если отключить datareporting.healthreport.uploadEnabled). Для включения встроенного скриншотера необходимо установить настройке extensions.screenshots.system-disabled значение «false».
  • Добавлена бирманская (my) локализация.
  • Исправлены различные уязвимости.

Инструменты разработчика:

  • В мониторинг сетевой активности добавлена сводка с количеством в действительности переданных данных (1168376).
  • Для HTTP-заголовков добавлены ссылки на документацию (1320233).
  • В режиме адаптивного дизайна теперь можно создавать собственные устройства (для тестирования сайтов с заданным разрешением и прочими параметрами устройства).

CSS:

  • clip-path теперь поддерживает базовые контуры (1247229).
  • В соответствии со спецификациями CSS Flexbox и CSS Alignment обновлено взаимодействие между свойствами align-items и align-self, а также между justify-items и justify-self (1340309).
  • Элементы типа checkbox и radio с установленным на них -moz-appearance: none; теперь являются незаменяемыми (605985).
  • Исправлена ошибка, из-за которой элемент с display: inline-block, имеющий дочерний элемент типа HTMLInputElement с display:block, имел некорректную базовую линию (1330962).
  • Поддержка стилизованных элементов
  • Анимации теперь отсылают событие animationcancel, если анимация завершается преждевременно (1302648).
  • Прозрачные цвета (с нулевым альфа-каналом) всегда сериализовывались в «transparent», что противоречило спецификации (1339394).
  • Проприетарный псевдокласс :-moz-table-border-nonzero больше недоступен веб-содержимому; он доступен лишь внутренним дефолтным таблицам стиля браузера (1341925).
  • Внутреннее содержимое с overflow:auto больше не перекрывает друг друга (1348857).
  • Удалены префиксы у значений isolate, isolate-override и plaintext свойства unicode-bidi property (1333675).

JavaScript:

  • Добавлена поддержка модульных скриптов (