Chrome 119 Beta

O Chrome 119 Beta oferece sintaxe de cor relativa de CSS, novas pseudoclasses e muito mais.

Salvo indicação em contrário, as mudanças descritas 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 119 está na versão Beta desde 4 de outubro de 2023. Faça o download da versão mais recente em Google.com para computador ou na Google Play Store no Android.

CSS

Nesta versão, adicionamos quatro novos recursos CSS.

Pseudoclasses de CSS :user-valid e :user-invalid

As pseudoclasses :user-invalid e :user-valid representam um elemento com entrada incorreta ou correta, respectivamente, mas somente depois de o usuário interagir de forma significativa com ele. Isso é semelhante a :valid e :invalid, mas com a restrição extra de que essas pseudoclasses só correspondem depois que o usuário interage com o elemento.

Sintaxe de cores relativas de CSS (RCS)

A sintaxe de cores relativas permite que os desenvolvedores definam cores modificando os parâmetros de outras cores.

Por exemplo: oklab(from magenta calc(l * 0.8) a b); resulta em um oklab com a magenta 80% mais clara.

Valores da caixa de geometria CSS do caminho de clipe

A propriedade CSS clip-path agora suporta valores <geometry-box> para controlar a caixa de referência do clipe, tornando clip-path mais fácil de usar. Esses valores de box podem ser usados com formas básicas (por exemplo, clip-path: circle(50%) margin-box) ou podem ser usados sozinhos para cortar a caixa especificada (por exemplo, clip-path: content-box).

Valores de clip-path xywh() e rect() de CSS

O Chrome agora oferece suporte aos valores xywh() e rect() da propriedade clip-path, o que facilita a especificação de clipes retangulares ou retangulares arredondados.

APIs Web

Desde o Chrome 104, os cookies criados recentemente ou aqueles atualizados com uma data de validade tiveram essa data limitada a, no máximo, 400 dias. Esse mesmo limite vai ser aplicado de forma retroativa aos cookies que já estão armazenados. As datas de validade desses cookies são limitadas a, no máximo, 400 dias após a primeira inicialização do Chrome 119+ e uma única migração do banco de dados. O impacto dessa mudança não será percebido pelos usuários até pelo menos 400 dias após o lançamento do Chrome 119 e somente para os cookies existentes que não foram atualizados nesse período.

DisplayMediaStreamOptions monitorTypeSurfaces

Quando getDisplayMedia() é chamado, o navegador oferece ao usuário uma opção de superfície de exibição: guias, janelas ou monitores. Com a opção monitorTypeSurfaces, o aplicativo da Web pode sugerir ao navegador se ele preferir incluir superfícies de exibição cujo tipo é monitorado entre as opções oferecidas ao usuário.

Atualizações da funcionalidade Fenced Frames

O Chrome 119 inclui as melhorias abaixo no Fenced Frames.

Há uma opção de formato adicional para macros de tamanho de anúncio da Protected Audience na API Protected Audience do Sandbox de privacidade. Com um recurso de ativação, você pode inserir no URL do anúncio o tamanho do anúncio que vence o leilão, por exemplo:

https://ad.com?width={/%AD_WIDTH%}&height={/%AD_HEIGHT%}

Para ser mais consistente com outros tipos de macros na Protected Audience, como os usados por deprecatedReplaceInURN e registerAdMacro, no Chrome 119, estamos adicionando a capacidade de usar ${AD_WIDTH} e ${AD_HEIGHT} como formato das macros, além do formato atual.

Os beacons automáticos agora são enviados para todos os URLs registrados. Anteriormente, apenas destinos especificados ao chamar setReportEventDataForAutomaticBeacons() recebem beacons automáticos, mesmo que esse destino chamasse registerAdBeacon() para "reserved.top_navigation" no worklet. Agora, qualquer destino que chame registerAdBeacon() para "reserved.top_navigation" vai receber um sensor automático, mas apenas os destinos especificados em setReportEventDataForAutomaticBeacons() vão receber dados automáticos do sensor. O parâmetro "once" no setReportEventDataForAutomaticBeacons() agora vai determinar se os dados serão enviados uma vez, em vez de todo o beacon ser enviado apenas uma vez.

Margem de rolagem do Intersection Observer

A propriedade scrollMargin Intersection Observer permite que os desenvolvedores observem os destinos dentro de contêineres de rolagem aninhados que estão atualmente cortados pelos contêineres de rolagem. Isso é feito expandindo o retângulo de recorte do contêiner pelo scrollMargin ao calcular a interseção.

Contêineres de rolagem com foco no teclado

Esse recurso melhora a acessibilidade tornando os contêineres de rolagem focalizáveis usando a navegação de foco sequencial. Anteriormente, a tecla Tab não focava os controles de rolagem, a menos que tabIndex tenha sido explicitamente definido como 0 ou mais. Ao tornar os controles de rolagem focalizáveis por padrão, os usuários que não podem (ou não querem) usar um mouse vão poder focar o conteúdo cortado usando as teclas Tab e de seta do teclado. Esse comportamento só será ativado se o botão de rolagem não tiver filhos focalizáveis do teclado.

Restrições de acesso à rede privada para automóveis

Aplique (em vez de apenas avisar) restrições de acesso à rede privada no Chrome para o Android Automotive (se BuildInfo::is_automotive). Isso inclui solicitações de simulação de Acesso à rede privada para sub-recursos e Acesso à rede privada para workers.

Ler atributos de dispositivos Chrome

A API Device Attributes Web é um subconjunto da API Managed Device Web que oferece aos apps da Web a capacidade de consultar informações do dispositivo. Por exemplo, ID do dispositivo, número de série e local.

