Chrome 110 Beta

Letras iniciais do CSS, gerenciador de inicialização de apps da Web, suporte a iframe de origem cruzada para a API FedCM 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 nos links fornecidos ou na lista em ChromeStatus.com. O Chrome 110 está na versão Beta desde 12 de janeiro de 2023. Faça o download da versão mais recente em Google.com para computador ou na Google Play Store para Android.

CSS

Nesta versão, adicionamos dois novos recursos CSS.

Letras iniciais do CSS

As iniciais são letras grandes e decorativas, usadas para iniciar novas seções de texto desde antes da invenção da impressão. A propriedade CSS initial-letter fornece uma maneira de definir o número de linhas que uma letra inicial precisa ser inserida nas linhas de texto seguintes. No exemplo a seguir, a letra inicial será exibida em três linhas de texto.

.content::first-letter {
  initial-letter: 3;
}

Um parágrafo de texto com uma letra inicial dividido em três linhas.

Pseudoclasse CSS :picture-in-picture

A pseudoclasse :picture-in-picture ajuda os desenvolvedores da Web a personalizar o player de mídia quando os vídeos entram e saem do modo picture-in-picture.

Teste uma demonstração da pseudoclasse :picture-in-picture.

APIs Web

AudioContext.setSinkId()

AudioContext.setSinkId define o ID do dispositivo de áudio a ser usado para saída. Isso permite que o AudioContext encaminhe o áudio para um dispositivo de saída conectado de sua escolha.

Saiba mais sobre esse recurso na postagem Mudar o dispositivo de saída de destino no Web Audio.

FedCM no iframe de origem cruzada

Adiciona compatibilidade com iframe de origem cruzada para a API FedCM por meio de uma política de permissões. Ele permite que os sites coloquem os scripts no sandbox dos provedores de identidade que acionam a API FedCM em um iframe de origem cruzada, para que não tenham controle total sobre a página inteira. Isso também permite casos de uso em que o próprio iframe precisa fazer login do usuário. Em ambos os casos, o frame pai precisa fornecer o iframe de origem cruzada com a política de permissões identity-credentials-get.

IFrame sem credenciais

O IFrame sem credenciais oferece aos desenvolvedores uma maneira de carregar documentos em iframes de terceiros usando contextos novos e temporários. Os iframes sem credenciais são uma generalização do COEP sem credenciais para oferecer suporte a iframes de terceiros que podem não implantar o COEP. Isso remove a restrição de que os iframes de terceiros precisam oferecer suporte à COEP para serem incorporados a uma página COEP e vai desbloquear os desenvolvedores que buscam adotar o isolamento de origem cruzada.

Saiba mais sobre o iframe sem credenciais.

Método FileSystemHandle::remove()

O método remove() de FileSystemHandle ativa o caso de uso comum em que você recebe um identificador de arquivo de showSaveFilePicker(), mas decide que não quer salvar o arquivo e o exclui. Antes da adição desse método, era impossível remover um arquivo ou diretório devido ao seu identificador. Era necessário ter o identificador do diretório pai e chamar FileSystemDirectoryHandle::removeEntry().

Pré-busca acionada pela API de regras de especulação.

A pré-busca busca o recurso principal para uma navegação futura, mantendo-o na memória para que possa ser usado para acelerar a próxima navegação. Esse lançamento inclui a pré-busca no mesmo site e entre sites, caso não haja credenciais para o site de destino.

Usar o processamento de IDNA não transicional em URLs

Ative o IDNA 2008 em modo não transicional para processamento de URLs, alinhando o comportamento do Chrome com o Firefox e o Safari. No momento, o Chrome usa o IDNA 2008 no modo de transição no processamento de URLs. A principal diferença entre o modo transicional e não transicional é a manipulação de quatro caracteres, conhecidos como caracteres de desvio: ß (LATIN Small LETTER SHARP S), new (GREEK small LETTER FINAL SIGMA), ZWJ (mesclador de largura zero) e ZWNJ (não combinador de largura zero). No modo de transição, os caracteres de desvio são tratados da mesma forma que o IDNA2003: ß é mapeado para ss, card é mapeado para dataproc, e ZWJ e ZWNJ são excluídos. No modo não transicional, os domínios que contêm esses caracteres são permitidos em nomes de domínio sem mapeamento e, portanto, podem ser resolvidos para diferentes endereços IP. Por exemplo, se você digitar faß.de no Chrome e no Firefox, sites diferentes serão abertos hoje. A ativação do IDNA não transicional no Chrome vai permitir caracteres de desvio em nomes de domínio. O Firefox e o Safari já fizeram essa mudança em 2016 e continuam usando o processamento de URLs não transicionais.

