Компания Mozilla объявила (https://blog.mozilla.org/blog/2017/09/26/firefox-quantum-bet.../) о начале бета-тестирования ветки Firefox 57, релиз которой намечен на 14 ноября и станет одним из самых значительных выпусков в истории проекта. В частности, в новой версии будет переработан внешний вид браузера, осуществлён переход (https://www.opennet.ru/opennews/art.shtml?num=46060) на WebExtensions и новый web-движок Quantum (https://www.opennet.ru/opennews/art.shtml?num=45385), комбинирующий проверенные временем компоненты движка Gecko с новыми возможностями по обеспечению многопоточной обработки данных, предоставляемые языком Rust и движком Servo. Ожидавшийся сегодня релиз Firefox 56 отложен (https://wiki.mozilla.org/RapidRelease/Calendar) до 28 сентября.
Основные (http://www.mozilla.org/en-US/firefox/57.0/releasenotes/) новшества (https://developer.mozilla.org/en-US/Firefox/Releases/57) бета-версии Firefox 57:
- Интегрирован новый CSS-движок Stylo (https://wiki.mozilla.org/Stylo), подготовленный в рамках проекта Quantum (https://www.opennet.ru/opennews/art.shtml?num=45385), в котором производится работа по переносу в браузер возможностей, изначально развиваемых для движка Servo. Stylo написан на языке Rust и отличается распараллеливанием обработки стилей CSS. Так как разные CSS-стили теперь обрабатываются параллельно, не блокируя друг друга, отмечается значительное повышение скорости обработки страниц. В сочетании с оптимизациями, подготовленными в рамках проекта Flow и уже вошедшими (https://www.opennet.ru/opennews/art.shtml?num=46987) в состав Firefox 55, выпуск Firefox 57 демонстрирует двухкратный прирост производительности в тесте Speedometer 2.0 (https://mozilla.github.io/arewefastyet-speedometer/2.0/), по сравнению с версией Firefox 49.
В дальнейшем в Firefox ожидается включение проекта Quantum DOM (https://wiki.mozilla.org/Quantum/DOM), который обеспечит распараллеливание операций с DOM (Document Object Model) и оставит в прошлом применяемую ныне однопоточную схему обработки контента. JavaScript-код для разных вкладок и iframe будет выполняться параллельно в отдельных нитях, что позволит увеличить отзывчивость браузера при использовании большого числа открытых вкладок. Для переключения между нитями будет задействован встроенный планировщик совместной многозадачности, переключающий контекст в "безопасные" моменты, например, при вызове функций и в вершине каждой итерации циклов, что позволит минимизировать использование блокировок. Также планируется реализовать эвристические методы для остановки выполнения кода во второстепенных фоновых вкладках, а также предоставить интерфейс для блокирования бесконечного зацикливания и снижения приоритета ресурсоёмких скриптов.
- Полный переход на технологию WebExtensions для дополнений. Поддержка XUL/XPCOM-дополнений полностью прекращена.
- Реализован третий уровень sandbox-изоляции (https://wiki.mozilla.org/Security/Sandbox) для платформы Linux, при котором в дополнение к ограничению доступа к системным вызовам (https://wiki.mozilla.org/Security/Sandbox#Permissions_burndown) при помощи (https://wiki.mozilla.org/Security/Sandbox/Seccomp) Seccomp-bpf (https://www.opennet.ru/opennews/art.shtml?num=33654), запрету записи в ФС и исключению доступа к разделяемой памяти, временной директорию и видеоподсистеме, для процессов браузера также реализовано ограничение на чтение произвольных данных из ФС и лимитирование доступа к настройкам тем оформления, шрифтам, библиотекам и совместно используемым данным;
- Новое оформление (https://www.mozilla.org/en-US/firefox/quantum/) интерфейса пользователя, подготовленное в рамках проекта Photon (https://wiki.mozilla.org/Firefox/Photon/Updates). Основные изменения:
- Прямоугольные кнопки вкладок;
- Скрытие по умолчанию панели поиска (только для новых установок, после обновления панель остаётся). В настройки добавлена опция, позволяющая вернуть отдельную форму для обращения к поисковым системам;
- Новая стартовая страница ("about:home"), основанная на дополнении Activity Stream (https://www.opennet.ru/opennews/art.shtml?num=44402), предлагающем помимо часто посещаемых ресурсов, подборку рекомендованного сервисом Pocket контента, который потенциально может быть интересен пользователю.
- Новая реализация основного меню, в котором вместо многоколоночной сетки пиктограмм возвращено классическое меню. Для дополнений предложено отдельное меню ">>", содержимое которого сможет настраивать пользователь. Интерфейс кастомизации пограничен возможностью изменения панели и состава дополнительного меню;
- Новая кнопка "Библиотека", предоставляющая доступ к истории посещений, закладкам, загрузкам, синхронизированному контенту и ссылкам в Pocket. В меню также показывается подборка недавно открытых страниц.
- В адресную строку встроено новое меню "...", через которое можно добавить закладку, отправить ссылку в Pocket, работать с буфером обмена, создать скриншот и поделиться материалом по электронной почте;
- Новая боковая панель, отображаемая в правой части экрана и предоставляющая средства для быстрого переключения между закладками, историей посещений и вкладками с других устройств. Возможность закрепления боковой панели как слева от контента, так и в правой части экрана.
- Два дополнительных режима: "для сенсорных экранов" и "компактный", при выборе которых увеличивается или уменьшаются отступы и интервалы между элементами;
- Добавлена отдельная стартовая страница для режима "инкогнито".
- Изменено оформление страниц, отображаемых при ошибках, для страниц в списках блокировки и при открытия по HTTPS сайтов с некорректным, просроченным или самоподписанным сертификатом;
- Применение анимированных эффектов для придания большей динамичности выполняемым операциям и акцентировании внимания на изменении состояний (например более заметная индикация завершения загрузки файла или прогресса загрузки содержимого вкладки);
- Введена цветовая дифференциация важности всплывающих уведомлений. Например, наиболее важные уведомления выделяются красным, требующие внимания - желтым, а информационные - цветом фона;
- Оптимизация (https://www.opennet.ru/opennews/art.shtml?num=47180) оформления интерфейса инструментов для разработчиков. Представлена упрощённая навигационная панель с элементами в виде вкладок и визуальное выделение центрального блока с кодом по отношению к панелям. Пересмотрена цветовая схема, используемая при подсветке синтаксиса HTML и JavaScript. Красный цвет теперь закреплён только за ошибками. Убраны слишком кричащие цвета в пользу умеренной тёплой цветовой гаммы. Увеличена читаемость кода.
- Включено (https://blog.nightly.mozilla.org/2017/06/12/datetime-inputs-.../) по умолчанию свойство dom.forms.datetime, позволяющее использовать в формах поля ввода даты и времени ("input type=date" и "input type=time");
- Предоставлен пользовательский интерфейс для управления данными сайтов, сохраняемыми на локальной системе;
- Вставка из буфера обмена средней кнопкой мыши в области контента больше не приводит (https://bugzilla.mozilla.org/show_bug.cgi?id=366945) к открытию URL, находящегося в буфере обмена (данная особенность приводила к казусам, например, если промахнуться кликая средней кнопкой на ссылке, мог открыться другой URL);
- Функция автоматической прокрутки страницы (autoscrolling) теперь работает в асинхронном режиме (https://wiki.mozilla.org/QA/Async_Scrolling_in_e10s) (упреждающая отрисовка контента не попадающего в видимую область), по аналогии с другими методами ввода (например, прокруткой колесом мыши);
- Удалена (https://bugzilla.mozilla.org/show_bug.cgi?id=1388902) поддержка кнопки "Share", которая была завязана на неофициальный Social API и была несовместима с WebExtension. Для пользователей, которым хочется разместить кнопку для быстрой отправки ссылок в Facebook, Twitter, Google+, Linkedin, Reddit, Tumblr, Telegram, Gmail и D...
URL: https://hacks.mozilla.org/2017/09/firefox-quantum-developer-.../
Новость: https://www.opennet.ru/opennews/art.shtml?num=47272