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 77 está agendada para 10 de setembro.
:
- por padrão, o modo de proteção contra o envio de cookies de terceiros, que, na ausência do atributo SameSite no cabeçalho Set-Cookie, define por padrão o valor 'SameSite=Lax', limitando o envio de cookies para inserções de sites de terceiros (mas os sites ainda poderão anular a limitação explicitamente definindo o valor SameSite=None ao configurar os cookies). Até agora, o navegador enviava cookies em qualquer solicitação ao site para o qual os cookies estavam definidos, mesmo que inicialmente um site diferente fosse aberto, e o acesso fosse feito indiretamente por meio de um carregamento de imagem ou via iframe. No modo 'Lax', o envio de cookies é bloqueado apenas para subconsultas intersites, como solicitações de imagens ou carregamento de conteúdo via iframe, que são frequentemente utilizadas para organizar ataques CSRF e para rastrear os movimentos do usuário entre sites.
- A reprodução de conteúdo Flash foi desativada por padrão. Até o lançamento do Chrome 87, previsto para dezembro de 2020, o suporte ao Flash poderá ser restaurado nas configurações (Avançado > Privacidade e Segurança > Configurações do Site) com a subsequente confirmação explícita para a operação de reprodução de conteúdo Flash para cada site (a confirmação é lembrada até a reinicialização do navegador). A remoção completa do código para garantir o suporte ao Flash foi sincronizada com o plano anteriormente anunciado pela Adobe para encerrar o suporte à tecnologia Flash em 2020;
- Para empresas, foi adicionada a possibilidade de buscar arquivos no armazenamento do Google Drive na barra de endereço;
- Começou no Chrome de anúncios inaceitáveis que prejudicam a percepção do conteúdo e não atendem aos critérios estabelecidos pela Coalizão para Melhorar a Publicidade;
- Um modo responsivo de transição para uma nova página foi implementado, onde a limpeza do conteúdo atual e a exibição de fundo branco não ocorrem imediatamente, mas após um pequeno delay. Para páginas que carregam rapidamente, a limpeza resulta apenas em um flash e não traz uma carga útil, que informaria o usuário sobre o início do carregamento da nova página. Na nova versão, se a página carrega rapidamente e se encaixa em um pequeno delay, a nova página é exibida no lugar, substituindo sem costura a anterior (por exemplo, conveniente ao abrir outras páginas do mesmo site que possuem um design e paleta de cores semelhantes). Se a exibição da página requer um tempo significativo para o usuário, a tela será limpa previamente, como antes.
- Os critérios para determinar a atividade do usuário na página foram reforçados. O Chrome permite exibir notificações pop-up e reproduzir conteúdo de vídeo/audio intrusivo apenas após as ações do usuário na página. Na nova versão, pressionar Escape, passar o cursor sobre um link e tocar na tela não são mais considerados interações que ativam a página (é necessário um clique explícito, digitação de texto ou rolagem);
- a media query "prefers-color-scheme", permitindo que sites determinem a aplicação de um tema escuro no navegador e ativem automaticamente o modo escuro para o site em visualização.
- Ao ativar o modo escuro nas compilações para Linux, a barra de endereços agora é exibida em cores escuras;
- a possibilidade de determinar a abertura de uma página em modo incógnito por meio de manipulações com a API FileSystem, que anteriormente era utilizada por alguns sites para impor uma assinatura paga no caso de abertura anônima de páginas sem armazenar Cookies (para evitar que os usuários utilizassem o modo privado para contornar o mecanismo de fornecimento de acesso gratuito de teste). Anteriormente, ao operar em modo incógnito, o navegador bloqueava o acesso à API FileSystem para evitar a persistência de dados entre sessões, o que permitia ao JavaScript verificar a possibilidade de armazenar dados via API FileSystem e, em caso de falha, concluir sobre a atividade do modo incógnito. Agora, o acesso à API FileSystem não é bloqueado, e o conteúdo é limpo após o término da sessão;
- novos desafios em
API Payment Request e Payment Handler. O objeto PaymentRequestEvent agora possui um novo método changePaymentMethod(), e no objeto PaymentRequest, foi adicionado um novo manipulador de evento paymentmethodchange, que permite à plataforma de pagamento ou aplicativo web reagir à mudança de método de pagamento pelo usuário. A nova versão também simplificou o teste de aplicativos relacionados a pagamentos usando certificados autoassinados. Foi adicionada uma nova opção de linha de comando «—ignore-certificate-errors» para ignorar erros de verificação de certificados durante o desenvolvimento; - Na barra de endereços, ao lado do botão para adicionar aos favoritos para aplicativos web que operam no modo Desktop Progressive Web Apps (PWA), atalho para instalar o aplicativo web no sistema para funcionar como um programa isolado;
- Para dispositivos móveis, foi disponibilizada a opção de gerenciar a exibição de um mini banner convidando a adicionar o aplicativo na tela inicial. Para aplicativos PWA (Progressive Web App), o mini banner é automaticamente exibido por padrão na primeira abertura do site. O desenvolvedor agora pode optar por não exibir este banner e implementar seu próprio convite para instalação, para isso, pode configurar um manipulador de evento
beforeinstallprompt e vincular a ele a chamada preventDefault(); - Aumentada a frequência de verificação de atualizações para aplicativos PWA (Progressive Web App) instalados no ambiente Android. Agora, as atualizações do WebAPK são verificadas uma vez por dia, em vez de a cada três dias como anteriormente. Se durante essa verificação no manifesto for detectada qualquer alteração em uma propriedade chave, o navegador fará o download e instalará o novo WebAPK;
- Na API foi adicionada a capacidade de ler e gravar imagens via clipboard, utilizando os métodos navigator.clipboard.read() e navigator.clipboard.write();
- Implementada a suporte para um grupo de cabeçalhos HTTP (Sec-Fetch-Dest, Sec-Fetch-Mode, Sec-Fetch-Site e Sec-Fetch-User), permitindo enviar metadados adicionais sobre a natureza da solicitação (restituição entre sites, solicitação através da tag img, etc.) para que o servidor possa tomar medidas para proteger contra alguns tipos de ataques (por exemplo, é improvável que um link para um manipulador de transferência de dinheiro seja fornecido através da tag img, portanto, tais solicitações podem ser bloqueadas sem passar para o aplicativo);
- Adicionada a função , que inicia o envio programático de dados do formulário semelhante a um clique no botão de envio. A função pode ser aplicada no desenvolvimento de botões de envio de formulário personalizados, para os quais a chamada form.submit() não é suficiente, pois não aciona a verificação interativa dos parâmetros, a geração do evento 'submit' e a transmissão dos dados vinculados ao botão de envio;
- Foi adicionada a função , que permite confirmar transações relacionadas ao objeto IDBTransaction sem aguardar a conclusão dos manipuladores de eventos em todas as solicitações relacionadas. O uso de commit() aumenta a largura de banda das solicitações de gravação e leitura no armazenamento, permitindo um controle explícito sobre a conclusão da transação;
- Na função Intl.DateTimeFormat, como formatToParts() e resolveOptions(), foram adicionadas as opções , permitindo solicitar estilos de exibição de data e hora específicos para a localidade;
- O método BigInt.prototype.toLocaleString() foi alterado para formatar números considerando a localidade, enquanto o método Intl.NumberFormat.prototype.format() e a função formatToParts() foram adaptados para suportar valores de entrada do tipo BigInt;
- É permitido o uso da API em todos os tipos de Web Workers, o que pode ser usado para selecionar parâmetros otimizados ao criar MediaStream a partir do worker;
- Método adicionado , que retorna apenas promessas já resolvidas ou rejeitadas, sem considerar promessas que estão aguardando execução;
- A opção '—disable-infobars' foi removida, que anteriormente poderia ser usada para ocultar avisos pop-up na interface do Chrome (para ocultar avisos relacionados à segurança, foi proposta a regra CommandLineFlagSecurityWarningsEnabled);
- Na interface para trabalhar com blobs os métodos text(), arrayBuffer() e stream() para ler tipos específicos de dados;
- Adicionada a propriedade CSS 'white-space: break-spaces', que define que qualquer sequência de espaços que cause estouro de linha deve ser quebrada;
- Iniciou-se o trabalho de limpeza das flags em chrome://flags, por exemplo, flag para desativar o atributo "ping", permitindo que os proprietários de sites monitorem os cliques em links de suas páginas. Ao clicar em um link que possui o atributo "ping=URL" na tag "a href", não é mais possível desativar o envio da requisição POST adicional para o URL especificado no atributo, resultando na perda de significado do bloqueio do ping, já que esse atributo nas especificações do HTML5 e existem várias maneiras alternativas para realizar a mesma ação (como passar por um link de trânsito ou interceptar cliques com manipuladores JavaScript);
- Removido o flag para desativar , onde páginas de diferentes hosts sempre são alocadas na memória de processos diferentes, cada um aplicando seu próprio sandbox.
- No motor V8, a performance de escaneamento e parsing do formato JSON foi significativamente aumentada. Para páginas web populares, o desempenho da execução do JSON.parse melhorou em até 2.7 vezes. A conversão de strings unicode também foi acelerada, por exemplo, a velocidade de execução das chamadas String#localeCompare, String#normalize, além de algumas APIs Intl, quase dobrou. A performance de operações com arrays congelados foi significativamente otimizada ao usar operações, como frozen.indexOf(v), frozen.includes(v), fn(…frozen), fn(…[…frozen]) e fn.apply(this, […frozen]).

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 . Nenhum problema crítico que permita contornar todos os níveis de proteção do navegador e executar código no sistema fora do ambiente sandbox foi identificado. No âmbito do programa de recompensas por descoberta de vulnerabilidades para esta versão, a empresa Google pagou 16 prêmios no total de $23.500 (um prêmio de $10.000, um prêmio de $6.000, dois prêmios de $3.000 e três prêmios de $500). O valor de 9 recompensas ainda não foi determinado.
Fonte: opennet.ru

