Letras iniciais do CSS, gerenciador de inicialização de apps da Web, suporte a iframes entre origens 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. Para saber mais sobre os recursos listados aqui, acesse os links fornecidos ou a 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 no Google.com para computadores ou na Google Play Store no Android.
CSS
Nesta versão, adicionamos dois novos recursos de CSS.
Letras iniciais do CSS
As letras iniciais são grandes e decorativas e são usadas para iniciar novas seções de texto desde antes da invenção da impressão. A propriedade CSS initial-letter
oferece uma maneira de definir o número de linhas em que uma letra inicial precisa ser inserida nas linhas de texto seguintes. No exemplo abaixo, a letra inicial aparece em três linhas de texto.
.content::first-letter {
initial-letter: 3;
}
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 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
direcione o áudio para um dispositivo de saída conectado escolhido pelo usuário.
Saiba mais sobre esse recurso na postagem Mudar o dispositivo de saída de destino no Web Audio.
FedCM em iframe entre origens
Adiciona suporte a iframes de origem cruzada para a API FedCM usando uma política de permissões. Ele permite que os sites coloquem em sandbox os scripts de provedores de identidade que acionam a API FedCM em um iframe de origem cruzada, para que eles não tenham controle total sobre toda a página. Isso também permite casos de uso em que o próprio iframe exige que o usuário faça login. 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 ao COEP para serem incorporados a uma página de COEP e desbloqueia os desenvolvedores que querem adotar o isolamento entre origens.
Saiba mais sobre o iframe sem credenciais.
Método FileSystemHandle::remove()
O método remove()
de FileSystemHandle
permite o caso de uso comum em que você recebe um identificador de arquivo de showSaveFilePicker()
, mas decide que não quer salvar e exclui o arquivo. Antes da adição desse método, era impossível remover um arquivo ou diretório com base no identificador. Você teve que conseguir o identificador do diretório pai e chamar FileSystemDirectoryHandle::removeEntry()
.
Pré-transferência acionada pela API Speculation Rules
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 a pré-busca entre sites quando não há credenciais no site de destino.
Usar o processamento não transitório de IDNA em URLs
Ativar o IDNA 2008 no modo não transitório para processamento de URL, 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 URL. A principal diferença entre o modo de transição e o modo sem transição é o processamento de quatro caracteres conhecidos como caracteres de desvio: ß (LATIN SMALL LETTER SHARP S), ς (GREEK SMALL LETTER FINAL SIGMA), ZWJ (Zero width joiner) e ZWNJ (Zero width non-joiner). No modo de transição, os caracteres de desvio são processados da mesma forma que o IDNA2003: ß é mapeado para ss, ς é mapeado para σ, e ZWJ e ZWNJ são excluídos. No modo não transitório, 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, digitar faß.de
no Chrome e no Firefox abre sites diferentes hoje. Ativar a IDNA não transitória no Chrome permite 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 URL não transitório.
Gerador de inicialização de apps da Web
Adicione um membro do manifesto do app da Web launch_handler
que permita que os apps da Web personalizem o comportamento de inicialização em todos os tipos de acionadores de inicialização de apps. Por exemplo, o código a seguir fará com que todas as inicializações do app de exemplo foquem uma janela de app existente e a naveguem (se ela existir) em vez de sempre abrir uma nova janela de 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 a 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.
Suporte a No-Vary-Search no cache de pré-busca de navegação
Permite que o pré-carregamento corresponda mesmo que os parâmetros de consulta do URL mudem. 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 de parâmetros de consulta não deve causar falhas de cache, que parâmetros de consulta específicos não devem causar falhas de cache ou que apenas determinados parâmetros de consulta conhecidos devem causar falhas de cache. Ela pode ser aplicada a vários caches, mas esta entrada se refere ao suporte ao cache de pré-busca.
Registro para suporte a "No-Vary-Search" no teste de cache de pré-carregamento de navegação.
PerformanceResourceTiming.deliveryType
Exiba informações sobre como um recurso foi entregue. Por exemplo, os recursos que foram enviados do cache (atualmente expostos pelo transferSize
) e as navegações que foram pré-buscadas pela página anterior são úteis para identificar.
Entrada de desempenho da navegação flexível
Expõe as heurísticas de navegação suave (experimentais) para desenvolvedores da Web, usando o PerformanceObserver e a linha do tempo de desempenho.
Registre-se para o teste de heurísticas de navegação flexível.
Regras de especulação: envio pelo cabeçalho Speculation-Rules
No momento, os desenvolvedores só podem especificar regras de especulação usando tags de script inline. O recurso proposto oferece 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 com origem em documentos
Uma extensão da sintaxe de regras de especulação que permite que o navegador obtenha URLs para especulação de elementos de link em uma página. Eles podem incluir critérios que restringem quais desses links podem ser usados.
X-Requested-With na WebView
Teste de descontinuação para manter o comportamento legado do X-Requested-Header
na WebView do Android. Esse cabeçalho está definido atualmente com o nome do pacote do app incorporado como valor, mas esse comportamento será removido em um lançamento lento. Durante a descontinuação, esse teste permite que os proprietários de sites continuem recebendo o cabeçalho enquanto migram para outro.
Mais informações sobre essa descontinuação serão publicadas em uma postagem do blog separada. Faça a inscrição no teste de descontinuação do X-Requested-With.
Suspensões de uso e remoções
Esta versão do Chrome introduz as suspensões de uso e remoções listadas abaixo. Acesse ChromeStatus.com para conferir as listas de suspensões de uso planejadas, suspensões de uso atuais e remoções anteriores.
Esta versão do Chrome remove dois recursos.
Remover o Web SQL em contextos não seguros
O Web SQL agora foi removido em contextos não seguros. Recomendamos que você mude para o SQLite Wasm no navegador com suporte do sistema de arquivos particular de origem.
Remover window.webkitStorageInfo
O suporte à API de cota de armazenamento legada, window.webkitStorageInfo, foi removido. Originalmente introduzida em 2011, o Chrome implementou a API de cota prefixada, que foi imediatamente substituída pela API de cota, que também foi descontinuada. A API de cota de armazenamento legada nunca foi implementada por nenhum outro navegador e foi marcada como descontinuada desde 2013.