Rimozioni e ritiri in Chrome 99

Chrome 99 beta è stato rilasciato il 3 febbraio 2022 e dovrebbe diventare la versione stabile all'inizio di marzo 2022.

Rimuovi l'API Battery Status su origini non sicure

L'API Battery Status non è più supportata su origini non sicure, ad esempio pagine HTTP o iframe HTTPS incorporati nelle pagine HTTP. L'API Battery Status consente agli sviluppatori web di accedere, tra le altre cose, al livello di carica della batteria di un sistema e alla sua ricarica. Si tratta di una potente funzionalità disponibile da oltre un decennio e, come tale, originariamente progettata con diversi vincoli di sicurezza.

Rimuovi font-family -webkit-standard

Questa versione di Chrome rimuove il supporto per il valore font-family "-webkit-standard". Questo valore è semplicemente un alias per la parola chiave proprietaria "-webkit-body" ed è esposto solo perché è ereditato da WebKit. La sua rimozione migliora l'allineamento con le specifiche CSS e con Firefox.

Rimuovi GamepadList

Il metodo navigator.getGamepads() ora restituisce un array di oggetti Gamepad anziché un GamepadList. L'app GamepadList non è più supportata in Chrome. Questo allinea Chrome alle specifiche e a Gecko e Webkit. Per avere informazioni sui Gamepad in generale, consulta l'articolo Giocare a Dino di Chrome con il tuo gamepad.

Aggiorna WebCodec in modo che corrispondano alla specifica

Chrome ha rimosso due elementi a causa di recenti modifiche alla specifica WebCodecs.

Il metodo EncodedVideoChunkOutputCallback() utilizza un dizionario EncodedVideoChunkMetadata. In precedenza, un membro di nome temporalLayerId si trovava a EncodedVideoChunkMetadata.temporalLayerId. In linea con la specifica, ora si trova nella posizione EncodedVideoChunkMetadata.SvcOutputMetadata.temporalLayerId.

La specifica richiede che il costruttore VideoFrame() includa un argomento del timestamp (VideoFrameInit.timestamp) per i tipi CanvasImageSource che non hanno implicitamente un timestamp (ad esempio, HTMLCanvasElement). La mancata inclusione del timestamp dovrebbe generare un TypeError, ma in precedenza Chrome aveva impostato il timestamp su zero. Questo sembra utile, ma crea problemi se invii VideoFrame a un VideoEncoder, dove vengono utilizzati i timestamp per controllare il controllo della velocità in bit.

Norme sul ritiro

Per mantenere integro la piattaforma, a volte rimuoviamo dalla piattaforma web le API che hanno svolto il loro corso. Ci possono essere molti motivi per cui dobbiamo rimuovere un'API, tra cui:

  • che vengono sostituite dalle API più recenti.
  • Vengono aggiornati in modo da riflettere le modifiche alle specifiche al fine di garantire allineamento e coerenza con gli altri browser.
  • Sono i primi esperimenti che non sono mai stati realizzati con altri browser e possono quindi aumentare l'onere del supporto per gli sviluppatori web.

Alcune di queste modifiche avranno effetto su un numero molto ridotto di siti. Per ridurre i problemi in anticipo, cerchiamo di fornire un preavviso agli sviluppatori in modo che possano apportare le modifiche necessarie per mantenere attivi i loro siti.

Chrome ha attualmente una procedura per ritiri e rimozioni di API, in pratica:

  • Annuncia nella mailing list blink-dev.
  • Imposta avvisi e fornisci scale temporali nella console Chrome DevTools quando viene rilevato l'utilizzo nella pagina.
  • Attendi, monitora e rimuovi la funzionalità quando l'utilizzo diminuisce.

Puoi trovare un elenco di tutte le funzionalità deprecate su chromestatus.com utilizzando il filtro obsoleto e quelle rimosse applicando il filtro rimosso. Cercheremo anche di riepilogare alcuni dei cambiamenti, dei ragionamenti e dei percorsi di migrazione in questi post.