Gerenciador de inicialização de apps da Web

Adicione um membro do manifesto do app da Web launch_handler que permita aos apps da Web personalizar o comportamento de inicialização em todos os tipos de acionadores de inicialização de apps. O exemplo a seguir fará com que todas as inicializações do app de exemplo concentrem uma janela de app existente e a naveguem (se houver) em vez de sempre iniciarem uma nova janela do app.

{
    "name": "Example app",
    "start_url": "/index.html",
    "launch_handler": {
        "client_mode": "navigate-existing"
    }
}

política de permissão de compartilhamento na Web

Controla o acesso ao navigator.share(). Por padrão, os iframes de terceiros não têm permissão para usar a API Web Share.

Testes de origem em andamento

No Chrome 110, você pode ativar os novos testes de origem a seguir.

Suporte ao No-Variação Pesquisa no cache de pré-busca de navegação

Permite que a pré-busca corresponda mesmo que os parâmetros de consulta do URL sejam alterados. O cabeçalho de resposta HTTP No-Vary-Search declara que algumas ou todas as partes de uma consulta de URL podem ser ignoradas para fins de correspondência de cache. Ele pode declarar que a ordem das chaves do parâmetro de consulta não deve causar ausências no cache, que parâmetros de consulta específicos não devem causar ausências no cache ou que apenas determinados parâmetros de consulta conhecidos devem causar ausências no cache. Pode se aplicar a vários caches, mas esta entrada se refere ao suporte ao cache de pré-busca.

Inscreva-se para receber suporte do No-Variação Pesquisa no teste de cache de pré-busca de navegação.

PerformanceResourceTiming.deliveryType

Expor informações sobre como um recurso foi entregue. Por exemplo, é útil identificar recursos entregues do cache (atualmente expostos por transferSize) e navegações pré-buscadas pela página anterior.

Entrada de desempenho do SoftNavigation

Exposição da heurística de navegação flexível (experimental) para desenvolvedores da Web usando o PerformanceObserver e a linha do tempo de desempenho.

Inscreva-se no teste da heurística de navegação flexível.

Regras de especulação: entrega pelo cabeçalho Speculation-Rules

Atualmente, os desenvolvedores só podem especificar regras de especulação usando tags de script in-line. O recurso proposto fornece uma alternativa pelo cabeçalho "Speculation-Rules". O valor precisa ser um URL para um recurso de texto com o tipo MIME application/speculationrules+json. As regras do recurso serão adicionadas ao conjunto de regras do documento.

Regras de especulação: regras provenientes de documentos

Uma extensão da sintaxe das regras de especulação que permite ao navegador obter URLs para especulação dos elementos do link em uma página. Elas podem incluir critérios que restrinjam o uso desses links.

"X-Requested-With" na WebView

Teste de descontinuação para manter o comportamento legado do X-Requested-Header no Android WebView. No momento, esse cabeçalho está definido com o nome do pacote do app de incorporação como o valor, mas esse comportamento será removido em um lançamento lento. Durante a descontinuação, esse teste vai permitir que os proprietários de sites continuem a receber o cabeçalho ao deixar de usá-lo.

Mais informações sobre essa descontinuação serão postadas em outra postagem do blog. Clique aqui para se inscrever no teste de descontinuação do "X-Requested-With".

Descontinuações e remoções

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

Esta versão do Chrome remove dois recursos.

Remover Web SQL em contextos não seguros

O Web SQL agora é removido em contextos não seguros. Recomendamos que você mude para o SQLite Wasm no navegador com suporte ao sistema de arquivos particulares de origem.

O window.webkitStorageInfo foi removido

Remoção da compatibilidade com a API de cota de armazenamento legada, window.webkitStorageInfo. Originalmente apresentada em 2011, o Chrome implementou a API de cota prefixada, que foi imediatamente substituída pela API de cotas, que também foi descontinuada. A API de cota de armazenamento legada nunca foi implementada por nenhum outro navegador e foi marcada como obsoleta desde 2013.