Firefox 55

Интересное в юбилейной версии современного веб-браузера Firefox.

CSS, HTML

  • Отключена по умолчанию поддержка атрибута scoped HTML-элемента STYLE в веб-документах ввиду отсутствия поддержки этой функциональности в других браузерах. Включить можно с помощью about:config-параметра layout.css.scoped-style.enabled.
  • Включена по умолчанию поддержка свойства transform-box, от значения которого зависит результат применения свойств transform и transform-origin.
  • Поддержка свойства text-justify, предназначенного для применения совместно с text-align: justify и позволяющего управлять тем, куда вставлять пустое пространство для растяжения строк на всю ширину элемента: между словами (inter-word) или между символами (inter-character).
  • Включена по умолчанию поддержка логических значений inline-start и inline-end свойств float и clear. Действие логических значений, в отличие от left и right, зависит от направления текста, задаваемого HTML-атрибутом dir.
  • Экспериментальная поддержка нестандартного свойства -moz-context-properties. Поддержка включена по умолчанию в Nightly-сборках Firefox, а в более стабильных сборках включается параметром svg.context-properties.content.enabled на странице скрытых настроек about:config. Свойство позволяет для SVG-элемента, вставленного на страницу как элемент IMG, задавать набор атрибутов, которые можно переопределять с помощью одноимённых CSS-свойств элемента IMG. Благодаря этому отпадает необходимость создания множества копий SVG-файла, различающихся, например, только цветом. На данный момент возможность поддерживается только для SVG-изображений, загруженных по служебным протоколам chrome:// или resource:// в рамках расширений и собственного кода браузера.
  • Поддержка псевдоэлемента ::cue, позволяющего в некоторых пределах (цвет, фон, прозрачность и проч.) управлять оформлением области отображения текстового WebVTT-сопровождения к аудио- или видеозаписи. Такое сопровождение привязывается с помощью HTML-элемента TRACK внутри элемента VIDEO или AUDIO.
  • В подлежащих редактированию в WYSIWYG-режиме элементах с атрибутом contenteditable="true" для разделения строк теперь используется заключение в элемент DIV для единообразия с бразерными движками Blink (Chrome, Opera, Vivaldi, Яндекс.Браузер) и WebKit (Safari). Ранее строки в Firefox разделялись элементом BR.
  • В Nightly-сборках Firefox включена по умолчанию поддержка элементов INPUT типов date и time.

JavaScript, DOM

  • В Windows-версии Firefox включена по умолчанию поддержка WebVR 1.1 — программного интерфейса (API) для работы с устройствами виртуальной реальности типа Oculus Rift и HTC Vive, представленного в начале 2016 года. Firefox 55 — первый настольный браузер с поддержкой WebVR.
  • Включена по умолчанию поддержка программного интерфейса (API) Cooperative Scheduling of Background Tasks, также известного как Background Tasks API и requestIdleCallback() API. Данная функциональность позволяет запрашивать у браузера отложенное исполнение низкоприоритетного кода в промежутки времени, когда браузер свободен и исполнение кода не должно привести к заметному снижению его отзывчивости.
  • Поддержка программного интерфейса Intersection Observer, предназначенного для асинхронного отслеживания попадания заданного элемента в отображаемую область содержащего его прокручиваемого элемента. По сравнению с традиционно используемым для этого getBoundingClientRect() в обработчике события scroll, Intersection Observer API потенциально обеспечивает более высокое быстродействие и меньше влияет на отзывчивость браузера.
  • Оператор ... теперь поддерживается в destructuring-присваивании и для упрощённого клонирования объектов.
  • Методы toLocaleLowerCase() и toLocaleUpperCase() теперь поддерживают необязательный параметр, позволяющий явно задать язык, в соответствии с особенностями которого следует изменять регистр символов. Если задано несколько языков в виде массива, автоматически выбирается наиболее подходящий.
  • Конструктор объекта Intl.Collator теперь поддерживает необязательный именованный параметр caseFirst, позволяющий управлять взаимным порядком вариантов одного и того же символа в нижнем и верхнем регистрах.
  • Свойства scrollX и scrollY объекта window и их псевдонимы pageXOffset и pageYOffset теперь хранят значения с плавающей запятой — единообразно с другими браузерами и со значениями, возвращаемыми методом getBoundingClientRect(). Ранее эти свойства в Firefox содержали целочисленные значения.
  • Методы объектов DOMTokenList (например, element.classList), изменяющие содержимое соответствующего HTML-атрибута (class) и DOM-свойства (className), теперь автоматически удаляют (1, 2) повторяющиеся элементы и лишние пробельные символы вокруг и между элементами списка.
  • В WebGL и WebGL 2 теперь доступно расширение WEBGL_compressed_texture_s3tc_srgb, дающее возможность экономить видеопамять путём использования сжатых текстур.
  • Поддержка использования стереофонических источников звука (микрофонов) посредством getUserMedia() в WebRTC. В Firefox 56 ожидается возможность явно запросить монофонический источник звука.
  • Использование средств определения местоположения пользователя (Geolocation API) и хранения данных на компьютере пользователя (Storage API) теперь доступно (1, 2) только для страниц, загруженных по защищённому протоколу HTTPS.

Прочее

  • Поддержка параметра browser_style в манифесте расширений на основе WebExtensions API. Параметр позволяет отключить оформление элементов форм по умолчанию для единообразия с элементами собственного интерфейса браузера. Вначале параметр был ошибочно по умолчанию установлен в значение true, что сделало неработоспособными страницы настроек существующих расширений, написанных без учёта этой возможности, но затем это было исправлено.
  • Для ранее посещённых HTTP-адресов, осуществляющих автоматическое перенаправление на HTTPS-версию, теперь в автодополнении адресной строки приоритет имеет HTTPS-вариант адреса.
  • Для страниц, не снабжённых стилями для печати, теперь есть возможность автоматизированным образом упростить оформление страницы перед её печатью с помощью галки «Упростить страницу» в диалоге предварительного просмотра.
  • Flash-ролики поэтапно станут требовать щелчка для активации: в Nightly-сборках Firefox это включено для всех пользователей, в бета-версии — для половины пользователей. В отношении стабильных сборок планируется, что изменение затронет 5% пользователей в течение двух недель после выхода Firefox 55, 25% пользователей в течение 4 недель и всех пользователей до выхода Firefox 56.
  • Для роликов Flash и других плагинов теперь разрешена загрузка только по протоколам http:// и https://.
  • В формат профилей Firefox внесены обратно-несовместимые изменения, из-за которых использование профиля, единожды использованного с Firefox 55, с предыдущими версиями Firefox может приводить к проблемам.
  • Значительно ускорено восстановление сеансов с большим количеством вкладок и уменьшено потребление памяти.
  • Firefox 55 — последняя версия Firefox с поддержкой устаревшей операционной системы Android 4.0, выпущенной в 2011 году и сейчас имеющей долю менее 1% на Android-устройствах.

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