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 60, che è in versione beta dall'8 giugno. Questo elenco è soggetto a modifiche in qualsiasi momento.
Sicurezza
crypto.subtle ora richiede un'origine sicura
L'API Web Crypto
supportata da Chrome 37, ha sempre lavorato sulle soluzioni
diverse origini dati. A causa del criterio di Chrome di lunga data
preferendo origini sicure per funzionalità potenti,
crypto.subtle
non è visibile solo su origini sicure.
Intenzione di rimozione | Bug di Chromium
Rimuovi le navigazioni del frame superiore avviate dai contenuti verso gli URL di dati
Poiché non conoscono gli utenti dei browser non tecnici, abbiamo
vedere sempre più spesso che lo schema data:
viene utilizzato per spoofing e phishing
attacchi informatici. Per evitare che questo accada, stiamo bloccando il caricamento di data:
URL da parte delle pagine web
nel frame superiore. Si applica ai tag <a>
, window.open
,
window.location
e meccanismi simili. Lo schema data:
continuerà a funzionare per
di risorse caricate da una pagina.
Questa funzionalità è stata ritirata nella versione 58 di Chrome e ora è stata rimossa.
Intenzione di rimozione | Tracker dello stato di Chrome | Bug di Chromium
Disattiva temporaneamente navigator.sendBeacon() per alcuni BLOB
La funzione navigator.sendBeacon()
è stata disponibile
da Chrome 39.
Come implementato inizialmente, l'argomento data
della funzione può contenere qualsiasi
BLOB arbitrario il cui tipo non è inserito nell'elenco indirizzi attendibili CORS. Riteniamo che questo sia un potenziale
alla sicurezza, anche se nessuno ha ancora provato a sfruttarla. Poiché NON
trovare una soluzione ragionevole e immediata per risolvere il problema, sendBeacon()
non può
non sarà più possibile richiamare sui BLOB il cui tipo NON rientra nell'elenco indirizzi attendibili di CORS.
Questa modifica è stata implementata per Chrome 60, ma da allora è stata unita. a Chrome 59.
CSS
Fai in modo che il combinatore discendente con perforazione delle ombre si comporti come il combinatore discendente
Il combinatore discendente shadow-piercing (>>>
), parte di
Livello 1 del modulo di definizione dell'ambito CSS
, era destinato a corrispondere agli elementi secondari di un particolare elemento predecessore
anche quando sono comparsi all'interno di un albero ombra. Questo approccio presentava alcune limitazioni.
Innanzitutto, in base alle specifiche,
può essere utilizzato solo nelle chiamate JavaScript come querySelector()
e non
nei fogli di stile. Ma soprattutto, i fornitori di browser non sono riusciti a
oltre un livello del DOM Ombra.
Di conseguenza, il combinatore discendente è stato rimosso dalle specifiche pertinenti. incluso Shadow DOM v1. Anziché interrompere le pagine web rimuovendo questo selettore, da Chromium, abbiamo scelto come alias la derivazione combinatore al combinatore discendente. Il comportamento originale era ritirato in Chrome 45. Il nuovo comportamento è implementato in Chrome 61.
Intenzione di rimozione | Tracker dello stato di Chrome | Bug di Chromium
JavaScript
Ritira e rimuovi RTCPeerConnection.getStreamById()
Quasi due anni fa, getStreamById()
è stato rimosso dalla specifica WebRTC. La maggior parte degli altri browser ha
l'hanno già rimosso dalle loro implementazioni. Sebbene questa funzione sia
poco utilizzata, si ritiene anche che ci siano
rischio di interoperabilità con browser basati su Edge e WebKit diversi da Safari
dove getStreamById()
è ancora supportato. Gli sviluppatori hanno bisogno di un'alternativa
di esempio, puoi trovare un codice di esempio nell'intent da rimuovere riportato di seguito.
La rimozione è disponibile nella versione 62 di Chrome.
Intenzione di rimozione | Tracker dello stato di Chrome | Bug di Chromium
Depreca SVGPathElement.getPathSegAtLength
Più di due anni fa, getPathSegAtLength()
è stato rimosso dalle specifiche SVG.
Poiché esistono solo pochi hit per questo metodo in httpArchive, è
verrà ritirata in Chrome 60. La rimozione è prevista in Chrome 62, che
la spedizione avverrà all'inizio o a metà ottobre.
Intento di ritiro | Tracker dello stato di Chrome | Bug di Chromium
Sposta getContextAttributes() dietro un flag
La funzione getContextAttributes()
è stata supportata su
CanvasRenderingContext2D
dal 2013. Tuttavia, la funzione non faceva parte di alcuno standard e non è diventata
parte di uno da allora. Dovrebbe essere stato implementato sulla base
--enable-experimental-canvas-features
flag della riga di comando, ma per errore
. In Chrome 60 questa svista è stata corretta. Si ritiene che questo
la modifica è sicura, in quanto non ci sono dati che dimostrino che qualcuno stia utilizzando il metodo.
Rimuovi Headers.prototype.getAll()
È in corso la rimozione della funzione Headers.prototype.getAll()
in base all'ultima versione
della specifica di recupero.
Intenzione di rimozione | Tracker dello stato di Chrome | Bug di Chromium
Rimuovi indexDB.webkitGetDatabaseNames()
Abbiamo aggiunto questa funzionalità quando il database indicizzato era relativamente nuovo in Chrome e aveva prefisso era di gran moda. L'API restituisce in modo asincrono un elenco di database esistenti nomi in un'origine, che sembrava abbastanza sensato.
Purtroppo il design è difettoso, in quanto i risultati potrebbero essere obsoleti il prima possibile quando vengono restituiti, quindi può essere utilizzato solo per la registrazione, non della logica dell'applicazione. La problema con github tracce/link a una precedente discussione sulle alternative, il che richiederebbe un approccio diverso. Sebbene gli sviluppatori abbiano suscitato un interesse costante, data la mancanza di i progressi del browser, il problema è stato risolto dagli autori delle biblioteche.
Gli sviluppatori che hanno bisogno di questa funzionalità devono sviluppare la propria soluzione. Le librerie come Dexie.js, ad esempio, utilizzano una tabella globale che a sua volta è un altro database per monitorare i nomi dei database.
Questa funzionalità è stata ritirata nella versione 58 di Chrome e ora è stata rimossa.
Intenzione di rimozione | Tracker dello stato di Chrome | Bug di Chromium
Rimuovi WEBKIT_KEYFRAMES_RULE e WEBKIT_KEYFRAME_RULE
Le costanti non standard WEBKIT_KEYFRAMES_RULE
e WEBKIT_KEYFRAME_RULE
vengono rimossi da
Regola CSS.
Gli sviluppatori dovrebbero usare invece KEYFRAMES_RULE
e KEYFRAME_RULE
.
Intenzione di rimozione | Tracker dello stato di Chrome | Bug di Chromium
Interfaccia utente
Richiedi gesto dell'utente per le finestre di dialogo prima dell'unload
A partire da Chrome 60, la finestra di dialogo beforeunload
viene visualizzata soltanto se il frame
di mostrare il messaggio ha ricevuto un gesto o un'interazione dell'utente (oppure se
qualsiasi frame incorporato abbia ricevuto il gesto). Precisiamo che non si tratta di
modifica all'invio dell'evento beforeunload
. Si tratta solo di una modifica
se la finestra di dialogo viene visualizzata.
La finestra di dialogo beforeunload
è una finestra modale dell'app. In quanto tale, è intrinsecamente
user-ostile, ovvero la risposta alla navigazione dell'utente mettendo in dubbio il comportamento dell'utente.
una decisione presa. Questa funzionalità ha degli utilizzi positivi. Ad esempio, viene spesso utilizzato
per avvisare gli utenti quando perderanno dati navigando.
Mentre la possibilità di una pagina di fornire testo per la finestra di dialogo beforeunload
era
rimossa tempo fa, beforeunload
finestre di dialogo rimangono un vettore di abuso. Nella
in particolare, le finestre di dialogo di beforeunload
sono parte integrante di siti web fraudolenti, in cui
l'audio a riproduzione automatica e il testo minaccioso forniscono un contesto in cui Chromium
a disposizione: "Vuoi uscire da questa pagina?" un messaggio preoccupante.
Vogliamo infilare l'ago e consentire solo un uso corretto dell'beforeunload
. Gli usi corretti della finestra di dialogo sono quelli in cui l'utente ha uno stato che potrebbe
hanno perso. Se l'utente non ha mai interagito con la pagina, non può avere
che potrebbe andare persa, quindi non rischiamo di perdere i dati utente
l'eliminazione della finestra di dialogo in questo caso.