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