Rimozioni e ritiri di API in Chrome 53

Joe Medley
Joe Medley

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

Ritiro graduale degli algoritmi di crittografia basati su DHE

TL;DR: le crittografie basate su DHE vengono rimosse in Chrome 53 per computer perché non sono sufficienti per l'utilizzo a lungo termine. I server devono utilizzare ECDHE, se disponibile, o una crittografia RSA semplice, se non è disponibile.

Intento di rimozione | Tracker di Chromestatus | Bug di Chromium

L'anno scorso abbiamo aumentato la dimensione minima del gruppo Diffie-Hellman TLS da 512 bit a 1024 bit; tuttavia, 1024 bit non è sufficiente per il lungo periodo. Le metriche indicano che circa il 95% delle connessioni DHE rilevate da Chrome utilizza DHE a 1024 bit. Questo, insieme al modo in cui DHE viene negoziato in TLS, rende difficile superare i 1024 bit.

Sebbene esista una bozza di specifica che risolva questo problema, si tratta ancora di una bozza e richiede modifiche sia al client sia al server. Nel frattempo, ECDHE è già ampiamente implementato e dispiegato. È richiesto l'upgrade dei server a ECDHE, se disponibile. In caso contrario, assicurati che sia attiva una suite di crittografia RSA senza crittografia.

Le crittografie basate su DHE sono state ritirate a partire da Chrome 51. Il supporto verrà rimosso dalle versioni desktop in Chrome 53.

Avviso di ritiro di FileError

TL;DR: la rimozione dell'interfaccia FileError deprecata è prevista in Chrome 54. Sostituisci i riferimenti a err.code con err.name e err.message.

Intento di rimozione | Tracker di Chromestatus | Bug di Chromium

La versione corrente dello standard File API non contiene l'interfaccia FileError e il relativo supporto è stato ritirato nel 2013. In Chrome 53, questo avviso di ritiro verrà stampato nella console di DevTools:

"FileError" è deprecato e verrà rimosso nella versione 54. Utilizza gli attributi "name" o "message" dell'errore anziché "code".

Questo ha effetti diversi in contesti diversi.

  • FileReader.error e FileWriter.error saranno oggetti DOMException anziché FileError.
  • Per le chiamate FileSystem asincrone, a ErrorCallback verrà passato FileError.ErrorCode anziché FileError.
  • Per le chiamate FileSystem sincrone verrà generato FileError.ErrorCode anziché FileError.

Questa modifica interessa solo il codice che si basa sul confronto diretto del codice dell'istanza di errore (e.code) con i valori dell'enum FileError (FileError.NOT_FOUND_ERR e così via). Il codice che esegue test in base a costanti hardcoded (ad esempio e.code === 1) potrebbe non riuscire a segnalare errori errati all'utente.

Fortunatamente, i tipi di errori FileError, DOMError e DOMException condividono tutti le proprietà name e message, che assegnano nomi coerenti ai casi di errore (in altre parole, e.name === "NotFoundError"). Il codice dovrebbe utilizzare queste proprietà, che funzioneranno su tutti i browser e continueranno a funzionare una volta rimossa l'interfaccia FileError stessa.

La rimozione di FileError è prevista per Chrome 54.

Rimuovi l'attributo results per <input type=search>

TL;DR: l'attributo results viene rimosso perché non fa parte di alcuno standard ed è implementato in modo incoerente nei vari browser.

Intento di rimozione | Tracker di Chromestatus | Bug di Chromium

Il valore results è implementato solo in WebKit e si comporta in modo molto incoerente in quelli che lo supportano. Ad esempio, Chrome aggiunge un'icona a forma di lente d'ingrandimento alla casella di immissione, mentre su Safari per computer controlla il numero di ricerche precedenti visualizzate in un popup visualizzato facendo clic sull'icona a forma di lente d'ingrandimento. Poiché non fa parte di alcuno standard, è in fase di ritiro.

Se devi comunque includere l'icona di ricerca nel campo di immissione, dovrai aggiungere alcuni stili personalizzati all'elemento. A tale scopo, puoi includere un'immagine di sfondo e specificare un'area di a capo a sinistra nel campo di immissione.

    input[type=search] {
      background: url(some-great-icon.png) no-repeat scroll 15px 15px;
      padding-left:30px;
    }
 ```   

This attribute has been deprecated since Chrome 51.