MathML, foco condicional para getDisplayMedia(), sistema de arquivos particular de origem no Android 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 109 está na versão Beta desde 1o de dezembro de 2022. Faça o download da versão mais recente em Google.com para computador ou na Google Play Store no Android.
CSS
Suporte ao intervalo automático para descritores de fonte dentro da regra @font-face
As fontes variáveis oferecem aos usuários a oportunidade de escolher o quão pesada, inclinada ou larga deve ser a família tipográfica, usando as font-weight
, font-style
e font-stretch
' descritores dentro da regra @font-face
. O grupo de trabalho de CSS adicionou um novo valor de auto
para esses descritores, que agora é o valor inicial. Esse valor é implementado na versão 109 para corresponder à nova especificação.
Unidade de comprimento do CSS lh
A unidade CSS <length>
do lh
é equivalente ao valor calculado da propriedade line-height no elemento em que ela é usada. Isso permite que uma <textarea>
receba uma altura equivalente ao número de linhas de texto esperado.
Propriedade CSS hyphenate-limit-chars
A propriedade hyphenate-limit-chars
especifica o número mínimo de caracteres em uma palavra com hífen. Ao aplicar o hífen, o número mínimo ideal de caracteres na palavra, antes ou depois do hífen pode variar de acordo com o design da página ou o idioma. Essa propriedade permite um controle mais refinado da hifenização para melhorar a tipografia na Web. Ele também pode ajudar páginas internacionais quando as configurações padrão não forem ideais.
Ajustar as larguras de borda, contorno e regra de coluna antes do layout
No momento, o Blink ajusta as larguras da borda no momento da pintura. Isso pode causar uma lacuna visível de 1 px entre a borda de um elemento pai e o plano de fundo de um filho quando a borda é arredondada para baixo durante a pintura. Isso acontece porque o ajuste reduz o valor, mas o layout o arredonda para calcular a posição do filho (por exemplo, a largura da borda é definida como 10,75 pixels, arredondada para 10 px no tempo da pintura, mas 11 no momento do layout). Com essa alteração, o Blink se comportará como o Gecko e o WebKit, melhorando a interoperabilidade.
MathML
O Chrome 109 é compatível com a MathML Core, uma linguagem para descrever a notação matemática incorporável em HTML e SVG. O MathML é renderizado de maneira compatível com CSS com o OpenType MATH e exposto por meio das APIs de acessibilidade da plataforma. O estilo MathML é ativado por recursos CSS, incluindo os dedicados ao layout matemático:
A propriedade math-depth
.
A propriedade math-shift
.
A propriedade math-style
.
O valor math
para a propriedade display
O nome math
do font-family
O valor math-auto
para a propriedade text-transform
.
A interface MathMLElement
fornece uma maneira conveniente de manipular MathML em scripts.
APIs Web
Confirmação de pagamento seguro no Chrome para Android
O Chrome 109 no Android é compatível com a Confirmação de pagamento seguro (SPC, na sigla em inglês), um padrão da Web proposto que permite aos clientes fazer a autenticação com um emissor de cartão de crédito, banco ou outro provedor de serviços de pagamento usando um autenticador de plataforma, normalmente ativado com o recurso de desbloqueio de tela de um dispositivo, como um sensor de impressão digital. Isso geralmente acontece durante um protocolo de autenticação de pagamentos, como EMV 3-D Secure ou Open Banking. O EMV 3-D Secure, por exemplo, é compatível com SPC na versão de especificações v2.3. Anunciamos anteriormente que o SPC foi lançado para o Google Chrome no macOS e no Windows e fornecemos guias do desenvolvedor para registro e autenticação.
Foco condicional
O foco condicional estende o getDisplayMedia()
adicionando um objeto CaptureController
que pode ser transmitido como um parâmetro. Esse objeto expõe um método setFocusBehavior()
. Ao chamar esse método, um aplicativo pode controlar se o foco da guia ou janela capturada é iniciado quando a captura é iniciada ou se a página de captura deve manter o foco.
MediaTrackSupportedConstraints.suppressLocalAudioPlayback
É comum que os colegas se reúnam em uma sala para que um deles possa apresentar usando um laptop para uma solução de videoconferência na sala com um monitor e alto-falantes dedicados. Em geral, o apresentador silencia o próprio laptop e usa os alto-falantes externos, que geralmente são mais altos. isso também garante que o áudio esteja em sincronia com o vídeo. A restrição de áudio suppressLocalAudioPlayback
economiza tempo aqui. Quando definido como true
, isso indica que o navegador deve parar de redirecionar o áudio para os alto-falantes locais quando a captura for iniciada.
Código de status da resposta HTTP na Resource Timing API
Adiciona um campo a PerfomanceResourceTiming
para indicar o status da resposta HTTP quando o recurso foi buscado. Isso oferece uma maneira direta de saber se o carregamento de um recurso falhou para desenvolvedores que usam a API Resource Timing.
Sistema de arquivos particulares de origem (OPFS, na sigla em inglês) no Android
O Chrome 109 ativa o sistema de arquivos particulares de origem (OPFS, na sigla em inglês) da API File System Access no Android. Isso inclui toda a superfície da API File System Access, menos os métodos show{OpenFile, SaveFile, Directory}Picker()
e a integração da API Drag-and-Drop. Com a API File System Access no OPFS, os sites podem acessar o sistema de arquivos particular por origem e executar operações de arquivo via FileSystemSyncAccessHandle
, o que melhora o desempenho.
Pré-renderização de origem cruzada do mesmo site acionada pela API de regras de especulação
Anteriormente, o Chrome lançava a pré-renderização de mesma origem acionada pela API de regras de especulação. O Chrome 109 expande a cobertura para permitir o acionamento de páginas de origem cruzada no mesmo site. Essa pré-renderização vai ser feita com credenciais e acesso ao armazenamento, mas esses destinos precisarão ser ativados usando o cabeçalho Supports-Loading-Mode: credentialed-prerender
.
Leitores de BYOB do WebTransport
Suporte a leitores BYOB (bring-your-own-buffer) para transporte Web para permitir a leitura em um buffer fornecido pelo desenvolvedor. Os leitores de BYOB podem minimizar cópias de buffer e reduções de alocações de memória.
Testes de origem em andamento
No Chrome 109, é possível ativar os novos testes de origem a seguir.
API NotRestoredReason de cache de avanço e retorno
A API NotRestoredReason vai informar a lista de motivos pelos quais uma página não é veiculada no cache de avanço e retorno em uma estrutura de árvore de frames usando a API PerformanceNavigationTiming.
Inscreva-se no teste de origem da API NotRestoredReason.
Solicitações de simulação de acesso à rede privada para sub-recursos
O recurso envia uma solicitação de simulação do CORS antes de qualquer solicitação de rede privada para sub-recursos, solicitando permissão explícita do servidor de destino. Uma solicitação de rede privada é qualquer solicitação de um site público para um endereço IP privado ou localhost, ou de um site particular (por exemplo, uma intranet) para um localhost. O envio de uma simulação de solicitação reduz o risco de ataques de falsificação de solicitações entre sites contra dispositivos de rede privada, como roteadores, que geralmente não estão preparados para se defender dessa ameaça.
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.
Suspensões de uso
Não há novas descontinuações nesta versão do Chrome.
Remoções
Esta versão do Chrome remove um recurso.
Remover Event.path
Event.path
é uma API não padrão que retorna o caminho do evento, que é uma matriz dos objetos em que os listeners serão invocados. Apenas o Blink oferece suporte a isso, causando problemas de compatibilidade com a Web. Os desenvolvedores Web precisam mudar para a API padrão equivalente Event.composedPath()
, que retorna o mesmo resultado.