Rimozioni e ritiri di API in Chrome 57

Joe Medley
Joe Medley

In quasi tutte le versioni di Chrome registriamo un numero significativo di aggiornamenti e miglioramenti al prodotto, alle sue prestazioni e anche alle funzionalità del web Piattaforma. Questo articolo descrive i ritiri e le rimozioni in Chrome 57, che è in versione beta all'inizio di febbraio. Questo elenco è soggetto a modifiche in qualsiasi nel tempo.

Rimuovi attributo BluetoothDevice.uuids

L'attributo BluetoothDevice.uuids verrà rimosso per portare API Web Bluetooth in con le specifiche attuali. Puoi recuperare tutti i servizi GATT consentiti chiamando device.getPrimaryServices().

Bug di Chromium

Rimuovi elemento di generazione chiavi

A partire da Chrome 49, il comportamento predefinito di <keygen> è stato quello di restituire lo spazio vuoto stringa, a meno che non sia stata concessa un'autorizzazione per la pagina. IE/Edge non supportati <keygen> e non hanno indicato indicatori pubblici a supporto di <keygen>. Firefox già limita <keygen> mediante un gesto dell'utente, ma è pubblicamente che supporti la rimozione. Safari spedisce <keygen> e non ha espresso opinioni del pubblico riguardo al suo continuo sostegno. Con Chrome 57, questo elemento viene rimosso.

Intenzione di rimozione | Tracker dello 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 del fornitore. La le versioni standard delle API sono supportate da Chrome 46 e le funzioni con prefisso deprecato anche in quella versione. Queste funzionalità erano in origine implementati in WebKit, ma non sono stati abilitati in Safari. Firefox, IE 10 e versioni successive e Edge ha solo una versione senza prefisso dell'API. Di conseguenza, le versioni webkit in fase di rimozione.

Intenzione di rimozione | Tracker dello stato di Chrome | Bug di Chromium

Rimuovi ServiceWorkerMessageEvent in favore dell'utilizzo di MessageEvent

La specifica HTML ha esteso MessageEvent per consentire ServiceWorker come tipo per l'attributo source. client.postMessage() e creazione del messaggio personalizzato vengono modificate in modo da utilizzare MessageEvent anziché ServiceWorkerMessageEvent. L'elemento ServiceWorkerMessageEvent è stato rimosso.

Intenzione di rimozione | Tracker dello 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 webkit un prefisso intorno a Chrome 11. Le versioni senza prefisso sono state aggiunte in Chrome 24 e le versioni con prefisso sono stati deprecati in Chrome 38. La le interfacce interessate:

  • webkitIndexedDB (punto di accesso principale)
  • webkitIDBKeyRange (costruttore globale non richiamabile, ma presenta metodi statici utili)
  • webkitIDBCursor
  • webkitIDBDatabase
  • webkitIDBFactory
  • webkitIDBIndex
  • webkitIDBObjectStore
  • webkitIDBRequest
  • webkitIDBTransaction (costruttori globali non chiamabili)

Intenzione di rimozione | Tracker dello stato di Chrome | Bug di Chromium

WebAudio: rimuovi i prefissi AudioContext e OfflineAudioContext

Chrome supporta WebAudio dalla metà del 2011, tra cui AudioContext. OfflineAudioContext è stato aggiunto l'anno successivo. Dato per quanto tempo lo standard sono state supportate e l'obiettivo a lungo termine di Google di rimuovere i prefissi le versioni con prefisso di queste interfacce sono state deprecate dal alla fine del 2014 e verranno ora rimossi.

Intenzione di rimozione | Tracker dello stato di Chrome | Bug di Chromium

Ritira e rimuovi webkitCancelRequestAnimationFrame

Il metodo webkitCancelRequestAnimationFrame() è un metodo obsoleto dell'API specifica del fornitore e lo standard cancelAnimationFrame() ha da tempo sono stati supportati in Chromium. Di conseguenza, la versione del componente webkit verrà rimossa.

