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.