Firefox 45

Поздравляем читательниц с Международным женским днём и встречаем весенне-юбилейный Firefox 45. Некоторые из интересных новшеств свежего выпуска современного веб-браузера:

HTML, CSS

  • Изменение параметров области отображения (viewport) или размеров окна теперь приводит к отображению соответствующих изображений, указанных в атрибуте srcset элементов IMG.
  • HTML-атрибут referrer элементов IMG, AREA, A и IFRAME переименован в referrerpolicy в соответствии с изменением спецификации. Поддержка атрибута в Firefox на данный момент экспериментальная и по умолчанию выключена, поэтому последствий для обратной совместимости нет.
  • Поддержка процентных значений CSS-свойства word-spacing, позволяющего управлять дополнительным расстоянием между словами относительно расстояния по умолчанию. За 100% при этом принимается ширина одного пробела, т. е., например, с помощью word-spacing: -100% можно сделать расстояние нулевым.
  • В тестовых сборках Firefox (Beta, Aurora, Nightly) включена по умолчанию поддержка улучшенной реализации CSS Grid Layout — нового механизма взаимного расположения элементов, изначально экспериментально реализованная в Firefox 40. Соответствующая спецификация W3C формально по-прежнему имеет статус черновика.
  • Flexbox и Grid Layout теперь можно применять к HTML-элементу FIELDSET.

JavaScript, DOM

  • Поддержка классов в JavaScript (ECMAScript 6) в качестве «синтаксического сахара» в отношении существующей объектной модели.
  • Поддержка нестандартного DOM-свойства innerText для совместимости с JS-сценариями, ориентированными на браузер Internet Explorer. Свойство функционально похоже на стандартное textContent, но имеет ряд существенных отличий, в частности игнорирует содержимое элементов STYLE и SCRIPT, а также скрытых элементов.
  • Экспериментальная поддержка части программного интерфейса Web Speech API, отвечающей за синтез речи (распознавание планируется реализовать позднее). По умолчанию выключена, включается параметром media.webspeech.synth.enabled на странице скрытых настроек Firefox, доступных по псевдоадресу about:config.
  • События DOMContentLoaded и load теперь отображаются на оси времени монитора сети в Инструментах разработки.
  • Вызов WebIDL-конструкторов (например, XMLHttpRequest()) без оператора new в chrome-коде (в частности в расширениях) теперь приводит к ошибке TypeError аналогично тому, как это происходит на веб-страницах начиная с Firefox 30.

Прочее

  • Директивы Content Security Policy, указываемые с помощью HTTP-заголовка ответа сервера Content-Security-Policy и позволяющие управлять разрешениями в отношении загрузки подключённых к странице внешних ресурсов (скриптов, изображений и проч.), теперь можно указывать в одноимённом мета-элементе с атрибутом http-equiv.
  • Поддержка CSP-директивы child-src, пришедшей на смену теперь нерекомендуемой frame-src и предназначенной для указания допустимых источников загрузки ресурсов средствами Web Workers и элементов FRAME и IFRAME.
  • Возможна отладка неподписанных расширений, не требующих для своей работы перезапуска браузера (restartless, bootstrapped), путём временного включения нужного расширения на текущий сеанс работы браузера. Функция реализуется кнопкой «Загрузить временное дополнение» на странице с псевдоадресом about:debugging.
  • Удалена функция «Группы вкладок» (Tab Groups), которая была маловостребованной, но затрудняла работы по улучшению интерфейса браузера. В качестве альтернативы предлагается одноимённое расширение.
  • Исправлена появившаяся в Firefox 41 ошибка, связанная с некорректным округлением длительности аудиозаписей и приводившая к самопроизвольным кратким паузам при воспроизведении некоторых MP3-файлов.

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