Rimozioni e ritiri di API in Chrome 53

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.

Ritiro graduale delle crittografie basate su DHE

TL;DR: le crittografie basate su DHE vengono rimosse in Chrome 53, desktop perché non sono sufficienti per un uso a lungo termine. I server devono utilizzare ECDHE, se disponibile, o una crittografia RSA semplice, in caso contrario.

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

L'anno scorso, abbiamo Chrome la dimensione minima del gruppo TLS Diffie-Hellman da 512 bit a 1024 bit; tuttavia, 1024 bit non è sufficiente per il lungo termine. Le metriche segnalano che circa il 95% delle connessioni DHE viste da Chrome utilizza il DHE a 1024 bit. Questo, combinato con il modo in cui viene negoziata l'DHE in TLS, rende difficile superare i 1024 bit.

Sebbene esista una bozza di specifica che risolve il problema, si tratta ancora di una bozza e richiede modifiche sia al client che al server. Nel frattempo, ECDHE è già stato implementato e implementato su larga scala. I server dovrebbero eseguire l'upgrade a ECDHE, se disponibile. In caso contrario, assicurati che sia abilitata una suite di crittografia RSA semplice.

Le crittografie basate su DHE sono state ritirate a partire da Chrome 51. L'assistenza verrà rimossa dai computer desktop in Chrome 53.

Avviso di deprecazione per FileError

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

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

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

L'API "FileError" è deprecata e verrà rimossa nella versione 54. Utilizza gli attributi "name" o "message" dell'errore anziché "code".

Questo ha effetti diversi a seconda dei contesti.

  • FileReader.error e FileWriter.error saranno DOMException oggetti anziché FileError oggetti.
  • Per le chiamate FileSystem asincrone, ErrorCallback verrà trasmesso come FileError.ErrorCode anziché FileError.
  • Per le chiamate FileSystem sincrone, verranno generate FileError.ErrorCode anziché FileError.

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

Fortunatamente, i tipi di errore FileError, DOMError e DOMException condividono tutti le proprietà name e message, che forniscono nomi coerenti per i casi di errore (in altre parole, e.name === "NotFoundError"). Il codice dovrebbe invece utilizzare queste proprietà, che funzioneranno in tutti i browser e continueranno a funzionare anche dopo la rimozione dell'interfaccia FileError.

La rimozione di FileError è prevista per Chrome 54.

Rimuovi l'attributo dei risultati per <input type=search>

TL;DR: l'attributo results è stato rimosso perché non fa parte di nessuno standard e non è stato implementato in modo coerente nei vari browser.

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

Il valore results viene implementato solo in webkit e si comporta in modo molto incoerente in quelli che lo fanno. Ad esempio, Chrome aggiunge un'icona di ingrandimento alla casella di immissione, mentre su Safari per desktop controlla quante ricerche precedenti vengono mostrate in un popup facendo clic sull'icona della lente d'ingrandimento. Poiché non fa parte di nessuno standard, è stata ritirata.

Se devi comunque includere l'icona di ricerca nel campo di immissione, dovrai aggiungere alcuni stili personalizzati all'elemento. Puoi farlo includendo un'immagine di sfondo e specificando una spaziatura interna 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.