Roteiro para melhorar o suporte ao Wayland no Firefox

Martin Stransky, mantenedor de pacotes do Firefox para Fedora e RHEL que está portando o Firefox para o Wayland, publicou um relatório revisando os desenvolvimentos mais recentes do Firefox em execução em ambientes baseados no protocolo Wayland.

Nas próximas versões do Firefox, está prevista a solução dos problemas observados nas compilações do Wayland com a área de transferência e tratamento de pop-ups. Esses recursos não puderam ser implementados imediatamente devido a diferenças na abordagem de sua implementação no X11 e no Wayland. No primeiro caso, surgiram dificuldades devido à área de transferência do Wayland funcionar de forma assíncrona, o que exigiu a criação de uma camada separada para abstrair o acesso à área de transferência do Wayland. A camada especificada será adicionada ao Firefox 93 e habilitada por padrão no Firefox 94.

Em relação às caixas de diálogo pop-up, a principal dificuldade foi que o Wayland exige uma hierarquia estrita de janelas pop-up, ou seja, uma janela pai pode criar uma janela filho com um pop-up, mas o próximo pop-up iniciado a partir dessa janela deve ser vinculado à janela filho original, formando uma cadeia. No Firefox, cada janela poderia gerar vários pop-ups que não formavam uma hierarquia. O problema é que ao usar o Wayland, fechar um dos pop-ups exige reconstruir toda a cadeia de janelas com outros pop-ups, apesar de não ser incomum a presença de vários pop-ups abertos, já que menus e pop-ups são implementados na forma de dicas de ferramentas pop-ups, caixas de diálogo complementares, solicitações de permissão, etc. A situação também foi complicada por falhas no Wayland e no GTK, devido às quais pequenas mudanças poderiam levar a várias regressões. No entanto, o código para lidar com pop-ups do Wayland foi depurado e está planejado para ser incluído no Firefox 94.

Outras melhorias relacionadas ao Wayland incluem a adição de 93 alterações de escala ao Firefox em diferentes telas de DPI, que eliminam a oscilação ao mover uma janela para a borda da tela em configurações de vários monitores. O Firefox 95 planeja resolver problemas que surgem ao usar a interface arrastar e soltar, por exemplo, ao copiar arquivos de fontes externas para arquivos locais e ao mover guias.

Com o lançamento do Firefox 96, a versão do Firefox para Wayland está planejada para atingir a paridade geral em funcionalidade com a versão X11, pelo menos quando executado no ambiente GNOME do Fedora. Depois disso, a atenção dos desenvolvedores estará voltada para aprimorar o trabalho em ambientes Wayland do processo GPU, que contém código para interagir com adaptadores gráficos e que protege o processo principal do navegador contra travamentos em caso de falhas de driver. O processo de GPU também está planejado para incluir código para decodificação de vídeo usando VAAPI, que atualmente é executado em processos de processamento de conteúdo.

Além disso, podemos notar a inclusão de um modo estrito de isolamento de sites, desenvolvido como parte do projeto Fission, para uma pequena porcentagem de usuários dos ramos estáveis ​​do Firefox. Em contraste com a distribuição arbitrária do processamento de guias no conjunto de processos disponíveis (8 por padrão), usada até agora, o modo de linha de isolamento coloca o processamento de cada site em seu próprio processo separado, separado não por guias, mas por domínio (Public Sufixo), que permite isolamento adicional de conteúdo de scripts externos e blocos iframe. A ativação do modo Fission é controlada através da variável “fission.autostart=true” em about:config ou na página about:preferences#experimental.

O modo de isolamento estrito ajuda a proteger contra ataques de canal lateral, como aqueles associados às vulnerabilidades Spectre, e também reduz a fragmentação da memória, retorna a memória com mais eficiência para o sistema operacional, minimiza o impacto da coleta de lixo e cálculos intensivos em páginas de outros processos, e aumenta a eficiência da distribuição de carga entre diferentes núcleos da CPU e aumenta a estabilidade (a falha do processo de processamento do iframe não afetará o site principal e outras guias).

Entre os problemas conhecidos que surgem ao usar o modo de isolamento estrito, há um aumento notável no consumo de memória e descritor de arquivo ao abrir um grande número de abas, bem como interrupção do trabalho de alguns add-ons, desaparecimento do conteúdo do iframe quando imprimir e chamar a função de gravação de captura de tela, eficiência reduzida de armazenamento em cache de documentos do iframe, perda de conteúdo de formulários preenchidos, mas não enviados, quando uma sessão é restaurada após uma falha.

Outras mudanças no Firefox incluem a conclusão da migração para o sistema de localização Fluent, melhorias no Modo de Alto Contraste, a adição da capacidade de registrar perfis de desempenho de processos em um clique para about:processes e a remoção de uma configuração para retornar o antigo estilo da página da nova guia que era usada antes do Firefox 89.

Fonte: opennet.ru

Adicionar um comentário