Présentation des nouvelles API du Web platform

Servo 0.7.0, publié après 527 commits, introduit une vingtaine d’extensions du standard. Le pseudo‑classe :checked permet aux feuilles de style de cibler directement les contrôles sélectionnés, simplifiant les sélecteurs CSS. Le support du user-select et du font-width enrichit la typographie, tandis que l’élément <progress> devient disponible pour les barres de progression natives. Côté CSS, les fonctions alpha() et les opérations arithmétiques typées offrent un contrôle plus précis des couleurs et des unités, et la fonction roundRect() ajoute la capacité de dessiner des rectangles aux coins arrondis directement sur le CanvasRenderingContext2D. De nouvelles API DOM, comme parentRule sur CSSRule, version sur HTMLHtmlElement, ou getComposedRanges() et direction sur Selection, donnent aux développeurs un accès plus fin aux structures internes du rendu.

Améliorations du moteur JavaScript et de la sécurité

Le moteur JavaScript a été mis à jour vers SpiderMonkey v153.3, accompagné de correctifs de sécurité remontés en amont. Cette version intègre également le support de l’algorithme post‑quantique MLKEM768‑X25519 dans l’API WebCrypto, offrant une alternative résistante aux futures menaces cryptographiques. Le moteur de rendu graphique a reçu la mise à jour mozangle v0.7, renforçant la stabilité du pipeline OpenGL. Par ailleurs, le Sanitizer API accepte désormais la propriété javascriptURLs, élargissant les possibilités de désinfection des contenus dynamiques tout en conservant les protections CSP.

Optimisations de performances et de consommation mémoire

Servo a réduit son empreinte mémoire grâce à plusieurs stratégies : réutilisation de buffers, vidage sélectif de données de page et compactage de structures internes. Les nouvelles préférences js_mem_gc_malloc_threshold_base_mb et js_mem_gc_urgent_threshold_mb permettent d’ajuster le déclenchement du ramasse‑miettes, ce qui est crucial sur les appareils à ressources limitées. Du côté du pipeline de rendu, les allocations superflues ont été éliminées, les vecteurs sont pré‑alloués et les appels IPC sont évités en mode monoprocessus, ce qui se traduit par des gains de latence mesurables. Les opérations de sélection, de dispatch d’événements et de calcul de métriques de police ont été allégées, réduisant le nombre d’interactions avec le GC et améliorant la fluidité des interactions utilisateur.