LINUX.ORG.RU

Firefox 51

 ,


1

3

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

Общие изменения

  • Поддержка формата FLAC в контейнерах FLAC и Ogg. Поддерживаются MIME-типы audio/flac, audio/x-flac, audio/ogg. Реализована поддержка FLAC в MP4 (с и без MSE).
  • Если страница открыта по незащищённому соединению и содержит <input type="password">, такая страница помечается небезопасной.
  • Диалоговое окно сохранения пароля обзавелось возможностью показа пароля.
  • Поддержка сохранения паролей для форм, у которых отсутствует событие «submit».
  • Поддержка WebGL 2 (подробности в соответствующем разделе ниже).
  • Улучшена производительность воспроизведения видео на машинах, где отсутствует ускорение видео средствами GPU.
  • Многопроцессный режим включён по умолчанию для пользователей с русскоязычным интерфейсом, пользователей с ограниченными возможностями, а также для пользователей Windows 10 с сенсорными экранами.
  • about:performance теперь показывает потребление памяти каждым процессом в многопроцессном режиме.
  • Если уровень масштабирования отличается от значения по умолчанию, то текущий уровень будет показан в адресной строке (при нажатии на него, будет сброшен в значение по умолчанию).
  • Запрет автоматического воспроизведения звука в фоновых вкладках.
  • В Linux-версии для отображения контента задействована библиотека Skia.
  • Включена поддержка нового API дополнений WebExtensions, совместимого с Chrome.
  • Постепенная выборочная блокировка сертификатов, использующих SHA-1.
  • Сертификаты, выданные удостоверяющими центрами WoSign и StartCom после 21 октября 2016 года, будут считаться недействительными. Подробности о нарушениях, допущенных этими УЦ, можно прочитать на geektimes.
  • Некоторые сайты, использующие устаревшую версию NSS, не будут работать с Firefox 51 по безопасному соединению.
  • Синхронизация стала более стабильной.
  • Удалена белорусская (be) локализация (желающих её поддерживать нет уже в течение двух лет).
  • Различные исправления, связанные с безопасностью. В частности, прекращена передача полных URL PAC-скрипту (будут передаваться только имена хостов), что отчасти исправляет уязвимость при использовании WPAD, а также отключён ускоренный Zero RTT хэндшейк, введённый в TLS 1.3.

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

  • Монитор сети показывает заблокированное состояние сетевых запросов.

HTML

  • Тег <hr> может служить разделителем в <menu> (870388).
  • Атрибуты selectionStart и selectionEnd элементов <input> и <textarea> возвращают текущее положение курсора в поле ввода текста, а не 0, как раньше (1287655). Курсор будет помещён в конец текстового поля, когда оно автоматически получает фокус.
  • <img> с пустым параметром «src» создаёт событие error (599975).

CSS

  • Реализована поддержка :indeterminate для <input type="radio"> (885359) и :placeholder-shown для <input type="text"> (1069015).
  • Псевдоэлемент ::placeholder избавился от префикса (1069012).
  • Псевдокласс :valid теперь соответствует валидным элементам <form> (1285425).
  • Значение «plaintext» свойства unicode-bidi корректно работает с вертикальным режимом письма (1302734).
  • Корректная поддержка значений «fill-box» и «stroke-box» свойством clip-path; раньше они были ссылками на border-box (1289011).

JavaScript

WebGL

IndexedDB v2
Завершена реализация второй версии IndexedDB:

Canvas

SVG

  • Реализована поддержка атрибута tabindex (778654).
  • Добавлена поддержка атрибута href, что переводит xlink:href в разряд устаревших (1245751).
  • Реализована возможность использования собственных атрибутов данных на элементах SVG с помощью свойства SVGElement.dataset и наборов атрибутов data-* (921834).
  • Исправлена регрессия, из-за которой не работали анимации CSS в SVG-изображениях, используемых в теге <img> (1190881).

Веб-воркеры

  • Удалены поддержка нестандартного устаревшего обработчика событий WorkerGlobalScope.onclose и возможность использования воркерами события close.

Сеть

  • Запрещены загрузка и выполнение скриптов, отдаваемых с MIME-типами image/*, video/*, audio/* и text/csv (1229267 и 1288361).

XHR

  • Свойство XMLHttpRequest.responseXML больше не возвращает часть Document с узлом <parsererror>, расположенным поверх, когда случается ошибка при попытке распарить полученные данные. Теперь оно корректно вернёт null (289714).
  • XMLHttpRequest без указания заголовка Accept с помощью setRequestHeader() теперь отправляется с заголовком «Accept», имеющим значение */* (918752).
  • Исправлено поведение XMLHttpRequest.open(): если опущены параметры «username» и «password», они по умолчанию будут иметь значение null (933759).

WebRTC

  • Удалён метод RTCPeerConnection.removeStream(). Он был объявлен устаревшим ещё в Firefox 22, выбрасывая NotSupportedError. Вместо него следует использовать RTCPeerConnection.removeTrack() для каждой дорожки в потоке.
  • Включена поддержка кодека VP9. Она была добавлена ещё в Firefox 46, отключена по умолчанию, но при включении VP9 становился предпочитаемым кодеком; сейчас, из-за своей требовательности к вычислительным ресурсам, он идёт вторым в списке (после VP8).
  • Добавлен метод HTMLMediaElement.captureStream(), который возвращает MediaStream, содержащий контент указанного <video> или <audio>. Стоит отметить, что он пока не полностью соответствует спецификациям.

