Firefox 65 для разработчиков

В этой статье перечислены ключевые изменения, которые касаются разработчиков. Firefox 64 был выпущен 29 января 2019 года.

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

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

  • Включён по умолчанию инспектор Flexbox (en-US).
  • Отладчик JavaScript получил поддержку точек останова XHR (Firefox bug 821610).
  • Щелчок правой кнопкой по элементу дерева доступности позволяет вывести его в JSON-формате.
  • Если фон текста является сложным (например, градиент или сложное изображение), инструмент цветового контраста в инспекторе доступности покажет диапазон значений цветового контраста.
  • Во вкладку «Заголовки» сетевого монитора добавлено отображение политики Referrer для выбранного запроса (Firefox bug 1496742).
  • При просмотре трассировки стека (например, в журналах консоли или отладчике JavaScript) вызовы методов фреймворка распознаются и по умолчанию сворачиваются, что облегчает размещение вашего кода.
  • Подобно традиционным терминалам теперь можно использовать обратный поиск в истории консоли JavaScript( F9 в Windows/Linux или Ctrl + R в macOS, затем ввести искомое, а сочетаниями Ctrl + R / Ctrl + S переключаться между результатами).
  • Сокращение $0 в консоли JavaScript (ссылается на инспектируемый в данный момент элемент страницы) обзавелось возможностью автодополнения. Например, вы можете ввести $0.te, чтобы получить предложения автодополнения для свойств наподобие $0.textContent.
  • Правки, внесённые через просмотр правил в Инспекторе, теперь отображаются на вкладке «Изменения» (Firefox bug 1503920).

HTML

CSS

  • Убран префикс у значения crisp-edges свойства image-rendering (en-US) (Firefox bug 1496617).
  • Значение auto scrollbar-color (en-US) теперь разрешается в auto, а не в два цвета (Firefox bug 1501418).
  • Реализована поддержка свойств break-* (Firefox bug 775618):
  • Реализована поддержка значения anywhere у свойства overflow-wrap (Firefox bug 1505786).
  • Добавлены новые ключевые слова jump-start, jump-end, jump-none и jump-both, используемые внутри временной функции steps() (en-US) (Firefox bug 1496619). Функция frames(), ранее использовавшаяся для этого, объявлена устаревшей.
  • Для совместимости с прочими браузерами добавлены несколько новых значений -webkit-appearance. В частности:
    • meter, которое отныне используется в качестве значения по умолчанию для элементов <meter>; существующее значение meterbar теперь является псевдонимом meter (Firefox bug 1501483).
    • progress-bar, которое отныне используется в качестве значения по умолчанию для элементов <progress>; существующее значение progressbar теперь является псевдонимом progress-bar (Firefox bug 1501506).
    • textarea, которое отныне используется в качестве значения по умолчанию для элементов <textarea> (en-US); существующее значение textfield-multiline теперь является псевдонимом textarea (Firefox bug 1507905)
  • Изменено поведение user-select, чтобы достичь сходства с прочими браузерами (Firefox bug 1506547). Конкретно:
    • user-select: all, установленное на элемент, больше не перекрывает значения user-select дочерних элементов. Пример:
      html
      <div style="-webkit-user-select: all">
        All
        <div style="-webkit-user-select: none">None</div>
      </div>
      
      <div>, на который установлен none, теперь не выбирается. До этого значение none перекрывалось значением all родительского элемента.
    • Теперь можно выбирать элементы не-contenteditable, вложенные в элементы contenteditable.
    • user-select теперь ведёт себя согласованно внутри и снаружи теневого DOM.
    • Удалено проприетарное значение -moz-text.
  • Реализована поддержка переменных среды CSS (функция env() (en-US)) (Firefox bug 1462233).

Удалено

SVG

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

JavaScript

API

Новые API

DOM

События DOM

Веб-воркеры

Fetch и сервис-воркеры

Media, Web Audio и WebRTC

Canvas и WebGL

Удалено

  • Отключена мутация событий (en-US) в теневых деревьях (Firefox bug 1489858).
  • Удалено нестандартное свойство currentTime MediaStream (Firefox bug 1502927).
  • Удалены настройки dom.webcomponents.shadowdom.enabled и dom.webcomponents.customelements.enabled — больше нельзя отключить поддержку Shadow DOM и Custom Elements через about:config (Firefox bug 1503019).
  • Удалено нестандартное событие DOM text, срабатывавшее, чтобы уведомить пользовательский интерфейс редактора браузера о строках данных композиции IME и диапазоне выбора (Firefox bug 1288640).
  • Событие keypress (en-US) больше не срабатывает для непечатаемых клавиш (en-US) (Firefox bug 968056) за исключением клавиши Enter и комбинаций Shift + Enter и Ctrl + Enter (сохранены для кроссбраузерной совместимости).

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

Сеть

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

Плагины

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

WebDriver (Marionette)

Изменения API

  • WebDriver:ElementSendKeys при проверке интерактивности обрабатывает <input type=file> менее строго, позволяя скрывать эти элементы без возникновения ошибки not interactable. Если требуется строгая проверка, следует использовать strictFileInteractability (Firefox bug 1502864).

Исправленные ошибки

  • Команды для манипуляций окнами WebDriver:FullscreenWindow, WebDriver:MinimizeWindow, WebDriver:MaximizeWindow и WebDriver:SetWindowRect стали более стабильными (Firefox bug 1492499). При определённых обстоятельствах они больше не вызывают бесконечное зависание, но ожидают в течение 5 секунд, если запрошенное состояние окна не может быть достигнуто (Firefox bug 1521527).
  • WebDriver:ElementClick отныне корректно высчитывает центр элемента для щелчка по нему, что позволяет взаимодействовать с элементами, имеющими размер 1x1 пиксель (Firefox bug 1499360).

Прочее

  • При возникновении ошибки unexpected alert open выводятся более понятные сообщения (Firefox bug 1502268).

Прочее

  • Добавлена поддержка изображений в формате WebP (en-US) (Firefox bug 1294490).
    • Кроме того, для улучшения кросс-браузерной совместимости MIME-тип WebP (image/webp) был добавлен в стандартный заголовок HTTP-запроса Accept для файлов HTML (Firefox bug 1507691).

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

Изменения API

Вкладки

  • tabs API (en-US) обзавёлся поддержкой наследников вкладок — вкладке можно назначить ID вкладки-наследника, которая станет активной, когда первая вкладка закроется (Firefox bug 1500479, см. также эту запись в блоге для получения подробных сведений). В частности:
    • Тип tabs.Tab (en-US) получил свойство successorId, используемое для хранения/получения ID вкладки-наследника.
    • Колбэк обработчика событий tabs.onActivated (en-US) получил новый параметр, previousTabId, содержащий ID предыдущей активированной вкладки, если она всё ещё открыта.
    • Объект updateProperties функции tabs.update() (en-US) обзавёлся новым свойством successorTabId, которое служит для его обновления.
    • successorTabId также возвращается функциями наподобие tabs.get() и tabs.query() (en-US).
    • Новая функция tabs.moveInSuccession() позволяет массово манипулировать наследниками вкладок.

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

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

Прочее

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