LINUX.ORG.RU

Firefox 54

 ,


0

2

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

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

  • Отныне Firefox использует несколько процессов при обработке веб-страниц, что позволяет ускорить работу (нагрузка разносится на разные ядра процессора), повысить стабильность (падение вкладки не закроет остальные вкладки) и уменьшить фрагментацию памяти при длительной работе. Многопроцессный режим для веб-содержимого автоматически отключается при обнаружении несовместимых дополнений (за это отвечает настройка extensions.e10sMultiBlocksEnabling). По умолчанию число процессов ограничивается четырьмя (в отличие от подхода Chromium, где выделяется отдельный процесс для каждой вкладки), впрочем, это значение можно изменять с помощью настройки dom.ipc.processCount.
  • Задействована изоляция для ограничения доступа процессов браузера к системным вызовам и файловой системе. На платформе Linux это реализовано с помощью Seccomp-bpf, пользовательского пространства имён и chroot. В Windows применяются библиотеки sandboxbroker и sandboxtarget, разработанные в рамках проекта Chromium.
  • Сведения о загрузках в панели загрузок стали отображаться в более понятном и подробном виде.
  • В меню закладок добавлена папка с закладками, созданными на мобильных устройствах.
  • Включена поддержка объёмного звука (5.1) в Windows, macOS и Linux (1334508, 1321502, 1323659).
  • Удалена поддержка конвейерной обработки HTTP. Усилия, ранее тратившиеся на поддержку конвейерной обработки и решение проблем с её производительностью, целесообразнее пустить на работу над HTTP/2. Все настройки, начинающиеся с «network.http.pipelining», отныне игнорируются (1340655).
  • Добавлено системное дополнение, позволяющее сделать скриншот выделенной или видимой области страницы, а также всей страницы целиком. Скриншоты автоматически загружаются на screenshots.firefox.com, где пользователь может установить срок хранения изображения, получить на него ссылку, либо удалить. Следует учитывать, что дополнение посылает на свой сервер различную информацию (в т. ч. уникальный идентификатор пользователя) ещё до создания скриншота, уже при выборе области (впрочем, информация перестаёт посылаться, если отключить datareporting.healthreport.uploadEnabled). Для включения встроенного скриншотера необходимо установить настройке extensions.screenshots.system-disabled значение «false».
  • Добавлена бирманская (my) локализация.
  • Исправлены различные уязвимости.

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

  • В мониторинг сетевой активности добавлена сводка с количеством в действительности переданных данных (1168376).
  • Для HTTP-заголовков добавлены ссылки на документацию (1320233).
  • В режиме адаптивного дизайна теперь можно создавать собственные устройства (для тестирования сайтов с заданным разрешением и прочими параметрами устройства).

CSS

  • clip-path теперь поддерживает базовые контуры (1247229).
  • В соответствии со спецификациями CSS Flexbox и CSS Alignment обновлено взаимодействие между свойствами align-items и align-self, а также между justify-items и justify-self (1340309).
  • Элементы <input> типа checkbox и radio с установленным на них -moz-appearance: none; теперь являются незаменяемыми (605985).
  • Исправлена ошибка, из-за которой элемент с display: inline-block, имеющий дочерний элемент типа HTMLInputElement с display:block, имел некорректную базовую линию (1330962).
  • Поддержка стилизованных элементов <option> ранее была удалена из-за проблем с мультипроцессным режимом. Теперь снова можно применять цвета переднего и заднего плана к элементу <option>, используя атрибуты color и background-color (910022).
  • Анимации теперь отсылают событие animationcancel, если анимация завершается преждевременно (1302648).
  • Прозрачные цвета (с нулевым альфа-каналом) всегда сериализовывались в «transparent», что противоречило спецификации (1339394).
  • Проприетарный псевдокласс :-moz-table-border-nonzero больше недоступен веб-содержимому; он доступен лишь внутренним дефолтным таблицам стиля браузера (1341925).
  • Внутреннее содержимое с overflow:auto больше не перекрывает друг друга (1348857).
  • Удалены префиксы у значений isolate, isolate-override и plaintext свойства unicode-bidi property (1333675).

