Rimozioni e ritiri in Chrome 58

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 ritirazioni e le rimozioni in Chrome 58, che è in versione beta dal 16 marzo. Questo elenco è soggetto a modifiche in qualsiasi momento.

Il mouse su Android smette di attivare gli eventi TouchEvent

Fino a Chrome 57, gli eventi del mouse a basso livello di Android in Chrome seguivano principalmente un percorso di eventi progettato per le interazioni touch. Ad esempio, un movimento di trascinamento del mouse che si verifica mentre viene premuto un pulsante del mouse genera MotionEvents, inviato tramite View.onTouchEvent.

Tuttavia, poiché gli eventi touch non possono supportare il passaggio del mouse, i movimenti del mouse durante il passaggio del mouse seguivano un percorso distinto. Il design aveva molti effetti collaterali, tra cui l'attivazione di TouchEvents con le interazioni del mouse, la visualizzazione di tutti i pulsanti del mouse come pulsanti del mouse sinistro e la soppressione di MouseEvents da parte di TouchEvents.

A partire da Chrome 58, un mouse su Android M o versioni successive:

  • Non viene più eseguito TouchEvents.
  • Avvia una sequenza coerente di MouseEvents con pulsanti e altre proprietà appropriati.

Intento di rimozione | Tracker di Chromestatus | Bug di Chromium

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

L'attributo usemap era precedentemente definito senza maiuscole. Purtroppo, l'implementazione di questa funzionalità era talmente complicata che nessun browser l'ha implementata correttamente. La ricerca ha suggerito che un algoritmo così complicato non è necessario, e nemmeno la corrispondenza ASCII senza sensibilità alle maiuscole è necessaria.

Di conseguenza, la specifica è stata aggiornata in modo che venga applicata la corrispondenza sensibile alle maiuscole. Il vecchio comportamento è stato ritirato in Chrome 57 e ora è stato rimosso.

Intento di rimozione | Tracker di Chromestatus | Bug di Chromium

Rimuovi le navigazioni nel riquadro superiore avviate dai contenuti agli URL dei dati

Poiché non sono familiari agli utenti di browser non tecnici, stiamo notando sempre più spesso l'utilizzo dello schema data: negli attacchi di spoofing e phishing. Per evitare che ciò accada, stiamo bloccando il caricamento di URL data: nelle pagine web nel frame superiore. Questo vale per i tag <a>, window.open, window.location e meccanismi simili. Lo schema data: continuerà a funzionare per le risorse caricate di seguito da una pagina.

Questa funzionalità verrà rimossa nella versione 60 di Chrome.

Intento di rimozione | Tracker di Chromestatus | Bug di Chromium

Rimuovere i nomi non più supportati per le proprietà del percorso di animazione

Le proprietà CSS del percorso di animazione consentono agli autori di animare qualsiasi oggetto grafico lungo un percorso specificato dall'autore. In conformità con le specifiche, diverse proprietà sono state implementate in Chrome 45. I nomi di queste proprietà sono stati modificati nella specifica a metà 2016. Chrome ha implementato i nuovi nomi in Chrome 55 e Chrome 56. Sono stati implementati anche gli avvisi di ritiro della console.

In Chrome 58, i vecchi nomi delle proprietà vengono rimossi. Le proprietà interessate e i relativi nuovi nomi sono riportati di seguito.

Proprietà rimossa Nome attuale
motion-path offset-path
motion-offset offset-distance
rotazione-movimento offset-rotate
Movimento offset

Intento di rimozione

Rimuovere l'EME dai contesti non sicuri

Alcuni utilizzi di Encrypted Media Extensions (EME) espongono implementazioni di Digital Rights Management che non sono open source, coinvolgono l'accesso a identificatori univoci permanenti e/o vengono eseguite senza sandbox o con accesso privilegiato. I rischi per la sicurezza sono maggiori per i siti esposti tramite HTTP non sicuro, in quanto possono essere attaccati da chiunque sul canale. Inoltre, quando è richiesto il consenso dell'utente, l'accettazione persistente per un sito HTTP non sicuro può essere sfruttata da un utente malintenzionato.

