A empresa Google lançamento do navegador web . Ao mesmo tempo lançamento estável de um projeto de código aberto , que serve como base para o Chrome. O navegador Chrome pelo uso de logotipos do Google, pela presença de um sistema de envio de notificações em caso de falha, pela possibilidade de carregar o módulo Flash sob demanda, módulos para reprodução de conteúdo de vídeo protegido (DRM), sistema de instalação automática de atualizações e transmissão na busca . A próxima versão do Chrome 78 está prevista para 22 de outubro.
:
- uma anotação separada para sites com certificados de nível EV (Validação Estendida). A informação sobre o uso de certificados EV agora é exibida apenas no menu suspenso, mostrado ao clicar no ícone de conexão segura. O nome da empresa verificada pelo centro de certificação, ao qual o certificado EV está vinculado, não será mais exibido na barra de endereços;
- Aumentada a proteção de isolamento dos manipuladores de sites. Foi adicionada proteção para dados intersites, como cookies e recursos HTTP, recebidos de sites de terceiros controlados por atacantes. O isolamento funciona mesmo que o atacante encontre um erro no processo responsável pela renderização e tente executar código em seu contexto;
- Adicionada uma nova página de boas-vindas para novos usuários (chrome://welcome/), exibida em vez da interface padrão de abertura de nova guia após a primeira execução do Chrome. A página permite adicionar aos favoritos serviços populares do Google (GMail, YouTube, Maps, News e Translate), anexar atalhos à página de nova guia, conectar-se à conta do Google para ativar a sincronização do Chrome e definir o Chrome como padrão no sistema.
- No menu da página de nova guia, exibido no canto superior direito, foi adicionada a possibilidade de carregar uma imagem de fundo, além de opções para escolher o tema e personalizar o bloco de atalhos para acesso rápido (sites mais visitados, escolha manual do usuário e ocultação de blocos de atalhos). As configurações ainda são posicionadas como experimentais e exigem ativação através das flags 'chrome://flags/#ntp-customization-menu-v2' e 'chrome://flags/#chrome-colors-custom-color-picker';
- Implementada uma animação do ícone do site na aba, sinalizando que a página está carregando;
- Adicionada a flag '--guest', permitindo iniciar o Chrome a partir da linha de comando no modo convidado (sem conexão a uma conta do Google, sem registro de atividade do navegador no disco e sem salvar a sessão);
- Continuação da limpeza das flags em chrome://flags iniciada na versão anterior. Em vez de flags para configuração do comportamento do navegador, agora é recomendável usar conjuntos de regras;
- No menu de contexto da página, das aba e da barra de endereços, foi adicionada a opção "Enviar para seus dispositivos", permitindo enviar um link para outro dispositivo usando o Chrome Sync. Após selecionar o dispositivo de destino vinculado à mesma conta, e enviar o link, será exibida uma notificação no dispositivo alvo para abrir o link;
- Na versão para Android, a página de downloads foi completamente reformulada, com botões para filtrar a lista geral por tipo de conteúdo em vez de um menu suspenso com seções; agora as miniaturas de imagens carregadas são exibidas em toda a largura da tela;
- novas métricas para avaliar a velocidade de carregamento e renderização de conteúdo no navegador, permitindo que desenvolvedores web determinem quão rapidamente o conteúdo principal da página se torna acessível ao usuário. As ferramentas de rastreamento de renderização disponíveis anteriormente apenas indicavam o início da renderização, mas não a prontidão geral da página. No Chrome 77, foi apresentado um novo API , permitindo saber o tempo de renderização dos elementos grandes (visíveis para o usuário) na área visível, como imagens, vídeos, elementos em bloco e o fundo da página;
- Um API foi adicionado , que fornece informações sobre a latência antes da primeira interação do usuário (por exemplo, pressionar uma tecla no teclado ou mouse, clique ou movimento do ponteiro). O novo API é um subconjunto do API EventTiming, permitindo obter informações adicionais para medir e otimizar a responsividade da interface;
- novas funcionalidades para formulários, facilitando o uso de elementos de controle de formulário personalizados (campos de entrada não padrão, botões, etc.). Um novo evento "formdata" permite usar manipuladores JavaScript para adicionar dados ao formulário no momento de seu envio, sem necessidade de armazenar os dados em elementos input ocultos.
A segunda novidade é o suporte à criação de elementos personalizados, associados a formulários e atuando como controles de formulário integrados, incluindo a possibilidade de ativar a validação de entrada e iniciar o envio de dados para o servidor. Para marcar um elemento como componente da interface do formulário, foi proposta a propriedade formAssociated, e para acessar métodos adicionais de controle do formulário, como setFormValue() e setValidity(), foi adicionado o chamado attachInternals();
- No modo (recursos experimentais que exigem ativação separada) um novo API foi adicionado , permitindo que o usuário selecione registros da agenda de contatos e transmita detalhes específicos sobre eles para o site. Durante a solicitação, é determinado uma lista de propriedades que devem ser obtidas (por exemplo, nome completo, email, número de telefone). Essas propriedades são exibidas ao usuário, que toma a decisão final sobre transmitir os dados ou não. A API pode ser utilizada, por exemplo, em um cliente de email web para selecionar destinatários para um email enviado, em um aplicativo web com função VoIP para iniciar uma chamada para um número específico ou em uma rede social para encontrar amigos já registrados.
O Origin Trial implica a possibilidade de trabalhar com a API mencionada a partir de aplicativos carregados do localhost ou 127.0.0.1, ou após o registro e obtenção de um token especial, que é válido por um tempo limitado para um site específico.
- Para formulários, foi implementado o atributo "", que permite definir o comportamento ao pressionar a tecla Enter no teclado virtual. O atributo pode aceitar os valores enter, done, go, next, previous, search e send;
- Uma nova regra foi adicionada , que controla o acesso à propriedade "document.domain". Por padrão, o acesso é permitido, mas se for negado, a tentativa de alterar o valor de "document.domain" resultará em uma mensagem de erro;
- Na API Performance, foi adicionado o chamado , que permite monitorar a mudança de posição de elementos DOM na tela.
- O tamanho do cabeçalho HTTP "Referer" é limitado a 4 KB, e se esse valor for excedido, o conteúdo será cortado até o nome do domínio;
- O argumento url na função registerProtocolHandler() é limitado ao uso apenas dos esquemas http:// e https:// e agora não permite os esquemas "data:" e "blob:".
- No método suporte adicionado para formatação de unidades de medida, moedas, notações científicas e compactas (por exemplo, "Intl.NumberFormat('en', {style: 'unit',
unit: 'meter-per-second'}"); - Novas propriedades CSS adicionadas para controlar o comportamento de rolagem ao atingir o limite lógico da área de rolagem;
- Para a propriedade CSS white-space, suporte para o valor break-spaces;
- Nos Service Workers, suporte para autenticação HTTP Basic e aparecimento de um diálogo padrão para entrada de parâmetros de login;
- A API Web MIDI agora pode ser usada apenas em um contexto de conexão segura (https, arquivo local ou localhost);
- API WebVR 1.1 declarado obsoleto, substituído pela API , que permite acesso a componentes para criação de realidade virtual e aumentada, unificando o trabalho com diferentes classes de dispositivos, desde headsets de realidade virtual de mesa até soluções baseadas em dispositivos móveis.
- Nas ferramentas para desenvolvedores, a capacidade de copiar propriedades CSS de um nó DOM através do menu de contexto acessado pelo clique direito no nó na árvore DOM. Uma interface (Show Rendering/Layout Shift Regions) foi adicionada para rastrear mudanças de layout devido à ausência de espaços reservados para anúncios e imagens (quando durante a visualização o carregamento de uma nova imagem empurra o texto para baixo). O painel de auditoria foi atualizado para a versão Foi adicionado um recurso de alternância automática para o tema escuro no DevTools ao usar o tema escuro no sistema operacional. No modo de inspeção de rede, um indicador foi acrescentado para mostrar o carregamento de recursos do cache de pré-carregamento (prefetch cache). O painel Application agora suporta a exibição de mensagens push e notificações. Na console da web, durante a pré-visualização de objetos, agora são exibidos também os campos privados das classes;
- No motor JavaScript V8, a armazenagem de estatísticas sobre tipos de operandos passados para diferentes operações foi otimizada (o que permite otimizar a execução dessas operações com base em tipos específicos). Para reduzir o consumo de memória, vetores para contagem de tipos agora são alocados na memória apenas após a execução de determinado volume de bytecode, o que exclui a aplicação de otimizações para funções com prazo de vida curto. A mudança mencionada economiza 1–2% de memória na versão de desktop e 5–6% em dispositivos móveis.
A escalabilidade da compilação em segundo plano do WebAssembly foi aprimorada — quanto mais núcleos de processador no sistema, maior é o ganho com as otimizações adicionadas. Por exemplo, em um computador com 24 núcleos e processador Xeon, o tempo de compilação do aplicativo demonstrativo Epic ZenGarden foi reduzido pela metade.

Além das inovações e correções de bugs, na nova versão foram eliminadas . Muitas das vulnerabilidades foram descobertas através de teste automatizado com ferramentas , , , e . Um problema (CVE-2019-5870) foi classificado como crítico, ou seja, permite contornar 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 , sabendo-se apenas que pode levar a acessos a áreas de memória já liberadas no código de processamento de dados multimídia. No âmbito do programa de recompensas por descoberta de vulnerabilidades para a versão atual, a empresa Google pagou 38 prêmios totalizando 33.500 dólares (um prêmio de $7.500, quatro prêmios de $3.000, três prêmios de $2.000, quatro prêmios de $1.000 e oito prêmios de $500). O valor de 18 recompensas ainda não foi definido.
Fonte: opennet.ru