Звук/видео

  • В Firefox 50 в фоновых вкладках была прекращена приостановка таймеров, созданных Window.setInterval() и Window.setTimeout(), если с помощью AudioContext в этот момент воспроизводился звук. К сожалению, это не решило всех проблем, связанных с музыкальными плеерами. Теперь фоновые вкладки с AudioContext не будут приостанавливаться, даже если звук не воспроизводится в данный момент.

DOM

  • DOMImplementation.hasFeature() теперь всегда возвращает «true» (984778).
  • Свойства «selectionStart» и «selectionEnd» интерфейсов HTMLInputElement и HTMLTextAreaElement вместо значения «0» теперь корректно возвращают текущее положение курсора в поле для ввода текста, если ничего не выделено (1287655).
  • Интерфейс HTMLImageElement и соответствующий элемент <img> теперь поддерживают обработчик события «onerror», отправляя события error элементу, если случаются ошибки при попытке загрузить или интерпретировать изображение.
  • Теперь можно изменить эффект анимации путём установки значения его свойству effect (1049975).
  • Поддержка метода Permissions.revoke() теперь зависит от состояния настройки dom.permissions.revoke.enable и отключена по умолчанию, поскольку её реализация и сама целесообразность существование обсуждается членами Web Application Security Working Group.
  • Добавлены свойство navigator.storage и метод StorageManager.estimate().
  • BatteryManager.chargingTime и BatteryManager.dischargingTime в целях сохранения приватности округляют возвращаемые значения до 15 минут (1292655). В следующем выпуске планируется вовсе прекратить поддержку Battery API (с помощью которого сайты могли бы узнавать о низком уровне заряда батареи устройства, чтобы отдавать ему «лёгкую» версию контента), поскольку его используют для более точного отслеживания пользователей.

Events

Удалено

  • Из движка полностью удалена поддержка нестандартного Simple Push API, предназначенного для Firefox OS. Вместо него следует использовать W3C Push API (1296579). Также удалена поддержка нестандартного Alarms API (1300884).
  • Удалены префиксы у Page Visibility API (812701).
  • Удалена значительная часть Social API.
  • Удалён нестандартный Web Payments API (1252570).

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

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

Well, какой-то кривой релиз: жутко тормозит + появился дополнительный процесс Web Content, который отжирает кусок ресурсов.

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

Внимание, знатоки, почему этого раньше не было?

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

Потому что мозиловцы слоупоки, на дворе 2017 год — а у них только-только «многопроцессорность».

тормоза могут быть из-за каких-то старых настроек. попробуй сначала чистый профиль, потом чистую установку.

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

тормоза могут быть из-за каких-то старых настроек

Тормоза из-за чьих-то кривых рук, приложенных к коду. Отключение Electrolysis часть тормозов снимает, но полностью производительность на приемлимый уровень не возвращает.

Жесть какая: два процесса, один жрёт полтора гига и 70% проца, второй — два с половиной гига и 120% проца. А я всего-то из инета фильмец запустил. Даже не в HD.

Без Electrolysis-а полегче, но тоже не фонтан.

Потому что мозиловцы слоупоки, на дворе 2017 год — а у них только-только «многопроцессорность».

Знаешь, я впервые вижу многопроцессность, которая снижает производительность раза этак в 4, а отзывчивость интерфейса вообще убивает в ноль. «Мы писали, мы писали, наши пальчики устали...» Я вообще не фанат хромого, скорее наоборот, но, видимо, придётся сваливать с лисы. По крайней мере, пока это не починят.

А в инетах виндузятники поют хвалебные песни новой лисе. Или мне винду теперь придётся поставить, чтобы злостно нарушать права голливудских правообладателей по выходным? Чота не радует такой вариант...

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

А, да:

Новый профиль создавал. Новый, старый; есть аддоны, нет аддонов — монопенисуально. Тормозит.

Deleted ()
Ответ на: А, да: от Deleted

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

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

К сожалению, Electrolysis действительно немного увеличивает расход ресурсов процессора. Гораздо страшнее звучит то, что теперь используемый объем оперативной памяти увеличится на 10-20% (так говорит один из разработчиков).
При этом в Mozilla не собираются нечего радикально менять потому что «и так сойдет» (по вышеуказанной ссылке разработчик утверждает, что расход памяти у Firefox ниже чем у Chrome, а значит все хорошо).

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

видимо, придётся сваливать с лисы

Вкупе с новым убогим апи дополнений и сознательным нежеланием некоторых уважаемых разработчиков еще раз всё переписывать (ага, только переписали под Electrolysis — тут сюрпрайз! переписывайте еще раз) — сваливание может быть вполне обоснованным.

P.S. У меня не тормозит.

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

Так в том-то и соль - я обновился с 50 до 51 и получил то, что получил. А вот с чистым профилем проблема: у меня море закладок, вкладок и прочего, руками это всё переносить не хочется.

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

Ну профиль чистый тебе хотя бы покажет в нем проблема или еще глубже.

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

Нормально. Тоже отображается. При куче вкладок и вообще малом объёме памяти.

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

Мультипроцессовость, а не мультипроцессорность. Странно что на ЛОРе этого не понимают.

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

на ЛОРе этого не понимают.

Понимают, но не предают значения и пользуются жаргонизмами, штампами, ярлыками и т.д.

Многопроцессовость даёт плюс в производительности только при распараллеливании. На одном потоке такое имеет смысл творить только для изоляции. По этой причине встречаются не стандартные паттерны довольно редко и в дискуссии могут совершенно безболезненно игнорироваться.

mandala ★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.