Дата публикации:Mon, 13 Apr 2026 23:10:41 +0300
Опубликован выпуск браузерного движка Servo 0.1.0 и развиваемого вместе с ним демонстрационного браузера ServoShell, написанных на языке Rust. Готовые сборки сформированы для Linux, Android, macOS и Windows. Помимо отдельных сборок Servo теперь поставляется и в форме crate-пакета, позволяющего использовать движок в форме библиотеки.
Servo 0.1.0 стал первым выпуском, для которого обеспечен длительный цикл поддержки (LTS). Новые LTS-ветки будут публиковать раз в 6 месяцев на основе очередного промежуточного выпуска. Поддержка LTS-выпусков будет осуществляться 9 месяцев (3 месяца даётся для перехода на новую LTS-ветку). От обычных выпусков LTS-ветка отличается публикацией обновлений с исправлениями уязвимостей в библиотеке servo, JavaScript-движке и зависимостях. Предполагается, что LTS-ветка будет полезна для разработчиков, встраивающих Servo в свои проекты и не желающих ежемесячно переходить на очередной промежуточный выпуск с возможными изменениями в API.
Выпуск Servo 0.1.0 LTS построен на основе сформированной несколько дней назад промежуточной версии 0.0.6, в которой были реализованы следующие новые возможности:
- В HTML-элементe "button" реализованы атрибуты "command" и "commandfor", которые можно использовать в кнопках вместо атрибутов "popovertargetaction" и "popovertarget" для декларативной настройки взаимодействия с меню, вызываемым при нажатии на кнопку. Добавлен CSS-селектор ":modal", позволяющий определить, что диалог, созданный через элемент <dialog>, является модальным. Реализовано CSS-правило @property, позволяющее регистрировать собственные CSS-свойства. Добавлены CSS-свойства "alignment-baseline" и "baseline-shift" для выравнивания текста по вертикали. Добавлена поддержка заголовка "Content-Security-Policy: base-uri", ограничивающего URL, которые могут использоваться в HTML-элементе <base>. Добавлена частичная поддержка отложенной загрузки iframe-блоков, при которой содержимое, находящееся вне видимой области, не загружается до тех пор, пока пользователь не прокрутит страницу в место, непосредственно предшествующее элементу. Включение отложенной загрузки страниц осуществляется через атрибут "loading=lazy" в теге iframe (<iframe loading=lazy>). Добавлена частичная поддержка CSS-свойства "transform-style: preserve-3d" для позиционирования дочерних элементов в 3D-пространстве. Реализованы события pointermove, pointerdown, pointerup и pointercancel. Обеспечен поворот изображений на основе метаданных EXIF. Обеспечено использование переменной окружения LANG для выбора языка по умолчанию для заголовка "Accept-Language" и свойства navigator.language. Добавлены API Pointer Events и UserActivation. Реализованы методы import.meta.resolve(), formData(), toJSON(), createIndex(), deleteIndex() и index(). В демонстрационном браузере servoshell для изменения настроек реализованы страницы servo:preferences (GUI конфигуратор) и servo:config (изменение отдельных параметров в стиле about:config). Добавлена поддержка перезагрузки страницы при нажатии F5. В инструментах для web-разработчиков в режиме инспектирования добавлена поддержка редактирования атрибутов DOM, в web-консоли обеспечен предпросмотр объектов, передаваемых через console.log(), в отладчике появилась возможность приостановки и возобновления выполнения скриптов. Расширен API для встраивания браузерного движка в приложения.
Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=65197
