Le moteur de navigateur Servo 0.0.5 et le navigateur de démonstration ServoShell associé, tous deux écrits en Rust, ont été publiés. Des versions prêtes à l'emploi ont été créées pour Linux, Android, macOS и Windows.
Le moteur a d'abord été développé par Mozilla, puis est passé sous l'égide de l'organisation. Linux Servo est une plateforme de base prenant en charge le rendu multithread des pages web, la parallélisation des opérations DOM (Document Object Model) et l'utilisation des mécanismes de programmation sécurisée du langage Rust. Conçu dès le départ pour faciliter la division du code DOM et de rendu en sous-tâches plus petites, exécutables en parallèle et permettant une utilisation plus efficace des ressources des processeurs multicœurs, Servo est déjà intégré à Firefox, notamment au moteur CSS multithread et au système de rendu WebRender.

Les principaux changements:
- Dans un élément HTML Ajout de la prise en charge de la lecture des fichiers au format OGG.
- Ajout de la prise en charge du préchargement des ressources à l'aide de la balise , ce qui vous permet d'organiser le chargement des ressources sans attendre qu'elles soient demandées ; par exemple, vous pouvez charger immédiatement certains fichiers CSS, scripts, vidéos et images.
- Les éléments HTML « style » et « link » prennent désormais en charge la propriété « blocking » pour suspendre le rendu de la page jusqu'à ce que la ressource ait fini de se charger.
- L'élément HTML « img » prend désormais en charge la propriété « alignment » pour contrôler l'alignement des images.
- L'élément HTML « select » prend désormais en charge la propriété « disabled » pour désactiver la liste déroulante.
- Ajout de la prise en charge de la propriété « cursor-color » pour modifier la couleur du curseur dans les champs de saisie.
- Ajout de la possibilité d'utiliser la propriété CSS « content » pour remplacer n'importe quel élément HTML par une image.
- Ajout de la prise en charge du pseudo-élément « ::details-content » pour modifier le style du contenu spécifié via un élément HTML. .
- Dans un élément HTML Ajout de la prise en charge de la pseudo-classe « :open », qui est déclenchée lorsqu'une boîte de dialogue est ouverte.
- Pour l'élément HTML La prise en charge de la pseudo-classe « :active » a été implémentée ; celle-ci est active pendant l'intervalle de temps entre le moment où le bouton est enfoncé et celui où il est relâché.
- Ajout d'une API Origin pour obtenir des informations sur la source du contenu au niveau du protocole + domaine + port.
- La propriété MouseEvent.detail a été implémentée pour obtenir des informations sur le type de clic (simple, double).
- Une propriété « keepalive » a été ajoutée à l'objet Request pour déterminer si la connexion est dans l'état keepalive.
- Ajout de la prise en charge du chargement de modules au format JSON via des instructions d'importation.
- Ajout de la possibilité de spécifier des attributs pour indiquer le type de contenu lors de l'importation via l'instruction d'importation.
- Ajout de la prise en charge de l'importation en boucle des modules JavaScript.
- La prise en charge de l'interface navigator.sendBeacon est activée par défaut pour la transmission asynchrone de petites portions de données du navigateur vers serveur.
- Ajout du paramètre https_proxy, ainsi que des variables d'environnement HTTPS_PROXY et NO_PROXY pour permettre le fonctionnement via un proxy HTTPS.
- L'API Crypto prend désormais en charge les algorithmes ML-KEM, ML-DSA et AES-OCB.
- Ajout de la prise en charge de la compilation croisée en utilisant la plateforme comme hôte Windows.
- Ajout du paramètre network_connection_timeout pour définir le délai d'attente pour l'établissement d'une connexion réseau (15 secondes par défaut).
Source: opennet.ru
