Plan za poboljšanje podrške za Wayland u Firefoxu

Martin Stransky, održavatelj paketa Firefoxa za Fedoru i RHEL koji prenosi Firefox na Wayland, objavio je izvješće u kojem se pregledavaju najnovija dostignuća u Firefoxu koji radi u okruženjima temeljenim na protokolu Wayland.

U nadolazećim izdanjima Firefoxa planira se riješiti probleme uočene u verzijama za Wayland s međuspremnikom i rukovanjem skočnim prozorima. Ove se značajke nisu mogle odmah implementirati zbog razlika u pristupu njihovoj implementaciji u X11 i Waylandu. U prvom slučaju, poteškoće su nastale zbog asinkronog rada Wayland međuspremnika, što je zahtijevalo stvaranje zasebnog sloja za apstrahiranje pristupa Wayland međuspremniku. Navedeni sloj bit će dodan u Firefox 93 i omogućen prema zadanim postavkama u Firefoxu 94.

Što se tiče skočnih dijaloga, glavna je poteškoća bila u tome što Wayland zahtijeva strogu hijerarhiju skočnih prozora, tj. nadređeni prozor može stvoriti podređeni prozor sa skočnim prozorom, ali sljedeći skočni prozor pokrenut iz tog prozora mora se vezati na izvorni podređeni prozor, tvoreći lanac. U Firefoxu je svaki prozor mogao stvoriti nekoliko skočnih prozora koji nisu formirali hijerarhiju. Problem je bio u tome što kada koristite Wayland, zatvaranje jednog od skočnih prozora zahtijeva ponovnu izgradnju cijelog lanca prozora s drugim skočnim prozorima, unatoč činjenici da prisutnost nekoliko otvorenih skočnih prozora nije neuobičajena, jer su izbornici i skočni prozori implementirani u obliku skočni opisi alata, dijalozi dodataka, zahtjevi za dopuštenjima itd. Situaciju su zakomplicirali i nedostaci u Waylandu i GTK-u, zbog kojih su male promjene mogle dovesti do raznih regresija. Međutim, kod za rukovanje skočnim prozorima za Wayland je otklonjen i planira se uključiti u Firefox 94.

Ostala poboljšanja povezana s Waylandom uključuju dodavanje 93 promjene skaliranja u Firefoxu na različitim DPI zaslonima, što eliminira treperenje prilikom pomicanja prozora do ruba zaslona u konfiguracijama s više monitora. Firefox 95 planira riješiti probleme koji nastaju pri korištenju drag&drop sučelja, na primjer, pri kopiranju datoteka iz vanjskih izvora u lokalne datoteke i pri pomicanju kartica.

S izdanjem Firefoxa 96, Firefox priključak za Wayland planira se dovesti u sveukupni paritet u funkcionalnosti s X11 buildom, barem kada se izvodi u GNOME okruženju Fedore. Nakon toga, pažnja programera bit će usmjerena na usavršavanje rada u Wayland okruženjima GPU procesa, koji sadrži kod za interakciju s grafičkim adapterima i koji štiti glavni proces preglednika od rušenja u slučaju kvara upravljačkog programa. Proces GPU-a također je planiran da uključi kod za video dekodiranje pomoću VAAPI-ja, koji se trenutno izvodi u procesima obrade sadržaja.

Dodatno, možemo primijetiti uključivanje strogog načina izolacije web mjesta, razvijenog kao dio projekta Fission, za mali postotak korisnika stabilnih grana Firefoxa. Za razliku od proizvoljne distribucije obrade kartica preko dostupnog skupa procesa (8 prema zadanim postavkama), koji se do sada koristio, način rada izolacijske linije postavlja obradu svake stranice u vlastiti zaseban proces, odvojen ne karticama, već domenom (Public Sufiks), koji omogućuje dodatnu izolaciju sadržaja vanjskih skripti i iframe blokova. Omogućavanje načina Fission kontrolira se putem varijable “fission.autostart=true” u about:config ili na about:preferences#experimental stranici.

Strogi način izolacije pomaže u zaštiti od napada sporednih kanala, poput onih povezanih s ranjivostima Spectrea, a također smanjuje fragmentaciju memorije, učinkovitije vraća memoriju operativnom sustavu, smanjuje utjecaj skupljanja smeća i intenzivnih izračuna na stranice u drugim procesima i povećava učinkovitost raspodjele opterećenja na različite CPU jezgre i povećava stabilnost (pad procesa obrade iframea neće utjecati na glavno mjesto i druge kartice).

Među poznatim problemima koji se javljaju pri korištenju režima stroge izolacije, primjetno je povećanje potrošnje memorije i deskriptora datoteka prilikom otvaranja velikog broja kartica, kao i poremećaj rada nekih dodataka, nestanak iframe sadržaja kada ispis i pozivanje funkcije snimanja screenshot-a, smanjena učinkovitost predmemoriranja dokumenata iz iframe-a, gubitak sadržaja ispunjenih ali neposlanih obrazaca kada se sesija obnovi nakon pada.

Ostale promjene u Firefoxu uključuju završetak migracije na sustav lokalizacije Fluent, poboljšanja u načinu rada visokog kontrasta, dodavanje mogućnosti snimanja profila izvedbe procesa jednim klikom na about:processes i uklanjanje postavke za vraćanje starog stil stranice nove kartice koji se koristio prije Firefoxa 89.

Izvor: opennet.ru

Dodajte komentar