Il supporto per i contesti non sicuri è stato rimosso dalla specifica EME versione 1 e non è supportato nel consiglio proposto né previsto nella versione finale successiva. non sarà presente nel prossimo consiglio proposto o nel consiglio finale successivo. L'API mostra un messaggio di ritiro nelle origini non sicure da Chrome 44 (maggio 2015). In Chrome 58, è stata rimossa. Questa modifica fa parte del nostro impegno più ampio per rimuovere funzionalità efficaci da origini non sicure.

Intento di rimozione | Tracker di Chromestatus | Bug di Chromium

Rimuovere l'autore della chiamata precedente per HTMLEmbedElement e HTMLObjectElement

Il fatto che un'interfaccia abbia un chiamante legacy significa che un'istanza può essere chiamata come funzione. Al momento, HTMLEmbedElement e HTMLObjectElement supportano questa funzionalità. In Chrome 57 questa funzionalità è stata ritirata. A partire da Chrome 58, la chiamata genera un'eccezione.

Questa modifica allinea Chrome alle recenti modifiche alle specifiche. Il comportamento precedente non è supportato in Edge o Safari e verrà rimosso da Firefox.

Intento di rimozione | Tracker di Chromestatus | Bug di Chromium

Rimuovere le crittografie ChaCha20-Poly1305 precedenti allo standard

Nel 2013, Chrome 31 ha implementato nuove suite di crittografia TLS basate sugli algoritmi ChaCha20 e Poly1305 del prof. Dan Bernstein. Successivamente, con piccoli aggiustamenti, sono stati standardizzati presso l'IETF come RFC 7539 e RFC 7905. Abbiamo rilasciato la variante standardizzata all'inizio del 2016 con Chrome 49. Ora stiamo rimuovendo le varianti precedenti allo standard.

Intento di rimozione | Tracker di Chromestatus | Bug di Chromium

Rimuovere il supporto della corrispondenza del commonName nei certificati

L'RFC 2818 descrive due metodi per associare un nome di dominio a un certificato: utilizzando i nomi disponibili all'interno dell'estensione subjectAlternativeName o, in assenza di un'estensione SAN, utilizzando commonName. Il fallback al commonName è stato ritirato nel RFC 2818 (pubblicato nel 2000), ma il supporto rimane in diversi client TLS, spesso in modo errato.

L'utilizzo dei campi subjectAlternativeName non indica se un certificato esprime un'associazione a un indirizzo IP o a un nome di dominio e sia completamente definito in termini di interazione con i vincoli relativi ai nomi. Tuttavia, il valorecommonName è ambiguo e, per questo motivo, il relativo supporto è stato fonte di bug di sicurezza in Chrome, nelle librerie che utilizza e nell'ecosistema TLS in generale.

Il rischio di compatibilità per la rimozione di commonName è basso. Il documento RFC 2818 ha ritirato questa funzionalità da quasi due decenni e i requisiti di base (a cui devono conformarsi tutte le autorità di certificazione attendibili pubblicamente) richiedono la presenza di un subjectAltName dal 2012. Firefox richiede già il valore subjectAltName per tutti i certificati attendibili pubblicamente emessi di recente dal browser Firefox 48.

.

Intento di rimozione | Tracker di Chromestatus | Bug di Chromium

Gli elementi di interfaccia regions, addRegion() e removeRegion() sono stati ritirati dalle specifiche WebVTT e rimossi da Chrome 58 per rispettare le specifiche più recenti. Prevediamo un impatto ridotto da questa rimozione poiché la funzionalità non è mai stata attivata per impostazione predefinita (ovvero era nascosta dietro un flag). Chi ha bisogno di un'alternativa può utilizzare la proprietà VTTCue.region che verrà aggiunta in Chrome 58.

