Firefox 71

Зимний выпуск Firefox получился довольно интересным.

CSS, HTML

  • Поддержка ключевого слова subgrid из специ­фикации CSS Grid Level 2 в качестве значения свойств grid-template-columns и grid-template-rows. Значение subgrid позволяет включить элементы в состав сетки, частью которой является их родительский элемент. Благодаря этому становится возможным взаимное выравнивание элементов, расположенных на разных уровнях DOM-иерархии, чего обычные вложенные сетки не позволяли. Firefox — пока единственный браузер с реализацией subgrid.
  • HTML-атрибуты width и height элемента IMG теперь используются для вычисления соотношения сторон блока-заглушки, отображаемого вместо изображения до его загрузки, при условии, что размеры изображения переопределены средствами CSS таким образом, что один из размеров вычисляется автоматически, например:

    IMG {max-width: 100%; height: auto; }

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

    Ранее для этой цели приходилось прибегать к обходному манёвру с исполь­зованием процентного верхнего внутреннего отступа (padding-top) содержащего изображение контейнера в сочетании с абсолютным позицио­нированием собственно изображения относительно этого контейнера.

    Вычисленное соотношение сторон хранится во внутреннем свойстве aspect-ratio, которое в CSS пока недоступно.

    Реализация этой возможности также планируется и для движка Chromium.

  • Поддержка свойства column-span в рамках многоколоночной модели взаимного расположения элементов (Multiple-column Layout). Значение all этого свойства позволяет элементу в одной из колонок занимать всю ширину многоколоночной конструкции, разделяя её на две взаимосвязанные конструкции с равным количеством колонок.
  • Поддержка функции path() в качестве значения свойства clip-path. Функция path() позволяет задавать фигуры произвольной формы с помощью синтаксиса, используемого в атрибуте d SVG-элементов path. Свойство clip-path управляет тем, какая часть элемента будет видна пользователю.

JavaScript, DOM

  • Для элементов MathML теперь доступна стандартная функциональность DOM, и им соответствует класс MathMLElement. Благодаря этому теперь возможно обращаться к свойству style соответствующих элементов или, например, использовать обработчики глобальных событий. Ранее элементам MathML соответствовал обобщённый класс Element.
  • Поддержка метода Promise.allSettled(), позволяющего дождаться завершения работы всех объектов Promise из определённого набора, прежде чем исполнять последующий код.
  • Частичная поддержка программного интерфейса (API) Media Session, представляющего собой стандартный способ предоставления операционной системе мета­информации о воспроиз­водимом аудио- или видеофайле. Такая информация включает имя исполнителя, название альбома, название композиции, и, потенциально, обложку альбома.
  • Поддержка конструктора new StaticRange(). Объект StaticRange представляет часть DOM-дерева, изменения которой не привязаны к изменениям объекта после его создания.

Прочее

  • В Windows включена поддержка функции «Картинка в картинке» (Picture-in-picture), позволяющей воспроизводить видео из элемента VIDEO в отдельном окне. Включать возможность для пользователей планируется постепенно, с охватом 100% пользователей к моменту выхода Firefox 72.
  • Декодирование звука в формате MP3 с помощью встроенного в Firefox декодера без необходимости в дополнительных библиотеках.
  • Страница скрытых настроек about:config теперь реализована с помощью стандартных веб-технологий HTML и CSS вместо XUL/XPCOM. Поиск параметра по нескольким подстрокам, разделённых пробелами, по-прежнему не работает, но можно добиться аналогичного результата, используя вместо пробела символ *, например: tab*last, причём порядок подстрок не обязательно должен соответствовать их порядку в имени искомого параметра.
  • Поддержка работы в режиме киоска, когда браузер работает в полноэкранном режиме и отключён ряд возможностей, позволяющих, например, выйти из полноэкранного режима или закрыть браузер. Для запуска Firefox в режиме киоска служит параметр командной строки -kiosk.

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