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).

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

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

★★★★★

Проверено: anonymous_incognito ()
Последнее исправление: cetjs2 (всего исправлений: 3)

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

блин, спасибо. Намного лучше стало между вкладками переключаться... (это у меня без мультизадачности еще FF используется)

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

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

мне кажется это проблема более глобальная чем firefox может надо сравнить что используется для выведения в виндус и линукс?

anonymous
()

Иногда у меня создается впечатление, что разработчики Firefox в процессе развития своего творения допустили в коде ошибку (и наверное не одну), которая привела к утечке памяти и снижению производительности, и не признаются в этом.
Иначе как объяснить следующее: устанавливаю Firefox 3.6.28 (можно взять здесь) и запускаю 2 программы - старую и новую (51) версию.Открываю единственную вкладку в этих окнах - https://linux.org.ru . Содержимое этих окон при детальнейшем изучении - совершено одинаковое. Вот только старый браузер забрал себе 54 мб оперативной памяти и совершенно не трогает ЦП, а новый около 300 и все время пусть и слабо, но пинает процессор. Объяснить разницу в использовании памяти и ресурсов процессора тяжелым содержимым страницы не получиться.
Вот на что ушла эта разница в 250 мб? И чем именно нагружает (пусть и не сильно) новый Firefox процессор при абсолютнейшем бездействии. Неужели все дело в интерфейсе? Но у меня некоторые 3d игры суммарно RAM и памяти видеокарты меньше используют. Есть ли какое-либо объяснение такого поведения нового браузера?

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

это у меня без мультизадачности еще FF используется

В смысле, старая версия? ESR?

не в курсе, как порешать?

Обновить браузер?

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

Иногда у меня создается впечатление, что разработчики Firefox в процессе развития своего творения допустили в коде ошибку (и наверное не одну), которая привела к утечке памяти и снижению производительности, и не признаются в этом.
Вот на что ушла эта разница в 250 мб? И чем именно нагружает (пусть и не сильно) новый Firefox процессор при абсолютнейшем бездействии. Неужели все дело в интерфейсе? Но у меня некоторые 3d игры суммарно RAM и памяти видеокарты меньше используют. Есть ли какое-либо объяснение такого поведения нового браузера?

У меня тоже вопросы, зачем при сборке, идёт зависимостью древний autoconf-2.13. Разве разработчики Firefox не исправляют старый код, он только добавляют и добавляют?

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

При чем здесь русский язык, балда? То же самое и с французским, итальянским и т.п. Но в новости упор на русский. Объяснишь, если умный такой?

https://addons.mozilla.org/ru/firefox/addon/russian-ru-language-pack/

Вот это вот дополнение не было вовремя поправлено для многопроцессорных систем, по этому сначала включили, словили проблем, отключили, ждали исправлений. Сейчас допилили, обратно включили.

P.S. Подавляющая часть комментаторов ни хрена не знает как устроена лиса, но кукарекать все горазды.

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

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

HarDX ★★
()

Уже успел выйти 51.0.1
1) Multiprocess incompatibility did not correctly register with some add-ons
2) Geolocation not working on Windows - хы

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

Вот на что ушла эта разница в 250 мб? И чем именно нагружает (пусть и не сильно) новый Firefox процессор при абсолютнейшем бездействии. Неужели все дело в интерфейсе? Но у меня некоторые 3d игры суммарно RAM и памяти видеокарты меньше используют. Есть ли какое-либо объяснение такого поведения нового браузера?

Есть такое дело, ага. Я не знаю, с какой точно версии всё окончательно скатилось, т.к. долго не обновлял систему, а потом каааак обновил... Но где-то в районе 48-й версии или около того я заметил, что тормозить стало РЕАЛЬНО ВСЁ. Открываешь LOR — тормоза. Заходишь на youtube — там видео тормозит. Открываешь сайт на каком-нибудь хипстерском движке с кучей скриптов — вообще всё вешается.

Особенно убивает, что при переключении вкладок он задумывется на несколько секунд и рисует, тварь такая, вращающийся прогрессбар! Типа «ой, чота я не могу страницу отрендерить, сходите покурите». На что эта скотина тратит столько, мать их за ногу, гигагерц и гигабайт?!

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

P.S. Подавляющая часть комментаторов ни хрена не знает как устроена лиса, но кукарекать все горазды.

Видимо, очень очешуенно она устроена, если вывод локализованных строк требует аж целого дополнения, которое еще и на совместимость с режимами работы движка приходится дотачивать. Расскажите им там gettext, что ли.

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

Абсолютно все дополнения пришлось переделывать под многопроцессорность. И да, лиса древняя как говно мамонта и когда закладывали архитектуру, ни каких amd64 еще в проекте не было.

вывод локализованных строк требует аж целого дополнения

Отличное решение.

