Deweloperzy systemu operacyjnego SerenityOS poinformowali, że rozwijana przez nich przeglądarka internetowa pomyślnie przeszła testy Acid3, stosowane do sprawdzania przeglądarek internetowych pod kątem wsparcia standardów webowych. Zauważono, że spośród nowych, otwartych przeglądarek stworzonych po utworzeniu Acid3, SerenityOS Browser jest pierwszym projektem, który w pełni przeszedł te testy.

Zestaw testów Acid3 został stworzony w 2008 roku przez Iana Hicksona, inicjatora stworzenia specyfikacji HTML5 i współautora specyfikacji CSS. Acid3 obejmuje 100 testów, przygotowanych w formie funkcji, które zwracają pozytywny lub negatywny wynik. Testy obejmują różne obszary, takie jak ECMAScript, HTML 4.01, DOM Level 2, HTTP/1.1, SVG, XML i inne. W 2011 roku testy zostały zaktualizowane, ale z powodu zmian w nowoczesnych specyfikacjach webowych, współczesne przeglądarki Chrome i Firefox przechodzą jedynie 97 z 100 testów Acid3.
SerenityOS Browser jest napisany w języku C++ i dystrybuowany na licencji BSD. W projekcie wykorzystywany jest autorski silnik przeglądarki LibWeb oraz interpreter JavaScript LibJS, wydzielone do zewnętrznych bibliotek. Obsługiwane jest wykonywanie pośredniego kodu WebAssembly. Dla wsparcia protokołów HTTP i HTTPS rozwijane są biblioteki LibHTTP i LibTLS.
Przypomnijmy, że projekt Serenity rozwija system operacyjny podobny do Uniksa dla architektur x86 oraz x86_64, wyposażony we własne jądro i interfejs graficzny stylizowany na systemy operacyjne z końca lat 90. Rozwój prowadzony jest od podstaw, dla własnej przyjemności, i nie bazuje na kodzie istniejących systemów. Autorzy postawili sobie za cel doprowadzenie SerenityOS do poziomu użyteczności w codziennej pracy, zachowując estetykę systemów z końca lat 90., ale wzbogacając ją o użyteczne pomysły dla doświadczonych użytkowników współczesnych systemów.
W jądrze SerenityOS zadeklarowano wsparcie dla takich funkcji jak preemptive multitasking, wykorzystanie mechanizmów ochrony sprzętowej (SMEP, SMAP, UMIP, NX, WP, TSD), wielowątkowość, stos IPv4, system plików oparty na Ext2, sygnały POSIX, mmap(), pliki wykonywalne w formacie ELF, pseudo-FS /proc, gniazda Unix, pseudoterminale, oraz narzędzia do profilowania.
Środowisko użytkownika składa się z menedżerów kompozytowych i konsolowych (WindowServer, TTYServer), powłoki wiersza poleceń, standardowej biblioteki C (LibC), zestawu standardowych narzędzi użytkownika oraz środowiska graficznego opartego na własnym frameworku GUI (LibGUI, LibGfx, LibGL) i zestawie widżetów. W zestawie aplikacji graficznych znajdują się klient poczty elektronicznej, środowisko do wizualnego projektowania interfejsu HackStudio, edytor tekstu, syntezator dźwięku, menedżer plików, kilka gier, interfejs do uruchamiania programów, edytor czcionek, menedżer pobierania plików, emulator terminala, konfiguratory, przeglądarka PDF, graficzny edytor PixelPaint, odtwarzacz muzyczny, edytor arkuszy kalkulacyjnych oraz odtwarzacz wideo.

Źródło: opennet.ru