JavaScript

  • Добавлена поддержка модульных скриптов (<script type="module">), скрытая за отключённой по умолчанию настройкой dom.moduleScripts.enabled (1330657).
  • \b и \B в RegExp с флагами «u» (Unicode) и «i» теперь обрабатывают U+017F (LATIN SMALL LETTER LONG S) и U+212A (KELVIN SIGN) как словарные символы (1338373).
  • Конструктор DataView теперь выбрасывает RangeError, если параметр byteOffset не укладывается в Number.MAX_SAFE_INTEGER (>= 2^53) (1317382).
  • Поведение метода Date.UTC() в случаях, когда передано менее двух аргументов, приведено в соответствие со спецификацией ECMAScript 2017 (1050755).

DOM

Воркеры

Звук и видео

  • Streams API: использование объекта MediaStream в качестве входного параметра для URL.createObjectURL() объявлено устаревшим — в консоли будет выведено предупреждение (1334564). Вместо этого следует использовать HTMLMediaElement.srcObject.
  • Web Audio API: теперь метод AnalyserNode.getFloatFrequencyData() корректно отражает сэмплы тишины в возвращённом буфере со значением -Infinity (1336098).
  • Web Audio API: AudioParam.setValueCurveAtTime() теперь выбрасывает исключение TypeError, если любое из указанных значений не является конечной величиной (1308437).
  • Encrypted MediaExtensions API: строка MediaKeySession.keySystem удалена из спецификации (1335555).
  • Encrypted MediaExtensions API: реализована поддержка кодека VP9 в зашифрованных потоках, использующих Clear Key и Widevine (1338064).
  • Encrypted MediaExtensions API: кодек WebM/VP8 теперь активируется независимо от производительности компьютера.
  • WebRTC: включена поддержка TCP ICE, позволяющая работать в сетях, где блокируется UDP (1176382).

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

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

★★★★★

Проверено: leave ()
Последнее исправление: Psych218 (всего исправлений: 7)

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

Без ссылки на не работающий пдф/описания как повторить/ссылки на баг твои утверждения выглядят как ложь.

Для пассажиров бронепоезда повторю ещё раз — мне насрать как они выглядат, ничего доказывать упоротым я не собираюсь.

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

Бывает. А я живых перуанцев не видел, выходит, Перу не существует?

Сравнил хрен с пальцем.

Так у тебя ж глюки с рендерингом для печати были.

Не у меня а у этой кривой поделки. Ибо с нормальной смотрелки всё отлично печаталось.

Тебе перечень технологий дать? А может, проще на caniuse послать?

А смысл? Всё равно объяснить самостоятельно ты не в состоянии.

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

Блохастый, зачем ты на бумагу тогда смотрел и видел там какие-то точки?

Проверял тебя на вшивость, тест положительный.

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

Много, try again later.

Нахрена? Пускай этим занимаются альфа-бета-тестеры, мне за это денег не платят.

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

Будто что-то хорошее

Неследование композитным шаблонам ради шаблонов? Да. В психиатрии, например, выраженное проявление какого-то психотипа является патологией, а смесь — нет. Радикальная палитра CGA тоже неестественна.

Палёная луна работает с современным вебом.

Ну позвони мне с палёной луны без флеша.

УМВР

Универсальный Метод Выкручивания из Расспросов.

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

Сравнил хрен с пальцем.

Шо то конечность, шо это.

Всё равно объяснить самостоятельно ты не в состоянии

Тебе накатать простыню по каждой их новых веб-технологий, что ли?

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

Ну позвони мне с палёной луны без флеша.

Зачем мне звонить какому-то упоротому маргиналу через браузер? Для этого есть скайп с полным списком контактов.