mandala ★★★★★
()
Последнее исправление: mandala (всего исправлений: 1)
Ответ на: комментарий от mandala

Отличное решение.

Судя по вышеизложенному, видимо, не очень.

ни каких amd64 еще в проекте не было.

А это-то при чем?

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

А это-то при чем?

Видимо в логику сложно. Но я помогу: когда закладывался движок и механизм дополнений ни кто не думал ни о чём кроме i386. А на нем всё отлично работало и так. Это даже было преимуществом.

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

Видимо в логику сложно.

Видимо, очень. И в способность не лезть в бочку — тоже.

Но я помогу: когда закладывался движок и механизм дополнений ни кто не думал ни о чём кроме i386. А на нем всё отлично работало и так. Это даже было преимуществом.

Что «отлично работало»? Каким «преимуществом»? При чем тут «i386», если дополнения пишутся на адской смеси XML и JS? Бессвязный текст абсолютно без попытки донести свою мысль (если она вообще была).

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

Вся лиса раньше была засунута в один процесс. Сейчас голова в одном процессе, туловище в другом, а хвост (дополнения) в третьем. Так понятней?

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

Спасибо, кэп, я в курсе. А теперь вернёмся к нашим баранам: ты что-то хотел сказать про amd64.

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

А нафига было городить огород, если поток только один? Вот всё и было компактно упаковано. Да так хорошо упаковано, что даже в 2017 году еще на куски до конца не разделили.

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

А нафига было городить огород, если поток только один? Вот всё и было компактно упаковано. Да так хорошо упаковано, что даже в 2017 году еще на куски до конца не разделили.

/Вздох/

Видимо, придётся играть в телепата.

Во-первых, «amd64» — это (если говорить совсем по-простому) система команд, оперирующая 64-битными регистрами и 64-битным адресным пространством. К «потокам» оно не относится от слова вообще. 32-битный процессор может быть многоядерным, а 64-битный, наоборот, — может не быть. (Собственно, эвон в углу комнаты валяется ноутбук с одноядерным 64-битным целероном.)

Во-вторых, мультипроцессная обработка вовсе не требует физического мультипроцессора. Даже на процессоре с один ядром мультипроцессное решение может получить преимущества в большей отзывчивости на ввод (за счёт продуманного асинхронного взаимодействия частей приложения) и большей стабильности (за счёт изоляции кода в отдельных процессах). (Разумеется, не бесплатно, а за счёт снижения общей производительности приложения.)

В-третьих, эти высокие материи вообще не релевантны для банальной локализации строк. Если у мозиллы такая архитектура приложения, что тупой контейнер строк требует адпатации под новый режим работы движка, — что-то в консерватории не так.

Кстати, пишу из того самого firefox 3.6.28, упоминавшегося анонимом выше. Скачал антиквариат поиграться.

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

Во-первых, «amd64» — это ...

Да-да, ты прав. Вот только в контексте времени 64-х разрядность пришла на десктопное оборудование одновременно с многопроцессорностью.

Разумеется, не бесплатно, а за счёт снижения общей производительности приложения

Тогда было важнее быстродействие, что и было реализовано.

у мозиллы такая архитектура приложения, что тупой контейнер строк требует адатации под новый режим работы движка

Ну что делать, такой подход. А так как сейчас дополнения вынесли, то и наблюдаем проблемы.

Если уж говорить правильно, то проблемы не с «многопроцессорностью», а с конкретной реализацией Electrolysis. А уже она даёт свои преимущества на многопроцессорных системах.

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

Собственно, эвон в углу комнаты валяется ноутбук с одноядерным 64-битным целероном

Это сообщение отправлено с «машины» которая работает на 64-х разрядном одноядерном PIV.

mandala ★★★★★
()
Последнее исправление: mandala (всего исправлений: 1)

Следует добавить, что разработчики внесли в новую версию свежие баги. Например, по этой ссылке обсуждается страница-убийца некого отеля, на которой незадачливый разработчик оставил скрипт, вводящий js-интерпретатор в цикл и генерирующий кучу мусора.
Старые версии Firefox и другие браузеры (Chrome, Internet Explorer и др.) спустя некоторое время предлагают убить скрипт или делают это автоматически. Но в новой версии Firefox после захода на страницу браузер превращается в тыкву и все, что вы можете сделать - наблюдать как она «растет» (процесс будет поглощать оперативную память пока не упадет). Так что будьте осторожны.
Если кому-то интересно - вот ссылка убийца. Если что - я предупреждал.

anonymous
()

Затрахали своей «многопроцессностью» Сделайте ещё многооконность для полного счастья. Смысл вкладок в том и заключался, чтобы в одном окне и процессе работали встроенные окна (вкладки) А нас, получается, откатывают назад. Теперь типа вкладки всего лишь виртуальные, под которыми прячутся тупо открытые отдельные окна. Вот это достижение, твою ж мать! IE6 кажется современным браузером, ибо теперешние современные браузеры откатили до уровня IE6!

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

