Rimozioni e ritiri in Chrome 70

Joe Medley
Mario Bianchi

Rimozioni

Rimuovi AppCache da contesti non sicuri

Se utilizzata in contesti non sicuri, AppCache potenzialmente consente attacchi persistenti online e offline di scripting tra siti. Si tratta di una seria riassegnazione dal regolare cross-site scripting (XSS).

Per mitigare questa minaccia, AppCache è ora supportato solo su origini che eseguono tramite HTTPS.

Gli sviluppatori alla ricerca di un'alternativa ad AppCache sono invitati a utilizzare i service worker. È disponibile una libreria sperimentale per facilitare la transizione.

Intent di rimozione | Tracker di stato di Chrome | Bug di Chromium

Rimuovi getter anonimo per HTMLFrameSetElement

Il getter anonimo per HTMLFrameSetElement non è standard e pertanto verrà rimosso. Questa funzionalità è stata aggiunta 13 anni fa per risolvere un problema di compatibilità che esisteva ma che ora non esiste. Poiché si tratta di una funzionalità non standard, non sono disponibili alternative. L'utilizzo è talmente ridotto da non prevediamo che questo sia un problema.

Intent di rimozione | Tracker di stato di Chrome | Bug di Chromium

Ritiro e rimozione di Gamepads.item()

La funzione di accesso item() precedente è stata rimossa dall'array Gamepads. Questa modifica migliora la compatibilità con Firefox, che è finora l'unico browser a implementare GamepadList.

Chromestatus Tracker | Bug di Chromium

Deprecazioni

Deprecazione degli elementi personalizzati v0

Gli elementi personalizzati sono una tecnologia di componenti web che consente di creare nuovi tag HTML, rafforzare i tag esistenti o estendere componenti creati da altri sviluppatori. Gli elementi personalizzati v1 sono stati implementati in Chrome a partire dalla versione 54, inviata a ottobre 2016. Elementi personalizzati v0 era una versione sperimentale non implementata in altri browser. Pertanto è ora deprecato con rimozione prevista in Chrome 80, intorno a febbraio 2020.

Intent di deprecazione | Tracker di stato di Chrome | Bug di Chromium

Ritira importazioni HTML

Le importazioni HTML consentono di importare codice HTML da un documento a un altro. Questa funzionalità faceva parte della prima versione sperimentale dei componenti web non implementata in altri browser. Pertanto, ora è deprecata con la rimozione prevista in Chrome 73, intorno ad aprile 2019. I siti che dipendono dalle importazioni HTML richiedono già un polyfill sui browser non Chromium. Quando le importazioni HTML vengono rimosse, i siti con il polyfill dovrebbero continuare a funzionare su Chrome.

Intent di deprecazione | Tracker di stato di Chrome | Bug di Chromium

Depreca Shadow DOM v0

Shadow DOM è una tecnologia di componenti web che utilizza sottoalberi con ambito all'interno degli elementi. Shadow DOM v1 è stato implementato in Chrome a partire dalla versione 53, inviata ad agosto 2016. Shadow DOM v0 era una versione sperimentale non implementata in altri browser. Pertanto, ora è deprecata con la rimozione prevista in Chrome 73, intorno ad aprile 2019. I siti che dipendono da Shadow DOM v0 richiedono già un polyfill sui browser non Chromium. Una volta rimosse le importazioni HTML, i siti con il polyfill dovrebbero continuare a funzionare su Chrome.

Intent di deprecazione | Tracker di stato di Chrome | Bug di Chromium

Depreca SpeechSynthesis.speak() senza attivazione utente

L'interfaccia SpeechSynthesis è attivamente utilizzata in modo illecito sul web. Ci sono prove aneddotiche che, poiché altre opzioni di riproduzione automatica vengono chiuse, l'abuso viene trasferito all'API Web Speech, che non segue le regole di riproduzione automatica.

La funzione speechSynthesis.speak() ora genera un errore se il documento non ha ricevuto un'attivazione utente. La rimozione è prevista in Chrome 71, a fine novembre.

Intent di deprecazione | Tracker di stato di Chrome | Bug di Chromium

Norme sul ritiro

Per mantenere integro la piattaforma, a volte rimuoviamo dalla piattaforma web le API che hanno seguito 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 l'allineamento e la coerenza con gli altri browser.
  • Si tratta dei primi esperimenti che non si sono mai 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 mitigare 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 attualmente dispone di una procedura per il ritiro e la rimozione di API, essenzialmente:

  • Pubblicalo 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à ritirate su chromestatus.com che utilizzano il filtro obsoleto e che sono state rimosse applicando il filtro rimosso. Cercheremo anche di riepilogare alcune delle modifiche, delle motivazioni e dei percorsi di migrazione in questi post.