Универсальный Метод Выкручивания из Расспросов.

Констатация факта. Всё что мне нужно было — NoScript, Session Manager, Firebug, ещё кое-какая мелочь — у меня работает.

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

Тебе накатать простыню по каждой их новых веб-технологий, что ли?

Технология без практического применения не нужна.

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

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

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

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

Потому что для ретроградов уже есть Opera 12, а Pale Moon — NIH.

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

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

При том, что если ты высвобождаешь память мелкими кусками, что-то большое уже в этот объём не влезет и придётся жрать больше.

ОС сама разберётся что туда влезет а что нет. Пусть только наглая рыжая морда отдаст память.

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

Для пассажиров бронепоезда повторю ещё раз — мне насрать как они выглядат, ничего доказывать упоротым я не собираюсь.

tl;dr от too lies; don't read

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

Потому что для ретроградов уже есть Opera 12, а Pale Moon — NIH

Ну ретрогады разные бывают. Для более сильных ретроградов - Opera 12, для чуть более слабых PaleMoon.

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

Универсальный Метод Выкручивания из Расспросов.

Два чая. Надо будет запомнить.

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

Если речь не идёт о примитивных страницах, то состояние это нечто большее чем просто положение прокрутки. Это как минимум весь DOM.

См. выше. Падение браузера — аварийное событие, а не штатное.

У всех уже новые версии? До завершения миграции сложно что-то утверждать.

Тем не менее уже можно смело утверждать что после такого перепила вылезет тонна багов, страдать от которых придётся конечным пользователям. Впрочем, так оно обычно и бывает.

Да какие угодно. Вплоть до возможности заморозить/убить отдельную вкладку простым kill'ом. Только наверняка ты пропоёшь в своём духе «нинужно».

Разумеется не нужно, ведь обосновать зачем это может быть нужно ты не сможешь.

Рыцарь на белом коне? Или ты хочешь сказать что всякие там палёные луны в отличии от фокса работают?

Нет. Да.

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

Завершится процесс на вкладку, отдаст память. Всё просто и понятно.

Не отдаст же.

По умолчанию число процессов ограничивается четырьмя

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

И эти люди запрещают ковыряться в носу.

Ковыряйся и дальше, вот только объективной реальности это не меняет.

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

ОС сама разберётся что туда влезет а что нет. Пусть только наглая рыжая морда отдаст память.

И этим ты показал, что ни капельки не понимаешь, как вообще память используется. Написал такую чушь, что аж жуть.

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

См. выше.

И всё же тут выигрывает вариант с несколькими процессами.

Тем не менее уже можно смело утверждать что после такого перепила вылезет тонна багов, страдать от которых придётся конечным пользователям. Впрочем, так оно обычно и бывает.

Сенсей, научи писать код так, чтоб при переписывании не было багов.

Разумеется не нужно

Как я хорошо разбираюсь в твоём мышлении. Мог хотя-бы притворится что не согласен.

ведь обосновать зачем это может быть нужно ты не сможешь.

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

Да.

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

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

Не отдаст же.

По умолчанию число процессов ограничивается четырьмя

Как минимум отдаст память 3 процессов. Кроме того, никто не мешает найти и подкрутить в нужную сторону. Хоть 2000 поставить.

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

Ковыряйся и дальше

Похоже ты не слышал этот анегдот.

вот только объективной реальности это не меняет.

Предпочитаешь electron приложение плагину браузера?

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

И всё же тут выигрывает вариант с несколькими процессами.

Выигрывает, да. В 0,01% случаев, которыми ради меньшей утилизации ресурсов и обратной совместимости с тонной аддонов можно пренебречь.

Сенсей, научи писать код так, чтоб при переписывании не было багов.

Элементарно — свалить процесс тестирования на специально обученных людей, а не пользователей. Баги полностью не исчезнут, конечно, но их количество значительно снизится.

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

И зачем нужен этот пердолинг если есть NoScript?

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