Нет, просто MS как всегда опередила время: Active Desktop, Windows Mobile, планшеты и т.д.

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

47-я версия щас

пока обновить немогу. Использую его для Selenium

SR
()
Последнее исправление: SR (всего исправлений: 1)
Ответ на: комментарий от mandala

Да все верно, приношу извинения. У меня была бета-версия 51 и там такой диалог не возникал. Для беты это нормально, наверное. Обновил до 52 - диалог остановки скрипта возникает, все работает нормально. Вот только в багзилле почему-то статус бага не изменили.

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

Обновить браузер?

Естественно... :-)

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

Вот только в багзилле почему-то статус бага не изменили.

Вечером еще надо посмотреть на браузере с хорошо поюзаным профилем. Опции еще какие нибудь могут быть переопределены у людей, сборки под разные платформы отличаться.

mandala ★★★★★
()

Рано обрадовался. Как оказалось, ссылка-убийца работает для текущего ESR (Firefox 45.7.0), но немного по другому сценарию. Диалог завершения скрипта появляется, но даже если вы остановите скрипт дальнейшая работа браузера становится невозможной. Это обусловлено тем что диалог повторяется даже если запретить создавать новые окна, а интерфейс в этот момент блокируется. Радует только что ESR пользуется не так уж и много людей.

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

Но где-то в районе 48-й версии или около того я заметил, что тормозить стало РЕАЛЬНО ВСЁ. Открываешь LOR — тормоза.

Я тут вчера перебирал мобильные браузеры, так фуррифокс не смог мне ЛОР открыть)) Ну то есть, я не дождался с первого раза. 8-ядерный планшет с 2 гигами, блин. Не пойму, для кого они это делают.

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

Дорогой. Я Обновил до 50.01 и проставил Ваши фишки. Итог полный Пи--дец.По 1 минуте на обозрение вкладки. Ушел на ЕСР и нет проблем.

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

Во первых они не мои. Что и для чего они можете почитать в wiki firefox. Во вторых, при входе в about:config - Вас предупреждали :) В третьих, что там у вас по 1 минуте не в курсе (что за обозрение вкладки) - таймаут между сетчаткой глаза и реакцией в мозгу? У меня вкладки всегда перед глазами. Либо мы говорим о разном. Centos 7.3, что текущий прилетевший сегодня ESR, что параллельно 51.0.1 работают отлично.

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

Вы использовали ESR? Тогда я чувствую себя неудачником, потому что у меня на этой версии прибить скрипт не получалось (хотя, возможно. если бы я много-много раз нажал «остановить сценарий», то это возымело бы эффект). Может те, кто используют Firefox ESR пройдут по ссылке и расскажут о своем опыте, а то получается у меня одного остановка скрипта не работает?

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

Вы использовали ESR?

Не, 51.0 с многомесячным профилем, если и лазил настраивать, то уже не помню что именно.

много раз нажал «остановить сценарий»

Достаточно одного раза, перед этим подтупливает и жрет проц, но что делать.

На ESR (видно что локализация отвалилась, т.к. 51 притянула свою версию, а изолировать мне влом) сейчас проверил

http://pix.toile-libre.org/upload/original/1485564650.png

Все останавливает.

И вообще, когда это сообщение выдаётся, то «скрипт» останавливается и ждет решения пользователя. Покопай в эту сторону.

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

Собственно как у меня происходит на ЕСР: скрипт прибивается, потом опять лезет, потом прибивается, пока висит окно вопроса что делать со скриптом нагрузки нет, и вкладку прибить можно, но у меня прибилась только через контекстное меню, на нажатие на крестик ЛКМ не реагирует — перекрывает окно запроса скрипта (ну может это уже опенбокс наркоманит).

На 51 скрипт не оживает и достаточно один раз прибить.

mandala ★★★★★
()
Последнее исправление: mandala (всего исправлений: 1)
Ответ на: комментарий от mandala

Собственно на ESR у меня все также, в паузу между тем как пробивается скрипт интерфейс браузера полностью фризится, какие-то действия можно выполнить только в момент появления диалога. Закрыть через контекстное меню для меня оказалось неочевидным действием. Видимо я слишком «домохозяин».

anonymous
()

чета в бубунту приехал сразу 51.0.1 :-)

anonymous
()

Не знаю точно, что они там сделали, но правила для apparmor пришлось настраивать заново, т.к. старые не давали версии 51 отобразить страницу.

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

неа, окошечко с кнопками появляется, но , увы, кнопки не жмутся :-D

Это не нормально, при вызове диалога-прибивателя (окном или всплывающей панелькой сверху) обработка останавливается. Копайте в эту сторону.

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

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

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