A empresa Google lançou a versão do navegador web Chrome 122. Ao mesmo tempo, uma versão estável do projeto livre Chromium, que serve de base para o Chrome, está disponível. O navegador Chrome distingue-se do Chromium pelo uso dos logotipos do Google, pela presença de um sistema de envio de notificações em caso de falhas, módulos para a reprodução de conteúdo de vídeo protegido contra cópias (DRM), um sistema de instalação automática de atualizações, a ativação constante da funcionalidade de Sandbox e pela entrega de chaves para a API do Google e pela transmissão dos parâmetros RLZ durante a pesquisa. Para aqueles que precisam de mais tempo para atualizar, é mantida uma versão chamada Extended Stable, que é suportada por 8 semanas. O próximo lançamento do Chrome 123 está agendado para 19 de março.
Principais mudanças no Chrome 122:
- De acordo com os requisitos da lei europeia DMA (Digital Markets Act), o navegador agora possui uma tela para selecionar o motor de busca que será utilizado por padrão. São oferecidos motores de busca disponíveis na seção de configurações "chrome://settings/search". Os motores de busca na lista são exibidos em ordem aleatória.

- Foi adicionada uma configuração à página "chrome://settings/security" que permite desativar os otimizadores JIT no motor JavaScript V8. Desativar o JIT pode ser benéfico para aumentar a segurança ao lidar com aplicativos web potencialmente perigosos, diminuindo as possíveis vetores para ataques.

- Na versão Android, foi adicionada uma função para ler em voz alta o texto presente na página web. O modo de leitura pode ser ativado no menu suspenso e controlado por meio de botões típicos de reprodução. A função utiliza um serviço externo e envia um link para servidores Google, que realiza a síntese de voz.
- Continua o teste de funcionalidades experimentais que utilizam aprendizado de máquina — modo de agrupamento inteligente de abas, gerador de temas e assistente interativo, sobre os quais foi falado no anúncio do lançamento do Chrome 121.
- No modo de proteção do navegador (Safe Browsing), há suporte para verificações externas executadas de forma assíncrona, que não bloqueiam o carregamento da página verificada. No entanto, as verificações de listas locais ainda são realizadas de forma síncrona, e a página não é exibida até que sejam concluídas, para proteger o usuário de páginas com exploits. Quanto ao phishing, é improvável que o usuário consiga reagir à página antes da conclusão da verificação externa e da exibição do aviso.
- O texto dos avisos exibidos ao tentar baixar arquivos maliciosos e para arquivos já baixados no gerenciador de downloads foi reescrito.

- Foi iniciado um processo gradual de ignorar manipuladores de eventos 'unload', que não permitem o uso eficaz do cache de navegação (BFCache - Back-forward cache), garantindo uma transição instantânea ao usar os botões 'Voltar' e 'Avançar' ou ao navegar por páginas anteriormente visitadas do site atual. O comportamento do Chrome no desktop será mais semelhante ao dos navegadores móveis, que na maioria dos casos não geram o evento 'unload', priorizando o cache das transições. No Chrome 122, o tratamento do evento 'unload' foi desativado para 1% dos usuários.
- No sistema de autocompletar para parâmetros de pagamento, foi adicionada a capacidade de salvar códigos de verificação (CVV/CVC) para cartões locais e servidores. Os códigos são salvos após a exibição de um aviso e o consentimento explícito do usuário.
- Foi adicionado o API Storage Buckets, que oferece recursos adicionais para gerenciar o armazenamento permanente de dados no sistema local do usuário. A nova API permite organizar o armazenamento de dados em segmentos separados, associados ao API IndexedDB e CacheStorage. Os segmentos são removidos pelo navegador de forma independente, e o usuário tem a possibilidade de definir prioridades que determinam quais segmentos devem ser removidos primeiro. Essa organização permite armazenar dados importantes em segmentos de alta prioridade, enquanto os dados secundários, que podem ser perdidos, ficam em segmentos de baixa prioridade. Dessa forma, é resolvido o problema da perda de dados importantes no caso de esgotamento dos limites disponíveis de armazenamento oferecidos pela API IndexedDB e localStorage.
- Na API Async Clipboard, o método read() agora inclui a opção "unsanitized", utilizada ao copiar e colar no clipboard. Com esta opção ativada, o aplicativo recebe o conteúdo HTML inalterado dos dados do clipboard, sem limpeza, normalização ou substituição de elementos perigosos (por exemplo, o conteúdo do bloco "" não é transformado).
- As consultas CSS "@container" não serão mais acionadas ao especificar capacidades não suportadas, por exemplo, a consulta "@container (width > 0px) or (unknown) {}" não será acionada devido à expressão "unknown."
- Agora é permitido no CSS definir condições nas regras de importação "@import … supports(…)". Se a verificação falhar, a importação não é realizada. Por exemplo, para carregar estilos ao definir "animation-timeline" como "auto", pode-se usar 'scroll-driven-animations.css' @import "scroll-driven-animations.css" supports(animation-timeline: auto);.
- A lógica de processamento do pseudo-elemento "::backdrop" foi alterada e ajustada aos requisitos da especificação atualizada, que agora herda do elemento de origem (anteriormente, o "::backdrop" não herdava valores de outros elementos, o que impedia o acesso às propriedades definidas no elemento raiz).
- A ação do método dataTransfer.clearData() agora se limita apenas a objetos de texto, ou seja, este método não pode mais ser aplicado a objetos do tipo File.
- A função drawingBufferStorage foi adicionada ao WebGL, permitindo configurar o formato de pixel para o buffer de desenho, possibilitando a saída direta de conteúdo com mais de 8 bits por canal de cor e evitando operações de cópia desnecessárias requeridas para a conversão para o formato de pixel padrão.
- Foram feitas melhorias nas ferramentas para desenvolvedores web. Adicionada a capacidade de alterar o esquema de cores e seguir o estilo definido no tema escolhido no navegador.

As capacidades do painel de análise de desempenho foram ampliadas, agora mostrando suporte para salvar intervalos de execução (segmentos na linha do tempo) e alternar entre eles na escala do tempo.
Foi adicionado ao rastreio principal (Performance > Main) a exibição dos iniciadores de eventos e sua relação visual com os eventos que provocam.

No painel de análise de atividade da rede, a coluna com o estado das solicitações exibe as razões para falhas. O menu de contexto foi reformulado para copiar o link ou o conteúdo da solicitação.

Além das novidades e correções de bugs, a nova versão eliminou 12 vulnerabilidades. Muitas das vulnerabilidades foram detectadas por meio de testes automatizados com as ferramentas AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer e AFL. Não foram identificados problemas críticos que permitam contornar todos os níveis de proteção do navegador e executar código no sistema fora do ambiente sandbox. No âmbito do programa de recompensas por descobertas de vulnerabilidades, a empresa Google pagou 8 prêmios que totalizam 28 mil dólares (um prêmio de $8000, um de $7000, um de $5000, um de $3000 e um de $2000, além de três prêmios de $1000). As maiores recompensas foram concedidas por uma falha na implementação do isolamento de sites, pela descoberta de um estouro de buffer no motor Blink e por acesso à memória já liberada (Use-after-free) na biblioteca Mojo.
Fonte: opennet.ru






