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 i ritiri e le rimozioni in Chrome 57, in versione beta all'inizio di febbraio. Questo elenco è soggetto a modifica in qualsiasi momento.
Rimuovi l'attributo BluetoothDevice.uuids
L'attributo BluetoothDevice.uuids
è in fase di rimozione per allineare l'API Web Bluetooth alla specifica attuale. Puoi recuperare tutti i servizi GATT consentiti chiamando device.getPrimaryServices().
Rimuovi elemento di generazione chiave
A partire da Chrome 49, il comportamento predefinito di <keygen>
prevede la restituzione della stringa vuota, a meno che non sia stata concessa un'autorizzazione a questa pagina. IE/Edge non supporta <keygen>
e non ha indicato indicatori pubblici per supportare <keygen>
.
Firefox già limita <keygen>
a un gesto dell'utente, ma supporta pubblicamente la sua rimozione. Safari spedisce <keygen>
e non ha espresso
opinione al pubblico in merito al suo supporto continuo. In Chrome 57, questo elemento
viene rimosso.
Intent di rimozione | Tracker di stato di Chrome | Bug di Chromium
Rimuovi l'API di gestione del buffer di temporizzazione delle risorse con prefisso
Due metodi e un gestore di eventi, webkitClearResourceTimings()
, webkitSetResourceTimingBufferSize()
e onwebkitresourcetimingbufferfull
, sono obsoleti e specifici per il fornitore. Le versioni standard di queste API sono supportate a partire da Chrome 46 e anche le funzioni con prefisso sono state ritirate in quella versione. Queste funzionalità sono state implementate originariamente in WebKit, ma Safari non le ha abilitate. Firefox, IE 10 e versioni successive ed Edge hanno solo una versione senza prefisso dell'API. Di conseguenza, le versioni webkit vengono rimosse.
Intent di rimozione | Tracker di stato di Chrome | Bug di Chromium
Rimuovere ServiceWorkerMessageEvent a favore dell'utilizzo di MessageEvent
La specifica HTML ha esteso MessageEvent
per consentire ServiceWorker
come tipo per
l'attributo source
. client.postMessage()
e la creazione di eventi di messaggi personalizzati
sono stati modificati in modo da utilizzare MessageEvent
anziché ServiceWorkerMessageEvent
.
Rimozione di ServiceWorkerMessageEvent
effettuata.
Intent di rimozione | Tracker di stato di Chrome | Bug di Chromium
Rimuovi gli alias globali IndexedDB con prefisso webkit
Il punto di ingresso IndexedDB
e i costruttori globali sono stati esposti con prefissi webkit
da qualche parte intorno a Chrome 11. Le versioni senza prefisso sono state aggiunte in
Chrome 24 e le versioni con prefisso sono state deprecate in Chrome 38. Sono interessate le seguenti interfacce:
webkitIndexedDB
(punto di ingresso principale)webkitIDBKeyRange
(costruttore globale non richiamabile, ma presenta metodi statici utili)webkitIDBCursor
webkitIDBDatabase
webkitIDBFactory
webkitIDBIndex
webkitIDBObjectStore
webkitIDBRequest
webkitIDBTransaction
(costruttori globali non richiamabili)
Intent di rimozione | Tracker di stato di Chrome | Bug di Chromium
WebAudio: rimuovi AudioContext con prefisso e OfflineAudioContext
Chrome supporta WebAudio
dalla metà del 2011, incluso AudioContext
.
OfflineAudioContext
è stato aggiunto l'anno successivo. Dato il tempo di supporto delle interfacce standard e l'obiettivo a lungo termine di Google di rimuovere le funzionalità con prefisso, le versioni con prefisso di queste interfacce sono state ritirate dalla fine del 2014 e ora vengono rimosse.
Intent di rimozione | Tracker di stato di Chrome | Bug di Chromium
Depreca e rimuovi webkitCancelRequestAnimationFrame
Il metodo webkitCancelRequestAnimationFrame()
è un'API obsoleta
specifica del fornitore e l'API cancelAnimationFrame()
standard è da tempo
supportata in Chromium. Di conseguenza, la versione webkit viene rimossa.
Intent di rimozione | Tracker di stato di Chrome | Bug di Chromium
Depreca la corrispondenza senza distinzione tra maiuscole e minuscole per l'attributo usemap
L'attributo usemap
in precedenza era definito senza maiuscole e minuscole. Sfortunatamente, l'implementazione è stata così complicata che nessun browser l'ha implementata correttamente. La ricerca ha suggerito che l'algoritmo così complesso non è necessario
e anche la corrispondenza senza distinzione tra maiuscole e minuscole ASCII è superflua.
Di conseguenza, la specifica è stata aggiornata in modo che venga applicata la corrispondenza sensibile alle maiuscole. Il comportamento precedente è deprecato in Chrome 57, ma è prevista la rimozione in Chrome 58.
Intent di rimozione | Tracker di stato di Chrome | Bug di Chromium
Ritira FileReaderSync nei service worker
La specifica di Service Worker ha sempre avuto la nota (non normativa) che "qualsiasi tipo di richiesta sincrona non deve essere avviata all'interno di un service worker" per evitare di bloccare il service worker. Il blocco del service worker
bloccherebbe tutte le richieste di rete provenienti dalle pagine controllate. Sfortunatamente, l'API FileReaderSync
è disponibile da molto tempo nei service worker.
Attualmente solo Firefox e Chrome espongono FileReaderSync
nei Service worker.
Nella discussione sulle specifiche di Firefox si concorda sul fatto che questo problema dovrebbe essere risolto. La rimozione è prevista in Chrome 59.
Intent di rimozione | Tracker di stato di Chrome | Bug di Chromium
Ritira il chiamante precedente per HTMLEmbedElement e HTMLObjectElement
La presenza di un chiamante legacy in un'interfaccia consente di chiamare un'istanza come funzione. Al momento, HTMLEmbedElement
e HTMLObjectElement
supportano questa funzionalità. In Chrome 57 questa funzionalità è deprecata. Dopo la rimozione, prevista in Chrome 58, la chiamata genererà un'eccezione.
Questa modifica allinea Chrome alle recenti modifiche alle specifiche. Il comportamento precedente non è supportato in Edge o Safari e viene rimosso da Firefox.
Intent di rimozione | Tracker di stato di Chrome | Bug di Chromium
Depreca RTCRtcpMuxPolicy di "negozia"
rtcpMuxPolicy
viene utilizzato da Chrome per specificare il suo criterio preferito relativo
all'utilizzo del multiplexing RTP/RTCP. In Chrome 57, abbiamo modificato il valore predefinito rtcpMuxPolicy
in "request" e "negozia" deprecato per i seguenti motivi:
- RTCP non Muxed utilizza risorse di rete aggiuntive.
- La rimozione di "negozia" semplificherà la superficie API, poiché un "RtpSender"/"RtpRicevir" avrà sempre un solo trasporto.
In Chrome 57, l'opzione "negozia" è deprecata. Riteniamo che si tratti di una modifica irreversibile, poiché l'utente riceverà un messaggio relativo al ritiro e potrà comunque essere creato RTCPeerConnection
. La rimozione avviene in Chrome 63.
Intento di deprecazione | Bug di Chromium
Ritiro del supporto per credenziali incorporate nelle richieste di sottorisorse
L'hard-coding delle credenziali nelle richieste di sottorisorse è problematico dal punto di vista della sicurezza, in quanto in passato ha consentito agli hacker di applicare attacchi forzati alle credenziali bruta. Questi pericoli sono esacerbati per le richieste di sottorisorse con credenziali che raggiungono gli intervalli IP interni (i tuoi router e così via). Dato lo scarso utilizzo, chiudere questo (piccolo) buco della sicurezza sembra abbastanza ragionevole.
Gli sviluppatori possono incorporare risorse che non richiedono l'autenticazione di base/digest, basandosi invece su cookie e altri meccanismi di gestione delle sessioni.
Intent di rimozione | Tracker di stato di Chrome | Bug di Chromium