Die Veröffentlichung der Version 0.0.2 des Browser-Engines Servo und des gemeinsam entwickelten Demobrowsers ServoShell, die in Rust geschrieben sind, ist erfolgt. In Bezug auf die Funktionalität entspricht die Veröffentlichung der Nightly-Version vom 14. November, die zusätzlich manuell getestet wurde. Fertige Builds sind für Linux, Android, macOS und Windows verfügbar.
Die Engine wurde ursprünglich von der Firma Mozilla entwickelt, ging dann jedoch unter die Schirmherrschaft der Linux Foundation. Servo zeichnet sich durch die Unterstützung von Multithreading bei der Darstellung von Webseiten, das Parallelisieren von DOM-Operationen (Document Object Model) und die Nutzung der von Rust bereitgestellten Mechanismen für sicheres Programmieren aus. Servo wurde ursprünglich mit Unterstützung für die Unterteilung von DOM-Code und Rendering in kleinere Teilaufgaben geschaffen, die parallel ausgeführt werden können und die Ressourcen moderner Mehrkern-CPUs effizienter nutzen. Teile von Servo, wie die Multithread-CSS-Engine und das Rendering-System WebRender, sind bereits in Firefox integriert.

Hauptänderungen:
- Die Unterstützung von XPath (XML Path Language), AbortController und AbortSignal ist standardmäßig aktiviert.
- Die API CompressionStream und DecompressionStream zum Komprimieren und Dekomprimieren von Datenströmen wurde hinzugefügt.
- Die Unterstützung des Elements innerhalb der Blöcke
- Die Methoden fetchLater() und Document.parseHTMLUnsafe() wurden implementiert.
- Die Eigenschaften „which“ und „relatedTarget“ wurden im UIEvent-Ereignis realisiert.
- Die Eigenschaften „name“ und „bareas“ wurden in der API HTMLMapElement implementiert.
- Im Rendering-Engine wurde eine synthetische fette Schriftart (synthetic bold) implementiert, bei der Zeichen programmatisch ohne separate Schriftartdicke verdickt werden.
- Die Unterstützung von Vsync zur Synchronisation des Beginns des Renderings mit dem Frame-Pulse wurde hinzugefügt.
- Die Erstellung von nativen arm64-Builds des Browsers ServoShell für macOS hat begonnen.
- Im Prototyp des Browsers ServoShell für Android wurde ein experimenteller Modus implementiert, der standardmäßig deaktivierte experimentelle Funktionen aktiviert, die sich noch in der Entwicklung und nicht vollständig stabilisiert befinden. Touch-Ereignisse werden an den Touchscreen weitergeleitet und die Bildschirmtastatur wird bei der Aktivierung von Eingabeformularen durch Touchscreen-Ereignisse angezeigt. Unterstützung für Pinch-to-Zoom wurde hinzugefügt. Das Scrollen der Bildschirmtastatur bei der Zoom-Anpassung wurde erlaubt.
Quelle: opennet.ru
