Firefox 68 for developers
Эта статья содержит информацию об изменениях в Firefox 68, которые касаются разработчиков. Firefox 68 был выпущен 9 июля 2019.
Изменения для веб разработчиков
Инструменты разработчика
Браузер/веб консоль
- Веб консоль теперь предоставляет больше информации о CSS предупреждениях, включая древо DOM-элементов, которые используют CSS-правило (Firefox bug 1093953).
- Теперь вы можете фильтровать контент Веб консоли, пользуясь регулярными выражениями (Firefox bug 1441079).
- The Browser console now allows you to show or hide messages from the content process by setting or clearing the checkbox labeled Show Content Messages (Firefox bug 1260877).
JavaScript дебаггер
-
Теперь вы можете осуществлять Поиск по всем файлам проекта с помощью дебаггера, нажав
Shift
+
Ctrl
+
F
(Windows or Linux) или
Shift
+
Cmd
+
F
(macOS) (Firefox bug 1320325).
Сетевой монитор
- В списке запросов Сетевой монитора теперь можно блокировать определённые URL (Firefox bug 1151368).
- Теперь вы можете повторно отправить запрос без редактирования метода, URL, параметров и заголовков, используя команду Переотправить в контекстном меню (Firefox bug 1422014).
- Контекстное меню Сетевого монитора, вкладка Заголовки, теперь позволяет вам скопировать всю или же некоторую информацию о заголовках в формате JSON (Firefox bug 1442249).
Инспектор страниц
- На панель со стилями в Инспекторе страниц, была добавлена кнопка, позволяющая переключиться в режим симуляции печати (Firefox bug 1534984).
- Панель со шрифтами теперь имеет ползунок для изменения
letter-spacing
(Firefox bug 1536237). - Значок предупреждения появляется рядом с неподдерживаемыми CSS правилами или правилами, которые имеют некорректные значения, для того, чтобы помочь вам понять, почему некоторые стили не были применены (Firefox bug 1306054).
Инспектор хранилища
- Теперь вы можете удалять локальные или сессионные записи в хранилище, выбрав строку в инспекторе хранилища и нажав кнопку backspace (Firefox bug 1522893).
Прочее
- Инспектор поддержки доступности теперь имеет функцию Проверить на ошибки, которая включает в себя число инструментов аудита, чтобы выявить проблемы с доступностью на ваших веб-страницах. Первая доступная проверка — контраст, позволяющая выявить проблемы с цветовым контрастом.
- Надстройка контроля видимости внутренних расширений (системных дополнений и скрытых) на странице about:debugging была изменена с
devtools.aboutdebugging.showSystemAddons
наdevtools.aboutdebugging.showHiddenAddons
(Firefox bug 1544372). - Режим адаптивного дизайна был переработан — окошко Параметры устройства (меню выбора устройства > Изменить список...) теперь более интуитивное и стало проще в использовании (Firefox bug 1487857).
Удалённые
- Флажок "Включить дополнение при отладке" был удалён со страницы about:debugging (Firefox bug 1544813).
HTML
- Элемент
<track>
— предоставленныйHTMLTrackElement
— теперь получаетcuechange
событие в дополнение кTextTrack
, если текст трека содержится в медиа элементе (Firefox bug 1548731). <link>
элементы снова поддерживают атрибутdisabled
, с другим поведением. Когдаdisabled
установлен на элементе<link>
вместе сrel="stylesheet"
, то стили не загружаются во время загрузки страницы, будут загружены лишь тогда, когда атрибутdisabled
будет изменён наfalse
, либо удалён (Firefox bug 1281135).
Удалённые
<meta http-equiv="set-cookie">
больше не поддерживается (Firefox bug 1457503).
CSS
-
CSS Scroll Snapping был обновлён до последней версии спецификации (Firefox bug 1312163) и (Firefox bug 1544136):
- Свойство
scroll-padding
(Firefox bug 1373832) - Свойство
scroll-margin
(Firefox bug 1373833) scroll-snap-align
(Firefox bug 1373835)
- Свойство
-
Свойство
-webkit-line-clamp
было добавлено для обратной совместимости с другими браузерами (Firefox bug 866102). -
Для псевдо-элементов была добавлена поддержка
::marker
(Firefox bug 205202) и псевдо::marker
для анимации (Firefox bug 1538618) -
Мы изменили
<currentColor>
на вычисляемое значение (кроме свойстваcolor
) (Firefox bug 760345). -
Support has been fixed for the
ch
length unit so it now matches the spec (fallback for no '0' glyph, vertical metrics) (Firefox bug 282126) -
Свойство
counter-set
реализовано. (Firefox bug 1518201). -
Мы реализовали нумерацию списков, используя встроенный счётчик "list-item"; это исправило баги с нумерацией списков (Firefox bug 288704).
-
Selector matching and parsing support has been implemented for
::part()
(Firefox bug 1545430) and (Firefox bug 1545425). -
CSS Transforms теперь поддерживаются в косвенно рендерящихся вещах e.g.)
<mask>
,<marker>
,<pattern>
,<clipPath>
(Firefox bug 1323962). -
While we're keeping the prefixed versions of the various gradient properties (
linear-gradient()
,radial-gradient()
, andrepeating-radial-gradient()
available for compatibility reasons, we have revised how they're parsed so that they're handled much more like the non-prefixed versions. This means that certain existing styles won't work correctly.In particular, the complicated syntax taking both an angle and a position will no longer work, and the
to
keyword in the<side-or-corner>
parameter is not required for the prefixed gradient properties. You are encouraged to use the standard, non-prefixed gradient properties instead, as they're now widely supported (Firefox bug 1547939).
Удалённые
scroll-snap-coordinate
,scroll-snap-destination
,scroll-snap-type-x
иscroll-snap-type-y
были удалены.- Свойство
scroll-snap-type
стало лонгхэнд, старый шортханд синтаксисscroll-snap-type:mandatory
больше не работает.
SVG
Без изменений.
JavaScript
- Новый примитив
BigInt
теперь включён по умолчанию (Firefox bug 1527902).
APIs
Объектная модель CSS (CSSOM)
- Наследие свойств
rules
,addRule()
иremoveRule()
методов было добавлено в интерфейсCSSStyleSheet
. Это было введено в Internet Explorer 9 и никогда полностью не искоренялось, они добавили это для улучшения обратной совместимости с небольшим процентом сайтов, которые всё ещё пользовались этим (Firefox bug 1545823).
DOM
- Visual Viewport API было включено по умолчанию на Android (Firefox bug 1512813). Добавление API для настольной версии Firefox теперь отслеживается в Firefox bug 1551302.
- Возможность
Window
noreferrer
теперь поддерживается; если указана, то новый контент окон будет загружен без передачи имени хоста, IP адреса, URL и прочей идентифицирующей устройство информации (Firefox bug 1527287). - Метод
decode()
наHTMLImageElement
реализован. Это может быть использовано для запуска загрузки и декодирования изображения до добавления его в DOM (Firefox bug 1501794). XMLHttpRequest
был обновлён и больше не принимает нестандартное значениеmoz-chunked-arraybuffer
дляresponseType
. Код, использующий это, должен быть обновлён, чтобы использовать Fetch API как поток (Firefox bug 1120171).XMLHttpRequest
теперь выводит предупреждения в консоль, если выполняется синхронный запрос во время обработкиunload
,beforeunload
,pagehide
(Firefox bug 980902).- Свойство
cookie
было перенесено из интерфейсаHTMLDocument
вDocument
, позволяя документам отличным от HTML использовать куки (Firefox bug 144795). - Методы
HTMLElement.focus()
иSVGElement.focus()
теперь принимают необязательный объект, который может содержать булеву опциюpreventScroll
, определяющую: должна или не должна происходить блокировка браузером прокрутки элемента с фокусом в поле зрения (Firefox bug 1374045).
События DOM
- Firefox для Android больше не отправляет неправильное событие
resize
, пока не будет отрисован первый фрейм; это улучшит совместимость с сайтами, которые не ожидают, что это событие произойдёт (Firefox bug 1528052). - Рассылка событий для неосновных кнопок мыши было изменено ближе к спецификации; Событие
click
больше не вызывается, когда неосновные кнопки мыши были нажат, в отличие от событияauxclick
. В дополнение,dblclick
больше на срабатывает для неосновных кнопок мыши (Firefox bug 1379466). - Собственное свойство
MouseEvent.mozPressure
объявлено устаревшим и теперь при вызове сопровождается предупреждением в консоли (Firefox bug 1165211).
Медиа, Веб-аудио и WebRTC
-
WebRTC был обновлён и распознаёт
null
, отправленное в обработчик событияicecandidate
, сообщая о получении, вместо того, чтобы никак не реагировать на это; когда это происходит, ICE состояние (iceGatheringState
) становитсяcomplete
(Firefox bug 1318167). -
Методы
RTCRtpReceiver
,getContributingSources()
иgetSynchronizationSources()
теперь поддерживают видеодорожки; ранее они работали только с audio (Firefox bug 1534466). -
Web Audio API интерфейс
MediaStreamTrackAudioSourceNode
теперь поддерживается, как методAudioContext.createMediaStreamTrackSource()
(Firefox bug 1324548). -
RTCDataChannel.negotiated
теперь реализован (Firefox bug 1529695). -
Конструктор
MediaStreamAudioSourceNode()
был обновлён в соответствии со спецификацией, где "first audio track" в потоке дорожка, идентификатора которой приходит первым в лексикографическом порядке (Firefox bug 1324548). -
getUserMedia()
больше не может быть использован из небезопасного контекста; попытки сделать это будут сопровождаться исключениемNotAllowedError
. Безопасными контекстами считаются те, которые загруженные через HTTPS, либо которые использую схемуfile:///
, либо загружены изlocalhost
. Сейчас, если необходимо, вы можете включить возможность совершать небезопасные вызовыgetUserMedia()
, установив надстройкуmedia.getusermedia.insecure.enabled
в состояниеtrue
(Firefox bug 1335740).Примечание: В будущем, Firefox также удалит свойство
navigator.mediaDevices
на незащищённых контекстах, предотвратив доступ кMediaDevices
API. Это уже так в Nightly сборках.
Удалённые
- Удалён нестандартный метод
XMLDocument.load()
(Firefox bug 332175). - Удалён нестандартное свойство
XMLDocument.async
(Firefox bug 1328138). - Значение
RTCIceCredentialType
token
было удалено (Firefox bug 1529595).
HTTP
- HTTP заголовок
Clear-Site-Data
больше не поддерживает директивуexecutionContexts
. This was removed due to problems with interactions between interconnections among different kinds of data at different points in the navigation process and the way the specification is designed. Было предложено этой директивы из спецификации из-за вышеуказанных причин, включая эту (Firefox bug 1548034).
Удалённые
- Директива
Content-Security-Policy
require-sri-for
больше не поддерживается из-за её неоднозначного статуса в спецификации. Ранее она была добавлена лишь в качестве надстройки, отключённой по умолчанию (Firefox bug 1386214).
Безопасность
- Из-за изменений вследствие CVE-2019-11730: Same-origin policy treats all files in a directory as having the same-origin, Firefox теперь обращается к файлам в одной и той же директории так, будто бы они из разных папок. Это спровоцировало некоторые побочные эффекты с файлами вида file:// (смотрите Firefox bug file-fallout). Например, workers больше не могут быть загружены.
Соответствия WebDriver (Marionette)
Исправления багов
- If
WebDriver:SwitchToWindow
changes the selection to a different window it now waits for itsfocus
andactivate
events before returning (Firefox bug 1335085). - Исправлена ошибка
TypeError: this.tabModal is null
, которая иногда появлялась при взаимодействии с модальным окном или пользовательскими подсказками (Firefox bug 1538782)
Прочее
- Отключена функция принудительной выгрузки вкладок при нехватки памяти, для предотвращения магических исчезновений top-level контекстов браузера (Firefox bug 1553748).
- Disabled priviledged content processes that caused HTTP authentication dialogs not to appear when navigating to a website after opening a new tab (Firefox bug 1558763).
Плагины
Без изменений.
Изменения для разработчиков дополнений
Изменения API
- Функции proxy.register() и proxy.unregister() объявлены устаревшими и будут удалены в Firefox 71 (Firefox bug 1545811).
- Сообщения об ошибке, когда дополнение пытается добавить папку с закладками в основную папку, теперь более интуитивно понятное (Firefox bug 1512171).
- Promise, возвращённый
browser.tabs.duplicate()
, выполняется сразу, пока вкладки не загружены полностью, для повышения производительности (Firefox bug 1394376). - Была добавлена поддержка chrome.storage.managed, позволяющая настройкам быть реализованным через корпоративную политику (Firefox bug 1230802).
- Появилась опция Групповой Политики, позволяющая добавить все расширения в чёрный список, за исключением тех, что внесены в белый, (Firefox bug 1522823).
Изменения манифеста
Без изменений.
Предыдущие версии
- Firefox 67 для разработчиков
- Firefox 66 для разработчиков
- Firefox 65 для разработчиков
- Firefox 64 для разработчиков
- Firefox 63 для разработчиков
- Firefox 62 для разработчиков
- 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 для разработчиков