Firefox 93

Firefox 93 — свежая версия свободного веб-браузера.

HTML, CSS

  • Поддержка поль­зова­тель­ского интер­фейса для заполнения полей форм INPUT типа datetime-local, содержащих одно­временно дату и время.
  • Поддержка ARIA-роли meter. Такие элементы отображают значение в определённом диапазоне, например, оставшийся заряд аккумуляторной батареи.
  • Поддержка значений pixelated и smooth CSS-свойства image-rendering, управляющего алгоритмом масштаби­рования изображений. Значение pixelated на данный момент приводит в Firefox к тому же результату, что crisp-edges.
  • Поддержка ключевого слова small-caps в значениях CSS-свойства font-synthesis. Свойство управляет тем, какие отсутствующие в шрифтовой гарнитуре начертания может синтезировать браузер — полу­жирное (weight), курсив (style) или капитель (малые прописные буквы) (small-caps). Значение свойства по умолчанию — weight style, т. е. по умолчанию браузер может синтезировать только полу­жирное начертание и курсив.

JavaScript

  • Поддержка блоков статической инициа­лизации для более гибкой инициа­лизации статических свойств классов. Статические свойства можно вызывать только у самого класса, но не у объектов-экземпляров. Блоки статической инициа­лизации позволяют генерировать значения путём исполнения кода, благодаря чему возможно, например, использовать конструкции try...catch или присвоить одно значение разным своствам класса.
  • Поддержка ключевого слова device-pixel-content-box в методе ResizeObserver.Observe(). Ключевое слово указывается как значение свойства box параметра options, передаваемого методу Observe() в качестве второго аргумента. Свойство box задаёт, размер какой именно области элемента следует отслеживать. Значение device-pixel-content-box соответ­ствует заданному в CSS размеру области контента элемента в пикселах устройства (device pixels) до при­менения CSS-транс­формаций к элементу или его роди­тельским элементам.
  • Поддержка параметров imageOrientation и premultiplyAlpha, которые можно указать как свойства объекта options, пере­даваемом необяза­тельным шестым параметром методу createImageBitmap(). Параметр imageOrientation позволяет отразить изображение по вертикали с помощью значения flipY. Параметр premultiplyAlpha управляет тем, следует ли заранее перемножить (premultiply) цветовые каналы изображения и канал полу­проз­рач­ности (альфа-канал).
  • Поддержка метода Intl.supportedValuesOf() из Intl Enumeration API, позволяющего перебирать значения, соответствующие поддер­живаемым реализацией возможностям. Это даёт возможность, например, скачать скриптовую polyfill-реализацию лишь для функцио­нальности, соответ­ствующей значениям, отсутст­вующим среди возвра­щённых методом значений.
  • Поддержка свойства ElementInternals.shadowRoot и метода HTMLElement.attachInternals(). Свойство ElementInternals.shadowRoot доступно только для чтения и возвращает объект ShadowRoot элемента. Метод HTMLElement.attachInternals() возвращает объект ElementInternals и позволяет нестандартному (custom) элементу быть полем формы. Интер­фейс ElementInternals позволяет работать с такими элементами так же, как с любыми стандартными полями HTML-форм, а также предоставляет доступ к объектной модели доступности (Accessibility Object Model).
  • Поддержка глобальной функции reportError(), позволяющей скриптам выводить сообщения об ошибках в консоль или передавать их в глобальные обработчики событий, эмулируя непере­хваченное (uncaught) исключение.
  • Поддержка глобального свойства onsecuritypolicyviolation для назначения обработчиков событий securitypolicyviolation, возникающих при нарушении политики безопасности контента (Content Security Policy, CSP).
  • Поддержка свойства onslotchange для назначения обработчиков событий применительно к GlobalEventHandlers и ShadowRoot. Можно использовать для назначения обработчиков событий slotchange, возникающих для элементов SLOT при изменении содержащихся в элементе узлов.
  • Метод KeyboardEvent.initKeyEvent() теперь выключен по умолчанию, за что отвечает параметр dom.keyboardevent.init_key_event.enabled на странице скрытых настроек about:config. В даль­нейшем поддержку планируется удалить полностью. Метод был удалён из специ­фикации DOM и не под­дер­живается в других браузерах. Вместо него следует использовать конструктор KeyboardEvent().
  • В расширениях боковые панели (sidebars) теперь включаются в массив, возвращаемый методом extension.getViews(), если указан иденти­фикатор окна windowId.

