Adições à API Screen Capture, interpolação de propriedades de modelo de grade CSS e muito mais.
Salvo indicação em contrário, as mudanças descritas abaixo se aplicam à versão mais recente do Canal Beta do Chrome para Android, ChromeOS, Linux, macOS e Windows. Saiba mais sobre os recursos listados aqui nos links fornecidos ou na lista em ChromeStatus.com. O Chrome 107 está na versão Beta desde 29 de setembro de 2022. Faça o download da versão mais recente em Google.com para computador ou na Google Play Store no Android.
Interpolação das propriedades CSS grid-template
Na grade CSS, as propriedades grid-template-columns
e grid-template-rows
permitem que os desenvolvedores definam nomes de linha e acompanhem o dimensionamento das colunas e linhas da grade, respectivamente. Graças aos nossos colaboradores da Microsoft, agora oferecemos suporte à interpolação para essas propriedades. Os layouts de grade agora podem fazer uma transição suave entre estados, em vez de serem ajustados no ponto médio de uma animação ou transição.
Controles de compartilhamento de tela que preservam a privacidade
A API Screen Capture (em inglês) apresenta adições à API Media Capture and Streams para permitir que o usuário selecione uma tela ou parte de uma tela (como uma janela) para capturar como um stream de mídia. Essa transmissão pode ser gravada ou compartilhada com outras pessoas na rede. Nesta versão Beta, alguns recursos novos foram adicionados a essa API.
DisplayMediaStreamConstraints.selfBrowserSurface
Dica que permite que aplicativos da Web instruam o navegador se, ao chamar getDisplayMedia()
, a guia atual deve ser excluída da lista de guias oferecidas ao usuário.
Isso ajuda a evitar a autocaptura acidental, quando os usuários escolhem acidentalmente a guia em que o app está sendo executado, um efeito Hall-of-Mirrors é produzido, confundindo os usuários e atrapalhando as discussões com usuários remotos.
DisplayMediaStreamConstraints.surfaceSwitching
Adiciona uma opção para controlar programaticamente se o Chrome mostra um botão para trocar de guia durante o compartilhamento de tela. Essa opção será transmitida para navigator.mediaDevices.getDisplayMedia()
.
O botão "Compartilhar esta guia" permite que os usuários alternem facilmente a guia que estão compartilhando, sem precisar selecionar a guia de videoconferência novamente, clicar em um botão para iniciar getDisplayMedia()
novamente ou selecionar uma nova guia de uma longa lista de guias. Esse comportamento é exposto condicionalmente, porque nem todos os aplicativos da Web conseguem lidar com ele.
MediaTrackConstraintSet.displaySurface
Quando getDisplayMedia()
é chamado, o navegador oferece ao usuário uma opção de superfícies de exibição: guias, janelas ou monitores. Usando a restrição displaySurface, o aplicativo da Web agora pode indicar ao navegador se ele preferir que um determinado tipo de superfície seja oferecido com mais destaque ao usuário.
Saiba mais sobre como esses recursos ajudam a evitar o compartilhamento excessivo acidental.
Status de bloqueio da renderização no Resource Timing
Adiciona um campo a PerfomanceResourceTiming
para indicar o status de bloqueio de renderização de um recurso. Atualmente, do ponto de vista do desenvolvedor, a única maneira de determinar quais recursos estavam realmente bloqueando a renderização é usando uma heurística complexa. O novo campo forneceria um sinal direto referente ao mesmo.
Caracteres curinga nas origens da política de permissões
Esse recurso adiciona suporte a caracteres curinga na política de permissões estruturada como SCHEME://*.HOST:PORT
(por exemplo, https://*.foo.com/), em que uma origem válida pode ser construída usando SCHEME://HOST:PORT
(por exemplo, https://foo.com/). Isso exige que HOST seja pelo menos eTLD+1 (um domínio registrável). Isso significa que https://*.bar.foo.com/
funciona, mas https://*.com/
não. Os caracteres curinga na seção "Esquema e porta" não serão compatíveis e https://*.foo.com/
não será delegado para https://foo.com/
. Antes, uma política de permissões pode ter esta aparência:
permissions-policy: ch-ua-platform-version=(self "https://foo.com" "https://cdn1.foo.com" "https://cdn2.foo.com")
Com esse recurso, você pode usar:
permissions-policy: ch-ua-platform-version=(self "https://foo.com" "https://*.foo.com")
Compatibilidade com o atributo rel
nos elementos <form>
Esse recurso adiciona o atributo rel
aos elementos de formulário, o que possibilita evitar que window.opener
esteja presente em sites acessados por elementos de formulário que tenham rel=noopener
e impede que o cabeçalho do referenciador seja enviado com rel=noreferrer
.
Testes de origem
Essa versão do Chrome teve dois novos testes de origem.
API declarativa PendingBeacon
Uma API de beacon com estado que permite ao navegador controlar quando os beacons são enviados. Um beacon é um pacote de dados enviados a um servidor de back-end sem esperar uma resposta específica. Muitas vezes, é desejável enviá-los ao final da visita do usuário a uma página, mas não há tempo suficiente para esse "envio" que a chamada seja feita. Essa API delega o envio ao próprio navegador, para que seja compatível com beacons no descarregamento ou na ocultação da página, sem que o desenvolvedor precise implementar chamadas de envio no momento certo.
Esse teste deve durar até o Chrome 109. Clique aqui para se inscrever no teste.
Permissions-Policy: unload
Esse recurso permite que as páginas desativem a execução de manipuladores de eventos de descarregamento. O objetivo é permitir que os sites tenham removido todos os manipuladores de descarregamento para garantir que eles não adicionem novos manipuladores acidentalmente. Isso ajuda os sites a migrar de manipuladores de eventos de descarregamento e, assim, melhorar a taxa de hit do BFCache.
Esse teste deve durar até o Chrome 109. Clique aqui para se inscrever no teste.
Descontinuações e remoções
Esta versão do Chrome apresenta as descontinuações e remoções listadas abaixo. Acesse ChromeStatus.com para conferir listas de descontinuações planejadas, descontinuações atuais e remoções anteriores.
Esta versão do Chrome descontinua um recurso.
CT esperada
O Expect-CT
é um cabeçalho HTTP que permitia aos sites ativar a aplicação da Transparência dos certificados antes que ela fosse aplicada por padrão. Ele também tem a funcionalidade de geração de relatórios para ajudar os desenvolvedores a descobrir configurações incorretas de CT.
O cabeçalho HTTP Expect-CT
foi projetado para ajudar na transição para a aplicação da Transparência dos certificados (CT, na sigla em inglês) universal, permitindo que sites de alto valor ativem a aplicação ou a geração de relatórios de CT para melhorar a segurança antes que a aplicação dela seja obrigatória (pelo Chrome) em todos os sites públicos. No entanto, o Expect-CT
perdeu a utilidade. No momento, o Chrome exige o monitoramento de todos os sites públicos, por isso não há mais valor de segurança para Expect-CT
. Nenhum outro navegador implementou a Expect-CT
. Portanto, a remoção dela não é um problema de interoperabilidade.