Firefox 62 для разработчиков
В этой статье перечислены ключевые изменения, которые касаются разработчиков. Firefox 62 был выпущен 5 сентября 2018 года.
Изменения для веб-разработчиков
Инструменты разработчика
-
Включён по умолчанию редактор Shape Path — подробности в статье Edit Shape Paths in CSS.
-
Появилась возможность вынести просмотр CSS-правил в отдельную от других вкладок панель. См. Page inspector 3-pane mode для получения подробных сведений.
-
Инспектор CSS-сеток обзавёлся новыми возможностями и новой документацией — см. CSS Grid Inspector: Examine grid layouts.
-
Инструменты разработчика теперь можно разместить не только снизу и справа, но и слева (а также вынести в отдельное окно) (Firefox bug 1192642).
-
На панель консоли разделения добавлена кнопка закрытия.
-
При включённой настройке «Выбрать iframe в качестве текущего целевого документа» соответствующий значок будет появляться на панели инструментов при открытии настроек, даже если текущая страница не содержит фреймов (Firefox bug 1456069).
-
Вкладка «Куки» в сетевом мониторе отображает атрибут
samesite
(Firefox bug 1452715). -
Режим адаптивного дизайна работает и во вкладках, размещённых в контейнерах (Firefox bug 1306975).
-
При возникновении и выводе в консоль ошибки CORS Firefox предоставит ссылку на соответствующую страницу с описанием ошибок CORS (Firefox bug 1475391).
-
Появилась возможность создать снимок текущей страницы (без необходимости указывать имя файла) из консоли браузера (Firefox bug 1464461). Используется команда
:screenshot <filename.png> --fullpage
где
<filename.png>
— желаемое имя файла. Файл будет сохранён в каталог загрузок. Параметр--fullpage
не является обязательным и служит для создания снимка всей страницы. В этом случае к имени файла будет добавлено-fullpage
. Чтобы увидеть список всех доступных параметров, введите:screenshot --help
.
Удалено
-
Удалена панель разработчика/GCLI (которая открывалась сочетанием клавиш
Shift
+
F2
) (Firefox bug 1461970). У интерфейса панели и библиотеки, отвечающей за работу GCLI, уже продолжительное время отсутствует мейнтейнер, некоторые функции не работают (с того времени, как появился многопроцессный режим), а сама GCLI несовместима с
unsafeSetInnerHTML
. Как следствие, по данным телеметрии панель очень редко используется, к тому же есть альтернативные способы вызова самых популярных команд.
HTML
Без изменений.
CSS
- Убран префикс у псевдоэлемента
:-moz-selection
, отныне он называется::selection
(Firefox bug 509958). <resolution>
поддерживаетx
в качестве единицы измерения (Firefox bug 1460655).- Включена по умолчанию поддержка
shape-margin
,shape-outside
иshape-image-threshold
(Firefox bug 1457297).
Удалено
- Из документов, отличных от XUL, удалены все XUL-значения
display
за исключением-moz-box
и-moz-inline-box
(Firefox bug 1288572).
SVG
Без изменений.
JavaScript
- Реализована поддержка конструктора
WebAssembly.Global()
и глобальных переменных в WebAssembly (Firefox bug 1464656). - Включена по умолчанию поддержка методов
Array.prototype.flat()
иArray.prototype.flatMap()
(Firefox bug 1435813). - Реализовано свойство
import.meta
, отображающее контекстно-специфичных метаданные для модуля JavaScript (Firefox bug 1427610). - Строковые литералы могут напрямую содержать символы U+2028 LINE SEPARATOR и U+2029 PARAGRAPH SEPARATOR. Как следствие, синтаксис
JSON
отныне является подмножеством литерального синтаксиса JavaScript (см. Firefox bug 1435828 и предложенный TC39 json-superset). - Для индексов, выходящих за границы типизированных массивов,
Reflect.defineProperty()
иReflect.set()
будут возвращатьfalse
вместоtrue
(Firefox bug 1308735).
Удалено
- Конструкторы
DOMPoint
иDOMPointReadOnly
больше не поддерживают входной параметр типаDOMPointInit
; значения свойств требуется указывать с помощью параметровx
,y
,z
иw
(Firefox bug 1186265). - Метод
URL.createObjectURL()
больше не поддерживает создание URL-адресов объектов для представленияMediaStream
. Эта возможность уже не актуальна, поскольку можно напрямую задатьHTMLMediaElement.srcObject
вMediaStream
(Firefox bug 1454889).
API
Новые API
- В версии для Android включён по умолчанию API Speech Synthesis (Text-to-Speech) (Firefox bug 1463496).
DOM
- Интерфейс
DOMPointReadOnly
поддерживает статическую функциюDOMPointReadOnly.fromPoint()
, создающую новый точечный объект из совместимого сDOMPointInit
словаря, который содержит любой объектDOMPoint
. Функция также доступна наDOMPoint
(Firefox bug 1186265). - В целях совместимости реализована поддержка свойства
Event.srcElement
. Оно является ссылкой наEvent.target
(Firefox bug 453968). Navigator.registerProtocolHandler()
может быть вызван лишь в безопасном контексте (Firefox bug 1460506).- Отключена по умолчанию поддержка метода
Navigator.registerContentHandler()
. Он будет удалён в будущем, поскольку уже некоторое время является устаревшим (Firefox bug 1460481). - Реализован конструктор
DataTransfer()
(Firefox bug 1351193). Document.domain
больше не может вернутьnull
(Firefox bug 819475). Если не удалось идентифицировать домен,domain
вернёт пустую строку вместоnull
.- Реализован метод
Console.timeLog()
, отображающий текущее значение таймера консоли без остановки самого таймера (Firefox bug 1458466). - Реализован метод
Console.countReset()
, сбрасывающий значение счётчика консоли (Firefox bug 1459279).
События DOM
Без изменений.
Сервис-воркеры
Без изменений.
Медиа, Web Audio и WebRTC
- Настройка
media.autoplay.enabled
распространяется не только на видео-, но и на аудиосодержимое (Firefox bug 1413098). - Интерфейс
ChannelSplitterNode
приведён в соответствие спецификации: по умолчанию у него 6 каналов,channelInterpretation
имеет значение"discrete"
, аchannelCountMode
—"explicit"
(Firefox bug 1456265).
Удалено
- Поддержка событий
userproximity
,deviceproximity
(см.UserProximityEvent
иDeviceProximityEvent
) отключена по умолчанию и управляется настройкойdevice.sensors.proximity.enabled
(Firefox bug 1462308). - Поддержка события
devicelight
(см. такжеDeviceLightEvent
) отключена по умолчанию и управляется настройкойdevice.sensors.ambientLight.enabled
(Firefox bug 1462308). - События мутации
DOMSubtreeModified
иDOMAttrModified
больше не выбрасываются, когда атрибутstyle
изменяется с помощью CSSOM (Firefox bug 1460295). - Прекращена поддержка
CSSStyleDeclaration.getPropertyCSSValue()
(Firefox bug 1408301). - Прекращена поддержка
CSSValue
,CSSPrimitiveValue
иCSSValueList
(Firefox bug 1459871). window.getComputedStyle()
больше не возвращаетnull
, если вызван наWindow
, у которого нет представления (Firefox bug 1467722).
HTTP
Удалено
- Удалена поддержка устаревшей CSP-директивы
referrer
. Вместо неё следует использовать заголовокReferrer-Policy
(Firefox bug 1302449).
Безопасность
Без изменений.
Плагины
Без изменений.
WebDriver (Marionette)
Новые возможности
-
Команда
WebDriver:ElementSendKeys
приносит в WebDriver возможность загружать файлы (Firefox bug 1448792). -
Запросы к пользователю, вызванные событиями
beforeunload
, автоматически отклоняются для командWebDriver:Get
,WebDriver:Back
,WebDriver:Forward
,WebDriver:Refresh
иWebDriver:Close
(Firefox bug 1434872). -
WebDriver:PerformActions
при нажатииCtrl
+
Click
синтезирует событиеcontextmenu
(Firefox bug 1421323).
Изменения API
- Удалены устаревшие конечные точки, включая
getWindowPosition
,setWindowPosition
,getWindowSize и
setWindowSize
(Firefox bug 1348145). - Команды WebDriver, возвращающие успех с данными
null
, отныне возвращают пустой словарь (Firefox bug 1461463).
Исправленные ошибки
WebDriver:ExecuteScript
вызывал ошибку циклической ссылки для коллекций WebElement (Firefox bug 1447977).- Отправка примитива действия
pointerMove
илиpause
могла привести к зависанию, таким образом, команда никогда не отправляла ответ (Firefox bug 1467743, Firefox bug 1447449).
Прочее
Без изменений.
Изменения для разработчиков дополнений
Изменения API
- Добавлен API
webRequest.getSecurityInfo()
, позволяющий получить подробные сведения о TLS-соединениях (Firefox bug 1322748). - Добавлен
browserSettings.newTabPosition
, позволяющий настроить положение новой вкладки (Firefox bug 1344749). windowTypes
объявлен устаревшим вwindows.get()
,windows.getCurrent()
иwindows.getLastFocused()
(Firefox bug 1419132).- Появилась возможность изменять каждое окно браузера в отдельности (Firefox bug 1419893).
Изменения манифеста
-
Новое свойство
open_at_install
ключаsidebar_action
манифеста позволяет дополнениям при установке автоматически открывать или не открывать боковые панели (Firefox bug 1460910). -
Изменено свойство
browser_style
различных ключей манифеста:- У
page_action
иbrowser_action
оно по умолчанию сталоfalse
. - У
sidebar_action
иoptions_ui
оно по умолчанию сталоtrue
.
- У
Изменения темы
- Новое свойство
tab_background_separator
ключаtheme
манифеста позволяет дополнениям изменять цвет разделителя вкладок (Firefox bug 1459455).
Удалено
- Прекращена поддержка установки распакованных дополнений (Firefox bug 1385057).
- Убран показ предупреждения о
browser_style
при временной загрузке дополнения для тестирования (Firefox bug 1404724).
Предыдущие версии
- Firefox 61 для разработчиков
- Firefox 60 для разработчиков
- Firefox 59 для разработчиков
- Firefox 58 для разработчиков
- Firefox 57 для разработчиков
- Firefox 56 для разработчиков
- Firefox 55 для разработчиков
- Firefox 54 для разработчиков
- Firefox 53 для разработчиков
- Firefox 52 для разработчиков
- Firefox 51 для разработчиков
- Firefox 50 для разработчиков
- Firefox 49 для разработчиков
- Firefox 48 для разработчиков
- Firefox 47 для разработчиков
- Firefox 46 для разработчиков
- Firefox 45 для разработчиков
- Firefox 44 для разработчиков
- Firefox 43 для разработчиков
- Firefox 42 для разработчиков
- Firefox 41 для разработчиков
- Firefox 40 для разработчиков
- Firefox 39 для разработчиков
- Firefox 38 для разработчиков
- Firefox 37 для разработчиков
- Firefox 36 для разработчиков
- Firefox 35 для разработчиков
- Firefox 34 для разработчиков
- Firefox 33 для разработчиков
- Firefox 32 для разработчиков
- Firefox 31 для разработчиков