Chrome 119 Beta

O Chrome 119 Beta traz a sintaxe de cores relativas do 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 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 que o usuário tiver interagido significativamente 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 cor relativa (RCS) do CSS

A sintaxe de cor relativa 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 uma cor magenta oklab que é 80% mais clara.

Valores de caixa de geometria para clipe de CSS

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

Valores de clipe xywh() e rect() do CSS

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

APIs Web

Desde que os cookies recém-criados no Chrome 104 ou aqueles atualizados com uma data de validade, essa data foi limitada para no máximo 400 dias no futuro. Esse mesmo limite será aplicado retroativamente aos cookies que já estão armazenados. As datas de validade desses cookies serão limitadas a, no máximo, 400 dias após a primeira inicialização do Chrome 119 e versões mais recentes e uma migração única do banco de dados. Os usuários só vão perceber o impacto dessa mudança 400 dias após o lançamento do Chrome 119 e somente para os cookies que não foram atualizados nesse período.

DisplayMediaStreamOptions monitorTypeSurfaces

Quando getDisplayMedia() é chamado, o navegador oferece ao usuário uma opção de superfícies de exibição: guias, janelas ou monitores. Usando a opção monitorTypeSurfaces, o aplicativo da Web agora poderá indicar ao navegador se preferir incluir plataformas de exibição de tipo monitor entre as opções oferecidas ao usuário.

Atualizações da funcionalidade dos frames isolados

O Chrome 119 inclui as melhorias abaixo em Fenced Frames.

Há outra opção de formato para macros de tamanho de anúncio da API Protected Audience no Sandbox de privacidade. Com um recurso de ativação, é possível adicionar ao 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 macro na API Protected Audience, como os usados por deprecatedReplaceInURN e registerAdMacro, no Chrome 119, estamos adicionando a capacidade de usar ${AD_WIDTH} e ${AD_HEIGHT} como o formato das macros, além do formato atual.

Agora, os beacons automáticos serão enviados para todos os URLs registrados. Antes, 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 chama registerAdBeacon() para "reserved.top_navigation" vai receber um beacon automático, mas apenas os destinos especificados em setReportEventDataForAutomaticBeacons() vão receber dados automáticos de beacon com o beacon. O parâmetro "once" em setReportEventDataForAutomaticBeacons() agora determinará se os dados serão enviados uma única vez, em vez de determinar se todo o beacon é enviado apenas uma vez.

Margem de rolagem do observador de intersecções

A propriedade Intersection Observer scrollMargin permite que os desenvolvedores observem destinos dentro de contêineres de rolagem aninhados que estejam recortados pelos contêineres de rolagem. Isso é feito expandindo o retângulo de recorte do contêiner pela 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. Antes, a tecla Tab não focava os controles de rolagem, a menos que tabIndex fosse definido explicitamente 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 poderão focar o conteúdo cortado usando as teclas Tab e de seta do teclado. Esse comportamento será ativado somente se o botão de rolagem não contiver filhos focalizáveis pelo teclado.

Restrições de acesso à rede privada para empresas automotivas

Aplicar (em vez de apenas alertar) restrições de acesso à rede privada no Chrome para Android Automotive (se BuildInfo::is_automotive). Isso inclui solicitações simuladas 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 Managed Device Web API, que oferece aos aplicativos 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 solta no nome do destino por _blank

Essa mudança substitui o nome do destino navegável (que geralmente é definido pelo atributo de destino) para _blank, se contiver uma marcação suspensa (por exemplo, \n e <). O que corrige um desvio na mitigação de injeção de marcação pendente.

Cabeçalho de dicas de cliente dos recursos de mídia de recursos de mídia de Sec-CH-Prefers-Reduced-Transparency

O cabeçalho de dicas do cliente dos recursos de mídia de preferência do usuário define um conjunto de cabeçalhos de dicas do cliente HTTP em torno dos recursos de mídia de preferência do usuário, conforme definido pelas consultas de mídia de nível 5. Se usados como dicas essenciais de cliente, esses cabeçalhos permitem que os servidores façam escolhas inteligentes relacionadas, por exemplo, ao uso de CSS inline. Sec-CH-Prefers-Reduced-Transparency reflete a preferência prefers-reduced-transparency do usuário e está disponível a partir do Chrome 119.

Caracteres de pontuação de hosts de URL em conformidade com o padrão

Faça com que o Chrome processe os caracteres de pontuação de hosts de 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 permite erroneamente.

Depois:

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

AudioEncoder BitbucketMode com WebCodecs

Alguns codecs de áudio permitem especificar os modos de taxa de bits do codificador de áudio. Esse recurso adiciona uma flag "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á presente para VideoEncoderConfig.

Essa sinalização permite que os desenvolvedores escolham entre codificar áudio com taxa de bits variável ou constante. Implementações específicas do codificador de codec podem ter uma terminologia um pouco diferente (por exemplo, CBR em comparação a VBR para Opus), mas todas elas precisam ser mapeadas para o conceito geral de "constante". versus "variável" .

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

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

A partir do Chrome 119, essa flag vai afetar dois codecs no Chromium: Opus e AAC.

Encapsulamento de chaves X25519Kyber768 para TLS

Proteja o tráfego TLS atual do Chrome contra futuras criptoanálises quânticas com a implantação do algoritmo de contrato de chaves Kyber768 resistente a quânticos. Esse é um contrato de chave híbrido X25519 + Kyber768 com base em um padrão IETF. Esta especificação e este lançamento está fora do escopo do W3C. Esse contrato de chave será lançado como uma criptografia TLS e será transparente para os usuários.

Testes de origem em andamento

No Chrome 119, é possível 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 em tela cheia que contém o pop-up (com base em screenX e screenY). Isso elimina a necessidade de o desenvolvedor fazer a transição manual de um pop-up para tela cheia, o que pode exigir um sinal de ativação de novo usuário.

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 remove quatro recursos.

Remover Web SQL

Já anunciamos a descontinuação e a remoção do Web SQL. O recurso foi totalmente removido a partir do Chrome 119. Com um teste de origem reversa, os desenvolvedores podem continuar usando o WebSQL até o Chrome 123.

Remover a API Sanitizer

O objetivo da API Sanitizer é criar na plataforma um limpador HTML fácil de usar, sempre seguro e mantido no navegador. O Chrome enviou uma versão inicial no Chrome 105, com base no rascunho de especificação atual. No entanto, a discussão progrediu, e o formato da API proposto mudou substancialmente.

Para evitar que a API atual fique consolidada, vamos remover a implementação atual. Esperamos implementar novamente 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. E isso também levou à desativação dos Tipos confiáveis. Portanto, planejamos descontinuar e remover o suporte a ele.

Remoção do atributo shadowroot não padrão para shadow DOM declarativo

O atributo shadowrootmode da Standard Track, que ativa o Shadow DOM declarativo, foi enviado no Chrome 111. O atributo shadowroot não padrão mais antigo está sendo removido no Chrome 119. Existe um caminho de migração simples: substitua shadowroot por shadowrootmode.