Full de ruta per millorar el suport de Wayland al Firefox

Martin Stransky, un mantenidor de paquets de Firefox per a Fedora i RHEL que porta Firefox a Wayland, va publicar un informe que revisa els últims desenvolupaments de Firefox que s'executen en entorns basats en protocols Wayland.

En els propers llançaments de Firefox, es preveu resoldre els problemes observats a les compilacions de Wayland amb el porta-retalls i la gestió de finestres emergents. Aquestes funcions no es van poder implementar immediatament a causa de les diferències en l'enfocament de la seva implementació a X11 i Wayland. En el primer cas, van sorgir dificultats perquè el porta-retalls de Wayland funcionava de manera asíncrona, cosa que va requerir la creació d'una capa separada per abstraure l'accés al porta-retalls de Wayland. La capa especificada s'afegirà al Firefox 93 i s'habilitarà de manera predeterminada al Firefox 94.

Pel que fa als diàlegs emergents, la principal dificultat era que Wayland requereix una estricta jerarquia de finestres emergents, és a dir. una finestra pare pot crear una finestra secundaria amb una finestra emergent, però la següent finestra emergent iniciada des d'aquesta finestra s'ha d'unir a la finestra secundària original, formant una cadena. A Firefox, cada finestra podia generar diverses finestres emergents que no formaven una jerarquia. El problema era que quan s'utilitza Wayland, tancar una de les finestres emergents requereix reconstruir tota la cadena de finestres amb altres finestres emergents, malgrat que la presència de diverses finestres emergents obertes no és estranya, ja que els menús i les finestres emergents s'implementen en forma de suggeriments emergents, diàlegs de complements, sol·licituds de permís, etc. La situació també es va complicar per defectes a Wayland i GTK, a causa dels quals petits canvis podrien provocar diverses regressions. Tanmateix, el codi per gestionar les finestres emergents per a Wayland s'ha depurat i està previst que s'inclogui al Firefox 94.

Altres millores relacionades amb Wayland inclouen l'addició de 93 canvis d'escala al Firefox en diferents pantalles DPI, que eliminen el parpelleig quan es mou una finestra a la vora de la pantalla en configuracions de diversos monitors. El Firefox 95 té previst resoldre els problemes que sorgeixen quan s'utilitza la interfície d'arrossegar i deixar anar, per exemple, quan es copien fitxers de fonts externes a fitxers locals i quan es mou les pestanyes.

Amb el llançament de Firefox 96, es preveu que el port de Firefox per a Wayland es porti a la paritat general de funcionalitat amb la compilació X11, almenys quan s'executi a l'entorn GNOME de Fedora. Després d'això, l'atenció dels desenvolupadors es centrarà en perfeccionar el treball en entorns Wayland del procés GPU, que conté codi per interaccionar amb adaptadors gràfics i que protegeix el procés principal del navegador de fallar en cas de fallades del controlador. També està previst que el procés de GPU inclogui codi per a la descodificació de vídeo mitjançant VAAPI, que actualment s'executa en processos de processament de contingut.

A més, podem destacar la inclusió d'un mode d'aïllament estricte de llocs, desenvolupat com a part del projecte Fission, per a un petit percentatge d'usuaris de les branques estables de Firefox. En contrast amb la distribució arbitrària del processament de pestanyes al conjunt de processos disponible (8 per defecte), utilitzat fins ara, el mode de línia d'aïllament situa el processament de cada lloc en el seu propi procés separat, separat no per pestanyes, sinó per domini (públic). Sufix), que permet continguts d'aïllament addicionals de scripts externs i blocs iframe. L'habilitació del mode Fissió es controla mitjançant la variable "fission.autostart=true" a about:config o a la pàgina about:preferences#experimental.

El mode d'aïllament estricte ajuda a protegir contra atacs de canals laterals, com els associats a les vulnerabilitats de Spectre, i també redueix la fragmentació de la memòria, retorna la memòria de manera més eficient al sistema operatiu, minimitza l'impacte de la recollida d'escombraries i els càlculs intensius a les pàgines d'altres processos i augmenta l'eficiència de la distribució de càrrega entre diferents nuclis de CPU i augmenta l'estabilitat (l'error del procés que processa l'iframe no afectarà el lloc principal i altres pestanyes).

Entre els problemes coneguts que sorgeixen quan s'utilitza el mode d'aïllament estricte, hi ha un augment notable del consum de memòria i descriptor de fitxers en obrir un gran nombre de pestanyes, així com la interrupció del treball d'alguns complements, la desaparició del contingut iframe quan impressió i trucada a la funció d'enregistrament de captures de pantalla, reducció de l'eficiència de la memòria cau de documents des d'iframe, pèrdua de contingut dels formularis completats però no enviats quan es restaura una sessió després d'un error.

Altres canvis a Firefox inclouen la finalització de la migració al sistema de localització Fluent, millores al mode d'alt contrast, l'addició de la possibilitat d'enregistrar els perfils de rendiment dels processos amb un sol clic a about:processes i l'eliminació d'una configuració per retornar l'antic. estil de la pàgina de pestanya nova oberta que s'utilitzava abans del Firefox 89.

Font: opennet.ru

Afegeix comentari