Køreplan til forbedring af Wayland-support i Firefox

Martin Stransky, en Firefox-pakkevedligeholder for Fedora og RHEL, som porterer Firefox til Wayland, udgav en rapport, der gennemgår den seneste udvikling i Firefox, der kører i Wayland-protokolbaserede miljøer.

I de kommende udgivelser af Firefox er det planlagt at løse de problemer, der er observeret i builds til Wayland med klippebordet og håndtering af pop-ups. Disse funktioner kunne ikke implementeres umiddelbart på grund af forskelle i tilgangen til deres implementering i X11 og Wayland. I det første tilfælde opstod der vanskeligheder på grund af, at Wayland-udklipsholderen kørte asynkront, hvilket krævede oprettelsen af ​​et separat lag for at abstrahere adgangen til Wayland-udklipsholderen. Det angivne lag føjes til Firefox 93 og aktiveres som standard i Firefox 94.

Med hensyn til pop op-dialoger var den største vanskelighed, at Wayland kræver et strengt hierarki af pop-up-vinduer, dvs. et overordnet vindue kan oprette et underordnet vindue med en popup, men den næste popup, der startes fra det vindue, skal binde sig til det originale underordnede vindue og danne en kæde. I Firefox kunne hvert vindue skabe flere popup-vinduer, der ikke dannede et hierarki. Problemet var, at når man bruger Wayland, kræver det at lukke en af ​​popup-vinduerne ombygning af hele kæden af ​​vinduer med andre pop-ups, på trods af at tilstedeværelsen af ​​flere åbne pop-ups ikke er ualmindeligt, da menuer og pop-ups er implementeret i form af popup-værktøjstip, tilføjelsesdialoger, anmodninger om tilladelse osv. Situationen blev også kompliceret af fejl i Wayland og GTK, på grund af hvilke små ændringer kunne føre til forskellige regressioner. Koden til håndtering af pop-ups til Wayland er dog blevet fejlrettet og er planlagt til at blive inkluderet i Firefox 94.

Andre Wayland-relaterede forbedringer omfatter tilføjelsen af ​​93 skaleringsændringer til Firefox på forskellige DPI-skærme, som eliminerer flimren, når et vindue flyttes til kanten af ​​skærmen i multi-monitor-konfigurationer. Firefox 95 planlægger at løse problemer, der opstår ved brug af træk&slip-grænsefladen, for eksempel ved kopiering af filer fra eksterne kilder til lokale filer og ved flytning af faner.

Med udgivelsen af ​​Firefox 96 planlægges Firefox-porten til Wayland at bringes til overordnet funktionalitet med X11-bygningen, i det mindste når den kører i Fedoras GNOME-miljø. Herefter vil udviklernes opmærksomhed blive skiftet til at finpudse arbejdet i Wayland-miljøer af GPU-processen, som indeholder kode til at interagere med grafikadaptere, og som beskytter hovedbrowserprocessen mod at gå ned i tilfælde af driverfejl. GPU-processen er også planlagt til at inkludere kode til videoafkodning ved hjælp af VAAPI, som i øjeblikket køres i indholdsbehandlingsprocesser.

Derudover kan vi bemærke, at der er inkluderet en streng isoleringstilstand for websteder, udviklet som en del af Fission-projektet, for en lille procentdel af brugere af de stabile grene af Firefox. I modsætning til den vilkårlige fordeling af fanebehandling på tværs af den tilgængelige procespulje (8 som standard), der er brugt indtil videre, placerer isolationslinjetilstanden behandlingen af ​​hvert websted i sin egen separate proces, ikke adskilt af faner, men efter domæne (offentlig Suffiks), som giver mulighed for yderligere isoleringsindhold af eksterne scripts og iframe-blokke. Aktivering af Fission-tilstand styres gennem "fission.autostart=true"-variablen i about:config eller på about:preferences#experimental-siden.

Streng isolationstilstand hjælper med at beskytte mod sidekanalangreb, såsom dem, der er forbundet med Spectre-sårbarheder, og reducerer også hukommelsesfragmentering, returnerer mere effektivt hukommelsen til operativsystemet, minimerer indvirkningen af ​​affaldsindsamling og intensive beregninger på sider i andre processer og øger effektiviteten af ​​belastningsfordelingen på tværs af forskellige CPU-kerner og øger stabiliteten (nedbrud af processen, der behandler iframen, vil ikke påvirke hovedwebstedet og andre faner).

Blandt de kendte problemer, der opstår, når du bruger den strenge isoleringstilstand, er der en mærkbar stigning i forbruget af hukommelse og filbeskrivelser, når du åbner et stort antal faner, såvel som forstyrrelse af arbejdet med nogle tilføjelser, forsvinden af ​​iframe-indhold, når udskrivning og kald af skærmbilledeoptagelsesfunktionen, reduceret effektivitet af cachelagring af dokumenter fra iframe, Tab af indhold af udfyldte, men ikke indsendte formularer, når en session gendannes efter et nedbrud.

Andre ændringer i Firefox omfatter færdiggørelsen af ​​migreringen til Fluent lokaliseringssystemet, forbedringer af High Contrast Mode, tilføjelsen af ​​muligheden for at optage procesydeevneprofiler med et enkelt klik til about:processer og fjernelse af en indstilling for at returnere den gamle stilen på den nye faneside, der blev brugt før Firefox 89.

Kilde: opennet.ru

Tilføj en kommentar