Padkaart vir die verbetering van Wayland-ondersteuning in Firefox

Martin Stransky, 'n Firefox-pakketonderhouer vir Fedora en RHEL wat Firefox na Wayland oordra, het 'n verslag gepubliseer waarin die jongste ontwikkelings in Firefox in Wayland-protokol-gebaseerde omgewings nagegaan word.

In die komende uitgawes van Firefox word beplan om die probleme wat waargeneem word in builds vir Wayland op te los met die knipbord en die hantering van pop-ups. Hierdie kenmerke kon nie onmiddellik geïmplementeer word nie as gevolg van verskille in die benadering tot die implementering daarvan in X11 en Wayland. In die eerste geval het probleme ontstaan ​​as gevolg van die Wayland-knipbord wat asynchroon loop, wat die skepping van 'n aparte laag vereis het om toegang tot die Wayland-knipbord te onttrek. Die gespesifiseerde laag sal by Firefox 93 gevoeg word en by verstek in Firefox 94 geaktiveer word.

Wat opspringdialoog betref, was die grootste probleem dat Wayland 'n streng hiërargie van opspringvensters vereis, m.a.w. 'n ouervenster kan 'n kindervenster met 'n opspringvenster skep, maar die volgende opspringvenster wat vanaf daardie venster begin word, moet aan die oorspronklike kindervenster bind en 'n ketting vorm. In Firefox kan elke venster verskeie opspringers veroorsaak wat nie 'n hiërargie gevorm het nie. Die probleem was dat wanneer jy Wayland gebruik, die sluiting van een van die opspringers vereis dat die hele ketting vensters met ander opspringers herbou moet word, ondanks die feit dat die teenwoordigheid van verskeie oop opspringers nie ongewoon is nie, aangesien spyskaarte en opspringers geïmplementeer word in die vorm van opspring-nutsdingwenke, byvoegingsdialoë, toestemmingversoeke, ens. Die situasie is ook bemoeilik deur gebreke in Wayland en GTK, waardeur klein veranderinge tot verskeie regressies kon lei. Die kode vir die hantering van pop-ups vir Wayland is egter ontfout en word beplan om in Firefox 94 ingesluit te word.

Ander Wayland-verwante verbeterings sluit in die toevoeging van 93 skaalveranderings aan Firefox op verskillende DPI-skerms, wat flikkering uitskakel wanneer 'n venster na die rand van die skerm in multimonitor-konfigurasies geskuif word. Firefox 95 beplan om probleme aan te spreek wat ontstaan ​​wanneer die sleep-en-los-koppelvlak gebruik word, byvoorbeeld wanneer lêers van eksterne bronne na plaaslike lêers gekopieer word en wanneer oortjies geskuif word.

Met die vrystelling van Firefox 96, word beplan om die Firefox-poort vir Wayland tot algehele gelykheid in funksionaliteit gebring te word met die X11-bou, ten minste wanneer dit in die GNOME-omgewing van Fedora loop. Hierna sal die ontwikkelaars se aandag oorgeskakel word na die slyp van die werk in Wayland-omgewings van die GPU-proses, wat kode bevat vir interaksie met grafiese adapters en wat die hoofblaaierproses beskerm teen ineenstorting in die geval van bestuurderfoute. Die GPU-proses word ook beplan om kode vir video-dekodering in te sluit met VAAPI, wat tans in inhoudverwerkingsprosesse uitgevoer word.

Daarbenewens kan ons let op die insluiting van 'n streng werf-isolasiemodus, ontwikkel as deel van die Fission-projek, vir 'n klein persentasie gebruikers van die stabiele takke van Firefox. In teenstelling met die arbitrêre verspreiding van oortjieverwerking oor die beskikbare prosespoel (8 by verstek), wat tot dusver gebruik is, plaas die isolasielynmodus die verwerking van elke webwerf in sy eie aparte proses, nie deur oortjies geskei nie, maar deur domein (Publiek Agtervoegsel), wat voorsiening maak vir addisionele isolasie-inhoud van eksterne skrifte en iframe-blokke. Aktivering van Fission-modus word beheer deur die "fission.autostart=true" veranderlike in about:config of op die about:preferences#experimental bladsy.

Streng isolasiemodus help om teen sykanaalaanvalle te beskerm, soos dié wat met Spectre-kwesbaarhede geassosieer word, en verminder ook geheuefragmentasie, gee geheue meer doeltreffend terug na die bedryfstelsel, verminder die impak van vullisversameling en intensiewe berekeninge op bladsye in ander prosesse, en verhoog die doeltreffendheid van vragverspreiding oor verskillende SVE-kerne en verhoog stabiliteit (die ineenstorting van die proses wat die iframe verwerk, sal nie die hoofwerf en ander oortjies beïnvloed nie).

Onder die bekende probleme wat ontstaan ​​wanneer die streng isolasiemodus gebruik word, is daar 'n merkbare toename in geheue en lêerbeskrywerverbruik wanneer 'n groot aantal oortjies oopgemaak word, sowel as ontwrigting van die werk van sommige byvoegings, verdwyning van iframe-inhoud wanneer druk en oproep van die skermkiekie-opnamefunksie, verminderde doeltreffendheid van die kas van dokumente vanaf iframe, Verlies van inhoud van voltooide maar nie ingediende vorms wanneer 'n sessie na 'n ongeluk herstel word.

Ander veranderinge in Firefox sluit in die voltooiing van die migrasie na die Fluent-lokaliseringstelsel, verbeterings aan Hoëkontrasmodus, die byvoeging van die vermoë om prosesprestasieprofiele met een klik op te teken na about:processes, en die verwydering van 'n instelling om die ou terug te keer. styl van die nuwe oortjiebladsy wat voor Firefox 89 gebruik is.

Bron: opennet.ru

Voeg 'n opmerking