Substituir a marcação de oscilação no nome do destino para _blank.

Essa mudança substitui o nome do destino navegável, que geralmente é definido pelo atributo de destino, para _blank, se tiver uma marcação oscilante, como \n e <. Isso corrige um desvio na mitigação de injeção de marcação pendente.

Sec-CH-Prefers-Restrictd-Transparency Recursos de mídia de preferência do usuário: cabeçalho "Dicas do cliente"

O cabeçalho dicas de clientes HTTP dos recursos de mídia de preferência do usuário define um conjunto de cabeçalhos de dicas do cliente HTTP sobre os recursos de mídia de preferência do usuário, conforme definido pelo nível 5 das consultas de mídia. Se usados como dicas críticas do cliente, esses cabeçalhos permitem que os servidores façam escolhas inteligentes sobre, por exemplo, a inserção de CSS em linha. Sec-CH-Prefers-Reduced-Transparency reflete a preferência de prefers-reduced-transparency do usuário e está disponível a partir do Chrome 119.

Caracteres de pontuação do host de URL padrão compatíveis

Garanta que o Chrome processe os caracteres de pontuação do host do URL em conformidade com o padrão de URL. Exemplo:

Antes:

> const url = new URL("http://exa(mple.com;");
> url.href
'http://exa%28mple.com/&apos;

( é um caractere proibido, mas o Chrome o aceita incorretamente.

Depois:

> const url = new URL("http://exa(mple.com;");
> => throws TypeError: Invalid URL.

Taxa de bitsMode do WebCodecs AudioEncoder

Alguns codecs de áudio oferecem suporte à especificação dos modos de taxa de bits do codificador de áudio. Esse recurso adiciona uma sinalização "bitrateMode" com um valor padrão de "variable" ao AudioEncoderConfig do WebCodec, que espelha a opção de configuração e o padrão já presentes para VideoEncoderConfig.

Essa sinalização permite que os desenvolvedores escolham entre codificar o áudio com uma taxa de bits variável ou constante. As implementações específicas de codificadores de codec podem ter uma terminologia um pouco diferente (por exemplo, CBR x VBR para Opus), mas todas precisam mapear o conceito geral de taxa de bits "constante" em vez de "variável".

As duas opções têm os seguintes efeitos:

  • variable: permite que um codificador de áudio aumente ou diminua a taxa de bits de acordo com o conteúdo do áudio que está codificando a fim de preservar o tamanho da largura de banda/binário e a qualidade de destino. Por exemplo, um codificador pode diminuir sua taxa de bits ao codificar silêncio e reverter para uma taxa de bits completa ao codificar fala.
  • constant : força um codificador de áudio a manter a mesma taxa de bits, independente do conteúdo do áudio. Isso pode ser útil quando é preferível um consumo de largura de banda previsível.

A partir do Chrome 119, essa sinalização afetará dois codecs no Chromium: Opus e AAC.

Encapsulamento de chave X25519Kyber768 para TLS

Proteja o tráfego atual do TLS do Chrome contra futuras criptoanálises quânticas implantando o algoritmo de contrato de chave resistente ao quântico Kyber768. Este é um contrato de chaves híbrido X25519 + Kyber768 baseado no padrão IETF. Essa especificação e esse lançamento estão fora do escopo do W3C. Esse contrato de chave será lançado como uma criptografia TLS e deve ser transparente para os usuários.

Testes de origem em andamento

No Chrome 119, você pode ativar o novo teste de origem a seguir.

Abrir pop-ups como janelas em tela cheia

Este novo teste de origem adiciona um parâmetro windowFeatures fullscreen à API JavaScript window.open(). Isso permite que o autor da chamada abra um pop-up diretamente na tela cheia que contém o pop-up (com base no screenX e screenY). Isso elimina a necessidade de o desenvolvedor fazer a transição manual de um pop-up para tela cheia, o que poderia exigir um sinal de ativação de novo usuário.

Descontinuações e remoções

Esta versão do Chrome apresenta as suspensões de uso e remoções listadas abaixo. Acesse ChromeStatus.com para consultar as listas de descontinuações planejadas, suspensões atuais e remoções anteriores.

Esta versão do Chrome remove quatro recursos.

Remover Web SQL

Anunciamos anteriormente a suspensão de uso e remoção do Web SQL. Esse recurso foi totalmente removido no Chrome 119. Um teste de origem reversa permite que os desenvolvedores continuem usando o WebSQL até o Chrome 123.

Remover API Sanitizer

O objetivo da API Sanitizer é criar na plataforma um limpador de HTML fácil de usar, sempre seguro e mantido pelo navegador. O Chrome lançou uma versão inicial no Chrome 105, com base no rascunho de especificações vigentes. No entanto, a discussão prosseguiu e o formato da API proposta mudou substancialmente.

Para evitar que a API atual fique enriquecida, estamos removendo a implementação atual. Esperamos reimplementar a API Sanitizer quando a especificação proposta se estabilizar novamente.

Remover dados: URL em SVGUseElement

A atribuição de um data: URL em SVGUseElement pode causar XSS. Isso também fez com que os Tipos confiáveis fossem ignorados. Por isso, planejamos suspender o uso e remover o suporte a esse recurso.

O atributo shadowroot não padrão foi removido do shadow DOM declarativo.

O atributo shadowrootmode de faixa padrão, que ativa o Shadow DOM declarativo, foi lançado no Chrome 111. O atributo shadowroot não padrão mais antigo será removido no Chrome 119. Existe um caminho de migração simples: substitua shadowroot por shadowrootmode.