Firefox 30

Некоторые из интересных новшеств юбилейного выпуска свободного веб-браузера Firefox.

CSS

  • Долгожданная поддержка абсолютного позиционирования элементов относительно ячеек таблиц. Формально баг будет закрыт в следующей — 31-й — версии Firefox, поскольку для Firefox 30, судя по всему, отсутствует полный набор соответствующих тестов, но фактически поддержка уже доступна.
  • Свойство line-height наконец-то поддерживается для однострочных тектовых полей и кнопок в формах (при этом минимальным значением line-height для однострочных полей является 1). Ранее из-за отсутствия такой поддержки было затруднительно кроссбраузерно задать определённую высоту для таких элементов.
  • Улучшен механизм применения свойства padding к выпадающим спискам SELECT: в частности, теперь положение кнопки-стрелки, обычно расположенной в правой части элемента, не зависит от значения свойства padding.
  • Исправлен рендеринг outline-рамки: теперь она отрисовывается относительно границ самого элемента, а не его тени (box-shadow), если таковая задана.
  • Поддержка свойства background-blend-mode, позволяющего задавать режим наложения для фонового изображения элемента подобно Photoshop, включена по умолчанию.

JavaScript / DOM

  • Элементам A и AREA добавлено свойство relList, возвращающее объект типа DOMTokenList, содержащий список значений, указанных в атрибуте rel соответствующего элемента.
  • Синхронные запросы XMLHttpRequest теперь не рекомендуются (deprecated) для использования где-либо, кроме Web Workers, и при использовании таких запросов в Веб-консоль выводится соответствующее предупреждение.
  • Конструкторы DOM-объектов теперь нельзя вызывать как функции. Например, вместо XMLHttpRequest() теперь следует использовать new XMLHttpRequest(), в противном случае будет сгенерирована JS-ошибка TypeError. Это соответствует поведению браузеров Chrome и Safari.
  • Поддержка ES6-синтаксиса так называемых Comprehensions применительно к массивам и генераторам, позволяющих компактно описывать в коде операции, связанные с перебором/фильтрацией массивов элементов.
  • Экспериментальный Archive API, образованный нестандартными JavaScript-объектами ArchiveReader и ArchiveRequest и доступный начиная с Firefox 17, теперь отключён по умолчанию и может быть включён пользователем с помощью параметра dom.archivereader.enabled в окне скрытых настроек, доступном по псевдо-URL-адресу about:config.
  • Интерфейс nsIDOMWindowUtils, доступный для дополнений, теперь поддерживает атрибуты audioMuted и audioVolume, предназначенные соответственно для включения/выключения звука и управления громкостью звука на уровне вкладки или фрейма.

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