Versão 77 do Chrome

O Google lançou uma nova versão do navegador de Internet Chrome. Ao mesmo tempo, uma nova versão do projeto de código aberto Chromium – a base do Chrome – está disponível. O próximo lançamento está previsto para 22 de outubro.

Na nova versão:

  • A marcação separada de locais com certificados de nível EV (Validação Estendida) foi descontinuada. As informações sobre o uso de certificados EV agora são exibidas apenas no menu suspenso exibido ao clicar no ícone de conexão segura. O nome da empresa verificada pela autoridade certificadora, à qual o certificado VE está vinculado, não será mais exibido na barra de endereço;
  • Maior isolamento de manipuladores de sites. Proteção adicional para dados entre sites, como cookies e recursos HTTP, recebidos de sites de terceiros controlados por invasores. O isolamento funciona mesmo que um invasor descubra um erro no processo de renderização e tente executar código em seu contexto;
  • Adicionada uma nova página de boas-vindas a novos usuários (chrome://welcome/), que é exibida em vez da interface padrão para abrir uma nova guia após a primeira inicialização do Chrome. A página permite que você marque serviços populares do Google (GMail, YouTube, Maps, News e Translate), anexe atalhos à página Nova guia, conecte-se a uma conta do Google para ativar a sincronização do Chrome e defina o Chrome como a chamada padrão no sistema .
  • A nova aba do menu da página, exibida no canto superior direito, agora conta com a possibilidade de carregar uma imagem de fundo, além de opções para selecionar um tema e configurar um bloco com atalhos para navegação rápida (sites mais visitados, seleção manual do usuário e ocultando blocos com atalhos). As configurações estão atualmente posicionadas como experimentais e requerem ativação por meio dos sinalizadores “chrome://flags/#ntp-customization-menu-v2” e “chrome://flags/#chrome-colors-custom-color-picker”;
  • Foi fornecida animação do ícone do site no cabeçalho da aba, sinalizando que a página está em processo de carregamento;
    Adicionado o sinalizador "--guest", que permite iniciar o Chrome a partir da linha de comando no modo de login de convidado (sem conectar-se a uma conta do Google, sem gravar a atividade do navegador no disco e sem salvar a sessão);
  • A limpeza de sinalizadores em chrome://flags, iniciada na última versão, continua. Em vez de sinalizadores, agora é recomendado usar conjuntos de regras para configurar o comportamento do navegador;
  • Um botão “Enviar para seus dispositivos” foi adicionado ao menu de contexto da página, guia e barra de endereço, permitindo enviar um link para outro dispositivo usando a Sincronização do Chrome. Após selecionar um dispositivo de destino associado à mesma conta e enviar o link, uma notificação será exibida no dispositivo de destino para abertura do link;
  • Na versão Android, a página com a lista de arquivos baixados foi totalmente redesenhada, na qual, em vez de um menu suspenso com seções de conteúdo, foram adicionados botões para filtrar a lista geral por tipo de conteúdo e miniaturas de imagens baixadas agora são mostrados em toda a largura da tela;
  • Novas métricas foram adicionadas para avaliar a velocidade de carregamento e renderização do conteúdo no navegador, permitindo ao desenvolvedor web determinar a rapidez com que o conteúdo principal da página fica disponível para o usuário. As ferramentas de controle de renderização oferecidas anteriormente permitiam julgar apenas o fato de a renderização ter começado, mas não a prontidão da página como um todo. O Chrome 77 oferece uma nova API Largest Contentful Paint, que permite descobrir o tempo de renderização de elementos grandes (visíveis ao usuário) na área visível, como imagens, vídeos, elementos de bloco e planos de fundo de páginas;
  • Adicionada a API PerformanceEventTiming, que fornece informações sobre o atraso antes da primeira interação do usuário (por exemplo, pressionar uma tecla no teclado ou mouse, clicar ou mover o ponteiro). A nova API é um subconjunto da API EventTiming que fornece informações adicionais para medir e otimizar a capacidade de resposta da interface;
  • Adicionados novos recursos para formulários que facilitam o uso de seus próprios controles de formulário não padrão (campos de entrada não padrão, botões, etc.). O novo evento "formdata" torna possível usar manipuladores JavaScript para adicionar dados ao formulário quando ele é enviado, sem precisar armazenar os dados em elementos de entrada ocultos.
    O segundo novo recurso é o suporte para a criação de elementos personalizados associados a um formulário que atuam como controles de formulário integrados, incluindo recursos como permitir a validação de entrada e acionar o envio de dados ao servidor. Uma propriedade formAssociated foi introduzida para marcar um elemento como um componente de interface de formulário, e uma chamada attachmentInternals() foi adicionada para acessar métodos adicionais de controle de formulário, como setFormValue() e setValidity();
  • No modo Origin Trials (recursos experimentais que requerem ativação separada), uma nova API Contact Picker foi adicionada, permitindo ao usuário selecionar entradas do catálogo de endereços e transferir certos detalhes sobre elas para o site. Ao solicitar, é determinada uma lista de imóveis que precisam ser obtidos (por exemplo, nome completo, email, telefone). Essas propriedades são exibidas claramente ao usuário, que toma a decisão final de transferir ou não os dados. A API pode ser usada, por exemplo, em um cliente de web mail para selecionar destinatários de uma carta enviada, em uma aplicação web com função VoIP para iniciar uma chamada para um número específico, ou em uma rede social para procurar amigos já cadastrados. .
    Origin Trial implica a capacidade de trabalhar com a API especificada a partir de aplicativos baixados de localhost ou 127.0.0.1, ou após registrar e receber um token especial válido por tempo limitado para um site específico;
  • Para formulários, foi implementado o atributo “enterkeyhint”, que permite definir o comportamento ao pressionar a tecla Enter no teclado virtual. O atributo pode receber os valores enter, done, go, next, previous, search e send;
  • Adicionada uma regra de domínio de documento que controla o acesso à propriedade “document.domain”. Por padrão, o acesso é permitido, mas se for negado, uma tentativa de alterar o valor de “document.domain” resultará em erro;
  • Uma chamada LayoutShift foi adicionada à API Performance para rastrear alterações na posição dos elementos DOM na tela.
    O tamanho do cabeçalho HTTP “Referer” é limitado a 4 KB; se este valor for excedido, o conteúdo é truncado para o nome de domínio;
  • O argumento url na função registerProtocolHandler() está limitado a usar apenas os esquemas http:// e https:// e agora não permite os esquemas "data:" e "blob:";
  • Adicionado suporte para formatação de unidades, moedas, notações científicas e compactas ao método Intl.NumberFormat (por exemplo, "Intl.NumberFormat('en', {style: 'unit', unit: 'meter-per-second'}") ;
  • Adicionadas novas propriedades CSS overscroll-behavior-inline e overscroll-behavior-block para controlar o comportamento de rolagem quando o limite lógico da área de rolagem é atingido;
  • A propriedade CSS white-space agora suporta o valor de break-spaces;
  • Service Workers adicionaram suporte para autenticação HTTP Basic e exibição de uma caixa de diálogo padrão para inserir parâmetros de login;
  • A API Web MIDI agora só pode ser usada no contexto de uma conexão segura (https, arquivo local ou localhost);
  • A API WebVR 1.1 foi declarada obsoleta, substituída pela API WebXR Device, que permite acesso a componentes para criação de realidade virtual e aumentada e unifica o trabalho com diversas classes de dispositivos, desde capacetes estacionários de realidade virtual até soluções baseadas em dispositivos móveis.
    Nas ferramentas do desenvolvedor, foi adicionada a capacidade de copiar propriedades CSS de um nó DOM para a área de transferência por meio do menu de contexto, acessado clicando com o botão direito em um nó na árvore DOM. Uma interface foi adicionada (Mostrar regiões de renderização/mudança de layout) para rastrear mudanças de layout devido à falta de espaços reservados para publicidade e imagens (ao carregar a próxima imagem, o texto muda para baixo durante a visualização). O painel de auditoria foi atualizado para a versão Lighthouse 5.1. Ativação da mudança automática para o tema escuro do DevTools ao usar um tema escuro no sistema operacional. No modo de inspeção de rede, foi adicionado um sinalizador para carregar um recurso do cache de pré-busca. Adicionado suporte para exibição de mensagens push e notificações no painel Aplicativo. No console web, ao visualizar objetos, agora são exibidos campos privados de classes;
  • No motor JavaScript V8, foi otimizado o armazenamento de estatísticas sobre os tipos de operandos utilizados nas diferentes operações (permite otimizar a execução dessas operações levando em consideração tipos específicos). Para reduzir o consumo de memória, os vetores com reconhecimento de tipo agora são colocados na memória somente após uma certa quantidade de bytecode ter sido executada, eliminando a necessidade de otimizações para funções com tempos de vida curtos. Essa alteração permite economizar 1-2% de memória na versão para sistemas desktop e 5-6% para dispositivos móveis;
  • Escalabilidade aprimorada da compilação em segundo plano do WebAssembly - quanto mais núcleos de processador no sistema, maior será o benefício das otimizações adicionais. Por exemplo, em uma máquina Xeon de 24 núcleos, o tempo de compilação do aplicativo de demonstração Epic ZenGarden foi reduzido pela metade;

Além de inovações e correções de bugs, a nova versão elimina 52 vulnerabilidades. Muitas das vulnerabilidades foram identificadas como resultado de testes automatizados usando as ferramentas AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer e AFL. Um problema (CVE-2019-5870) está marcado como crítico, ou seja, permite ignorar todos os níveis de proteção do navegador e executar código no sistema fora do ambiente sandbox. Detalhes sobre a vulnerabilidade crítica ainda não foram divulgados, sabe-se apenas que ela pode levar ao acesso a uma área de memória já liberada no código de processamento de dados multimídia. Como parte do programa de pagamento de recompensas em dinheiro pela descoberta de vulnerabilidades na versão atual, o Google pagou 38 prêmios no valor de US$ 33500 (um prêmio de US$ 7500, quatro prêmios de US$ 3000, três prêmios de US$ 2000, quatro prêmios de US$ 1000 e oito prêmios de US$ 500). O tamanho das 18 recompensas ainda não foi determinado.

Fonte: linux.org.ru

Adicionar um comentário