Firefox 27

Встречаем первый в 2014-м году, предолимпийский выпуск передового интернет-браузера Firefox, вышедший в день 10-летия Facebook и официального оглашения имени нового гендиректора Microsoft.

CSS

  • Важнейшее фундаментальное новшество CSS: возможность сброса стилей с помощью свойства all со значением unset или initial.

    Когда эта возможность станет доступна во всех распространённых браузерах, подходы к вёрстке наверняка претерпят серьёзные изменения: в частности, во многом потеряет актуальность принцип реализации так называемых абсолютно независимых блоков, основанный на присвоении уникального класса каждому HTML-элементу с вытекающим неизбежным засорением HTML-кода (Джефри Зельдман называет это явление classitis).

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

  • Экспериментальная поддержка свойства mix-blend-mode из черновой спецификации Compositing and Blending Level 1, призванного дать возможность использовать различные режимы наложения (например, столь любимый дизайнерами multiply) элементов подобно имеющимся режимам наложения слоёв в графическом редакторе Photoshop. По умолчанию возможность пока отключена, включается about:config-настройкой layout.css.mix-blend-mode.enabled.
  • Ключевые слова grab и grabbing в значении свойства cursor теперь доступны без префикса -moz-.
  • Упразднены снабжённые префиксом нестандартные функции -moz-hsla() и -moz-rgba(). Вместо них следует использовать стандартные hsla() и rgba().
  • Экспериментальная поддержка ключевого слова true в значении свойства text-align. Например, сочетание text-align: true right и white-space: nowrap привязывает правую кромку строки текста к правой кромке содержащей её области. Отображение многоточия в начале отображаемой части строки при использовании возможности совместно с  overflow: hidden; text-overflow: ellipsis пока не поддерживается. По умолчанию возможность пока отключена, включается с помощью about:config-настройки layout.css.text-align-true-value.enabled.
  • Удалена поддержка обрамляющих фигурных скобок в значении HTML-атрибута style, ранее имевшая место в Quirks-режиме (режиме совместимости со старыми веб-страницами).

JavaScript, DOM

  • В вызовах функций теперь поддерживается spread-оператор, позволяющий передавать список аргументов в виде массива или массивоподобного объекта вместо их явного перечисления или вызова функции с помощью не слишком интуитивно-понятного метода apply().
  • Новый экспериментальный математический метод Math.hypot() из ES6, возвращающий квадратный корень суммы квадратов катетов переданных методу аргументов. Количество аргументов при этом может быть произвольным.
  • Поддержка оператора yield*, используемого совместно с генераторами ES6.
  • Поддержка пунктирных (dashed-) линий при генерации графики средствами элемента CANVAS.
  • Реализация MapIterator, SetIterator и ArrayIterator приведена в соответствие с текущей спецификацией.
  • Методы String.match() и String.replace() теперь сбрасывают значение свойства RegExp.lastIndex.
  • Экспериментальный метод setRangeText() для интерфейсов HTMLInputElement и HTMLTextAreaElement, соответствующих HTML-элементам INPUT и TEXTAREA, позволяет заменить значение поля или его фрагмент, соответствующий указанным границам.
  • Нестандартные интерфейсы событий изменения таблиц стилей StyleRuleChangeEvent, StyleSheetApplicableStateChangeEvent и StyleSheetChangeEvent теперь недоступны для веб-страниц. Кроме того, удалён нестандартный интерфейс CSSGroupRuleRuleList, соответствовавший стандартному CSSRuleList.
  • Метод atob(), предназначенный для декодирования base64-строк, теперь игнорирует пробельные символы.

Безопасность

  • Поддержка протоколов шифрования TLS 1.1 (RFC 4346) и TLS 1.2 (RFC 5246).
  • Поддержка директивы allow-popups с говорящим названием, указываемой при необходимости в атрибуте sandbox HTML-элемента IFRAME наряду с другими директивами (allow-scripts, allow-forms и проч.), перечисляемыми с использованием пробела в качестве разделителя.

Разработка, отладка

  • Возможность в панели «Отладка» Веб-консоли просмотреть минимизированные (minified-) скрипты в более читабельном виде с переводами строк и отступами (достигается динамическим переформатированием JS-кода, включаемым кнопкой с изображением фигурных скобок в нижней левой части панели).
  • Встроенная возможность изменять HTML-код отдельного элемента (доступна в контекстном меню элемента в DOM-дереве, отображаемом в панели «Инспектор» Веб-консоли).
  • Возможность визуализации перерисовываемых (reflow) областей страницы (включается кнопкой с изображением кисти в строке кнопок-пиктограмм в верхней правой части Веб-консоли).
  • В панели «Инспектор» Веб-консоли теперь можно просматривать стили элементов, составляющих SVG-изображение.

Прочее

  • Поддержка INPUT-полей типа color. Ранее это уже было реализовано в версиях Firefox для мобильных устройств.
  • Поддержка протокола SPDY 3.1.

См. также: