Přeskočit na obsah
Tech-Blog Chatujme.cz Chatujme.cz
Programování

Servo 0.5 po opravě přednačítání obrázků vykreslí kachnu na úvodní straně DuckDuckGo

Prohlížečové jádro Servo vyšlo 31. srpna 2026 ve verzi 0.5.0 a shrnuje 488 commitů z července. Oprava přednačítání obrázků vrátila kachnu na úvodní stranu vyhledávače DuckDuckGo, dvojrozměrné plátno se nově kreslí ve více vláknech a sazba opakovaného textu je v některých případech až desetkrát rychlejší.

· 172 zhlédnutí

Okno prohlížeče Servo s vykreslenou úvodní stranou německé Wikipedie
Servoshell vykresluje úvodní stranu německé Wikipedie. Snímek je z února 2015, z doby, kdy Servo spravovala výzkumná část Mozilly. Foto: Jonsger, Wikimedia Commons (CC BY-SA 3.0)

Prohlížečové jádro Servo vyšlo 31. srpna 2026 ve verzi 0.5.0. Shrnuje 488 commitů, které v něm přibyly za červenec. Nejlépe je z nich vidět oprava přednačítání obrázků: úvodní strana vyhledávače DuckDuckGo se v Servu kreslila bez kachny, kterou stránka vkládá jako obrázek SVG. Teď se kachna objeví.

Servo není prohlížeč, ale jádro k vestavění do cizího programu. Vzniklo v roce 2012 ve výzkumné části Mozilly, v roce 2020 nad ním převzala patronát Linux Foundation a od roku 2023 ho hostí Linux Foundation Europe. Napsané je v Rustu. Okno s adresním řádkem, kterému projekt říká servoshell, slouží hlavně jako ukázka toho, co jádro umí.

Kachna a Gumroad

Za chybějící kachnou stála drobnost v síťové vrstvě. Servo si u přednačítaných požadavků neschovávalo původní odpověď, takže obrázek, na který si stránka řekne dopředu, se pak neměl z čeho vykreslit. Opravu přinesl záznam č. 46668 sloučený 21. července.

Druhý příklad, který projekt uvádí, je obchod Gumroad. Ve verzi 0.4.0 se z něj kromě úvodní strany nevykreslilo skoro nic, ve verzi 0.5.0 se stránky produktů i přehled Discover zobrazí téměř bez vad. Jak si Servo vede na dalších webech, sbírá projekt od uživatelů: úspěchy chce hlásit ve vlákně na Zulipu, nezdary do evidence chyb.

Plátno ve více vláknech

Kreslení dvojrozměrného plátna (canvas) běží nově ve více vláknech. Podle zápisu k vydání to zvedlo snímkovou frekvenci až o 55 % a snížilo spotřebu energie na jeden snímek až o 42 %; paměti si plátno bere také méně.

Druhé zrychlení se týká sazby textu. Když se na stránce opakuje tentýž text v různých velikostech písma, vysází ho Servo až desetkrát rychleji než dřív. Rozvržení podle flexboxu je v měřeních rychlejší až o 3 % a úprava metody getElementsByClassName() zrychlila některé weby o procento.

Zranitelnosti v knihovnách a novější ANGLE

Verze 0.5.0 zavírá tři zranitelnosti v knihovnách, na kterých Servo stojí. Dvě jsou v rozboru XML: RUSTSEC-2026-0194 je kvadratická složitost kontroly, jestli počáteční značka nemá dvakrát týž atribut, a RUSTSEC-2026-0195 je neomezené přidělování paměti deklaracím jmenných prostorů, kterým jde paměť vyčerpat. Třetí, RUSTSEC-2026-0204, je v knihovně crossbeam-epoch: při formátování ukazatele se sáhne na paměť, na kterou míří, i když už neplatí.

Vedle toho Servo povýšilo ANGLE, vrstvu překládající volání OpenGL ES na grafické rozhraní systému. Dosud používalo podobu odvozenou z Firefoxu 115 ESR, nově z Firefoxu 140.12.0 ESR. Projekt sám dodává, že s tím nejspíš přišla i řada bezpečnostních oprav; jejich seznam neuvádí.

Pro ty, kdo Servo vestavují

Rozhraní pro vestavění má jednu nekompatibilní změnu. Metoda ServoBuilder::webxr_registry() zmizela a nahradila ji Servo::register_webxr_registry(). Registr se díky tomu zakládá až ve chvíli, kdy je ho potřeba, a servoshell si tím zkrátil start na polovinu.

Verze servoshellu pro Android běží nově na Androidu 10 a novějším, dosud to bylo až od Androidu 13. Projekt to podkládá podílem na trhu: 91 % proti dosavadním 68 %. Přibyly také sestavené soubory pro Linux na architektuře aarch64, do minulého vydání projekt zveřejňoval jen x86_64.

Co se rozdělalo

Označený text je v Servu nově vidět, což verze 0.4 ještě neuměla; vybírat ho myší zatím nejde, to má přijít později. Začala práce na titulcích ve formátu WebVTT: jádro soubor stáhne, rozebere a zpřístupní skriptu, vykreslit ho ještě neumí. Strom přístupnosti, který čtečkám obrazovky popisuje obsah stránky, se nově aktualizuje po částech místo přestavování celého; zapíná se přepínačem, mezi hotové funkce tedy nepatří.

Na konci zápisu projekt uvádí, že dostává 7 824 dolarů měsíčně v pravidelných darech, o 1,8 % víc než v červnu. Platí z nich servery pro průběžnou integraci a měření výkonu a část práce správců.

Zdroje

Programování Internet a sítě

Rust Webové standardy prohlížeče Servo

← zpět na výpis