Rimozioni e ritiri di API in Chrome 52

Joe Medley
Mario Bianchi

In quasi tutte le versioni di Chrome, notiamo un numero significativo di aggiornamenti e miglioramenti al prodotto, alle sue prestazioni e anche alle funzionalità della piattaforma web. Questo articolo descrive le modifiche in Chrome 52, in versione beta dal 9 giugno. Questo elenco è soggetto a modifiche in qualsiasi momento.

Ritira l'evento e l'attributo terminati di MediaStream e l'attributo onended

TL;DR:l'evento e l'attributo ended e il gestore di eventi onended sono stati ritirati perché sono stati rimossi dalle specifiche di Media Capture e Streams.

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

Né l'evento ended né il gestore di eventi onended fanno parte delle specifiche WebRTC da circa tre anni. Gli sviluppatori che vogliono guardare gli eventi dovrebbero usare MediaStreamTracks anziché MediaStreams.

La rimozione è prevista in Chrome 53.

Blocca i popup da iframe multiorigine durante gli eventi di tocco, tranne durante un gesto di tocco

TL;DR: Chrome inizierà a non consentire i popup e altre operazioni sensibili relative a eventi di tocco che non corrispondono a un tocco dall'interno di iframe multiorigine.

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

Per loro stessa natura, gli eventi tocco possono essere ambigui rispetto agli eventi corrispondenti del mouse. Ad esempio, se un utente fa scorrere un dito sullo schermo, viene detto che fa scorrere un interruttore di attivazione/disattivazione o scorre la visualizzazione? Alcuni contenuti di terze parti negli iframe hanno sfruttato questa ambiguità per disattivare intenzionalmente lo scorrimento nella pagina che lo contiene.

Per contrastare questo fenomeno, i popup e altre operazioni sensibili non saranno consentiti per gli eventi di tocco da iframe multiorigine. L'evento touch-end continuerà a comportarsi come prima.

Ritira l'overload di postMessage()

TL;DR: è in fase di ritiro una variante non necessaria e poco utilizzata dell'interfaccia postMessage(), in particolare postMessage(message, transferables, targetOrigin).

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

Il metodo postMessage() è un modo per comunicare in modo sicuro tra gli script di pagine con origini diverse. WebKit/Blink supporta tre versioni:

  • postMessage(message, targetOrigin)
  • postMessage(message, targetOrigin, transferables)
  • postMessage(message, transferables, targetOrigin)

L'ultima voce di questo elenco riguardava un incidente dovuto alla cronologia dell'evoluzione e dell'implementazione della specifica. Poiché è utilizzato raramente, sarà stato ritirato e in un secondo momento rimosso. Questo vale sia per window.postMessage() sia per worker.postMessage().

La rimozione è prevista in Chrome 54.

Rimuovi il supporto per X-Frame-Options in tag

TL;DR: per rispettare la specifica e aumentare la coerenza con altri browser, stiamo rimuovendo il supporto per X-Frame-Options all'interno di un tag <meta>.

Intent di rimozione | Bug di Chromium

L'intestazione della risposta HTTP X-Frame-Options indica se un browser può visualizzare una pagina in un tag <frame>, <iframe> o <object>. Ciò consente a un sito di evitare il clickjacking poiché queste pagine non possono essere incorporate in altri siti. La versione corrente della specifica X-Frame-Options impedisce in modo esplicito agli user agent di supportare questo campo all'interno di un tag <meta>.

Per rispettare le specifiche e aumentare la coerenza con altri browser, stiamo rimuovendo il supporto per X-Frame-Options all'interno di un tag <meta>.

Rimuovi l'evento di clic sul pulsante non principale

TL;DR: i clic non principali del mouse non attivano più gli eventi di clic, ma MouseEvent.button è ancora disponibile.

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

Per allineare Chrome alle specifiche UIEvents, rimuoveremo gli eventi di clic per i pulsanti del mouse non principali. I pulsanti non principali del mouse variano in base al dispositivo. In genere si tratta di un elemento diverso da un pulsante destro o sinistro del mouse. Tieni presente che il pulsante preciso selezionato può comunque essere recuperato utilizzando la proprietà MouseEvent.button inviata a eventi come mousedown o mouseup.

Rimuovi requestAutocomplete()

La funzione requestAutocomplete() consentiva la compilazione on demand dei moduli tramite la funzionalità di compilazione automatica del browser. Eppure, dopo più di due anni, questa funzionalità è supportata soltanto in Blink e il suo utilizzo è ridotto. Per questi motivi, requestAutocomplete() viene rimosso in Chrome 52.

Intent di rimozione