Безо­пасность

  • Поддержка алгоритма SHA-256 при HTTP-аутенти­фикации. SHA-256 обеспечивает более высокую безопасность при аутенти­фикации по сравнению с ранее доступным алгоритмом MD5.
  • Теперь блокируется загрузка файлов через незащи­щённые соединения по ссылкам со страниц, открытых по защищённому протоколу HTTPS. Это призвано защитить от загрузки потен­циально опасных файлов. Кроме того, загрузки, иниции­рованные из фреймов с атрибутом sandbox, но без атрибута allow-downloads, теперь авто­мати­чески подавляются без участия пользователя.
  • Улучшенный механизм механизм подстановки скриптов-заглушек SmartBlock 3.0 для повышенной совместимости с сайтами при блокировке отслежи­вающих скриптов без нарушения основной функцио­нальности сайта.
  • Защита от отсле­живания по адресу ссылающейся страницы (referrer) в режиме строгой защиты от отсле­живания («Настройки» → «Приватность и защита» → «Улучшенная защита от отсле­живания» → «Строгая») и в приватных окнах. В таких режимах Firefox теперь игнорирует директивы конкретного сайта для включения менее строгого ограничения, такие как no-referrer-when-downgrade, origin-when-cross-origin и unsafe-url.

Прочее

  • Включена по умолчанию поддержка формата изобра­жений AVIF. HTTP-заголовок запроса Accept по умолчанию для изображений параллельно изменён на image/avif,image/webp,*/*. Формат AVIF основан на видео­формате AV1, свободном от лицен­зионных отчислений и по эффек­тивности сжатия аналогичном несвободному HEVC (H.265). AVIF под­дер­живает полу­проз­рачность и другие продвинутые возможности. AVIF-файлы в среднем вдвое меньше JPEG-файлов при аналогичном качестве. Формат поддерживает анимиро­ванные изображения, но в Firefox эта возможность пока не реализована. Образцы AVIF-изображений: от Netflix, от Microsoft.
  • Встроенный модуль просмотра PDF-документов теперь под­дер­живает заполнение форм XFA (XML Forms Architecture), исполь­зуемых банками и государ­ствен­ными учреж­дениями. При этом начиная со спецификации PDF 2.0 формы XFA помечены как нереко­мендуемая (deprecated) функциональность.
  • В Windows-версии Firefox при исчерпании свободной опера­тивной памяти фоновые вкладки теперь выгружаются из памяти исходя из пос­леднего момента исполь­зования вкладки, объёма исполь­зованной вкладкой памяти и других параметров. Это призвано уменьшить количество падений браузера, связанных с нехваткой памяти. При пере­клю­чении на выгру­женную вкладку она пере­загружается.
  • Для предот­вращения потери сессий в macOS-версии Firefox, запускаемой из смон­тиро­ваного файла .dmg, у поль­зователя теперь запраши­вается подтвер­ждение завершения установки. Этот запрос появляется один раз — при первом запуске Firefox.
  • Программа чтения с экрана (screen reader) VoiceOver теперь правильно сообщает об элементах-галках (checkable items) в доступных древо­видных элементах управления.
  • Программа чтения с экрана Orca теперь правильно работает с Firefox, не требуя пере­ключаться на другое приложение после запуска Firefox.
  • Оформление панели загруженных файлов теперь едино­образно с оформ­лением других элементов интер­фейса Firefox.
  • Функция Firefox Suggest. Функция работает при включённых в настройках Firefox контекстных предложениях (contextual suggestions) и призвана предлагать потенциально интересные вам страницы, в том числе от партнёров Mozilla, с использованием вашего гео­графи­ческого положения и поисковой фразы, при этом заявляется соблюдение конфи­ден­циаль­ности пользователя. На данный момент функция включена только для пользователей Firefox в США.

См. также