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 для разработчиков