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 usando logotipos do Google, possibilidade de carregar o módulo Flash sob demanda, sistema de envio de notificações em caso de falha, 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 . A próxima versão do Chrome 76 está agendada para 30 de julho.
:
- No método canvas.getContext() a bandeira «desynchronized» para manipular contextos Canvas (2D ou WebGL) usando um sistema alternativo de renderização que garante latências mínimas ao contornar o mecanismo padrão de atualização do DOM e renderizar diretamente via OpenGL;
- API ampliada ({ navigator.share } objeto), que permite, em vez de uma lista de botões individuais, gerar um botão unificado para publicação em redes sociais relevantes para o visitante. Na nova versão da API é possível exibir um diálogo padrão para envio de arquivos a outros aplicativos (por exemplo, no Android, é exibido um bloco para envio via e-mail, Bluetooth, etc.);
- possibilidade de separar grupos de números em literais numéricos usando o caractere de sublinhado. Por exemplo, para melhorar a legibilidade de grandes números no código, pode-se especificar 1_000_000_000 e este número será processado como 1000000000;
- Para todos os usuários da versão desktop, está ativado por padrão , onde páginas de diferentes hosts são sempre armazenadas na memória de processos diferentes, cada um dos quais aplica seu próprio sandbox. A principal característica do modo de estrito isolamento é a separação não por abas, mas por domínios, ou seja, se anteriormente o conteúdo carregado de scripts, iframes e popups de outros domínios era executado em um único processo com o site base, agora eles serão divididos em processos diferentes;
- Extensões bloqueadas agora serão totalmente removidas, e não desativadas, passando para o modo inativo.
- No gerenciador de tarefas integrado do Chrome (Configurações > Mais Ferramentas > Gerenciador de Tarefas) exibição dos manipuladores de Service worker;
- No método window.open() foi adicionado o atributo ««, permitindo abrir a página sem preencher o cabeçalho Referer;
- diretivas (Content Security Policy) «script-src-attr», «script-src-elem», «style-src-attr» e «style-src-elem», que oferecem funcionalidade semelhante às diretivas script e style, mas com a possibilidade de aplicação a manipuladores de eventos, elementos ou atributos específicos;
- Na API de Autenticação Web suporte FIDO CTAP2 PIN para uso de um PIN definido pelo usuário para autorização na execução de operações com chaves que suportam o protocolo . No configurador, na seção 'Avançado', foi adicionado o item 'Gerenciar chaves de segurança', onde é possível designar um PIN para proteger as chaves armazenadas em um pen drive, além de uma opção para redefinir a chave (limpar todos os dados e o PIN);
- Na API Web Animations, foram adicionados os objetos
, que permitem gerenciar interativamente os elementos animados e o tempo (duração, atrasos).
Além disso, foi adicionado um novo construtor , oferecendo recursos mais extensos para gerenciamento de animações. Anteriormente, a API Web Animations permitia criar animações usando o método Element.animate(), que retornava um objeto Animation já formado. Agora, o desenvolvedor pode gerenciar sua criação por meio da chamada explícita do construtor, onde, por exemplo, pode-se especificar um objeto KeyframeEffect; - Foi adicionada a opção , instruindo o navegador a exibir o vídeo na área de reprodução do elemento (por exemplo, para oferecer o modo de reprodução em tela cheia);
- No método MediaStreamTrack.getCapabilities(), foi implementada a possibilidade de obter a faixa de valores permitidos para propriedades relacionadas a dispositivos de áudio (taxa de amostragem, latência, número de canais etc.);
- Na WebRTC, foi adicionado o API para obter informações sobre os transportes ativos, como o uso de SCTP ou DTLS (Datagram Transport Layer Security), através dos quais pacotes RTP e RTCP são enviados ou recebidos. Também foi adicionado a interface RTCIceTransport para fornecer informações sobre o estado dos transportes
ICE, usados no objeto RTCPeerConnection; - No cabeçalho Cache-Control, foi implementada a diretiva '', que permite definir uma janela de tempo adicional durante a qual o navegador pode utilizar um recurso com o tempo expirado para verificação assíncrona de atualidade;
- Scroll Snap Stop para definir a ancoragem nos elementos durante a rolagem inercial (por exemplo, um gesto de deslizar amplo ao selecionar na lista de imagens resultará na seleção não do último elemento, mas do próximo);
- Na versão para Android, a interface de preenchimento automático dos parâmetros das contas nas telas de autenticação foi aprimorada. O bloco de sugestões agora é exibido diretamente acima do teclado virtual e, ao clicar, mostra as opções salvas em vez de cobrir o formulário de entrada;
- Adicionada a suporte experimental ao modo de leitura (Reader Mode), que, quando ativado, exibe apenas o texto relevante, ocultando todos os elementos de controle adicionais, banners, menus, barras de navegação e outras partes da página não relacionadas ao conteúdo. A ativação deste novo modo pode ser feita na opção chrome://flags/#enable-reader-mode, após a qual um item para seu uso aparecerá no menu suspenso;
- O mecanismo JavaScript V8 implementou um modo de cache explícito para os resultados da compilação do WebAssembly (ao reabrir a página, os componentes do WebAssembly previamente processados serão executados a partir do cache).
No WebAssembly, também foram adicionadas novas instruções memory.copy, memory.fill, table.copy, memory.init e table.init para copiar, preencher e inicializar grandes áreas de memória; - Adicionada a capacidade de analisar scripts em tempo real à medida que estão sendo carregados pela rede, sem envolver a thread principal do Chrome. Anteriormente, a thread era inicialmente recebida na main thread e, em seguida, era redirecionada para o analisador. Essa organização levava a bloqueios possíveis de redirecionamento por outras tarefas executadas na thread principal, como a análise de HTML e a execução de outros scripts JavaScript. Agora, esse redirecionamento foi removido;
- Melhorias nas ferramentas para desenvolvedores web:
- No modo de inspeção de CSS, a autocomplete para nomes e valores base das funções utilizáveis nas propriedades CSS (por exemplo, "filter: blur(1px)") foi implementada. Os valores sugeridos são imediatamente refletidos no layout da página em visualização;

