Firefox 68 for developers

В процессе перевода.

Эта статья содержит информацию об изменениях в Firefox 68, которые касаются разработчиков. Firefox 68 был выпущен 9 июля 2019.

Изменения для веб разработчиков

Инструменты разработчика

Браузер/веб консоль

  • Веб консоль теперь предоставляет больше информации о CSS предупреждениях, включая древо DOM элементов, которые используют CSS-правило (баг 1093953).
  • Теперь вы можете фильтровать контент Веб консоли, пользуясь регулярными выражениями (баг 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 (баг 1260877).

JavaScript дебаггер

  • Теперь вы можете осуществлять Поиск по всем файлам проекта с помощью дебаггера, нажав Shift + Ctrl + F (Windows or Linux) или Shift + Cmd + F (macOS) (баг 1320325).

Сетевой монитор

  • В списке запросов Сетевой монитора теперь можно блокировать определённые URL (баг 1151368).
  • Теперь вы можете повторно отправить запрос без редактирования метода, URL, параметров и заголовков, используя команду Переотправить в контекстном меню (баг 1422014).
  • Контектное меню Сетевого монитора, вкладка Заголовки, теперь позволяет вам скопировать всю или же некоторую информацию о заголовках в формате JSON (баг 1442249).

Инспектор страниц

  • На панель со стилями в Инспекторе страниц, была добавлена кнопка, позволяющая переключиться в режим симуляции печати (баг 1534984).
  • Панель со шрифтами теперь имеет ползунок для изменения letter-spacing (баг 1536237).
  • Значок предупреждения появляется рядом с неподдерживаемыми CSS правилами или правилами, которые имеют некорректные значения, для того, чтобы помочь вам понять, почему некоторые стили не были применены (баг 1306054).

Инспектор хранилища

Прочее

  • Инспектор поддержки доступности теперь имеет функцию Проверить на ошибки, которая включает в себя число инструментов аудита, чтобы выявить проблемы с доступностью на ваших веб-страницах. Первая доступная проверка — контраст, позволяющая выявить проблемы с цветовым контрастом.
  • Надстройка контроля видимости внутренних расширений (системных дополнений и скрытых) на странице about:debugging была изменена с devtools.aboutdebugging.showSystemAddons на devtools.aboutdebugging.showHiddenAddons (баг 1544372).
  • Режим адаптивного дизайна был переработан — окошко Параметры устройства (меню выбора устройства > Изменить список...) теперь более интуитивное и стало проще в использовании (баг 1487857).

Удаленные

  • Флажок "Включить дополнение при отладке" был удалён со страницы about:debugging (баг 1544813).

HTML

  • Элемент <track> — предоставленный HTMLTrackElement — теперь получает cuechange событие в дополнение к TextTrack, если текст трека содержится в медиа элементе (баг 1548731).
  • <link> элементы снова поддерживают атрибут disabled, с другим поведением. Когда disabled установлен на элементе <link> вместе с rel="stylesheet", то стили не загружаются во время загрузки страницы, будут загружены лишь тогда, когда атрибут disabled будет изменён на false, либо удалён (баг 1281135).

 Удалённые

CSS

  • CSS Scroll Snapping был обновлён до последней версии спецификации (баг 1312163) и (баг 1544136):
  • Свойство -webkit-line-clamp было добавлено для обратной совместимости с другими браузерами (баг 866102).
  • Для псевдо-элементов была добавлена поддержка ::marker (баг 205202) и псевдо ::marker для анимации (баг 1538618)
  • Мы изменили currentcolor на вычисляемое значение (кроме свойства color)  (баг 760345).
  • Support has been fixed for the ch length unit so it now matches the spec (fallback for no '0' glyph, vertical metrics) (баг 282126)
  • Свойство counter-set реализовано. (баг 1518201).
  • Мы реализовали нумерацию списков, используя встроенный счётчик "list-item"; это исправило баги с нумерацией списков (баг 288704).
  • Selector matching and parsing support has been implemented for ::part() (баг 1545430) and (баг 1545425).
  • CSS Transforms теперь поддерживаются в косвенно рендерящихся вещах e.g.)  <mask>,  <marker>,  <pattern>,  <clipPath> (баг 1323962).
  • While we're keeping the prefixed versions of the various gradient properties (linear-gradient, radial-gradient, and repeating-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 (баг 1547939).

Удаленные

SVG

Без изменений.

JavaScript

  • Новый примитив BigInt теперь включён по умолчанию (баг 1527902).

APIs

Объектная модель CSS (CSSOM)

  • Наследие свойств rules, addRule() и removeRule() методов было добавлено в интерфейс CSSStyleSheet. Это было введено в Internet Explorer 9 и никогда полностью не искоренялось, они добавили это для улучшения обратной совместимости с небольшим процентом сайтов, которые всё ещё пользовались этим (баг 1545823).

