Firefox 36

Свежий выпуск Firefox приготовил нам россыпь CSS-возможностей и некоторые другие новинки.

CSS

  • Поддержка свойств object-fit и object-position, позволяющих управлять соответственно размерами и положением так называемых заменяемых (replaced) элементов — в частности, изображений (IMG).
  • Поддержка свойства scroll-behavior, позволяющего сделать плавной прокрутку страницы или элемента, инициируемую переходом по ссылке-якорю или JS-методами scroll(), scrollTo() и scrollBy(). Также теперь поддерживается передача методу Element.scrollIntoView() аргумента-объекта, управляющего конечным положением прокрутки и её плавностью.
  • Поддержка свойства will-change, призванного «подсказать» браузеру, какие элементы планируется динамически изменять (например, анимировать), чтобы браузер мог применить определённые оптимизации в отношении быстродействия.
  • Поддержка свойства isolation, позволяющего создавать для элемента новый контекст наложения (stacking context) и полезного, например, при использовании совместно со свойством background-blend-mode, результат применения которого зависит от контекста наложения.
  • Градиенты теперь генерируются на основе цветов с заранее применённой прозрачностью (premultiplied colors), благодаря чему исключается неожиданное появление оттенков серого в случаях, когда в рамках градиента одновременно изменяются как цвет, так и уровень прозрачности. Это соответствует текущей спецификации и работе градиентов в других браузерах.
  • Свойство white-space теперь поддерживается для многострочных текстовых полей (TEXTAREA).
  • Свойства text-decoration-color, text-decoration-line и text-decoration-style, изначально реализованные в Firefox 6, теперь доступны без префикса. Данные свойства позволяют управлять оформлением подчёркивающей или зачёркивающей линии без необходимости приближённо имитировать подчёркивание, например, с помощью нижней рамки элемента (border-bottom). Свойство text-decoration, соответственно, стало стенографическим (shorthand).
  • Для свойства display реализована экспериментальная поддержка интересного значения contents, позволяющего заставить браузер отрисовывать страницу так, словно элемента нет, а на его месте в документе расположено его содержимое, в этот элемент не заключённое. Это позволяет, например, быстро сбросить свойства элемента типа border без необходимости их явного переопределения. По умолчанию поддержка пока отключена, включить можно с помощью параметра layout.css.display-contents.enabled на странице скрытых настроек, доступной по псевдо-URL-адресу about:config; перезапуск браузера для применения этого параметра не требуется.

HTTP, HTML, JavaScript

  • Полная поддержка протокола HTTP/2, основанного на SPDY и призванного значительно повысить скорость загрузки веб-страниц. Поддержка устаревшего SPDY/3 удалена, SPDY/3.1 пока поддерживается.
  • Поддержка мета-элемента referrer, позволяющего управлять отправкой HTTP-заголовка запроса Referer при загрузке любых ресурсов по ссылкам из конкретного HTML-документа.
  • В конструктор JavaScript-объекта WeakMap теперь можно передать необязательный аргумент, представляющий собой подобный массиву объект, элементы которого следует добавить в созданный в результате объект WeakMap.
  • Экспериментальная поддержка устройств виртуальной реальности типа Oculus Rift. По умолчанию пока отключена, включается about:config-параметром dom.vr.enabled.
  • Экспериментальная частичная поддержка программного интерфейса (API) Web Animations в лице методов play(), pause() и свойства playState объекта AnimationPlayer. Web Animations API призван предоставить веб-разработчикам унифицированный продвинутый механизм управления анимациями, который, в частности, не привязан к частоте обновления экрана.

О других новшествах Firefox 36 читайте в официальных примечаниях к выпуску и информации для разработчиков.