Versão 80 do Chrome

Google apresentado versão do navegador da web Chrome 80... Simultaneamente está disponível lançamento estável de um projeto gratuito crômio, que é a base do Chrome. navegador Chrome diferente utilização de logotipos do Google, presença de sistema de envio de notificações em caso de travamento, possibilidade de download de módulo Flash mediante solicitação, 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 durante a pesquisa Parâmetros RLZ. O próximo lançamento do Chrome 81 está agendado para 17 de março.

O principal mudanças в Chrome 80:

  • Para uma pequena porcentagem de usuários, é oferecida uma função de agrupamento de guias, que permite combinar várias guias com finalidades semelhantes em grupos visualmente separados. Cada grupo pode receber sua própria cor e nome. Os usuários que não foram incluídos na primeira onda de ativação podem ativar o suporte ao agrupamento por meio da opção “chrome://flags/#tab-groups”.

    Versão 80 do Chrome

  • Adicionado suporte para este recurso Rolar para texto, que permite criar links para palavras ou frases individuais sem especificar rótulos explicitamente no documento usando a tag “a name” ou a propriedade “id”. A sintaxe de tais links está prevista para ser aprovada como um padrão web, que ainda está em fase rascunho. A máscara de transição (essencialmente uma pesquisa de rolagem) é separada da âncora regular pelo atributo “:~:”. Por exemplo, ao abrir o link “https://opennet.ru/52312/#:~:text=Chrome” a página se moverá para a posição com a primeira menção da palavra “Chrome” e esta palavra será destacada .
  • Aplicado Uma restrição mais rigorosa à transferência de Cookies entre sites, para pedidos não HTTPS, proibindo o processamento de Cookies de terceiros definidos ao aceder a sites diferentes do domínio da página atual. Esses Cookies são utilizados para rastrear os movimentos dos utilizadores entre sites no código de redes de publicidade, widgets de redes sociais e sistemas de análise web. Lembre-se que para controlar a transmissão de Cookies, é utilizado o atributo SameSite especificado no cabeçalho Set-Cookie, que por padrão agora está definido com o valor “SameSite=Lax”, o que limita o envio de Cookies para sub-solicitações entre sites. , como uma solicitação de imagem ou carregamento de conteúdo por meio de um iframe de outro site. Os sites podem substituir o comportamento padrão do SameSite definindo explicitamente a configuração Cookie como SameSite=None. Porém, o valor SameSite=None para Cookie só pode ser definido em modo Seguro (válido para conexões via HTTPS). A mudança começará em etapas Aplique 17 de fevereiro, inicialmente para uma pequena porcentagem de usuários, e depois expandindo gradualmente a cobertura.
  • Adicionado por proteção contra notificações irritantes relacionadas à confirmação de credenciais. Como atividades como enviar solicitações de notificação por push interrompem a experiência do usuário e desviam a atenção das caixas de diálogo de confirmação, no Chrome 80, em vez de uma caixa de diálogo separada, uma dica informativa agora pode ser exibida na barra de endereço avisando que a solicitação de permissão foi bloqueada, o que então ele se transforma em um indicador com a imagem de um sino riscado. Ao clicar no indicador, você pode ativar ou rejeitar a permissão solicitada a qualquer momento conveniente. Automaticamente, o novo modo será habilitado seletivamente para usuários que anteriormente costumavam bloquear tais solicitações, bem como para sites que registram grande percentual de solicitações rejeitadas. Para habilitar o novo modo para todas as solicitações, uma opção especial foi adicionada às configurações (chrome://flags/#quiet-notification-prompts).

    Versão 80 do Chrome

  • Entrada exibição de janelas pop-up (chamando o método window.open()) e envio de XMLHttpRequests síncronos em manipuladores de eventos de fechamento ou ocultação de página (unload, beforeunload, pagehide eibilitychange);
  • Inicial proposta Segurança do carregamento de conteúdo multimídia misto (quando os recursos são carregados em uma página HTTPS por meio do protocolo http://). Nas páginas abertas via HTTPS, os links “http://” agora serão automaticamente substituídos por “https://” em blocos associados à reprodução de arquivos de áudio e vídeo. Caso um recurso de áudio ou vídeo não esteja disponível via https, seu download fica bloqueado (você pode marcar manualmente o bloqueio através do menu acessível através do símbolo de cadeado na barra de endereço).

    As imagens continuarão a carregar inalteradas (a correção automática será aplicada no Chrome 81), mas para substituí-las por https ou bloquear imagens, os desenvolvedores do site recebem as propriedades CSP upgrade-insecure-requests e block-all-mixed-content. Para scripts e iframes, o bloqueio de conteúdo misto já foi implementado anteriormente.

  • Uma gradual desligamento Suporte FTP. Por padrão, o suporte FTP ainda está disponível, mas realizado um experimento em que o suporte a FTP será desabilitado para uma determinada porcentagem de usuários (para retornar será necessário iniciar o navegador com a opção “-enable-ftp”). Lembremos que nas versões anteriores a exibição na janela do navegador do conteúdo dos recursos baixados através do protocolo “ftp://” já estava desabilitada (por exemplo, a exibição de documentos HTML e arquivos README foi interrompida), o uso de FTP foi proibido ao baixar sub-recursos de documentos e o suporte de proxy foi descontinuado para FTP. Porém, ainda era possível baixar arquivos por meio de links diretos e exibir o conteúdo dos diretórios.
  • Adicionado por
    a capacidade de usar imagens vetoriais SVG como ícone do site (favicon).

  • A capacidade de desativar seletivamente certos tipos de dados transferidos durante a sincronização entre navegadores foi adicionada às configurações.
  • Uma regra foi adicionada para usuários corporativos administrados centralmente BloquearExtensõesExternas, que permite impedir a instalação de complementos externos no dispositivo.
  • Implementado oportunidade uma verificação única de toda a cadeia de propriedades ou chamadas em JavaScript. Por exemplo, ao acessar “db.user.name.length” era previamente necessário verificar a definição de todos os componentes passo a passo, por exemplo, através de “if (db && db.user && db.user.name)”. Agora usando a operação “?.” você pode acessar o valor “db?.user?.name?.length” sem verificações preliminares e tal acesso não levará a um erro. Em caso de problemas (se algum elemento for processado como nulo ou indefinido)) a saída será “indefinida”.
  • JavaScript introduz um novo operador lógico de concatenação "??", que retorna o operando direito se o operando esquerdo for NULL ou indefinido e vice-versa. Por exemplo, "const foo = bar ?? 'string padrão'" se bar for nulo, retornará o valor de bar caso contrário, inclusive quando bar for 0 e ' ', em oposição ao operador "||".
  • No modo Origin Trials (recursos experimentais que exigem ativação) propôs API de indexação de conteúdo. 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. API Indexação de conteúdo, fornece metadados sobre o conteúdo que foi armazenado em cache anteriormente por aplicativos Web em execução no modo Progressive Web Apps (PWS). O aplicativo pode salvar vários dados no navegador, incluindo imagens, vídeos e artigos, e quando a conexão de rede for perdida, usá-los usando as APIs Cache Storage e IndexedDB. A API de indexação de conteúdo possibilita adicionar, localizar e excluir tais recursos. No navegador, esta API já é utilizada para listar uma lista de páginas e dados multimídia disponíveis para visualização offline.

    Versão 80 do Chrome

  • Estabilizado e agora distribuído fora da API Origin Trials Selecionador de contato, permitindo ao usuário selecionar entradas do catálogo de endereços e transmitir certos detalhes sobre elas ao site. A solicitação especifica uma lista de propriedades que precisam ser recuperadas. Essas propriedades são exibidas explicitamente ao usuário, que decide se passa ou não essas propriedades. 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. . Ao mesmo tempo, como parte dos Origin Trials, algumas novas propriedades do Contact Picker são oferecidas: além do nome completo, e-mail e número de telefone disponíveis anteriormente, foi adicionada a capacidade de transferir um endereço de e-mail e imagem.
  • Em trabalhadores da Web proposto uma nova forma de carregar módulos ECMAScript, permitindo evitar o uso da função importScripts(), que bloqueia o trabalhador durante o processamento do script importado e o executa no contexto global. O novo método envolve a criação de módulos especiais para Web Workers que suportam mecanismos de importação JavaScript padrão e podem ser carregados dinamicamente sem bloquear a execução do trabalhador. Para carregar módulos, o construtor Worker fornece um novo tipo de recurso - 'módulo':

    const trabalhador = novo Trabalhador('trabalhador.js', {
    tipo: 'módulo'
    });

  • Implementado A capacidade integrada do JavaScript de processar fluxos compactados sem exigir o uso de bibliotecas externas. APIs foram adicionadas para compactação e descompactação CompressionStream e DecompressionStream. A compactação usando algoritmos gzip e deflate é suportada.

    compressão constReadableStream
    = inputReadableStream.pipeThrough(new CompressionStream('gzip'));

  • Adicionada propriedade CSS "quebra de linha: em qualquer lugar", que permite quebras no nível de qualquer caractere tipográfico, incluindo quebras próximas a caracteres de pontuação predefinidos por espaços ( ) e no meio das palavras. Também foi adicionada a propriedade CSS "overflow-wrap: em qualquer lugar» permite quebrar sequências ininterruptas de caracteres em qualquer lugar se uma posição adequada para a quebra não for encontrada na linha.
  • Para contexto de mídia processado de forma criptografada, o suporte para o método foi implementado MediaCapabilities.decodingInfo(), que fornece informações sobre os recursos do navegador para decodificar conteúdo protegido (por exemplo, esse método pode ser usado para selecionar cenários de decodificação de alta qualidade ou com baixo consumo de energia com base na largura de banda disponível e no tamanho da tela).
  • Método adicionado HTMLVideoElement.getVideoPlaybackQuality(), por meio do qual você pode obter informações sobre o desempenho da reprodução de vídeo para ajustar a taxa de bits, a resolução e outros parâmetros de vídeo.
  • Na API Manipulador de pagamentos, que simplifica a integração com sistemas de pagamento existentes, acrescentou a capacidade delegação processamento de endereço e informações de contato para um processador externo do sistema de pagamento (o aplicativo do sistema de pagamento pode ter informações mais precisas que o navegador).
  • Adicionado suporte a cabeçalho HTTP Sec-Fetch-Dest, que permite enviar metadados adicionais sobre o tipo de conteúdo associado à solicitação (por exemplo, para uma solicitação por meio da tag img, o tipo é “imagem”, para fontes - “fonte”, para scripts - “script”, para estilos - “estilo”, etc.). Com base no tipo especificado, o servidor pode tomar medidas para se proteger contra certos tipos de ataques (por exemplo, é improvável que um link para um manipulador de transferência de dinheiro seja especificado por meio de uma tag img, portanto, tais solicitações não precisam ser ser processado).
  • No mecanismo JavaScript V8 otimização realizada armazenando ponteiros no heap. Em vez de armazenar o valor completo de 64 bits, apenas os bits inferiores exclusivos do ponteiro são armazenados. Essa otimização permitiu reduzir o consumo de memória heap em 40%, ao custo de uma penalidade de desempenho de 3 a 8%.
    Versão 80 do Chrome

    Versão 80 do Chrome

  • Mudanças em ferramentas para desenvolvedores web:
    • O console da web agora tem a capacidade de redefinir expressões let e class.

      Versão 80 do Chrome

    • Ferramentas de depuração WebAssembly aprimoradas. Suporte adicionado ANÃO para depuração passo a passo, especificação de pontos de interrupção e análise de rastreamentos de pilha no código-fonte no qual um aplicativo WebAssembly é escrito.

      Versão 80 do Chrome

    • Painel aprimorado para analisar a atividade da rede. Adicionada a capacidade de visualizar a cadeia de chamadas de scripts associadas ao início da solicitação.

      Versão 80 do Chrome

      Adicionadas novas colunas Caminho e URL que mostram o caminho absoluto e o URL completo para cada recurso de rede. Garante que a consulta selecionada seja destacada no diagrama de visão geral.

      Versão 80 do Chrome

    • Na aba Condições de Rede, foi adicionada uma opção para alterar o parâmetro User-Agent.

      Versão 80 do Chrome

    • Foi proposta uma nova interface para configuração do painel de auditoria.
      Versão 80 do Chrome

    • Na guia Cobertura forneceu a opção de coletar dados de cobertura para cada função ou para cada bloco de código (estatísticas mais detalhadas, mas requer mais recursos).

      Versão 80 do Chrome

  • Ação de manifesto AppCache (tecnologia para organizar a operação de um aplicativo web no modo offline) limitado o diretório atual do site (se o manifesto foi baixado de www.example.com/foo/bar/, a capacidade de substituir o URL só funcionará dentro de /foo/bar/). O suporte ao AppCache está planejado para ser completamente removido no Chrome 82. O motivo citado é o desejo de se livrar de um dos vetores de ataques de cross-site scripting. Recomenda-se usar API em vez de AppCache Esconderijo.
  • Interrompido suporte para a API WebVR 1.1 legada, que pode ser substituída pela API Dispositivo WebXR, que permite acessar componentes para criação de realidade virtual e aumentada e unificar o trabalho com diversas classes de dispositivos, desde capacetes estacionários de realidade virtual até soluções baseadas em dispositivos móveis.
  • Os manipuladores de protocolo conectados por meio dos métodos registerProtocolHandler() e unregisterProtocolHandler() agora só podem funcionar em um contexto seguro (quando acessados ​​via HTTPS).

Além de inovações e correções de bugs, a nova versão elimina 56 vulnerabilidades. Muitas das vulnerabilidades foram identificadas como resultado de ferramentas de teste automatizadas Endereço Sanitizer, Sanitizador de memória, Integridade do fluxo de controle, LibFuzzerGenericName и AFL. Nenhum problema crítico foi identificado que permitiria ignorar todos os níveis de proteção do navegador e executar código no sistema fora do ambiente sandbox. Como parte do programa de pagamento de recompensas em dinheiro pela descoberta de vulnerabilidades na versão atual, o Google pagou 37 prêmios no valor de US$ 48 mil (um prêmio de US$ 10000, três prêmios de US$ 5000, três prêmios de US$ 3000, quatro prêmios de US$ 2000, três prêmios de US$ 1000 e seis prêmios de US$ 500). O tamanho de 17 recompensas ainda não foi determinado.

Fonte: opennet.ru

Adicionar um comentário