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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

man IA64.

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

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

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

Нет.

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

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

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

Нет.

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

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

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

Везёт.

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

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

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

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

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

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

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

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

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

свалить процесс тестирования на специально обученных людей

По-твоему, в мозилле нет QA?

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

Если ты сломал палец, врач с JS-отладчиком наложит тебе гипс и палец срастётся. Врач с NoScript отрубит палец. Он, конечно, выгодно отличается от врача с отключалкой JS, который отрубит всю кисть, но всё равно так себе выход.

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

Если ты сломал палец, врач с JS-отладчиком наложит тебе гипс и палец срастётся. Врач с NoScript отрубит палец. Он, конечно, выгодно отличается от врача с отключалкой JS, который отрубит всю кисть, но всё равно так себе выход.

Кривые аналогии такие аналогии. Лучше объясни зачем пользователю пердолиться с чужим говноскриптом.

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

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

Кроме простого пользователя и разработчика данного сайта есть ещё небольшая группа пользователей.

В общем, игра не стоит свеч.

Для тебя да.

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

Кроме простого пользователя и разработчика данного сайта есть ещё небольшая группа пользователей.

Которая любит заниматься пердолингом ради пердолинга?

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

Кто-то vim настраивает, кто-то браузер

С настройкой браузера это мало связано. В любом случае нужность такого ковыряния сомнительна.

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

Зачем пользователю на операции пердолиться с чужим скальпелем? Зачем пользователю в магазине пердолиться с чужим калькулятором? Зачем пользователю, пришедшему посмотреть матч, пердолиться с накачиванием мяча?

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

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

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

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

Зачем пользователю на операции пердолиться с чужим скальпелем? Зачем пользователю в магазине пердолиться с чужим калькулятором? Зачем пользователю, пришедшему посмотреть матч, пердолиться с накачиванием мяча?

Именно. Пользователь ходит по сайтам не за тем чтобы пердолиться с чужими говноскриптами. Полтора фанатика-красноглазика — исключение.

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

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

Нет, пока другие пердолятся с сайтами, ломающимися из-за скриптов, я просто ими пользуюсь.

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

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

А я и не пердолюсь. В противном случае придётся пердолиться с тормозами и говноскриптами, а мне это не нужно.

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

Молодец, запусти, например, этот: https://mm.st/

Unable to connect

Pale Moon can't establish a connection to the server at mm.st.

  • The site could be temporarily unavailable or too busy. Try again in a few moments.
  • If you are unable to load any pages, check your computer's network connection.
  • If your computer or network is protected by a firewall or proxy, make sure that Pale Moon is permitted to access the Web.

А что там?

h578b1bde ★☆
()
Последнее исправление: h578b1bde (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.