Firefox 53
- Опубликовано:
Встречаем апрельский выпуск свободного веб-браузера Firefox.
CSS
- Поддержка значения
flow-root
свойстваdisplay
, благодаря чему clearfix-хаки наконец-то становятся ненужными. Возможность также реализована в вышедшем параллельно Chrome 58 и после скорого выхода Opera на его основе будет доступна в 3-х из 5-ти основных браузеров. - Поддержка стенографических (shorthand-) свойств
place-items
,place-self
,place-content
, эквивалентных одновременному указанию одинаковых значений для обоих соответствующихalign
-свойств. - Поддержка свойств
mask-*
реализована в полном объёме и включена по умолчанию. - Свойство
mask-mode
со значениемluminance
теперь правильно работает при использовании градиента в качестве маски. - Поддержка свойства
caret-color
, позволяющего управлять цветом каретки (мигающей вертикальной черты в доступных для ввода текста областях страницы). - Свойство
-moz-tab-size
теперь поддерживает анимации и значения, заданные в конкретных единицах типаem
илиpx
(ранее ширину символа табуляции можно было задавать только в пробелах). Свойство позволяет управлять шириной символа табуляции (по умолчанию — 8 пробелов) при его выводе в элементах, свойствоwhite-space
которых имеет значениеpre
илиpre-wrap
, в том числе в HTML-элементеPRE
. В дальнейшем планируется поддержка свойстваtab-size
без префикса. Отсутствие возможности управлять шириной символа табуляции при слишком большой его ширине по умолчанию ранее вынуждала веб-разработчиков заменять их на пробелы. - Удалена поддержка префиксированных версий псевдокласса-функции
:dir()
(+), функцииcalc()
(+) и свойстваtext-align-last
(+).
JavaScript, DOM
- Поддержка событий
transitionstart
,transitionrun
иtransitioncancel
(1, 2). Событиеtransitionstart
возникает, когда transition-анимация запускается, в том числе после задержки, заданной свойствомtransition-delay
. Событиеtransitionrun
, наоборот, возникает до задержки, заданнойtransition-delay
. Событиеtransitioncancel
возникает при отмене transition-анимации, например, вследствие отведения указателя мыши за пределы элемента, к которому transition-анимация применяется при наведении указателя. - Поддержка свойств
x
иy
объекта события мышиMouseEvent
в качестве псевдонимов существовавших свойствclientX
иclientY
. - Исправлено неверное определение фрагментов
pathname
(путь от корня домена без строки запроса) иsearch
(строка запроса с предшествующим вопросительным знаком) URL-адресов с нестандартными протоколами. - Поддержка метода Selection.setBaseAndExtent(), позволяющего выделить в заданных двух узлах заданное количество их дочерних узлов, ближайших к узлам, расположенным между ними.
- В качестве папки, содержащей локальный файл, выбранный пользователем с помощью элемента
INPUT
типаfile
, в пути, доступном с помощью свойстваvalue
, теперь фигурируетC:\fakepath\
. Это сделано в соответствии с текущей спецификацией WHATWG HTML и для единообразия с другими браузерами. Ранее в Firefox в значении поля содержалось только имя файла. Исторически браузер Internet Explorer вплоть до последней версии 11 включительно сообщает веб-приложению полный реальный локальный путь к файлу, что нежелательно с точки зрения безопасности, поэтому на уровне стандарта было решено подставлять в путь к файлу фиктивный путь к папке. - Поддержка нового метода
Node.getRootNode()
, позиционируемого как замена теперь нерекомендуемого (deprecated) и широкой поддержки получить не успевшего свойстваrootNode
, более гибкая благодаря возможности передачи определённых параметров в объекте, используемом в качестве аргумента метода. На данный момент предусмотрен лишь параметрcomposed
, задающий, возвращать ли корневой узел Shadow DOM (по умолчанию) или всего документа. - Из соображений безопасности теперь невозможен (1, 2) перебор свойств объектов
Plugin
,PluginArray
иMimeTypeArray
, содержащих информацию о заданном программном модуле (плагине), всех доступных в браузере плагинах и поддерживаемых браузером MIME-типах соответственно. - Метод HTMLMediaElement.play(), запускающий воспроизведение аудио- или видеофайла, теперь возвращает объект
Promise
, успешно разрешаемый только в случае начала воспроизведения и отклоняемый при возникновении ошибки. - В методе
browser.tabs.insertCSS()
, доступном для расширений на основе WebExtensions API, теперь можно помечать вставляемые стили как пользовательские, что позволяет предотвратить их перекрытие (overriding) собственными стилями веб-страницы. Возможность реализуется значениемuser
свойстваcssOrigin
объекта, передаваемого в качестве второго аргумента метода.
Прочее
- Поля форм, скрытые с помощью
display: none
илиvisibility: hidden
, теперь исключаются из проверки правильности заполнения формы средствами HTML. - Поддержка альфа-канала в видео в формате WebM, благодаря чему появляется возможность делать определённые части видео прозрачными и подкладывать под них произвольный фон (аналог Chroma Key).
- В скрытых настройках, доступных по псевдо-URL-адресу
about:config
, теперь предусмотрен параметрnetwork.http.referer.userControlPolicy
, позволяющий задать поведение браузера по умолчанию в отношении отправки заголовка запросаReferer
. Возможные значения, функционально идентичные соответствующим значениям заголовка ответа сервераReferrer-Policy
:- 0 —
no-referrer
; - 1 —
same-origin
; - 2 —
strict-origin-when-cross-origin
; - 3 —
no-referrer-when-downgrade
(по умолчанию).
- 0 —
- В Firefox для Windows отрисовка графики вынесена в отдельный процесс, что положительно сказалось на стабильности работы Firefox в целом.
- Прекращена поддержка устаревших операционных систем Windows XP и Vista. Firefox на соответствующих системах планируется автоматически перевести на корпоративную ветвь ESR, которая будет получать обновления, касающиеся безопасности, ещё около года.
- В Firefox для Linux прекращена поддержка устаревших процессоров без поддержки SSE2 (до Intel Pentium 4 и AMD Opteron). Применительно к Windows такая поддержка была прекращена в Firefox 49.
- В Firefox для Android декодирование аудио- и видеофайлов теперь осуществляется в отдельном процессе, что призвано повысить быстродействие на многоядерных системах.
- После выпуска Firefox 53 планируется прекратить приём на сайт Addons.Mozilla.org новых дополнений на основе считающегося теперь устаревшим подхода с использованием XUL/XPCOM, вместо которого теперь следует использовать WebExtensions API.
См. также официальные примечания к выпуску и информацию для разработчиков.