Firefox 44

Приветствуем Firefox 44 — первую версию «Огненного лиса» в наступившем году огненной обезьяны. Некоторые из наиболее интересных новшеств:

CSS, HTML

  • Поддержка свойства unicode-range CSS-правила @font-face, позволяющего указать конкретные необходимые на конкретной странице символы и тем самым проинструктировать браузер скачать только те части файла нестандартного шрифта, которые содержат эти символы, благодаря чему можно ускорить загрузку страницы.
  • Значения italic (реальный курсив) и oblique (подобие курсива, обычно имитируемое в основном наклоном обычного начертания) CSS-свойства font-style теперь трактуются по-разному, если в шрифте доступны оба начертания.
  • CSS-свойства marks, orphans, page, size и widows, не поддерживаемые движком Gecko, теперь игнорируются на стадии разбора CSS-кода, и проверка их поддержки с помощью правила @supports теперь работает корректно.
  • Элементы выпадающих списков SELECT, расположенные во вложенных HTML-элементах OPTGROUP, при динамическом создании их средствами DOM теперь игнорируются при обращении, например, к свойству options элемента SELECT. Что любопытно, присутствующие в статическом исходном HTML-коде вложенные OPTGROUP при этом де-факто работают как прежде.

JavaScript, DOM

  • Включена по умолчанию поддержка программного интерфейса (API) Service Workers, призванного обеспечить качественную базовую функциональность веб-приложений на уровне таковой у самостоятельных приложений при отсутствии подключения к интернету. Service Workers API позиционируется как более продуманная замена нерекомендуемого (deprecated) отныне механизма Application Cache (AppCache), при использовании которого в консоль теперь выводится предупреждение.
  • С целью улучшения совместимости с некоторыми сайтами реализована поддержка DOM-свойства document.charset в качестве псевдонима стандартного свойства document.characterSet.
  • Подтверждающие запросы, реализованные с помощью обработчика window.onbeforeunload, теперь не отображаются на страницах, с которыми пользователь не взаимодействовал. Полезно в борьбе с нежелательными всплывающими окнами.
  • События mouseover, mouseout, mouseenter, mouseleave, pointermove, pointerover, pointerout, pointerenter и pointerleave теперь срабатывают для элементов форм с атрибутом disabled.
  • В рамках комплекса мер по улучшению совместимости с сайтами, созданными в расчёте на браузеры на движке WebKit (например, Safari), реализована поддержка метода Element.webkitMatchesSelector() в качестве псевдонима стандартного метода Element.matches().
  • Интерфейсы WebRTC — в частности RTCPeerConnection, RTCIceCandidate и RTCSessionDescription — теперь доступны без префикса moz.
  • Объекты URLSearchParams, позволяющие работать с отдельными GET-параметрами в строке запроса, теперь поддерживают перебор параметров как пар имя/значение, имён и значений с помощью объектов-итераторов, возвращаемых методами entries(), keys() и values() соответственно. Аналогично для одноимённых методов объектов FormData.

Прочее

  • Поддержка нового, более эффективного алгоритма сжатия brotli для ресурсов, получаемых по протоколу HTTPS. По сравнению с алгоритмом deflate, обычно используемым в формате сжатия Gzip, алгоритм brotli способен обеспечить ориентировочный выигрыш в степени сжатия до 20%. В заголовках запроса Accept-Encoding и ответа сервера Content-Encoding новый алгоритм представлен значением br.
  • Содержимому документов, вставленных на страницу с помощью HTML-элементов FRAME (не следует путать с IFRAME) или OBJECT, теперь запрещён переход в полноэкранный режим.

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