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