La version 0.0.5 de l'engin de navigateur Servo et de son navigateur d dĂ©monstration ServoShell, dĂ©veloppĂ© en Rust, a Ă©tĂ© publiĂ©e. Des builds prĂȘtes sont disponibles pour Linux, Android, macOS et Windows.
Le moteur a Ă©tĂ© initialement dĂ©veloppĂ© par Mozilla, puis est passĂ© sous la tutelle de la Linux Foundation. Servo se distingue par le support du rendu web multithread, le parallĂ©lisme des opĂ©rations DOM (Document Object Model) et l'utilisation des mĂ©canismes de programmation sĂ©curisĂ©e offerts par Rust. Servo a Ă©tĂ© conçu dĂšs le dĂ©part pour prendre en charge la dĂ©composition du code DOM et le rendu en plus petites sous-tĂąches qui peuvent ĂȘtre exĂ©cutĂ©es en parallĂšle, exploitant ainsi plus efficacement les ressources des CPU multicĆurs. Certaines parties de Servo, comme le moteur CSS multithread et le systĂšme de rendu WebRender, sont dĂ©jĂ intĂ©grĂ©es dans Firefox.

Principales modifications :
- Le support de la lecture de fichiers au format OGG a été ajouté à l'élément HTML <audio>.
- Le support du préchargement des ressources a été ajouté en utilisant la balise <link rel=preload>, qui permet de charger des ressources avant qu'elles ne soient demandées, par exemple, il est possible de charger immédiatement certains fichiers CSS, scripts, vidéos et images.
- Le support de la propriété 'blocking' a été implémenté dans les éléments HTML 'style' et 'link' pour suspendre le rendu de la page jusqu'à la fin du chargement de la ressource.
- Le support de la propriété 'align' a été intégré dans l'élément HTML 'img' pour contrÎler l'alignement de l'image.
- Le support de la propriété 'disabled' a été ajouté à l'élément HTML 'select' pour désactiver la liste déroulante.
- Le support de la propriété 'cursor-color' a été introduit pour changer la couleur du curseur dans les champs de saisie.
- Le support de la propriété CSS 'content' a été ajouté pour remplacer tout élément HTML par une image.
- Le pseudo-élément '::details-content' a été ajouté pour modifier le style du contenu défini par l'élément HTML <details>.
- Le support du pseudo-classe ':open' a été ajouté à l'élément HTML <details>, qui s'active lors de l'ouverture du dialogue.
- Le support du pseudo-classe ':active' a été implémenté pour l'élément HTML <input type=button> et s'applique pendant le temps entre l'appui et le relùchement du bouton.
- L'API Origin a été ajoutée pour obtenir des informations sur la source du contenu au niveau de la liaison 'protocole + domaine + port.
- La propriété MouseEvent.detail a été implémentée pour obtenir des informations sur la nature du clic (simple, double).
- La propriété 'keepalive' a été ajoutée à l'objet Request pour déterminer si la connexion est en état de keepalive.
- Le support du chargement via des expressions import de modules au format JSON a été ajouté.
- Il est maintenant possible de spécifier des attributs pour indiquer le type de contenu lors de l'importation via une expression import.
- Le support de l'importation cyclique des modules JavaScript a été ajouté.
- La prise en charge de l'interface navigator.sendBeacon pour le transfert asynchrone de petites quantités de données du navigateur a été activée par défaut. serveur.
- La configuration https_proxy a été ajoutée, ainsi que les variables d'environnement HTTPS_PROXY et NO_PROXY pour organiser le travail via un proxy HTTPS.
- L'API Crypto a ajouté la prise en charge des algorithmes ML-KEM, ML-DSA et AES-OCB.
- La prise en charge de la croisement des compilations a été ajoutée en utilisant Windows comme plateforme hÎte.
- Ajout de la configuration network_connection_timeout pour définir le délai d'attente de l'établissement de la connexion réseau (par défaut 15 secondes).
Source : opennet.ru