DOM

  • Visual Viewport API было включено по умолчанию на Android (баг 1512813). Добавление API для настольной версии Firefox теперь отслеживается в баг 1551302.
  • Возможность Window noreferrer теперь поддерживается; если указана, то новый контент окон будет загружен без передачи имени хоста, IP адреса, URL и прочей идентифицирующей устройство информации (баг 1527287).
  • Метод decode() на HTMLImageElement реализован. Это может быть использовано для запуска загрузки и декодирования изображения до добавления его в DOM (баг 1501794).
  • XMLHttpRequest был обновлён и больше не принимает нестандартное значение moz-chunked-arraybuffer для responseType. Код, использующий это, должен быть обновлён, чтобы использовать Fetch API как поток (баг 1120171).
  • XMLHttpRequest теперь выводит предупреждения в консоль, если выполняется синхронный запрос во время обработки unload, beforeunload, pagehide (баг 980902).
  • Свойство cookie было перенесено из интерфейса HTMLDocument в Document, позволяя документам отличным от HTML использовать куки (баг 144795).
  • Методы HTMLElement.focus() и SVGElement.focus() теперь принимают необязательный объект, который может содержать булеву опцию preventScroll, определяющую: должна или не дожна происходить блокировка браузером прокрутки элемента с фокусом в поле зрения (баг 1374045).

События DOM

  • Firefox для Android больше не отправляет неправильное событие resize, пока не будет отрисован первый фрейм; это улучшит совместимость с сайтами, которые не ожидают, что это событие произойдёт (баг 1528052).
  • Рассылка событий для неосновных кнопок мыши было измненено ближе к спецификации; Событие click больше не вызывается, когда неосновные кнопки мыши были нажат, в отличие от события auxclick. В дополнение, dblclick больше на срабатывает для неосновных кнопок мыши (баг 1379466).
  • Собственное свойство MouseEvent.mozPressure объявлено устаревшим и теперь при вызове сопровождается предупреждением в консоли (баг 1165211).

Медиа, Веб-аудио и WebRTC

  • WebRTC был обновлён и распознаёт null, отправленное в обработчик события icecandidate, сообщая о получении, вместо того, чтобы никак не реагировать на это; когда это происходит, ICE соостояние (iceGatheringState) становится complete (баг 1318167).
  • Методы RTCRtpReceiver,getContributingSources() и getSynchronizationSources() теперь поддерживают видеодорожки; ранее они работали только с audio (баг 1534466).
  • Web Audio API интерфейс MediaStreamTrackAudioSourceNode теперь поддерживается, как метод AudioContext.createMediaStreamTrackSource() (баг 1324548).
  • RTCDataChannel.negotiated теперь реализован (баг 1529695).
  • Конструктор MediaStreamAudioSourceNode() был обновлён в соотвествии со спецификацией, где "first audio track" в потоке дорожка, идентификаторой которой приходит первым в лексикографическом порядке (баг 1324548).
  • getUserMedia() больше не может быть использован из небезопаного контекста; попытки сделать это будут сопровождаться исключением NotAllowedError. Безопасными контекстами считаются те, которые загруженные через HTTPS, либо которые использую схему  file:///, либо загружены из localhost. Сейчас, если необходимо, вы можете включить возможность совершать небезопасные вызовы getUserMedia(), установив надстройку media.getusermedia.insecure.enabled в состояние true (баг 1335740).

    Заметка: В будущем, Firefox также удалит свойство navigator.mediaDevices на незащищённых контекстах, предотратив доступ к  MediaDevices API. Это уже так в Nightly сборках.

Удалённые

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. Было предложено этой директивы из спецификации из-за вышеуказанных причин, включая эту (баг 1548034).

Удалённые

  • Директива Content-Security-Policy require-sri-for больше не поддерживается из-за её неоднозначного статуса в спецификации. Ранее она была добавлена лишь в качестве надстройки, отключенной по умолчанию (баг 1386214).

Безопасность

  • Из-за изменений вследствие CVE-2019-11730: Same-origin policy treats all files in a directory as having the same-origin, Firefox теперь обращается к файлам в одной и той же директории так, будто бы они из разных папок. Это спровоцировало некоторые побочные эффекты с файлами вида file:// (смотрите баг file-fallout). Например, workers больше не могут быть загружены.

Соответствия WebDriver (Marionette)

Исправления багов

  • If WebDriver:SwitchToWindow changes the selection to a different window it now waits for its focus and activate events before returning (баг 1335085).
  • Исправлена ошибка TypeError: this.tabModal is null, которая иногда появлялась при взаимодействии с модальным окном или пользовательскими подсказками (баг 1538782)

Прочее

  • Отключена функция принудительной выгрузки вкладок при нехватки памяти, для предоствращения магических исчезновений top-level контекстов браузера (баг 1553748).
  • Disabled priviledged content processes that caused HTTP authentication dialogs not to appear when navigating to a website after opening a new tab (баг 1558763).

Плагины

Без изменений.

Изменения для разработчкиов дополнений

Изменения API

  • Функции proxy.register() и proxy.unregister() объявлены устаревшими и будут удалены в Firefox 71 (баг 1545811).
  • Сообщения об ошибке, когда дополнение пытается добавить папку с закладками в основную папку, теперь более интуитивно понятное (баг 1512171).
  • Promise, возвращённый browser.tabs.duplicate(), выполняется сразу, пока вкладки не загружены полность, для повышения производительности (баг 1394376).
  • Была добавлена поддержка chrome.storage.managed, позволяющая настройкам быть реализованым через корпоративную политику (баг 1230802).
  • Появилась опция Групповой Политики, позволяющая добавить все расширения в черный список, за исключением тех, что внесены в белый, (баг 1522823).

Изменения манифеста

Без изменений.

Смотрите также

Предыдущие версии

Метки документа и участники

Метки: 
Внесли вклад в эту страницу: art-gur
Обновлялась последний раз: art-gur,