Firefox 92

Встречаем осеннюю версию свободного веб-браузера Firefox.

CSS

  • Поддержка ключевых слов avoid-page и avoid-column в значениях свойства break-inside. Свойство break-inside управляет разрывом страницы, колонки или региона внутри сгене­ри­ро­ванного блока (box). Значение avoid-page предот­вращает разрыв страницы внутри основного блока (principal box), avoid-column — разрыв колонки.
  • Поддержка синтаксиса с двумя значениями вида ex-height 0.5 в свойстве font-size-adjust. Свойство font-size-adjust задаёт размер строчных букв относительно текущего размера шрифта. Синтаксис с двумя значениями позволяет помимо числового размера указать способ вычисления размера шрифта строчных букв.
  • Поддержка дескриптора size-adjust в правилах @font-face. Дескриптор size-adjust указывается в процентах и задаёт масштабный коэффициент для символов и связанных со шрифтом метрик. Функцио­нально похож на свойство font-size-adjust и позволяет улучшить внешний вид текста при сочетании разных шрифтов.
  • Поддержка свойства accent-color, задающего цвет так называемого акцента (accent) элемента. Такой цвет представляет собой цвет, контрастирующий с фоновым цветом (background) и цветом символов (foreground). Например, применительно к галке (checkbox) это фоновый цвет установленной (checked) галки.
  • Поддержка ключевого слова system-ui как значения свойства font-family. Значение system-ui соотве­тствует шрифту, исполь­зуемому по умолчанию в пользо­ва­тельском интер­фейсе платформы.

JavaScript, DOM

  • Поддержка метода Object.hasOwn(), позволяющего проверить, было ли свойство задано для объекта или унаследовано. Если свойство унаследовано или не существует, метод возвращает false.
  • Поддержка статического свойства disabledFeatures для нестандартных элементов (custom elements). Если у исполь­зуемого для элемента класса есть статическое свойство disabledFeatures, возвращающее строку shadow, вызов метода Element.attachShadow() приведёт к генерации DOMException-исключения NotSupportedError.
  • Поддержка программного интерфейса (API) Imperative Slotting (HTMLSlotElement), являющегося частью Shadow DOM API. Интер­фейс даёт доступ к имени (name) элемента SLOT и привязанным к нему узлам.
  • Поддержка отслеживания изменения выделения текста в элементах INPUT и TEXTAREA с помощью обработки событий selectionchange. Событие возникает как при изменении выделения, так и при изменении положения каретки.
  • Доступ к устройствам вывода звука, например, колонкам и наушникам, теперь защищён политикой функцио­наль­ности (feature policy) speaker-selection. При запрещённом доступе:

    • MediaDevices.enumerateDevices() не возвращает список устройств вывода звука;
    • MediaDevices.selectAudioOutput() не отображает всплывающее окно выбора устройства вывода звука и отклоняет (reject) promise, генерируя ошибку NotAllowedError;
    • HTMLMediaElement.setSinkId() генерирует ошибку NotAllowedError при вызове для какого-либо устройства вывода звука.
  • Расширения теперь могут привязывать скачанные файлы к конкретным хранилищам cookie, например, в изоли­ро­ванных с помощью контейнеров вкладках. Для этого служит параметр cookieStoreId при использовании метода downloads.download и типов downloads.DownloadQuery и downloads.DownloadItem. Поддержка этой возможности в типах downloads.DownloadQuery и downloads.DownloadItem позволяет использовать её в методах downloads.search и downloads.erase.

WebRender для всех

В Firefox для Windows включён по умолчанию движок отрисовки WebRender, написанный на языке Rust и исполь­зующий видео­карту для выполнения ресурсо­ёмких графических операций. Таким образом, WebRender теперь включён для всех пользователей Firefox.

Параметр gfx.webrender.force-disabled, доступный на странице скрытых настроек about:config и позво­ляющий пере­ключиться на прежний движок отрисовки, пере­именован в gfx.webrender.force-legacy-layers, но в сле­дующей версии — Firefox 93 — планируется его удалить.

Вместе с тем обнаружено, что в Linux при исполь­зовании видео­карт nVidia частота кадров в окнах Firefox, содержащих анимации, снижена пропор­цио­нально количеству таких окон. Кроме того, на некоторых веб-страницах не работает суб­пик­сельное сглаживание текста — например, на страницах документации языка програм­мирования Rust.

Быстро­действие

  • Продолжено улучшение управления памятью при исполнении скриптов JavaScript с целью повышения быстро­действия и снижения объёма потребляемой памяти.
  • Быстро­действие Firefox при работе с программами чтения с экрана (screen reader) и другими средствами доступности (accessibility tools) больше существенно не страдает, если почтовый клиент Mozilla Thunderbird был установлен или обновлён после Firefox.
  • Открытое во вкладке alert-окно больше не снижает быстро­действие других вкладок, использующих тот же программный процесс.

macOS

  • Включена поддержка изображений, содержащих цветовые профили ICC v4.
  • Программа чтения с экрана VoiceOver теперь правильно сообщает о кнопках и ссылках, помеченных как развёрнутые (expanded) с помощью атрибута aria-expanded.

См. также