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

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

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

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

Обязательно держите нас в курсе.

Ушёл с FF вплоть до ноября, там уже выйдет 57 версия с правильно сделанным базисом, так сказать. А сейчас юзать лису не вижу смысла, ведь именно сейчас происходит переходный момент, момент когда все расширения фактически мертвы. Мертвы в том плане, что не поддерживают многопроцессность, плюс сама многопроцессность запилина на костылях.

А вот тут человек очень здраво объясняет, что на самом деле происходит с Firefox.

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

Я тоже понимаю, что отказ от старых дополнений это болезненная мера, но вынужденная. Да, это отторгнет какую-то часть от тех нескольких процентов пользователей, что ещё остались у Firefox, но альтернатива в виде «оставить как есть» - это смерть браузера под грузом всего этого однопоточного легаси, завязанного друг на друга.

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

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

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

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

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

SANSLAR ★★ ()

Задействована изоляция для ограничения доступа процессов браузера к системным вызовам и файловой системе. На платформе Linux это реализовано с помощью Seccomp-bpf, пользовательского пространства имён и chroot. В Windows применяются библиотеки sandboxbroker и sandboxtarget, разработанные в рамках проекта Chromium.

Вот ведь… Осталось только ядро туда запихнуть. Нафига это внутри браузера, если сам браузер и так можно запускать нормально в сэндбоксе? Чтобы аж два сэндбокса было? Бред.

upd:

Добавлено системное дополнение, позволяющее сделать скриншот выделенной или видимой области страницы, а также всей страницы целиком. Скриншоты автоматически загружаются на screenshots.firefox.com

мда…

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

Да вроде никто не говорит «оставьте как есть». С первого дня было понятно, что XUL - мертворожденное убожество, но в условиях, когда на рынке был только IE и «очиньсложная» Опера со здоровым баннером, люди были согласны на что угодно.

leave ★★★★★ ()

После одного из недавних обновлений фф у меня начал дико лагать и чем выше аптайм тем сильнее были лаги, у ssh через i2p отзывчивость и то выше. Пришлось принудительно включить e10s, отключить половину плагинов и открепить почти все вкладки.

Надеюсь, после этого обновления мне не придется снести фф нафиг.

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

А кто-то может мне объяснить не как для быдло-пользователя, а как для программиста, что значит «упала вкладка»? Почему вообще что-то должно падать? Они там кодят с закрытыми глазами что-ли? Или у них не принята валидация данных хотя-бы на уровне == nullptr ? Я просто не понимаю почему написанный, отлаженный и протестированный код должен абнормально завершаться. Почему вместо того чтобы переписать говнокод изобретают всякие костыли песочниц? Говнокод за неделю переписать дешевле и перспективнее, чем городить всякие вспомогательные механизмы.
Серьёзно, приведите пример проблемы которую реально можно поймать только песочницей, а не отладкой/тестированием. Сейчас я наблюдаю только вред репутации продукта.

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

А кто-то может мне объяснить не как для быдло-пользователя, а как для программиста, что значит «упала вкладка» [...] Серьёзно, приведите пример проблемы которую реально можно поймать только песочницей, а не отладкой/тестированием. Сейчас я наблюдаю только вред репутации продукта.

Программисту нужно больше пописать программ. Желательно, таких, которые уже лет 20+ пишут, и понаписали дцать миллионов строк кода на всяких кошмарных языках, типа плюсов. Тогда будет само собой понятно, что за неделю ничего не перепишешь, а все проверки, типа юнит-тестов компонентов, нагрузочного тестирования и прочие буллзайс с коверити реальных багов не находят. Реальные баги у клиента всплывают через полгода рантайма после обновления, вызванного этим обновлением.

mv ★★★★★ ()

Плохой файерфокс был лучше ещё одного хрома. Но всё это выглядит так, как будто это тот же хром.

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

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

А потом придётся всё таки найти что то, повторяющее поведение дополнения RightLinks. Оно очевидное, простое, примитивное и почему то ни в одном хроме его не смогли повторить.

Расширение позволяет открывать ссылки в новой вкладке правой кнопкой мыши без открытия контекстного меню и с помощью «долгого» клика левой кнопкой мыши. Идеально для ноутбуков с тачпадами и двухкнопочных мышей.

Жуткая наркомания, поэтому и не повторили. А если я хочу ссылку Drag and Drop-нуть?

На ноутбуке тупо ⌘ зажимаешь и кликаешь по ссылке тачпадом.

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

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

Только это уже никому не будет нужно.

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

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

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

anonymous ()

Я фанат Лисы, и собираюсь всерьез уходить на Хромиум. Так как при разработке front-end не возможно работать с инструментами в лисе, как и с самим браузером.

1. Периодически наглухо зависает рендеринг. Интерфейс браузера работает, а все сайты не пашут. Если прокрутить вниз, то там белое поле. Спасает только принудительный форсированный kill. 2. HTML инспектор при наведении не реагирует на некоторые элементы. В частности те, которые были сдвинуты за пределы окна и через анимацию сдвига показаны пользователю. 3. JS дебаггер. При появлении ошибки в консоли и нажатии по ней, не переходит на нужную строку. Просто открывает JS файл с первой строки. JS файл является бандлом со всякими библотеками и джквери. 4. Долгое открытие JS файлов. Из-за посветки синтаксиса. В хроме почти моментально. 5. Сломанные дополнения уже упоминали.

Все было хорошо, все было прекрастно. Требовалось просто работать над производительной и стабильной работой. Нет, пришли менеджеры нихрена не смыслящие в технологиях, стали внедрять говно Poket's, хипстерские штуки, убивать совместимость и прочее.

Что угодно, но не правка багов.

Еще полгода потерплю, но если ситуация не изменится, придется смотреть альтернативы и всерьез выбирать замену.

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

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

konart ()

Теперь осталось поменять иконку на «Хром» и Firefox будет братом-близнецом хромого. Братья-пожиратели ресурсов компьютера. На каждый чих - по процессу! Даёшь на каждый байт - по процессу! По ходу на относительно недавние компы придётся ставить Винду и K-Meleon, ибо нормальных браузер нет.

anonymous ()

Достала тормозилла. Не знаю как на новых машинах, а на стареньких с каждым новым выходом она все тормознее и тормознее. Подскажите как безболезненно перенести вкладки на хром?

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

Да вроде никто не говорит «оставьте как есть». С первого дня было понятно, что XUL - мертворожденное убожество, но в условиях, когда на рынке был только IE и «очиньсложная» Опера со здоровым баннером, люди были согласны на что угодно.

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

anonymous ()

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

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

Ну а по Thunderbird'у вообще есть какие планы у разработчиков?

Нет. Это же чемодан без ручки. Переносить его с устаревших XUL/gecko - это трудозатратно, а прибыли с него нуль, и монетизировать не получится.

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

anonymous ()

По умолчанию число процессов ограничивается четырьмя (в отличие от подхода Chromium, где выделяется отдельный процесс для каждой вкладки)

в Хромиуме все ровно таким же образом сделано, ЕМНИП

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

Просто каши не будет

Последние релизы как раз похожи на кашу в плане гуя. Или это такой хитрый план?

Просто каши не будет и вместо доступа ко всеми и кастомизации всего до чего руки дотянуться теперь есть конкретные API. Для тех же боковых панелей, например.

А руки, как мы видим в хроме, достаточно короткие. Максимум, кнопочку на панель добавить, да и то, не везде.

anonymous ()