Firefox 77

Встречаем летний Firefox 77.

  • Поддержка JS-метода replaceAll() объектов String для замены всех вхождений заданной подстроки или подстрок, соответ­ствующих заданному регулярному выражению. Ранее доступный метод replace() при поиске строк заменял только первое вхождение, поэтому для замены всех вхождений приходилось использовать обходные манёвры с последо­вательным вызовом методов split() и join() или замену по регулярному выражению с флагом g с вынужденным пред­варительным экранированием специальных символов регулярных выражений в искомой подстроке. См. также предложение в GitHub-репозитории международного технического комитета Ecma TC39.
  • Значение HTML-атрибута label теперь отображается как текст элемента OPTION выпадающего списка SELECT, если сам элемент OPTION пуст. Соответствующая запись в баг-трекере Mozilla была открыта 20 лет назад.
  • Следующие разрешения (permissions) для расширений теперь можно запросить динамически с помощью программного интерфейса (API) Permissions во время работы расширения вместо статического запроса в момент установки расширения. Их можно указать в параметре optional_permissions манифеста: browsingData (баг 1630417), pkcs11 (баг 1630418), proxy (баг 1548011), sessions (баг 1630414). Попутно реализована поддержка событий permissions.onAdded и permissions.onRemoved.
  • Движок отрисовки WebRender, написанный на языке Rust, теперь включён по умолчанию для всех ноутбуков с видеокартой nVidia и операционной системой Windows 10 при питании от аккумуляторной батареи вне зависимости от разрешения экрана.
  • Улучшена доступность (accessibility):
    • Список приложений в настройках Firefox теперь доступен пользователям программ чтения с экрана.
    • Обновлённый текст в некоторых динамически обновляемых областях (live regions) ранее не отражался в программе чтения с экрана JAWS. Теперь это исправлено.
    • Поля форм для ввода даты и времени теперь содержат подписи для средств доступности (accessibility tools).

См. также официальные примечания к выпуску, информацию для разработчиков и статью на Mozilla Hacks.