Teekaart Waylandi toe parandamiseks Firefoxis

Fedora ja RHELi Firefoxi pakettide hooldaja Martin Stransky, kes portib Firefoxi Waylandi, avaldas aruande, milles käsitletakse Waylandi protokollipõhistes keskkondades töötava Firefoxi uusimaid arenguid.

Tulevaste Firefoxi väljaannete puhul on kavas lahendada Waylandi ehitustes täheldatud probleemid lõikepuhvri ja hüpikakende käsitlemisega. Neid funktsioone ei saanud kohe rakendada, kuna X11 ja Wayland nende rakendamisel on erinevad lähenemisviisid. Esimesel juhul tekkisid raskused Waylandi lõikepuhvri asünkroonse töötamise tõttu, mis nõudis Waylandi lõikepuhvrile juurdepääsu abstraktseks saamiseks eraldi kihi loomist. Määratud kiht lisatakse Firefox 93-le ja vaikimisi lubatakse Firefox 94-s.

Hüpikdialoogide puhul oli peamiseks raskuseks see, et Wayland nõuab ranget hüpikakende hierarhiat, s.t. vanemaken võib luua hüpikaknaga alamakna, kuid sellest aknast käivitatav järgmine hüpikaken peab seostuma algse alamaknaga, moodustades ahela. Firefoxis võib iga aken luua mitu hüpikakent, mis ei moodusta hierarhiat. Probleem seisnes selles, et Waylandi kasutamisel nõuab ühe hüpikakende sulgemine kogu akende ahela ümberehitamist teiste hüpikakendega, hoolimata asjaolust, et mitme avatud hüpikakna olemasolu pole haruldane, kuna menüüd ja hüpikaknad on realiseeritud hüpikaknad, lisandmoodulite dialoogiaknad, loataotlused jne. Olukorra tegid keeruliseks ka vead Waylandis ja GTK-s, mille tõttu võisid väikesed muudatused kaasa tuua erinevaid taandarenguid. Waylandi hüpikakende haldamise kood on aga silutud ja plaanitakse lisada Firefox 94-sse.

Muud Waylandiga seotud täiustused hõlmavad Firefoxi 93 skaleerimise muudatuse lisamist erinevatele DPI-ekraanidele, mis välistavad virvenduse akna liigutamisel ekraani servale mitme monitoriga konfiguratsioonides. Firefox 95 plaanib lahendada probleeme, mis tekivad lohistamisliidese kasutamisel, näiteks failide kopeerimisel välistest allikatest kohalikesse failidesse ja vahekaartide teisaldamisel.

Firefox 96 väljalaskmisega plaanitakse Waylandi Firefoxi porti viia funktsionaalsuselt üldiselt võrdne X11 ehitusega, vähemalt Fedora GNOME keskkonnas töötades. Pärast seda suunatakse arendajate tähelepanu graafikaprotsessori protsessi Waylandi keskkondades töö lihvimisele, mis sisaldab koodi graafikaadapteritega suhtlemiseks ja mis kaitseb põhibrauseri protsessi krahhi eest draiveri rikete korral. GPU protsessi plaanitakse lisada ka kood video dekodeerimiseks VAAPI abil, mida praegu jooksevad sisutöötlusprotsessides.

Lisaks võime märkida, et väikese protsendi Firefoxi stabiilsete harude kasutajate jaoks on lisatud Fission projekti osana välja töötatud range saidi isolatsioonirežiim. Erinevalt seni kasutatud vahekaartide töötlemise suvalisest jaotusest saadaoleva protsessikogumi vahel (vaikimisi 8), paigutab isolatsioonirea režiim iga saidi töötlemise omaette protsessi, mida ei eralda vahekaardid, vaid domeenid (avalik Sufiks), mis võimaldab väliste skriptide ja iframe'i plokkide täiendavat isoleerimist. Fission-režiimi lubamist juhitakse muutuja „fission.autostart=true” kaudu umbes:config või lehel about:preferences#experimental.

Range isolatsioonirežiim aitab kaitsta külgkanalite rünnakute eest, nagu need, mis on seotud Spectre haavatavustega, ning vähendab ka mälu killustumist, tagastab mälu tõhusamalt operatsioonisüsteemi, minimeerib prügikorjamise ja intensiivsete arvutuste mõju muude protsesside lehtedele ning suurendab koormuse jaotamise tõhusust erinevate protsessori tuumade vahel ja stabiilsust (iframe'i töötleva protsessi krahh ei mõjuta põhisaiti ega muid vahekaarte).

Teadaolevate probleemide hulgas, mis ilmnevad range isolatsioonirežiimi kasutamisel, on märgatavalt suurenenud mälu ja failideskriptori tarbimine suure hulga vahekaartide avamisel, aga ka mõne lisandmooduli töö katkemine, iframe'i sisu kadumine, kui printimine ja ekraanipiltide salvestamise funktsiooni kutsumine, iframe'i dokumentide vahemällu salvestamise efektiivsuse vähenemine, täidetud, kuid esitamata vormide sisu kadumine, kui seanss taastatakse pärast krahhi.

Muud Firefoxi muudatused hõlmavad lokaliseerimissüsteemile Fluent ülemineku lõpuleviimist, suure kontrastsusega režiimi täiustusi, protsesside toimivusprofiilide ühe klõpsuga salvestamise võimaluse lisamist umbes:protsesside juurde ja vana süsteemi tagastamise seadete eemaldamist. uue vahelehe stiilis, mida kasutati enne Firefox 89.

Allikas: opennet.ru

Lisa kommentaar