Выпуск Firefox 57 с многопоточным CSS-движком и новым оформлением
14 ноября 2017 года
Состоялся релиз web-браузера Firefox 57, а также мобильной версии Firefox 57 для платформы Android. Firefox 57 является одним из самых значительных выпусков в истории проекта. В новой версии переработан внешний вид браузера, осуществлён переход на WebExtensions и новый web-движок Quantum, комбинирующий проверенные временем компоненты движка Gecko с новыми возможностями по обеспечению многопоточной обработки данных, предоставляемые языком Rust и движком Servo.
В ближайшие часы ожидается обновление ветки с длительным сроком поддержки 52.5.0 и переход на стадию бета-тестирования ветки Firefox 58, релиз которой намечен на 23 января.
- Интегрирован новый CSS-движок Stylo (Quantum CSS), подготовленный в рамках проекта Quantum, в котором производится работа по переносу в браузер возможностей, изначально развиваемых для движка Servo. Stylo написан на языке Rust и отличается распараллеливанием обработки стилей CSS. Так как разные CSS-стили теперь обрабатываются параллельно, не блокируя друг друга, отмечается значительное повышение скорости обработки страниц. В сочетании с оптимизациями, подготовленными в рамках проекта Flow и уже вошедшими в состав Firefox 55, выпуск Firefox 57 демонстрирует (Архивная копия от 22 октября 2020 на Wayback Machine) двухкратный прирост производительности в тесте Speedometer 2.0, по сравнению с версией Firefox 52.
Что касается потребления памяти, то в тесте по открытию 30 вкладок Firefox c 4 процессами-обработчиками контента потребляет в среднем на 30% меньше памяти по сравнению с Chrome 61 (на каждую вкладку отдельный процесс).
В дальнейшем в Firefox ожидается включение проекта Quantum DOM, который обеспечит распараллеливание операций с DOM (Document Object Model) и оставит в прошлом применяемую ныне однопоточную схему обработки контента. JavaScript-код для разных вкладок и iframe будет выполняться параллельно в отдельных нитях, что позволит увеличить отзывчивость браузера при использовании большого числа открытых вкладок. Для переключения между нитями будет задействован встроенный планировщик совместной многозадачности, переключающий контекст в "безопасные" моменты, например, при вызове функций и в вершине каждой итерации циклов, что позволит минимизировать использование блокировок.
Также планируется реализовать эвристические методы для остановки выполнения кода во второстепенных фоновых вкладках, предоставить интерфейс для блокирования бесконечного зацикливания и снижения приоритета ресурсоёмких скриптов. Для отрисовки будут задействованы наработки проекта Quantum Render, основанном на системе композитинга Servo WebRender и привлекающем GPU для обработки графики.
- Полный переход на технологию WebExtensions для дополнений. Поддержка XUL/XPCOM-дополнений полностью отключена (опция extensions.legacy.enabled=true в about:config пока оставлена, но не работает);
- Реализован третий уровень sandbox-изоляции для платформы Linux, при котором в дополнение к ограничению доступа к системным вызовам при помощи Seccomp-bpf, запрету записи в ФС, исключению доступа к разделяемой памяти, временной директории и видеоподсистеме, для процессов браузера также реализовано ограничение на чтение произвольных данных из ФС и лимитирование доступа к настройкам тем оформления, шрифтам, библиотекам и совместно используемым данным. В том числе теперь невозможно прочитать данные из домашнего каталога и профиля пользователя. При необходимости доступ к отдельным каталогам можно открыть через включение в белые списки
security.sandbox.content.read_path_whitelist и security.sandbox.content.write_path_whitelist или смену уровня изоляции через опцию security.sandbox.content.level в about:config;
- Новое оформление интерфейса пользователя, подготовленное в рамках проекта Photon. Основные изменения:
- Прямоугольные кнопки вкладок;
- Скрытие по умолчанию панели поиска (только для новых установок, после обновления панель остаётся). В настройки добавлена опция, позволяющая вернуть отдельную форму для обращения к поисковым системам;
- Новая стартовая страница ("about:home"), основанная на дополнении Activity Stream, предлагающем помимо часто посещаемых ресурсов, подборку рекомендованного сервисом Pocket контента, который потенциально может быть интересен пользователю (рекомендации пока показываются только пользователям США, Канады и Германии).
- Новая реализация основного меню, в котором вместо многоколоночной сетки пиктограмм возвращено классическое меню.
- Для дополнений предложено отдельное меню "", содержимое которого сможет настраивать пользователь. Интерфейс кастомизации ограничен возможностью изменения панели и состава дополнительного меню;
- Новая кнопка "Библиотека", предоставляющая доступ к истории посещений, закладкам, загрузкам, синхронизированному контенту и ссылкам в Pocket. В меню также показывается подборка недавно открытых страниц.
- В адресную строку встроено новое меню "...", через которое можно добавить закладку, отправить ссылку в Pocket, работать с буфером обмена, создать скриншот и поделиться материалом по электронной почте;
- Новая боковая панель, отображаемая в правой части экрана и предоставляющая средства для быстрого переключения между закладками, историей посещений и вкладками с других устройств. Возможность закрепления боковой панели как слева от контента, так и в правой части экрана.
- Два дополнительных режима: "для сенсорных экранов" и "компактный", при выборе которых увеличивается или уменьшаются отступы и интервалы между элементами;
- Отдельная стартовая страница для режима "инкогнито".
- Изменено оформление страниц, отображаемых при ошибках, для страниц в списках блокировки и при открытия по HTTPS сайтов с некорректным, просроченным или самоподписанным сертификатом;
- Новое оформление системы настройки параметров браузера. Включена функция поиска настроек;
- Применение анимированных эффектов для придания большей динамичности выполняемым операциям и акцентировании внимания на изменении состояний (например более заметная индикация завершения загрузки файла или прогресса загрузки содержимого вкладки);
- Цветовая дифференциация важности всплывающих уведомлений. Например, наиболее важные уведомления выделяются красным, требующие внимания - желтым, а информационные - цветом фона;
В настройки добавлена опция, позволяющая для всех окон и вкладок включить блокирование JavaScript-кода, связанного с отслеживанием поведения пользователя и перемещений между сайтами. Ранее система блокирования отслеживания перемещений была ограничена режимом "инкогнито". Реализованная в Firefox система
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.