LINUX.ORG.RU

Firefox 55

 , ,


3

5

Доступен выпуск Firefox 55.

Основные изменения:

  • Необратимо изменился формат профиля. Профиль, единожды запущенный в Firefox 55, уже не получится использовать с более ранними версиями.
  • Существенно ускорено восстановление сессий с большим числом вкладок. С 1691 открытой вкладкой открытие браузера теперь занимает 15 секунд вместо 5-8 минут, а потребляемая память снизилась в два раза (сами страницы при этом не загружались).
  • Боковая панель (закладки, история) теперь может быть перемещена к правому краю экрана (раньше она принудительно размещалась слева).
  • Поисковые подсказки включены по умолчанию для всех пользователей, которые явно их не отключили в настройках.
  • Внизу выпадающего списка, появляющегося при вводе текста в адресную строку, размещены значки установленных поисковых систем, что позволяет производить поиск прямо из адресной строки (убрать их можно, установив настройке browser.urlbar.oneOffSearches значение «false»).
  • При наборе адреса сайта без указания протокола Firefox cначала постарается зайти на страницу по протоколу HTTPS, а потом уже по HTTP.
  • Встроенная в браузер защита от отслеживания пользователя теперь в 10 раз замедляет работу скриптов, следящих за пользователем (таких, как Google Analytics), когда пользователь переключается на другую вкладку.
  • В «Настройки → Основные» добавлен раздел «Производительность», позволяющий настроить использование аппаратного ускорения и числа процессов, используемых для обработки контента. Дополнительные процессы улучшают скорость работы с большим числом вкладок, но увеличивают потребление памяти. Кроме того, по умолчанию включено использование отдельного процесса для обработки локальных (file://) файлов, что защитит от чтения локальных файлов при компрометации браузера. Пользователи Windows 10 Anniversary Edition могут там же включить аппаратное ускорение VP9.
  • Для части пользователей включено по умолчанию добавленное в прошлом выпуске системное дополнение, позволяющее сделать скриншот выделенной или видимой области страницы, а также всей страницы целиком. Скриншоты автоматически загружаются на screenshots.firefox.com, где пользователь может установить срок хранения изображения, получить на него прямую ссылку, удалить, поделиться в соцсетях. Для включения дополнения (тем, у кого оно ещё не включилось) необходимо установить настройке extensions.screenshots.system-disabled значение «false». Для отключения добавлена настройка extensions.screenshots.disabled. Исходный код серверной части доступен на условиях лицензии MPL 2.0.
  • Flash-содержимое теперь отображается лишь после явного нажатия на него пользователем (с возможностью запомнить выбор для конкретного сайта). Это изменение будет поэтапно (через соответствующее системное дополнение) доведено до всех пользователей, которые пока могут от него отказаться, переключив настройку plugins.flashBlock.enabled. Кроме того, flash-содержимое будет работать лишь на страницах, загруженных по протоколам HTTP и HTTPS. Для ряда сайтов запуск любых плагинов запрещён полностью с целью обеспечения должного уровня приватности и безопасности. Поддержка flash будет полностью удалена в 2020 году, когда Adobe прекратит разработку плагина.
  • Реализована поддержка устройств виртуальной реальности. Примеры и демо на mozvr.com.
  • На платформе Linux доступен запуск в headless-режиме (флаг «--headless»).
  • Сайты, работающие по незащищённому протоколу, больше не могут получить доступ к Geolocation API, чтобы определить местоположение пользователя.
  • Добавлена настройка privacy.resistFingerprinting, включающая подмену различных свойств (как DOM, так и CSS), облегчающих составление уникального портрета пользователя (screenX, screenY, screen.width, screen.height и т. п.)
  • Упрощён вывод на печать из режима чтения.
  • Возвращена белорусская локализация (нашёлся мейнтейнер).
  • В интерфейсе управления дополнениями теперь наглядно видны устаревшие дополнения, которые перестанут работать в Firefox 57. Подробное объяснение необходимости этого шага от разработчика дополнений. Дополнения, использующие новый API WebExtensions, при изменении списка запрашиваемых разрешений теперь выдают запрос. В главное меню добавлено уведомление о том, что в браузер были установлены дополнения сторонними программами.
  • Пользователи macOS теперь могут назначить собственные горячие клавиши на различные пункты меню Firefox через «Настройки системы → Клавиатура → Горячие клавиши».

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

  • Множество изменений в разделе «Сеть»:
    • Добавлена возможность фильтрации сетевых запросов по значению столбца и другим свойствам (1041895, 1354508, 1354507), а также с помощью регулярных выражений (1354495).
    • Реализована возможность показывать и скрывать отдельные столбцы (862855).
    • Добавлены новые столбцы с удалённым адресом (1344523), протоколом (1345489), схемой (1356867), куками (1356869).
    • Поддержка HTTP-заголовка X-SourceMap удалена в пользу SourceMap (1346936).

HTML:

  • Элементы, у которых contenteditable имеет значение «true», теперь используют <div> для отделения строк текста друг от друга, как в прочих современных браузерах (1297414).
  • Атрибут xml:base больше не может использоваться для указания базового URL путей вместе с атрибутом style, например — <div xml:base="https://example.com/" style="background:url(picture.jpg)"></div> (1350521).
  • Поддержка атрибута scoped у элемента <style> скрыта за настройкой (layout.css.scoped-style.enabled), поскольку прочие браузеры его не поддерживают.
  • Удалена поддержка meta[http-equiv="MSThemeCompatible"]. Прочие браузеры его не поддерживают, также оно вызывало проблемы совместимости (966240).

CSS:

SVG:

  • Реализована поддержка атрибута fr элементом <radialGradient> (1240275).
  • Из спецификации и движка удалены интерфейсы SVGZoomEvent и SVGZoomEvents вместе с атрибутом <svg> «onzoom» (1314388).

JavaScript:

API/DOM:

  • Включена поддержка Background Tasks API (requestIdleCallback), позволяющего отложить вызов функции до тех пор, пока браузер не войдёт в состояние простоя (1314959).
  • На платформе Windows включена поддержка API WebVR 1.1. Этот API позволяет веб-приложениям работать с устройствами виртуальной реальности (например, со шлемами наподобие Oculus Rift и HTC Vive).
  • Реализована поддержка Intersection Observer API (1321865).
  • Свойства scrollX и scrollY объекта Window (и их синонимы pageXOffset и pageYOffset) обрели субпиксельную точность. Вместо того, чтобы возвращать целое число, теперь они возвращают значение с плавающей запятой (1151421). При необходимости можно преобразовать в целые числа с помощью Math.round().
  • MediaQueryList и связанные с ним возможности обновлены в соответствии с последними изменения в спецификации (1354441).
  • Методы DOMTokenList теперь автоматически убирают лишние пробелы и удаляют дублирующиеся токены (869788).
  • Свойство HTMLInputElement «maxLength» теперь может быть динамически изменено с помощью JavaScript после того, как создан HTML-эквивалент (1352799).
  • Конструктор URL() больше не принимает DOMString в качестве базы (2 параметр) — он принимает лишь USVString (1368950).
  • В соответствии со спецификацией обновлены типы событий, поддерживаемых методом Document.createEvent() (1251198).
  • Значение свойства MessageEvent.origin теперь имеет тип USVString, а не DOMString (1311324).
  • Жест «масштабирование щипком» сопоставлен событию wheel + Ctrl (которое обычно используется для масштабирования) (1052253).
  • Удалена поддержка свойства UIEvent.isChar. Оно не поддерживается прочими браузерами и было полностью реализовано лишь на платформе macOS.
  • Удалена поддержка проприетарного Device Storage API (1299500).
  • Удалён параметр «aShowDialog» у нестандартного метода Window.find() (1348409).
  • Удалён метод HTMLFormElement.requestAutoComplete() (см. HTMLFormElement) (1270740).
  • Удалён метод Window.showModalDialog() (981796).
  • HTMLMediaElement и AudioContext лишились поддержки проприетарного Audio Channels API (1358061).
  • Многочисленные обновления Selection API (1318312, 1359371).
  • Для совместимости с WebKit/Blink добавлены Selection.empty() и Selection.setPosition() в качестве ссылок на Selection.removeAllRanges() и Selection.collapse() (1359387).
  • Реализованы методы Storage API StorageManager.persist() и StorageManager.persisted() (1286717).
  • Воркеры могут быть созданы с идентифицирующим их свойством «name» (1364297).
  • Сервисные воркеры:
    • Сообщения, отправленные в контексты сервисных воркеров, теперь представлены объектами MessageEvent вместо ServiceWorkerMessageEvent (1311324).
    • Метод PushManager.subscribe() теперь принимает объекты ArrayBuffer и строки, закодированные Base64, в качестве значений «applicationServerKey» (1337348).
  • Web Audio API: нестандартный конструктор (который принимал строковое значение, указывающее на цель, с которой будет использован контекст) для интерфейса AudioContext выбрасывал ошибки, когда передавался параметр «options». Этот нестандартный конструктор удалён (1361475).
  • WebRTC:
    • getUserMedia() теперь предоставляет по умолчанию звуковой стереопоток, если его предоставляет устройство-источник (971528).
    • getUserMedia() «autoGainControl» и «noiseSuppression» избавлены от префикса moz- (1366415).
    • Исправлена ошибка, из-за которой getUserMedia() некорректно возвращал «NotSupportedError» вместо «TypeError» при вызове с пустым набором ограничений (1349480).
    • getStats() теперь можно вызывать напрямую на отправителях и получателях (1355220).
    • Поле «mozRtt» словаря RTCInboundRTPStreamStats переименовано в «roundTripTime»; поведение также приведено в соответствие спецификации (1344970).
    • Словарь RTCRTPStreamStats теперь включает поля «firCount», «pliCount» и «nackCount». Они предоставляют низкоуровневую информацию, полезную для определения отзывчивости соединения (1348657).
    • Словарь RTCOutboundRTPStreamStats теперь включает поле «framesEncoded», отражающее число успешно закодированных кадров; это позволяет вычислять частоту кадров (1348657).
    • Нестандартные опции «mozDontOfferDataChannel« и «mozBundleOnly» удалены из словаря RTCOfferOptions. Они больше не поддерживаются RTCPeerConnection.createOffer() (1196974).
  • Encrypted Media Extensions API:
    • Firefox допускал использование EME в небезопасных контекстах, что противоречит спецификации. Начиная с Firefox 55 такое использование будет приводить к выдаче предупреждения в консоль (1361000).
    • Firefox не требовал, чтобы как минимум один объект MediaKeySystemCapabilities был включён в параметр «suggestedConfigurations», переданный Navigator.requestMediaKeySystemAccess(), как того требует спецификация. Теперь в консоль будет выведено предупреждение, когда указана любая конфигурация звука или видео без указания поддерживаемых кодеков (428378).
  • WebGL: расширение WEBGL_compressed_texture_s3tc_srgb теперь доступно контекстам WebGL и WebGL2 (1325113).

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

>>> Примечания к выпуску для разработчиков

>>> Подробности

Ответ на: комментарий от robus

Видимо фича ещё недостаточно стабильна для дебиана, а вот в раче в aur есть

Ну какбэ aur - это не стандартная вещь рача, а стороняя помойка. Так то и в дебиан можно подключить тоже самое.

Но это не стандартный-ванильный хромиум.

anonymous ()
Ответ на: комментарий от robus

Но код существует и работает. Для Firefox нет ничего — они говорят, что нет ресурсов. Зато VP9 ускоряет под оффтопиком — на это ресурсы нашлись.

Потому что ресурсы нашлись у MS - именно они запилили легкий и готовый фремворк для использования в том числе VP9. Ни в macOS, ни в Linux такого нет.

anonymous ()
Ответ на: комментарий от anonymous

Ну какбэ aur - это не стандартная вещь рача, а стороняя помойка.

Эта «помойка» функционирует только благодаря makepkg.

Так то и в дебиан можно подключить тоже самое.

Ну подключи. И поставь хромиум с аппаратным ускорением.

Но это не стандартный-ванильный хромиум.

Тебе ваниль или фичи?

robus ★★ ()
Ответ на: комментарий от robus

Эта «помойка» функционирует только благодаря makepkg... Тебе ваниль или фичи?

Открываем ссылку «NOTE: I no longer have time to maintain this package. I am looking for a co-maintainer who would be willing to take over. I am willing to help you, but I no longer have the time to spend compiling and debugging. The version in the repo/on AUR is outdated and has certificate issues due to some timer inside Chromium that was triggered after a certain length of time from the build. 2016-08-01 05:11».

Да как так, тупой автор, все же само должно делаться волшебным makepkg

А мне нужно стабильное решение, а не что папало, которое зависит от свободного времени левого студента, который позанимается этим год и свалит. Ну и так долбишься с одним пактом меняя решения, и со всеми другими. Хотя для арчешкольника - это нормально.

anonymous ()
Ответ на: комментарий от anonymous

Да как так, тупой автор, все же само должно делаться волшебным makepkg

Оно не будет работать только благодаря makepkg. Оно просто не будет работать совсем без makepkg. Разницу между «необходимо» и «достаточно» нужно объяснять?

А мне нужно стабильное решение, а не что папало, которое зависит от свободного времени левого студента, который позанимается этим год и свалит.

Ставь оффтопик XP — он самый стабильный.

robus ★★ ()
Ответ на: комментарий от i-rinat

Этой фиче уже много лет, но штатно она включается только в сборках под ChromeOS. По тем ссылкам Chromium похачивают, чтобы этот код включить.

Забавно. «У нас есть решение, но мы его вам не дадим.»

robus ★★ ()

Чем бесит лиса, по сравнению с хромым, так это тем, что щелчок по части урла не выделяет слово, обрамленное разделителями, а выделяет чуть ли не весь урл подряд. фацепалм.

polozz ()
Ответ на: комментарий от robus

оффтопик XP — он самый стабильный

Мухаха. Валится в синьку при банальной установке драйверов нескольких разных производителей, когда более новые венды нет.

anonymous ()
Ответ на: комментарий от saahriktu

Уже вышел Firefox 55.0.3.

Мой старый модифицированный слакбилд продолжает работать: https://github.com/saahriktu/modified-slackbuilds/tree/master/mozilla-firefox . Однако, эта версия компилялась хуже чем 55.0.2. Сборочные скрипты самого Firefox'а удивлялись, что линковка медиа библиотек продолжалась больше чем на 20 минут дольше чем они ожидали. Но, в итоге всё таки собралось.

Получилось это: https://yadi.sk/d/5kmh9fMJ3MLZkm

saahriktu ★★★★ ()

В 55 версии под Windows 7 сломали синхронизацию. Теперь у меня Debian и Windows не синхронизируется. Закладки переношу через USB-флешку. Каменный век...

Tuxman ()