Firefox 43

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

CSS, HTML

  • CSS-свойство hyphens теперь доступно без префикса -moz-. Свойство позволяет управлять расстановкой переносов в тексте и изначально было реализовано в Firefox 6 (полноценно — с поддержкой не только англоязычных текстов — в Firefox 8) более 4-х лет назад.
  • Поддержка CSS-свойства transform-origin в SVG-документах, экспериментально реализованная в Firefox 41 и скрытая за about:config-параметром svg.transform-origin.enabled, включена по умолчанию. Свойство transform-box, тоже экспериментально реализованное в Firefox 41, по-прежнему скрыто, но вместо about:config-параметра svg.transform-origin.enabled за это теперь отвечает svg.transform-box.enabled.
  • Поддержка включения значения CSS-свойства font-stretch в значение стенографического свойства font.
  • CSS-псевдокласс :-moz-full-screen (нестандартная версия пока неподдерживаемого :fullscreen) теперь соответствует не только элементу верхнего уровня, но и всем вложенным — аналогично реализации IE11 и Edge.
  • Поддержка проверки целостности (Subresource Integrity) ресурсов (например, внешних JS-сценариев), подключённых к странице с помощью HTML-элементов SCRIPT и LINK, путём сравнения реального хэша ресурса с указанным в атрибуте integrity соответствующего элемента.

JavaScript

  • Значение мета-элемента viewport теперь можно динамически изменять с помощью JavaScript. Ранее в Firefox приходилось генерировать и добавлять в документ новый мета-элемент с нужным значением.
  • Поддержка ES2016-метода includes() массивов (Array и TypedArray), экспериментально реализованная в Firefox 40, включена по умолчанию. Изначально метод назывался contains(), но был вынужденно переименован из-за несовместимости с версией этого метода, используемой в библиотеке MooTools версий ниже 1.2.6. Хорошая иллюстрация того, почему изменение непосредственно стандартных объектов (вместо создания объектов-обёрток, безопасных для будущих версий стандартов и браузеров) является плохой практикой.
  • Теперь возможна установка значения заголовка User-Agent для Ajax-запросов, отправляемых с помощью XMLHttpRequest.setRequestHeader() и его fetch-версии.
  • Поддержка стандартной (без префикса) версии программного интерфейса (API) Screen Orientation. Поддержка нестандартных свойств mozOrientation и onmozorientationchange и методов mozLockOrientation() и mozUnlockOrientation() в дальнейшем будет удалена.
  • Изменения реализации массива arguments аргументов функций:
    • В соответствии с текущей спецификацией ES2015, у функций, определённых с использованием стрелочного синтаксиса (arrow functions), теперь нет собственного массива arguments — вместо этого наследуется одноимённый объект родительской полноценной функции. Для получения функциональности, подобной массиву arguments, применительно к стрелочным функциям можно использовать передачу списка аргументов с помощью синтаксиса остальных параметров (rest parameters).
    • Поддержка использования массива arguments внутри функции, при указании аргументов которой использован синтаксис остальных параметров.
    • Автоматического изменение значения аргумента функции при изменении соответствующего элемента массива arguments (mapped arguments object) теперь возможно только в функциях, не содержащих остальных параметров, значений параметров по умолчанию и destructured-параметров.

Инструменты разработки

  • В консоли теперь выводится цепочка вызовов (трассировка стека, stack trace), приведшая к исключению JavaScript.
  • Консоль теперь поддерживает вывод серверных отладочных сообщений, отправленных с использованием протокола Chrome Logger, подразумевающего передачу данных в заголовке ответа сервера X-ChromeLogger-Data. По умолчанию вывод сообщений отключён, включить можно путём активации фильтра «Сервер».
  • Функция «Скриншот узла» в инструменте разработки «Инспектор», изначально реализованная в Firefox 41, теперь учитывает плотность точек (DPI) и, соответственно, правильно работает, например, на 4K-мониторах.

Прочее

  • Публично доступна официальная 64-битная сборка Firefox. Реально она существовала уже начиная с Firefox 42, но лишь на FTP-сервере Mozilla, а теперь ссылка помещена на официальную веб-страницу скачивания браузера, благодаря чему доступна более широкому кругу пользователей.

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