Tracker di Chromestatus | Bug di Chromium

WebAudio: rimuovi l'interfaccia AudioSourceNode

L'interfaccia AudioSourceNode non fa parte della specifica Web Audio, non è costruibile e non ha attributi, pertanto non ha praticamente alcuna funzionalità accessibile agli sviluppatori. Di conseguenza, verrà rimosso.

Intento di rimozione | Tracker di Chromestatus | Bug di Chromium

Rimuovi l'attributo globale webkitdropzone

L'attributo globale dropzone è stato introdotto dalla specifica di trascinamento di HTML5 come metodo dichiarativo per specificare la disponibilità di un elemento HTML a essere scelto come target di un'operazione di trascinamento, i tipi di contenuti che possono essere trascinati nell'elemento e l'operazione di trascinamento (copia/sposta/collega).

L'attributo non ha ottenuto l'interesse dei fornitori di browser. Blink e WebKit implementano solo una forma con prefisso dell'attributo, webkitdropzone. Poiché l'attributo dropzone è stato rimosso dalla specifica all'inizio di marzo 2017 la versione con prefisso verrà rimossa da Chrome.

Intento di rimozione | Tracker di Chromestatus | Bug di Chromium

Ritiro dell'utilizzo non sicuro delle notifiche

Le notifiche sono una funzionalità molto utile perché consentono ai siti web di richiamare un'interfaccia utente di sistema per trasmettere le informazioni private stesse o un indicatore che le informazioni private sono state modificate. Gli utenti malintenzionati potrebbero intercettare o rubare le informazioni inviate tramite una notifica su una connessione non sicura. Le notifiche web push richiedono un'origine sicura, pertanto questa modifica allineerà le notifiche non push alle notifiche push. Questa modifica fa parte del nostro impegno più ampio per rimuovere funzionalità efficaci da origini non sicure.

Intento di rimozione | Tracker di Chromestatus | Bug di Chromium

Ritiro del supporto per l'utilizzo delle notifiche da iframe non sicuri

Le richieste di autorizzazione provenienti da iframe possono confondere gli utenti, poiché è difficile distinguere tra l'origine della pagina contenente e l'origine dell'iframe che effettua la richiesta. Quando l'ambito delle richieste non è chiaro, è difficile per gli utenti giudicare se concedere o negare l'autorizzazione.

La disattivazione delle notifiche negli iframe allineerà inoltre i requisiti per l'autorizzazione di notifica a quelli per le notifiche push, semplificando le operazioni per gli sviluppatori.

Gli sviluppatori che hanno bisogno di questa funzionalità possono aprire una nuova finestra per richiedere l'autorizzazione di notifica.

La rimozione è in Chrome 62.

Intento di rimozione | Tracker di Chromestatus | Bug di Chromium

Rimuovi indexedDB.webkitGetDatabaseNames()

Abbiamo aggiunto questa funzionalità quando l'indice DB era relativamente nuovo in Chrome e l'uso di prefisso era di gran moda. L'API restituisce in modo asincrono un elenco dei nomi dei database esistenti in un'origine, il che sembrava abbastanza sensato.

Purtroppo, il design è imperfetto, in quanto i risultati potrebbero essere obsoleti non appena vengono restituiti, quindi può essere utilizzato solo per il logging, non per la logica di applicazione seria. Il problema GitHub contiene link/riferimento a discussioni precedenti sulle alternative, che richiederebbero un approccio diverso. Sebbene l'interesse degli sviluppatori sia stato discontinuo, data la mancanza di progressi su più browser, il problema è stato risolto dagli autori delle librerie.

Gli sviluppatori che hanno bisogno di questa funzionalità devono sviluppare la propria soluzione. Librerie come Dexie.js, ad esempio, utilizzano una tabella globale che è essa stessa un altro database per monitorare i nomi dei database.

Questa funzionalità è stata rimossa in Chrome 60.

Intento di ritiro | Tracker di Chromestatus | Bug di Chromium