Предпочитаешь electron приложение плагину браузера?

Нет, предпочитаю старую версию, которая пока работает. А по поводу твоих вариантов — Эскобар.jpg.

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

Вот я и говорю что аргументированного мнения в этой теме мало.

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

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

и обратной совместимости с тонной аддонов можно пренебречь.

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

Элементарно — свалить процесс тестирования на специально обученных людей, а не пользователей.

Эти специально обученные люди смогут воссоздать все те ситуации, какие создают пользователи?

И зачем нужен этот пердолинг если есть NoScript?

Зачем нужно тёплое, если есть мягкое? NoScript максимум изуродует страницы. И всё.

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

И этим ты показал, что ни капельки не понимаешь, как вообще память используется. Написал такую чушь, что аж жуть.

Чем освобождение памяти вкладкой-процессом отличается от освобождения памяти вкладкой-потоком? Ну кроме того что последним можно более гибко управлять.

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

Нет, предпочитаю старую версию, которая пока работает.

Пока. Только вот сколько это пока будет длится...

А по поводу твоих вариантов — Эскобар.jpg.

Яндекс сливал инфу в фсб? (тут может стоять любой вопрос на который можно ответить да/нет) Примени к вариантам ответа свою теорему.

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

Ты всерьёз думаешь что я сейчас побегу искать пруфы годовой давности?

Я к тому что по одному багу лучше не судить о софте.

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

Если да, то нет проблем, если нет, то ты считаешь что legacy код должен тормозить развитие?

man IA64.

Эти специально обученные люди смогут воссоздать все те ситуации, какие создают пользователи?

Все нет. Тем не менее большинство детских ошибок смогут отловить, которые в ином случае будут кочевать из релиза в релиз десятилетиями.

NoScript максимум изуродует страницы. И всё.

Нет.

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

Я к тому что по одному багу лучше не судить о софте.

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

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

Пока. Только вот сколько это пока будет длится...

Когда накроется — тогда и буду думать. В любом случае использовать прибитый к браузеру WebRTC, которым сейчас пользуются полтора маргинала, смысла нет.

Яндекс сливал инфу в фсб? (тут может стоять любой вопрос на который можно ответить да/нет)

Ты уже упоролся?

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

Тем не менее большинство детских ошибок смогут отловить

Я не столкнулся ни с одной детской ошибкой.

Нет.

NoScript научился мониторить нагрузку от разных вкладок?

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

Я не столкнулся ни с одной детской ошибкой.

Везёт.

NoScript научился мониторить нагрузку от разных вкладок?

Лучше — он научился её не создавать.

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

А с чего ты взял что я сужу по одному багу?

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

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

Чем освобождение памяти вкладкой-процессом отличается от освобождения памяти вкладкой-потоком? Ну кроме того что последним можно более гибко управлять.

Это настолько очевидно, что мне сложно это описать. Давай я вместо этого задам тебе несколько наводящих вопросов. Когда ты на них ответишь, мы продолжим разговор более предметно. Тут важно знать, насколько наши знания об управлении памятью пересекаются. Итак.

  • Что будет, если выделить (malloc/new) память в одном потоке, передать указатель в другой поток, и там освободить (free/delete) память?
  • Почему так?
  • Что будет, если выделить (malloc/new) память в одном процессе, передать указатель в другой процесс, и там освободить (free/delete) память?
  • Почему так?
  • Как приблизительно устроен malloc? Как он взаимодействует с ядром Linux?
i-rinat ★★★★★
()
Ответ на: комментарий от NextGenenration

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

Мне приходилось тыкать эту поделку с того момента как её включили по дефолту. К сожалению, положительного user experience от этого я так и ни разу не получил.

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

Лучше — он научился её не создавать.

Если сделана случайная/намеренная ошибка, то отключение скриптов не поможет. Тем более оно не поможет если имеется какой-то сайт с динамически изменяемым DOM.

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