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
