Firefox 54

4 месяца ago admin 0

Доступен выпуск 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).
  • Элементы <input> типа checkbox и radio с установленным на них -moz-appearance: none; теперь являются незаменяемыми (605985).
  • Исправлена ошибка, из-за которой элемент с display: inline-block, имеющий дочерний элемент типа HTMLInputElement с display:block, имел некорректную базовую линию (1330962).
  • Поддержка стилизованных элементов <option> ранее была удалена из-за проблем с мультипроцессным режимом. Теперь снова можно применять цвета переднего и заднего плана к элементу <option>, используя атрибуты color и background-color (910022).
  • Анимации теперь отсылают событие animationcancel, если анимация завершается преждевременно (1302648).
  • Прозрачные цвета (с нулевым альфа-каналом) всегда сериализовывались в «transparent», что противоречило спецификации (1339394).
  • Проприетарный псевдокласс :-moz-table-border-nonzero больше недоступен веб-содержимому; он доступен лишь внутренним дефолтным таблицам стиля браузера (1341925).
  • Внутреннее содержимое с overflow:auto больше не перекрывает друг друга (1348857).
  • Удалены префиксы у значений isolate, isolate-override и plaintext свойства unicode-bidi property (1333675).

JavaScript:

  • Добавлена поддержка модульных скриптов (<script type=«module»>), скрытая за отключённой по умолчанию настройкой dom.moduleScripts.enabled (1330657).
  • b и B в RegExp с флагами «u» (Unicode) и «i» теперь обрабатывают U+017F (LATIN SMALL LETTER LONG S) и U+212A (KELVIN SIGN) как словарные символы (1338373).
  • Конструктор DataView теперь выбрасывает RangeError, если параметр byteOffset не укладывается в Number.MAX_SAFE_INTEGER (>= 2^53) (1317382).
  • Поведение метода Date.UTC() в случаях, когда передано менее двух аргументов, приведено в соответствие со спецификацией ECMAScript 2017 (1050755).

DOM:

Воркеры:

Звук/видео:

  • Streams API: использование объекта MediaStream в качестве входного параметра для URL.createObjectURL() объявлено устаревшим — в консоли будет выведено предупреждение (1334564). Вместо этого следует использовать HTMLMediaElement.srcObject.
  • Web Audio API: теперь метод AnalyserNode.getFloatFrequencyData() корректно отражает сэмплы тишины в возвращённом буфере со значением —Infinity (1336098).
  • Web Audio API: AudioParam.setValueCurveAtTime() теперь выбрасывает исключение TypeError, если любое из указанных значений не является конечной величиной (1308437).
  • Encrypted MediaExtensions API: строка MediaKeySession.keySystem удалена из спецификации (1335555).
  • Encrypted MediaExtensions API: реализована поддержка кодека VP9 в зашифрованных потоках, использующих Clear Key и Widevine (1338064).
  • Encrypted MediaExtensions API: кодек WebM/VP8 теперь активируется независимо от производительности компьютера.
  • WebRTC: включена поддержка TCP ICE, позволяющая работать в сетях, где блокируется UDP (1176382).

>>> Примечания к выпуску для разработчиков

>>> Подробности


Source: linux.org.ru