Folla de ruta para mellorar a compatibilidade de Wayland en Firefox

Martin Stransky, mantedor de paquetes de Firefox para Fedora e RHEL que está a portar Firefox a Wayland, publicou un informe que revisa os últimos desenvolvementos de Firefox que se executan en ambientes baseados no protocolo Wayland.

Nas próximas versións de Firefox, está previsto resolver os problemas observados nas compilacións de Wayland co portapapeis e o manexo de ventás emerxentes. Estas funcións non se puideron implementar de inmediato debido ás diferenzas no enfoque da súa implementación en X11 e Wayland. No primeiro caso, xurdiron dificultades debido a que o portapapeis de Wayland funcionaba de forma asíncrona, o que requiría a creación dunha capa separada para abstraer o acceso ao portapapeis de Wayland. A capa especificada engadirase a Firefox 93 e activarase por defecto en Firefox 94.

Respecto dos diálogos emerxentes, a principal dificultade foi que Wayland esixe unha xerarquía estrita de ventás emerxentes, é dicir. unha ventá principal pode crear unha ventá filla cunha ventá emerxente, pero a seguinte ventá emerxente iniciada desde esa ventá debe unirse á ventá filla orixinal, formando unha cadea. En Firefox, cada xanela podía xerar varias ventás emerxentes que non formaban unha xerarquía. O problema foi que ao usar Wayland, pechar unha das ventás emerxentes require reconstruír toda a cadea de ventás con outras ventás emerxentes, a pesar de que a presenza de varias ventás emerxentes non é infrecuente, xa que os menús e ventás emerxentes están implementados en forma de ferramentas emerxentes, diálogos de complementos, solicitudes de permisos, etc. A situación tamén se complicou por fallas en Wayland e GTK, polo que pequenos cambios poderían levar a varias regresións. Non obstante, o código para xestionar ventás emerxentes para Wayland foi depurado e está previsto que se inclúa en Firefox 94.

Outras melloras relacionadas con Wayland inclúen a adición de 93 cambios de escala a Firefox en diferentes pantallas de DPI, que eliminan o parpadeo ao mover unha xanela ao bordo da pantalla en configuracións de varios monitores. Firefox 95 planea resolver os problemas que xurdan ao usar a interface de arrastrar e soltar, por exemplo, ao copiar ficheiros de fontes externas a ficheiros locais e ao mover as pestanas.

Co lanzamento de Firefox 96, prevese que o porto de Firefox para Wayland teña a paridade xeral de funcionalidade coa compilación X11, polo menos cando se execute no ambiente GNOME de Fedora. Despois diso, a atención dos desenvolvedores pasará a mellorar o traballo en contornas Wayland do proceso GPU, que contén código para interactuar cos adaptadores gráficos e que protexe o proceso do navegador principal de falla en caso de fallos no controlador. Tamén está previsto que o proceso da GPU inclúa código para a decodificación de vídeo mediante VAAPI, que actualmente se executa nos procesos de procesamento de contido.

Ademais, podemos sinalar a inclusión dun modo estrito de illamento de sitios, desenvolvido como parte do proxecto Fission, para unha pequena porcentaxe de usuarios das ramas estables de Firefox. En contraste coa distribución arbitraria do procesamento de pestanas no conxunto de procesos dispoñible (8 por defecto), utilizada ata agora, o modo de liña de illamento sitúa o procesamento de cada sitio no seu propio proceso separado, separado non por pestanas, senón por dominio (Public Sufixo), que permite contidos de illamento adicionais de scripts externos e bloques iframe. A activación do modo Fisión contrólase mediante a variable "fission.autostart=true" en about:config ou na páxina about:preferences#experimental.

O modo de illamento estrito axuda a protexerse contra ataques de canles laterais, como os asociados ás vulnerabilidades de Spectre, e tamén reduce a fragmentación da memoria, devolve a memoria de forma máis eficiente ao sistema operativo, minimiza o impacto da recollida de lixo e os cálculos intensivos en páxinas doutros procesos e aumenta a eficiencia da distribución da carga en diferentes núcleos de CPU e aumenta a estabilidade (o fallo do proceso que procesa o iframe non afectará ao sitio principal nin a outras pestanas).

Entre os problemas coñecidos que xorden ao usar o modo de illamento estrito, hai un aumento notable no consumo de memoria e descritor de ficheiros ao abrir un gran número de pestanas, así como a interrupción do traballo dalgúns complementos, a desaparición do contido iframe cando impresión e chamada á función de gravación de capturas de pantalla, redución da eficiencia do almacenamento na caché de documentos desde iframe, perda de contidos dos formularios completados pero non enviados cando se restablece unha sesión despois dun fallo.

Outros cambios en Firefox inclúen a finalización da migración ao sistema de localización Fluent, melloras no modo de alto contraste, a adición da posibilidade de rexistrar os perfís de rendemento dos procesos nun clic a about:proceses e a eliminación dunha configuración para devolver o antigo. estilo da páxina da nova pestana que se usaba antes de Firefox 89.

Fonte: opennet.ru

Engadir un comentario