Rimozioni e ritiri in Chrome 70

Joe Medley
Joe Medley

.

Rimozioni

Rimuovere AppCache dai contesti non sicuri

Se utilizzato in contesti non sicuri, AppCache consente potenzialmente attacchi di cross-site scripting permanenti online e offline. Si tratta di una grave escalation rispetto al cross-site scripting normale.

Per ridurre questa minaccia, AppCache ora è supportato solo per le origini che vengono pubblicate tramite HTTPS.

Gli sviluppatori che cercano un'alternativa ad AppCache sono invitati a utilizzare i service worker. È disponibile una libreria sperimentale per semplificare la transizione.

Intento di rimozione | Tracker di Chromestatus | Bug di Chromium

Rimuovi il 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 all'epoca, ma che ora non si verifica più. Poiché si tratta di una funzionalità non standard, non sono disponibili alternative. L'utilizzo è sufficientemente basso da non prevedere che si tratti di un problema.

Intento di rimozione | Tracker di Chromestatus | Bug di Chromium

Ritiro e rimozione di Gamepads.item()

L'accessore precedente item() viene rimosso dall'array Gamepads. Questa modifica migliora la compatibilità con Firefox, che è finora l'unico browser a implementare GamepadList.

Tracker di Chromestatus | Bug di Chromium

Deprecazioni

Ritiro della versione 0 di Elementi personalizzati

Gli elementi personalizzati sono una tecnologia Web Components che ti consente di creare nuovi tag HTML, migliorare i tag esistenti o estendere i componenti creati da altri sviluppatori. La versione 1 di Custom Elements è stata implementata in Chrome a partire dalla versione 54, rilasciata a ottobre 2016. Custom Elements v0 era una versione sperimentale non implementata in altri browser. Di conseguenza, ora è deprecato e la rimozione è prevista in Chrome 80, intorno a febbraio 2020.

Intento di ritiro | Tracker di Chromestatus | Bug di Chromium

Ritiro delle importazioni HTML

Le importazioni HTML consentono di importare HTML da un documento all'altro. Questa funzionalità faceva parte della versione sperimentale iniziale dei componenti web non implementata in altri browser. Di conseguenza, ora è deprecato e 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 ritirate, i siti che dispongono del polyfill dovrebbero continuare a funzionare su Chrome.

Intento di ritiro | Tracker di Chromestatus | Bug di Chromium

Ritiro di Shadow DOM v0

Shadow DOM è una tecnologia dei componenti web che utilizza sottoalberi con ambito all'interno degli elementi. Shadow DOM v1 è stato implementato in Chrome dalla versione 53, rilasciata ad agosto 2016. Shadow DOM v0 era una versione sperimentale non implementata in altri browser. Di conseguenza, ora è deprecato e 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. Quando le importazioni HTML vengono rimosse, i siti che dispongono del polyfill dovrebbero continuare a funzionare su Chrome.

Intento di ritiro | Tracker di Chromestatus | Bug di Chromium

Ritiro di SpeechSynthesis.speak() senza attivazione utente

L'interfaccia SpeechSynthesis viene utilizzata in modo improprio sul web. Esistono prove aneddotiche che indicano che, poiché altre strade per la riproduzione automatica vengono chiuse, gli abusi si stanno spostando sull'API Web Speech, che non segue le regole della riproduzione automatica.

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

Intento di ritiro | Tracker di Chromestatus | Bug di Chromium

Norme sul ritiro

Per mantenere la piattaforma in buono stato, a volte rimuoviamo dalla piattaforma web le API che hanno terminato il loro ciclo di vita. Esistono diversi motivi per cui potremmo rimuovere un'API, ad esempio:

  • Sono sostituite da API più recenti.
  • Vengono aggiornati in base alle modifiche alle specifiche per garantire l'allineamento e la coerenza con gli altri browser.
  • Si tratta di esperimenti iniziali che non sono mai stati implementati in altri browser e che possono quindi aumentare il carico di lavoro per l'assistenza degli sviluppatori web.

Alcune di queste modifiche interesseranno un numero molto limitato di siti. Per mitigare i problemi in anticipo, cerchiamo di dare agli sviluppatori un preavviso in modo che possano apportare le modifiche necessarie per mantenere i loro siti in funzione.

Al momento, Chrome dispone di una procedura per il ritiro e la rimozione delle API, che prevede essenzialmente:

  • Annuncio sulla mailing list blink-dev.
  • Imposta avvisi e fornisci scale di tempo nella console di Chrome DevTools quando viene rilevato l'utilizzo nella pagina.
  • Attendi, monitora e poi rimuovi la funzionalità man mano che l'utilizzo diminuisce.

Puoi trovare un elenco di tutte le funzionalità deprecate su chromestatus.com utilizzando il filtro Deprecated e le funzionalità rimosse applicando il filtro Rimosso. Cercheremo inoltre di riassumere alcune delle modifiche, dei ragionamenti e dei percorsi di migrazione in questi post.