Публикувана версия на браузерния двигател Servo 0.0.2 и демонстрационния браузер ServoShell, разработван заедно с него, написан на Rust. Функционалността е аналогична на нощната версия от 14 ноември, за която е проведено допълнително ръчно тестване. Готовите компилации са предоставени за Linux, Android, macOS и Windows.
Двигателят първоначално е разработван от компанията Mozilla, но след това е преминал под патронажа на организацията Linux Foundation. Servo се отличава с поддръжка на многопоточна рендеринг на уеб страници, паралелизация на операции с DOM (Document Object Model) и използване на предоставените от езика Rust механизми за безопасно програмиране. Servo е създаден с поддръжка на разбивка на кода на DOM и рендеринг на по-малки подзадачи, които могат да се изпълняват паралелно и по-ефективно да използват ресурсите на многоядрени CPU. Някои части от Servo, като многопоточния CSS двигател и системата за рендеринг WebRender, вече са интегрирани в Firefox.

Основни промени:
- По подразбиране е включена поддръжка на XPath (XML Path Language), AbortController и AbortSignal.
- Добавени са API CompressionStream и DecompressionStream за компресиране и разпаковка на данни.
- Добавена е поддръжка на елемента в блоковете
- Реализирани са методите fetchLater() и Document.parseHTMLUnsafe().
- В събитието UIEvent са реализирани свойствата „which“ и „relatedTarget“.
- В API HTMLMapElement са реализирани свойствата „name“ и „bareas“.
- В двигатела за рендериране е реализирано синтезирано удебеляване на символите (synthetic bold), при което символите се удебеляват програмно без използване на отделен шрифт.
- Добавена е поддръжка на vsync за синхронизиране на началото на рендерирането с кадровия импулс.
- Започва формирането на родни arm64 компилации на браузера ServoShell за macOS.
- В прототипа на браузера ServoShell за Android е реализиран експериментален режим, при който се активират експерименталните функции, които по подразбиране са деактивирани, но все още не са напълно стабилизирани и са в разработка. Осигурена е доставка на събития от допир до сензорния екран и извеждане на софтуерната клавиатура при активиране на формите за въвеждане чрез сензорния екран. Добавена е поддръжка за мащабиране с пръсти. Разрешено е прокрутването на софтуерната клавиатура при нейното мащабиране.
Източник: opennet.ru
