Piano di miglioramento del supporto a Wayland in Firefox

Martin Stransky, maintainer of the Firefox packages in Fedora and RHEL, who is working on porting Firefox for Wayland, has published a report reviewing the latest achievements in Firefox's functionality within environments based on the Wayland protocol.

Upcoming releases of Firefox aim to address the clipboard and popup handling issues observed in the Wayland builds. These features could not be implemented immediately due to the differences in their implementation between X11 and Wayland. In the former case, challenges arose due to the asynchronous operation of the Wayland clipboard, necessitating the creation of a separate layer to abstract access to the Wayland clipboard. This layer will be included in Firefox 93 and enabled by default in Firefox 94.

Per quanto riguarda le finestre popup, la principale difficoltà risiedeva nel fatto che Wayland richiede il rispetto di una rigida gerarchia delle finestre popup, ovvero una finestra principale può creare una finestra secondaria con un popup, ma il successivo popup, avviato da questa finestra, deve essere collegato alla finestra secondaria originale, formando una catena. In Firefox, ogni finestra poteva generare più popup senza formare una gerarchia. Il problema era che, utilizzando Wayland, la chiusura di uno dei popup richiede la ristrutturazione dell'intera catena di finestre con altri popup, dato che avere più popup aperti non è raro, poiché menu, suggerimenti contestuali, dialoghi delle estensioni, richieste di autorizzazione, ecc. sono implementati come popup. La situazione era inoltre complicata da bug in Wayland e GTK, che spesso portavano a regressioni in seguito a piccole modifiche. Tuttavia, il codice per gestire le finestre popup per Wayland è stato perfezionato ed è previsto per essere incluso in Firefox 94.

Altre migliorie relative a Wayland includono l'introduzione in Firefox 93 di modifiche relative allo scaling su schermi con diversi DPI, che hanno eliminato il flickering durante il movimento della finestra verso il bordo dello schermo in configurazioni multi-monitor. In Firefox 95, si prevede di risolvere i problemi che si verificano con l'interfaccia drag & drop, ad esempio quando si copiano file da fonti esterne a file system locali e durante lo spostamento delle schede.

Nella versione di Firefox 96, si prevede di portare il porting di Firefox per Wayland a una parità funzionale con la build per X11, almeno quando si opera nell'ambiente GNOME su Fedora. Dopo di ciò, l'attenzione degli sviluppatori sarà rivolta a perfezionare il funzionamento del processo GPU in ambienti Wayland, in cui è stato spostato il codice per l'interazione con le schede grafiche e che protegge il processo principale del browser da crash in caso di guasti nei driver. Si prevede inoltre di trasferire nel processo GPU il codice per la decodifica video utilizzando VAAPI, attualmente eseguito nei processi di gestione dei contenuti.

Inoltre, si può notare che per una piccola percentuale di utenti, è stata attivata la modalità di isolamento rigoroso dei siti di Firefox, sviluppata nell'ambito del progetto Fission. A differenza della distribuzione casuale precedente dell'elaborazione delle schede nel pool di processi disponibili (default 8), la modalità di isolamento tratta ogni sito in un processo separato, isolando non per schede, ma per domini (Public Suffix), consentendo di isolare ulteriormente i contenuti degli script esterni e dei blocchi iframe. Il controllo dell'attivazione della modalità Fission avviene tramite la variabile "fission.autostart=true" in about:config o nella pagina about:preferences#experimental.

La modalità di isolamento severo aiuta a proteggere da attacchi tramite canali laterali, come quelli legati a vulnerabilità di tipo Spectre, riduce la frammentazione della memoria, restituisce più efficacemente la memoria al sistema operativo, minimizza l'impatto della raccolta di spazzatura e di calcoli intensivi sulle pagine in altri processi, aumenta l'efficienza della distribuzione del carico su diversi core CPU e migliora la stabilità (il crash del processo che gestisce l'iframe non comporterà il sospensione del sito principale e di altre schede).

Tra i problemi noti che si verificano utilizzando la modalità di isolamento severo, si evidenzia un significativo aumento del consumo di memoria e dei descrittori di file quando si aprono numerose schede, nonché malfunzionamenti di alcune estensioni, scomparsa di contenuti degli iframe durante la stampa e l'attivazione della funzione di registrazione dello screenshot, riduzione dell'efficacia della memorizzazione nella cache di documenti con iframe, perdita di contenuti compilati ma non inviati nei moduli durante il ripristino della sessione dopo un crash.

Tra le altre novità in Firefox, si segnala il completamento della migrazione al sistema di localizzazione Fluent, miglioramenti nella modalità ad alto contrasto, l'aggiunta nella pagina about:processes della possibilità di registrare profili di prestazioni del processo con un clic e la rimozione dell'impostazione per ripristinare il vecchio stile della pagina di apertura della nuova scheda, utilizzato fino a Firefox 89.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS 🔥 Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS | ProHoster