Plán na zlepšenie podpory Wayland vo Firefoxe

Martin Stransky, správca balíkov Firefoxu pre Fedora a RHEL, ktorý prenáša Firefox na Wayland, publikoval správu, v ktorej zhodnotil najnovší vývoj Firefoxu spusteného v prostrediach založených na protokole Wayland.

V nadchádzajúcich vydaniach Firefoxu sa plánuje vyriešiť problémy pozorované v zostavách pre Wayland so schránkou a manipuláciou s kontextovými oknami. Tieto funkcie nebolo možné okamžite implementovať kvôli rozdielom v prístupe k ich implementácii v X11 a Wayland. V prvom prípade vznikli ťažkosti kvôli asynchrónnemu chodu schránky Wayland, čo si vyžadovalo vytvorenie samostatnej vrstvy na abstraktný prístup do schránky Wayland. Zadaná vrstva bude pridaná do Firefoxu 93 a predvolene povolená vo Firefoxe 94.

Čo sa týka vyskakovacích dialógov, hlavným problémom bolo, že Wayland vyžaduje prísnu hierarchiu vyskakovacích okien, t.j. rodičovské okno môže vytvoriť podriadené okno s vyskakovacím oknom, ale ďalšie vyskakovacie okno spustené z tohto okna sa musí naviazať na pôvodné podriadené okno a vytvoriť reťaz. Vo Firefoxe mohlo každé okno vyvolať niekoľko vyskakovacích okien, ktoré netvorili hierarchiu. Problém bol v tom, že pri používaní Wayland si zatvorenie jedného z kontextových okien vyžaduje prebudovanie celého reťazca okien s inými kontextovými oknami, a to napriek skutočnosti, že prítomnosť niekoľkých otvorených kontextových okien nie je nezvyčajná, pretože ponuky a kontextové okná sú implementované vo forme kontextové okná s popismi, dialógové okná doplnkov, žiadosti o povolenia atď. Situáciu komplikovali aj nedostatky vo Wayland a GTK, kvôli ktorým mohli malé zmeny viesť k rôznym regresiám. Kód na obsluhu vyskakovacích okien pre Wayland bol však odladený a plánuje sa jeho zahrnutie do Firefoxu 94.

Medzi ďalšie vylepšenia súvisiace s Wayland patrí pridanie 93 zmien mierky do Firefoxu na rôznych obrazovkách s rozlíšením DPI, ktoré eliminujú blikanie pri presúvaní okna na okraj obrazovky v konfiguráciách s viacerými monitormi. Firefox 95 plánuje riešiť problémy, ktoré vznikajú pri používaní rozhrania drag&drop, napríklad pri kopírovaní súborov z externých zdrojov do lokálnych súborov a pri presúvaní kariet.

S vydaním Firefoxu 96 sa plánuje, že port Firefoxu pre Wayland bude vo funkciách úplne rovnocenný so zostavou X11, prinajmenšom pri spustení v prostredí GNOME Fedory. Potom sa pozornosť vývojárov presunie na zdokonaľovanie práce v prostrediach Wayland GPU procesu, ktorý obsahuje kód na interakciu s grafickými adaptérmi a ktorý chráni hlavný proces prehliadača pred zlyhaním v prípade zlyhania ovládača. Proces GPU sa plánuje aj so začlenením kódu na dekódovanie videa pomocou VAAPI, ktorý je v súčasnosti spustený v procesoch spracovania obsahu.

Okrem toho si môžeme všimnúť zahrnutie prísneho režimu izolácie stránok, ktorý bol vyvinutý ako súčasť projektu Fission, pre malé percento používateľov stabilných vetiev Firefoxu. Na rozdiel od doteraz používaného ľubovoľného rozloženia spracovania kariet v rámci dostupnej oblasti procesov (štandardne 8), režim izolačnej linky umiestňuje spracovanie každej lokality do vlastného samostatného procesu, ktorý nie je oddelený kartami, ale doménou (verejné Suffix), ktorá umožňuje dodatočnú izoláciu obsahu externých skriptov a blokov iframe. Povolenie režimu štiepenia sa ovláda cez premennú „fission.autostart=true“ v about:config alebo na stránke about:preferences#experimental.

Striktný režim izolácie pomáha chrániť pred útokmi postranných kanálov, ako sú tie, ktoré sú spojené so zraniteľnosťami Spectre, a tiež znižuje fragmentáciu pamäte, efektívnejšie vracia pamäť operačnému systému, minimalizuje vplyv hromadenia odpadu a intenzívnych výpočtov na stránkach v iných procesoch a zvyšuje efektivitu rozloženia záťaže medzi rôzne jadrá CPU a zvyšuje stabilitu (zlyhanie procesu spracovania iframe neovplyvní hlavnú stránku a ostatné karty).

Medzi známymi problémami, ktoré vznikajú pri použití režimu striktnej izolácie, je citeľné zvýšenie spotreby pamäte a deskriptora súboru pri otváraní veľkého počtu kariet, ako aj narušenie práce niektorých doplnkov, zmiznutie obsahu iframe pri tlač a volanie funkcie nahrávania snímok obrazovky, znížená efektivita ukladania dokumentov z iframe, Strata obsahu vyplnených, ale neodoslaných formulárov pri obnovení relácie po páde.

Medzi ďalšie zmeny vo Firefoxe patrí dokončenie migrácie na lokalizačný systém Fluent, vylepšenia režimu vysokého kontrastu, pridanie možnosti zaznamenávať profily výkonnosti procesov jedným kliknutím do about:processes a odstránenie nastavenia na vrátenie starého štýl stránky novej karty, ktorý sa používal pred Firefoxom 89.

Zdroj: opennet.ru

Pridať komentár