Chrome 109 Beta

MathML, foco condicional para getDisplayMedia(), sistema de arquivos privados 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 a 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 tamanho da família tipográfica, inclinada ou larga, usando os descritores font-weight, font-style e font-stretch dentro da regra @font-face. O grupo de trabalho do CSS adicionou um novo valor de auto para esses descritores, que agora é o valor inicial. Esse valor é implementado na etapa 109 para corresponder à nova especificação.

Unidade de comprimento lh CSS

A unidade CSS <length> de lh é equivalente ao valor calculado da propriedade line-height no elemento em que é usada. Isso permite que uma <textarea> receba uma altura equivalente ao número de linhas de texto esperadas.

Propriedade do 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. Esta propriedade permite um controle mais refinado da hifenização para melhorar a tipografia na Web. Isso também pode ajudar páginas internacionais quando as configurações padrão não são ideais.

Ajustar as larguras da borda, do contorno e das regras de coluna antes do layout

No momento, o recurso Blink ajusta as larguras das bordas na hora 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 cima para calcular a posição do filho (por exemplo, a largura da borda é definida como 10,75 pixels, arredondada para 10 px no momento da exibição, mas 11 no momento do layout). Ao fazer essa mudança, o Blink se comportará como o Gecko e o WebKit, melhorando a interoperabilidade.

MathML

O Chrome 109 é compatível com o MathML Core, uma linguagem para descrever notação matemática incorporável em HTML e SVG. O MathML é renderizado de forma compatível com CSS com o OpenType MATH e exposto por meio de APIs de acessibilidade da plataforma. O estilo do MathML é ativado por recursos do 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 font-family O valor math-auto para a propriedade text-transform.

A interface MathMLElement oferece uma maneira conveniente de manipular MathML em scripts.

APIs Web

Confirmação de pagamento seguro no Android Chrome

O Chrome 109 no Android oferece suporte à Confirmação de pagamento seguro (SPC, na sigla em inglês), um padrão proposto da Web (link em inglês) que permite que os clientes façam 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, geralmente ativado com um recurso de desbloqueio de tela do 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, oferece suporte a SPC na versão 2.3 das especificações. Anunciamos anteriormente que o SPC foi lançado para o Google Chrome no macOS e no Windows e oferecemos guias para desenvolvedores sobre registro e autenticação.

Foco condicional

O Conditional Focus 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 app pode controlar se a guia ou janela capturada fica em foco quando a captura é iniciada ou se a página de captura precisa manter o foco.

MediaTrackSupportedConstraints.suppressLocalAudioPlayback

É comum que os colegas se reúnam em uma sala para que um deles possa apresentar do laptop ou de uma solução de videoconferência na sala com um monitor dedicado e alto-falantes. O apresentador geralmente silencia o próprio laptop e usa os alto-falantes externos, que costumam ser 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, ele indica que o navegador precisa parar de redirecionar o áudio para os alto-falantes locais quando a captura for iniciada.

Código de status da resposta HTTP na API Resource Timing

Adiciona um campo a PerfomanceResourceTiming para indicar o status da resposta HTTP quando o recurso foi buscado. Isso fornece uma maneira direta de dizer se um recurso falhou no carregamento 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 a parte do sistema de arquivos privados de origem (OPFS, na sigla em inglês) da API File System Access no Android. Isso inclui toda a plataforma 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 realizar operações com arquivos usando FileSystemSyncAccessHandle com um desempenho aprimorado.

Pré-renderização de origem cruzada no mesmo site acionada pela API de regras de especulação

Anteriormente, o Chrome iniciava a pré-renderização da mesma origem acionada pela API de regras de especulação. O Chrome 109 expande a cobertura para também permitir o acionamento de páginas de origem cruzada no mesmo site. A pré-renderização vai ser feita com credenciais e acesso ao armazenamento, mas esses destinos precisam ser ativados usando o cabeçalho Supports-Loading-Mode: credentialed-prerender.

Leitores BYOB do WebTransport

Compatibilidade com leitores BYOB (traga seu próprio buffer) para Web Transport para permitir a leitura em um buffer fornecido pelo desenvolvedor. Os leitores BYOB podem minimizar cópias de buffer e reduzir alocações de memória.

Testes de origem em andamento

No Chrome 109, você pode 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 para uma página não ser veiculada do BFcache em uma estrutura de árvore de frames, usando a API PerformanceNavigationTiming.

Inscreva-se para o teste de origem da API NotRestoredReason.

Solicitações de simulação do Acesso à rede particular para recursos secundários

O recurso envia uma solicitação de simulação do CORS antes de quaisquer solicitações 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 particular ou localhost, ou de um site particular (por exemplo, uma intranet) para um localhost. O envio de uma solicitação de simulaçã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 contra essa ameaça.

Inscreva-se para as solicitações de simulação do Acesso à rede privada para o teste de origem de sub-recursos.

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.

Descontinuações

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. Somente o Blink oferece suporte para isso, o que causa problemas de compatibilidade na Web. Os desenvolvedores da Web precisam mudar para a API padrão equivalente Event.composedPath(), que retorna o mesmo resultado.