Útiterv a Wayland támogatás javításához a Firefoxban

Martin Stransky, a Fedora és a RHEL Firefox-csomagkarbantartója, aki a Firefoxot Waylandre portolja, közzétett egy jelentést, amely áttekinti a Wayland protokoll-alapú környezetekben futó Firefox legújabb fejlesztéseit.

A Firefox következő kiadásaiban a tervek szerint megoldják a Wayland buildjeiben a vágólappal és az előugró ablakok kezelésével kapcsolatos problémákat. Ezeket a funkciókat nem lehetett azonnal megvalósítani, mert az X11-ben és a Waylandben eltérő megközelítést alkalmaztak. Az első esetben nehézségek adódtak a Wayland vágólap aszinkron működése miatt, amihez külön réteg létrehozására volt szükség a Wayland vágólap eléréséhez. A megadott réteg hozzáadódik a Firefox 93-hoz, és alapértelmezés szerint engedélyezve lesz a Firefox 94-ben.

A felugró párbeszédpanelekkel kapcsolatban a fő nehézséget az jelentette, hogy a Wayland szigorú felugró ablakok hierarchiáját követeli meg, pl. a szülőablak létrehozhat egy előugró ablakot tartalmazó gyermekablakot, de az ebből az ablakból elindított következő felugró ablaknak láncot alkotva kapcsolódnia kell az eredeti gyermekablakhoz. A Firefoxban minden ablak több felugró ablakot hozhat létre, amelyek nem alkottak hierarchiát. A probléma az volt, hogy a Wayland használatakor az egyik előugró ablak bezárásához a teljes ablakláncot át kell építeni más előugró ablakokkal, annak ellenére, hogy nem ritka a több megnyitott előugró jelenléte sem, hiszen a menük és a felugró ablakok a következő formában valósulnak meg. felugró ablakok eszköztippjei, kiegészítő párbeszédpanelek, engedélykérések stb. A helyzetet nehezítették a Wayland és a GTK hibái is, amelyek miatt az apró változtatások különféle regressziókhoz vezethetnek. A Wayland előugró ablakainak kezelésére szolgáló kód azonban hibakeresésre került, és a tervek szerint bekerül a Firefox 94-be.

A Waylanddal kapcsolatos további fejlesztések közé tartozik a Firefox 93 skálázási módosítása a különböző DPI-képernyőkön, amelyek kiküszöbölik a villogást, amikor egy ablakot a képernyő szélére mozgatnak többmonitoros konfigurációkban. A Firefox 95 azt tervezi, hogy orvosolja azokat a problémákat, amelyek a drag&drop interfész használatakor merülnek fel, például fájlok külső forrásból helyi fájlba másolásakor vagy lapok mozgatásakor.

A Firefox 96 kiadásával a tervek szerint a Wayland Firefox-portja az X11-es buildtel való teljes funkcionalitásban egyenlő lesz, legalábbis ha a Fedora GNOME-környezetében fut. Ezt követően a fejlesztők figyelme a grafikus adapterekkel való interakcióhoz szükséges kódot tartalmazó GPU-folyamat Wayland-környezetben végzett munkájának csiszolására irányul, amely megvédi a fő böngészőfolyamatot az összeomlással szemben illesztőprogram-hibák esetén. A tervek szerint a GPU-folyamat tartalmazni fogja a videó dekódolását is a VAAPI használatával, amely jelenleg a tartalomfeldolgozási folyamatokban fut.

Ezenkívül megjegyezhetjük, hogy a Fission projekt részeként kifejlesztett szigorú webhely-elszigetelő módot alkalmaztak a Firefox stabil ágait használók kis százalékára. Ellentétben a lapok feldolgozásának a rendelkezésre álló folyamatkészleten belüli tetszőleges elosztásával (alapértelmezés szerint 8), az izolációs vonal mód minden egyes webhely feldolgozását külön folyamatba helyezi, amelyet nem tabulátorok, hanem tartományok választanak el (nyilvános Utótag), amely lehetővé teszi a külső szkriptek és iframe blokkok további elkülönítési tartalmát. A fission mód engedélyezése a „fission.autostart=true” változóval szabályozható az about:config fájlban vagy az about:preferences#experimental oldalon.

A szigorú elkülönítési mód segít megvédeni az oldalcsatornás támadásokat, például a Spectre sebezhetőségeivel kapcsolatosakat, és csökkenti a memória töredezettségét, hatékonyabban téríti vissza a memóriát az operációs rendszerbe, minimalizálja a szemétgyűjtés és az intenzív számítások hatását más folyamatok oldalain, és növeli a terheléselosztás hatékonyságát a különböző CPU-magok között, és növeli a stabilitást (az iframe-et feldolgozó folyamat összeomlása nem lesz hatással a fő webhelyre és a többi lapra).

A szigorú elkülönítési mód használatakor fellépő ismert problémák között szerepel a memória- és fájlleíró-felhasználás észrevehető növekedése nagyszámú lap megnyitásakor, valamint egyes kiegészítők működésének megszakadása, az iframe tartalom eltűnése, amikor a képernyőkép rögzítési funkciójának nyomtatása és meghívása, a dokumentumok gyorsítótárazásának hatékonysága az iframe-ből, a kitöltött, de be nem adott űrlapok tartalomvesztése, amikor egy munkamenet visszaáll egy összeomlás után.

A Firefox további változtatásai közé tartozik a Fluent lokalizációs rendszerre való átállás befejezése, a High Contrast Mode fejlesztése, a folyamatteljesítmény-profilok egy kattintással történő rögzítésének lehetősége az about:processesbe, valamint a régit visszaállító beállítás eltávolítása. a Firefox 89 előtt használt új lap oldal stílusa.

Forrás: opennet.ru

Hozzászólás