Descontinuações e remoções no Chrome 99

O Chrome 99 Beta foi lançado em 3 de fevereiro de 2022 e deve se tornar a versão estável no início de março de 2022.

A API Battery Status foi removida em origens não seguras.

A API Battery Status não tem mais suporte em origens não seguras, como páginas HTTP ou iframes HTTPS incorporados em páginas HTTP. A API Battery Status permite que os desenvolvedores da Web acessem, entre outras coisas, o nível de carregamento da bateria de um sistema e se ela está sendo carregada. É um recurso avançado que está disponível há mais de uma década e, por isso, foi originalmente projetado com diferentes restrições de segurança.

A família de fontes -webkit-standard foi removida

Esta versão do Chrome remove o suporte para o valor font-family "-webkit-standard". Esse valor é meramente um alias para a palavra-chave reservada "-webkit-body" e só é exposto porque é herdado do WebKit. A remoção disso melhora o alinhamento com as especificações de CSS e com o Firefox.

Remover GamepadList

O método navigator.getGamepads() agora retorna uma matriz de objetos Gamepad em vez de uma GamepadList. GamepadList não é mais compatível com o Chrome. Isso alinha o Chrome com as especificações e com o Gecko e o Webkit. Para informações gerais sobre gamepads, consulte Jogar o jogo do dinossauro do Chrome com o gamepad.

Atualizar o WebCodecs para corresponder à especificação

O Chrome removeu dois itens devido a mudanças recentes na especificação WebCodecs.

O método EncodedVideoChunkOutputCallback() usa um dicionário EncodedVideoChunkMetadata. Anteriormente, um membro chamado temporalLayerId estava localizado em EncodedVideoChunkMetadata.temporalLayerId. De acordo com a especificação, agora ele está localizado em EncodedVideoChunkMetadata.SvcOutputMetadata.temporalLayerId.

A especificação exige que o construtor VideoFrame() inclua um argumento de carimbo de data/hora (VideoFrameInit.timestamp) para tipos CanvasImageSource que não têm um carimbo de data/hora implicitamente (por exemplo, HTMLCanvasElement). A não inclusão do carimbo de data/hora resultará em uma TypeError, mas o Chrome definiu o carimbo de data/hora como zero anteriormente. Isso parece útil, mas é problemático se você enviar o VideoFrame para um VideoEncoder, em que os carimbos de data/hora são usados para orientar o controle da taxa de bits.

Política de descontinuação

Para manter a integridade da plataforma, às vezes removemos da plataforma Web APIs que executaram o curso. Há vários motivos para remover uma API, como os seguintes:

  • Elas foram substituídas por APIs mais recentes.
  • Elas são atualizadas para refletir as mudanças nas especificações e alinhar e consistência com outros navegadores.
  • Esses são experimentos iniciais que nunca se concretizaram em outros navegadores e, portanto, podem aumentar o fardo do suporte para os desenvolvedores da Web.

Algumas dessas mudanças afetam um número muito pequeno de sites. Para mitigar problemas com antecedência, avisamos os desenvolvedores com antecedência para que eles possam fazer as mudanças necessárias e manter os sites em execução.

Atualmente, o Chrome tem um processo de descontinuação e remoção de APIs. Essencialmente:

  • Anuncie na lista de e-mails blink-dev.
  • Defina avisos e forneça escalas de tempo no Console do Chrome DevTools quando o uso for detectado na página.
  • Aguarde, monitore e remova o recurso conforme diminui o uso.

É possível encontrar uma lista de todos os recursos descontinuados em chromestatus.com usando o filtro descontinuado e removidos usando o filtro removido. Também tentaremos resumir algumas das mudanças, o raciocínio e os caminhos de migração nessas postagens.