Firefox 62
- Опубликовано:
В бабье лето — с новейшим Firefox 62.
CSS
- Поддержка свойств
shape-outside,shape-marginиshape-image-thresholdиз спецификации CSS Shapes Module Level 1. Свойствоshape-outsideпозволяет задать невидимую геометрическую фигуру, которая будет обтекаться последующим текстом;shape-margin— отступ от фигуры;shape-image-threshold— пороговое значение непрозрачности пикселов изображения, включаемых в обтекаемый контур. Параллельно в средства разработчика добавлен инструмент Shape Path Editor, позволяющий в визуальном режиме изменять параметры существующих фигур, заданных свойствамиshape-outsideилиclip-path. - Поддержка шрифтов OpenType с переменными характеристиками (OpenType Font Variations) (также известных как изменчивые, или вариативные шрифты, Variable Fonts), упомянутая в примечаниях к выпуску Firefox 62, была реализована в предыдущей версии — Firefox 61.
- Псевдоэлемент
::selectionтеперь доступен без префикса-moz-для единообразия с другими браузерами. Псевдоэлемент позволяет управлять оформлением выделенной части текста с помощью ограниченного набора разрешённых свойств:color,background-color,cursor,caret-color,outline*,text-decoration*,text-emphasis-color,text-shadow. - Новая единица
x— псевдоним единицыdppx, позволяющей применять стили с помощью правил@mediaв зависимости от плотности точек устройства вывода. - На веб-страницах теперь недоступен ряд нестандартных значений свойства
display, предназначавшихся для применения в XUL-документах:-moz-grid,-moz-inline-grid,-moz-grid-group,-moz-grid-line,-moz-stack,-moz-inline-stack,-moz-deck,-moz-popup. По-прежнему поддерживаются-moz-boxи-moz-inline-box, частично аналогичные соответственно свойствамflexиinline-flexиз Flexbox. В Nightly- и ранних бета-версиях Firefox 63 планируется отключить поддержку свойств-moz-boxи-moz-inline-box(параметрlayout.css.xul-box-display-values.content.enabledвabout:config) с целью собрать статистику их использования с последующим возможным отключением в одной из следующих стабильных версий. - Изменены значения по умолчанию свойства
browser_style, управляющего применением веб-стилей по умолчанию и доступностью служебных классов на страницах пользовательского интерфейса расширений:- во всплывающих окнах при нажатии кнопок
page_actionиbrowser_actionзначение теперьfalse; - в боковых панелях (
sidebar_action) и интерфейсе настроек расширенияoptions_uiзначение теперьtrue.
- во всплывающих окнах при нажатии кнопок
JavaScript, DOM
- Поддержка методов
flat()иflatMap()массивов (объектовArray). Методflat()заменяет вложенные массивы хранящимися в них элементами — по умолчанию на один уровень вложенности, но можно задать произвольный. Вызовflat()также удаляет из массива элементы без значений. Вызов методаflatMap()эквивалентен последовательному вызовуmap()иflat()с глубиной вложенности1. - Поддержка объекта
import.meta, содержащего специфичные для контекста данные, доступные внутри модуля. Свойствоurlэтого объекта содержит URL-адрес файла, в котором определён модуль. Поддержка ES-модулей доступна начиная с Firefox 60. - Юникод-символы
U+2028(LINE SEPARATOR,LS) иU+2029(PARAGRAPH SEPARATOR,PS) теперь можно использовать в строковых литералах напрямую, без необходимости экранирования. Благодаря этому устраняется противоречие между спецификациями JSON, где эти символы в строках разрешены, и ECMAScript (ECMA-262), согласно которому ранее требовалось их экранировать. - Программный интерфейс (API) синтеза речи (Speech synthesis) из Web Speech API теперь включён по умолчанию в Android-версии Firefox. В настольных версиях Firefox функциональность доступна начиная с Firefox 49.
- Поддержка свойства
srcElementкак псевдонима стандартного свойстваtargetобъектовEventдля совместимости со скриптами, ориентированными на браузер Internet Explorer. Свойствоtargetсодержит объект, к которому относится обрабатываемое событие. - Свойство
document.domainтеперь при отсутствии домена (например, в локальных HTML-файлах) возвращает пустую строку вместоnull. - События
DOMSubtreeModifiedиDOMAttrModifiedв рамках устаревшего механизма Mutation events теперь не инициируются при изменении атрибутаstyleсредствами CSSOM, что в некоторых случаях приводило к бесконечному циклу и зависанию браузера. Вместо Mutation-событий следует использовать современный механизмMutationObserver, свободный от этой проблемы.
См. также официальные примечания к выпуску и информацию для разработчиков.