- No painel de comandos, exibido ao pressionar Ctrl+Shift+P, foi implementado o comando "Limpar Dados do Site" para limpar todos os dados relacionados à página (equivalente à chamada do menu Aplicação > Limpar Armazenamento), incluindo Service workers, localStorage, sessionStorage, IndexedDB, Web SQL, Cookies, Cache e Cache de Aplicação;
- Adicionada a possibilidade de visualizar todos os bancos de dados existentes do IndexedDB (anteriormente, no Application > IndexedDB, era possível ver os bancos de dados para o domínio atual, o que não permitia, por exemplo, inspecionar o uso do IndexedDB em blocos carregados via iframe);

- Na interface de inspeção de rede, agora a dica exibida ao passar sobre os campos na coluna "Tamanho" mostra o tamanho do recurso em sua forma original, sem compressão;

- No painel do depurador, foi fornecida uma saída separada das informações de status dos pontos de interrupção vinculados a partes específicas de expressões complexas na linha (ponto de interrupção inline), por exemplo, definidos na cadeia de chamadas de métodos;

- Nos painéis de inspeção do IndexedDB e do Cache, implementada a exibição de contadores do número total de recursos no banco de dados ou no cache;

- No modo de inspeção de CSS, a autocomplete para nomes e valores base das funções utilizáveis nas propriedades CSS (por exemplo, "filter: blur(1px)") foi implementada. Os valores sugeridos são imediatamente refletidos no layout da página em visualização;
- Nas compilações experimentais do Canary, suporte
as chamadas DNS sobre HTTPS (DoH, DNS over HTTPS), que podem ser ativadas em chrome://flags#dns-over-https. O DoH pode ser útil para evitar vazamentos de informações sobre os nomes de host solicitados através dos servidores DNS dos provedores, combater ataques MITM e a falsificação de tráfego DNS, enfrentar bloqueios em nível de DNS ou para organizar o trabalho caso não seja possível acessar diretamente os servidores DNS (por exemplo, ao usar um proxy);
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 . Não foram identificados problemas críticos que permitissem 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 descoberta de vulnerabilidades para esta versão, a empresa Google pagou 13 prêmios no total de 9000 dólares (um prêmio de 5000 dólares, dois prêmios de 1000 dólares e quatro prêmios de 500 dólares). O valor de 7 recompensas ainda não foi determinado.
Fonte: opennet.ru





