Les développeurs du systÚme d'exploitation SerenityOS ont annoncé que le navigateur web en cours de développement avait réussi les tests Acid3, utilisés pour vérifier les navigateurs web sur leur support des normes web. Il est à noter que parmi les nouveaux navigateurs open source, créés aprÚs l'établissement d'Acid3, le SerenityOS Browser est le premier projet à avoir réussi entiÚrement ces tests.

Le jeu de tests Acid3 a été créé en 2008 par Ian Hickson, le concepteur de la spécification HTML5 et co-auteur des spécifications CSS. Acid3 comprend 100 tests, présentés sous forme de fonctions retournant un résultat positif ou négatif. Les tests couvrent divers domaines, tels qu'ECMAScript, HTML 4.01, DOM Level 2, HTTP/1.1, SVG, XML, etc. En 2011, les tests ont été mis à jour, mais en raison des modifications des spécifications web modernes, les versions actuelles de Chrome et Firefox ne réussissent que 97 des 100 tests Acid3.
Le SerenityOS Browser est écrit en C++ et distribué sous licence BSD. Le projet utilise un moteur de navigateur propriétaire, LibWeb, et un interpréteur JavaScript, LibJS, qui sont extraits dans des bibliothÚques externes. Il prend en charge l'exécution de code intermédiaire WebAssembly. Pour supporter les protocoles HTTP et HTTPS, les bibliothÚques LibHTTP et LibTLS sont en cours de développement.
Rappelons que le projet Serenity dĂ©veloppe un systĂšme d'exploitation de type Unix pour les architectures x86 et x86_64, Ă©quipĂ© de son propre noyau et d'une interface graphique inspirĂ©e des systĂšmes d'exploitation de la fin des annĂ©es 90. Le dĂ©veloppement est effectuĂ© depuis zĂ©ro, par intĂ©rĂȘt, et n'est pas basĂ© sur le code d'existants OS. Les auteurs se sont fixĂ©s pour objectif d'amener SerenityOS Ă un niveau utilisable au quotidien tout en conservant l'esthĂ©tique des systĂšmes de la fin des annĂ©es 90, mais en l'enrichissant d'idĂ©es utiles pour les utilisateurs expĂ©rimentĂ©s des systĂšmes modernes.
Le noyau de SerenityOS annonce le support de fonctionnalités telles que le multitùche préemptif, l'utilisation de mécanismes de protection matériels (SMEP, SMAP, UMIP, NX, WP, TSD), le multithreading, la pile IPv4, un systÚme de fichiers basé sur Ext2, les signaux POSIX, mmap(), les fichiers exécutables au format ELF, le pseudo-FS /proc, les sockets Unix, les pseudo-terminaux, et des outils de profilage.
L'environnement utilisateur est composé de gestionnaires composites et de console (WindowServer, TTYServer), d'un shell de ligne de commande, de la bibliothÚque standard C (LibC), d'un ensemble d'utilitaires utilisateur types et d'un environnement graphique basé sur un framework GUI propriétaire (LibGUI, LibGfx, LibGL) et un ensemble de widgets. L'ensemble d'applications graphiques comprend un client de messagerie, un environnement de conception d'interface visuelle HackStudio, un éditeur de texte, un synthétiseur sonore, un gestionnaire de fichiers, plusieurs jeux, une interface pour lancer des programmes, un éditeur de polices, un gestionnaire de téléchargement de fichiers, un émulateur de terminal, des configureurs, un visualiseur PDF, l'éditeur graphique PixelPaint, un lecteur de musique et un éditeur de tableurs, un lecteur vidéo.

Source : opennet.ru
