Martin Stransky, vzdrževalec paketov Firefox v Fedora in RHEL, ki se ukvarja s prenosom Firefoxa za Wayland, je objavil poročilo o zadnjih dosežkih pri delovanju Firefoxa v okoljih, ki temeljijo na protokolu Wayland.
V prihodnjih izdajah Firefox nameravajo rešiti težave z odložiščem in obravnavo pojavnih oken (popup), ki so opazili v različicah za Wayland. Te možnosti niso bile takoj uresničene zaradi razlik v pristopih k njihovemu uresničevanju v X11 in Wayland. V prvem primeru so se težave pojavile zaradi delovanja odložišča Wayland v asinhronem načinu, kar je zahtevalo ustvarjanje ločene plasti za abstrakcijo dostopa do odložišča Wayland. Ta plast bo dodana v Firefox 93 in vključena privzeto v Firefox 94.
Kar zadeva pojavna okna, je glavna težava ta, da Wayland zahteva strogo hierarhijo pojavnih oken, tj. starševsko okno lahko ustvari otroško okno s popup-om, vendar se mora naslednji popup, ki ga sproži to okno, vezati na izvorno otroško okno, kar ustvarja verigo. V Firefoxu je lahko vsako okno ustvarilo več popup-ov, ki niso oblikovali hierarhije. Težava je bila v tem, da je pri uporabi Wayland-a zapiranje enega od popup-ov zahtevalo prenovo celotne verige oken z drugimi popup-i, pri čemer prisotnost več odprtih popup-ov ni redkost, saj so v obliki popup-ov implementirani meniji, pojavne namige, dialogi razširitev, zahtevki za pooblastila itd. Situacijo so dodatno oteževale pomanjkljivosti v Wayland-u in GTK, zaradi katerih je lahko že majhna sprememba povzročila različne regresije. Kljub temu je bil koda za obravnavo pojavnih oken za Wayland optimiziran in ga nameravajo vključiti v Firefox 94.
Med drugimi izboljšavami, povezanimi z Wayland, je treba omeniti dodajanje sprememb v Firefox 93, povezanih z merjenjem na ekranih z različno DPI, ki so omogočila odpravo utripanja pri premikanju okna na rob zaslona v večmonitornih konfiguracijah. V Firefox 95 nameravajo rešiti težave, ki se pojavijo pri uporabi vmesnika drag & drop, na primer pri kopiranju datotek iz zunanjih virov v lokalne FS in pri premikanju zavihkov.
V izdaji Firefox 96 načrtujejo, da bodo prenos Firefox za Wayland privedli do enake funkcionalnosti kot različica za X11, vsaj pri delu v GNOME okolju Fedora. Po tem se bo pozornost razvijalcev preusmerila na izboljšanje delovanja v Wayland GPU procesu, v katerem bo vsebovan koda za interakcijo z grafičnimi adapterji in ki zaščiti glavni proces brskalnika pred zrušitvijo v primeru težav z gonilniki. V GPU proces se bo prav tako prenesla koda za dekodiranje videoposnetkov z VAAPI, ki se trenutno izvaja v procesih obdelave vsebine.
Dodatno lahko omenimo vključitev strogega izolacijskega načina za majhen odstotek uporabnikov stabilnih različic Firefox, ki se je razvijal v okviru projekta Fission. V nasprotju s doslej uporabljeno poljubno razdelitvijo obdelave zavihkov po razpoložljivem naboru procesov (privzeto 8), režim stroge izolacije izloča obdelavo vsakega spletnega mesta v svoj ločen proces s segrešenjem ne po zavihkih, temveč po domenah (Public Suffix), kar dodatno omogoča izolacijo vsebine zunanjih skript in iframe blokov. Upravljanje vključitve režima Fission poteka preko spremenljivke „fission.autostart=true“ v about:config ali na strani about:preferences#experimental.
Režim stroge izolacije ščiti pred napadi po stranskih kanalih, na primer tistimi, povezanimi z ranljivostmi razreda Spectre, hkrati pa zmanjšuje fragmentacijo pomnilnika, učinkoviteje vrača pomnilnik operacijskemu sistemu, minimizira vpliv zbiranja odpadkov in intenzivnih izračunov na strani v drugih procesih, povečuje učinkovitost porazdelitve obremenitve na različna jedra CPU in povečuje stabilnost (zrušitev procesa, ki obdeluje iframe, ne bo potegnila glavne strani in drugih zavihkov).
Med znanimi težavami, ki nastanejo pri uporabi režima stroge izolacije, je opazno povečanje porabe pomnilnika in datotečnih descriptorjev pri odpiranju velikega števila zavihkov, pa tudi motnje pri delovanju nekaterih razširitev, izginotje vsebine iframe pri tiskanju in klicu funkcije zajema zaslona, zmanjšana učinkovitost predpomnjenja dokumentov z iframe, izguba vsebine izpolnjenih, a ne poslanih obrazcev pri obnovitvi seje po zrušitvi.
Med drugim spremembam v Firefoxu so zaključene migracije na sistem lokalizacije Fluent, izboljšan višokot Contrast Mode, dodana možnost snemanja profilov uspešnosti procesa v enem kliku v about:processes, ter odstranjena nastavitev za vrnitev na staro obliko strani za odpiranje nove zavihke, ki se je uporabljala do Firefox 89.
Izvor: opennet.ru