Intenzione di rimozione | Tracker dello stato di Chrome | Bug di Chromium

Ritira la corrispondenza senza distinzione tra maiuscole e minuscole per l'attributo usemap

L'attributo usemap in precedenza era definito come senza maiuscole. Purtroppo La sua implementazione è stata abbastanza complessa da far sì che nessun browser l'abbia implementata. in modo corretto. La ricerca ha suggerito che questo complicato algoritmo non è necessario, e persino la corrispondenza ASCII senza distinzione tra maiuscole e minuscole non è necessaria.

Di conseguenza, la specifica è stata aggiornata in modo che la corrispondenza sensibile alle maiuscole sia applicati. Il comportamento precedente è deprecato in Chrome 57, con la rimozione prevista in Chrome 58.

Intenzione di rimozione | Tracker dello stato di Chrome | Bug di Chromium

Ritira FileReaderSync nei service worker

Le specifiche del service worker ha sempre avuto la nota (non normativa) che "qualsiasi tipo di richieste sincrone non devono essere avviate all'interno di un servizio worker", per evitare di bloccare il service worker. Blocco del service worker blocca tutte le richieste di rete sulle pagine controllate. Purtroppo, L'API FileReaderSync è da tempo disponibile nei service worker.

Al momento solo Firefox e Chrome espongono FileReaderSync nei service worker. C'è un accordo con Firefox nella Discussione sulle specifiche che questo problema deve essere risolto. La rimozione è prevista nella versione 59 di Chrome.

Intenzione di rimozione | Tracker dello stato di Chrome | Bug di Chromium

Ritira il chiamante precedente per HTMLEmbedElement e HTMLObjectElement

Il fatto che un'interfaccia abbia un chiamante legacy significa che un'istanza può essere chiamata come personalizzata. Al momento, HTMLEmbedElement e HTMLObjectElement supportano questa funzionalità funzionalità. In Chrome 57 questa funzionalità è deprecata. Dopo la rimozione, che previsto in Chrome 58, le chiamate genereranno un'eccezione.

Questa modifica allinea Chrome con le recenti modifiche alle specifiche. Il comportamento precedente non è supportata in Edge o Safari e viene rimosso da Firefox.

Intenzione di rimozione | Tracker dello stato di Chrome | Bug di Chromium

Depreca RTCRtcpMuxPolicy di "negozi"

rtcpMuxPolicy viene utilizzato da Chrome per specificare il criterio preferito relativo a l'uso del multiplexing RTP/RTCP. In Chrome 57, abbiamo modificato il valore predefinito rtcpMuxPolicy per "richiedere" e l'opzione "negozi" è stata ritirata per i seguenti motivi:

  • Il protocollo RTCP non mux utilizza risorse di rete aggiuntive.
  • Rimozione di "negozi" semplifica l'aspetto dell'API, dal momento che &quot;RtpSender&quot;/&quot;RtpReceiver&quot; avrà quindi solo un unico trasporto.

In Chrome 57, "negozia" è deprecato. Riteniamo che si tratti di un cambiamento continuo poiché l'utente riceverà un messaggio relativo al ritiro e RTCPeerConnection può comunque possono essere create. La rimozione è in Chrome 63.

Intento di ritiro | Bug di Chromium

Ritira il supporto per le credenziali incorporate nelle richieste di sottorisorse

L'hard-coding delle credenziali nelle richieste di sottorisorse è problematico da un dal punto di vista della sicurezza, poiché consente agli hacker di applicare la forza bruta alle credenziali nel passato. Questi pericoli sono esacerbati per le richieste di sottorisorse credenziali che raggiungono intervalli IP interni (router e così via). Dato lo scarso utilizzo, chiudere questa (piccola) buca 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.

Intenzione di rimozione | Tracker dello stato di Chrome | Bug di Chromium