Выпуск браузерного движка Servo 0.0.5

Опубликован выпуск браузерного движка Servo 0.0.5 и развиваемого вместе с ним демонстрационного браузера ServoShell, написанных на языке Rust. Готовые сборки сформированы для Linux, Android, macOS и Windows.

Движок изначально развивался компанией Mozilla, но затем перешёл под покровительство организации Linux Foundation. Servo отличается поддержкой многопоточного рендеринга web-страниц, распараллеливанием операций с DOM (Document Object Model) и задействованием предоставляемых языком Rust механизмов безопасного программирования. Servo изначально создан с поддержкой разбиения кода DOM и рендеринга на более мелкие подзадачи, которые могут выполняться параллельно и более эффективно использовать ресурсы многоядерных CPU. В Firefox уже интегрированы некоторые части Servo, такие как многопоточный CSS-движок и система отрисовки WebRender.

CFD0C5CECEC5D4_1772347487.png

Основные изменения:

  • В HTML-элемент ‹audio› добавлена поддержка воспроизведения файлов в формате OGG.
  • Добавлена поддержка упреждающей загрузки ресурсов, используя тег ‹link rel=preload›, при помощи которого можно организовать загрузку ресурсов, не дожидаясь, когда они будут запрошены, например, можно сразу загрузить определённые файлы CSS, скрипты, видео и картинки.
  • В HTML-элементах «style» и «link» реализована поддержка свойства «blocking» для приостановки отрисовки страницы до окончанию загрузки ресурса.
  • В HTML-элемент «img» добавлена поддержка свойства «align» для управления выравниванием изображения.
  • В HTML-элемент «select» добавлена поддержка свойства «disabled» для деактивации выпадающего списка.
  • Добавлена поддержка свойства «cursor-color» для изменения цвета курсора в полях ввода.
  • Добавлена поддержка применения CSS-свойства «content» для замены любого HTML-элемента изображением.

  • Добавлена поддержка псевдоэлемента »:: details-content» для изменения стиля содержимого, заданного через HTML-элемент ‹details›.

  • В HTML-элемент ‹details› добавлена поддержка псевдокласса »: open», срабатывающего при открытии диалога.

  • Для HTML-элемента ‹input type=button› реализована поддержка псевдокласса »: active», действующего в промежуток времени от нажатия до отпускания кнопки.

  • Добавлен API Origin для получения информации об источнике получения содержимого на уровне связки «протокол + домен + порт».

  • Реализовано свойство MouseEvent.detail для получения информации о характере клика (одинарный, двойной).

  • В объект Request добавлено свойство «keepalive» для определения находится ли соединение в состоянии keepalive.

  • Добавлена поддержка загрузки через выражения import модулей в формате JSON.
  • Добавлена возможность указания атрибутов для указания типа содержимого при импорте через выражение import.
  • Добавлена поддержка зацикленного импорта JavaScript-модулей.

  • Включена по умолчанию поддержка интерфейса navigator.sendBeacon, для асинхронной передачи небольших порций данных из браузера на сервер.

  • Добавлена настройка https_proxy, а также переменные окружения HTTPS_PROXY и NO_PROXY для организации работы через HTTPS-прокси.

  • В API Crypto добавлена поддержка алгоритмов ML-KEM, ML-DSA и AES-OCB.

  • Добавлена поддержка кросскомпиляции, используя в качестве хоста платформу Windows.
  • Добавлена настройка network_connection_timeout для выставления таймаута установки сетевого соединения (по умолчанию 15 секунд).



Источник: http://www.opennet.ru/opennews/art.shtml? num=64893

OpenNet прочитано 1667 раз