Bei fast jeder Version von Chrome gibt es eine große Anzahl von Updates und Verbesserungen des Produkts, seiner Leistung und auch der Plattform In diesem Artikel werden die Einstellungen und Entfernungen in Chrome 60 beschrieben. die seit dem 8. Juni in der Betaphase ist. Diese Liste kann sich jederzeit ändern.
Sicherheit
Für crypto.subtle ist jetzt ein sicherer Ursprung erforderlich
Web Crypto API
die seit Chrome 37 unterstützt wird, funktioniert seit jeher auf nicht sicheren
Ursprüngen. Aufgrund der langjährigen Richtlinie von Chrome zur
sicheren Ursprüngen für leistungsstarke Funktionen bevorzugt,
crypto.subtle
ist nicht nur in sicheren Ursprüngen sichtbar.
Entfernungsabsicht | Chromium-Programmfehler
Vom Content ausgelöste Navigation im obersten Frame zu Daten-URLs entfernen
Da sie mit nicht-technischen Funktionen nicht vertraut sind,
dass zunehmend das Schema data:
für Spoofing und Phishing verwendet wird.
. Um dies zu verhindern, blockieren wir Webseiten daran, data:
URLs zu laden
im obersten Frame. Dies gilt für <a>
-Tags, window.open
,
window.location
und ähnliche Mechanismen. Das Schema data:
funktioniert weiterhin für
Ressourcen, die von einer Seite geladen werden.
Diese Funktion wurde in Chrome 58 eingestellt und ist jetzt nicht mehr verfügbar.
Entfernungsabsicht | Chromestatus-Tracker | Chromium-Fehler
navigator.sendBeacon() vorübergehend für einige Blobs deaktivieren
Die Funktion navigator.sendBeacon()
ist jetzt verfügbar
ab Chrome 39.
Wie ursprünglich implementiert, kann das Argument data
der Funktion beliebige
Beliebiges Blob, dessen Typ nicht CORS-Zulassungsliste ist. Wir glauben, dass dies
eine Sicherheitsbedrohung aus, obwohl bisher noch niemand versucht hat, sie auszunutzen. Da wir NICHT
eine vernünftige sofortige Behebung haben, vorübergehend, sendBeacon()
kann
länger für Blobs abrufbar sein, deren Typ NICHT CORS-Zulassungsliste ist.
Diese Änderung wurde zwar für Chrome 60 implementiert, wurde aber mittlerweile zusammengeführt. Chrome 59 zurück.
CSS
Sich die Schatten durchbohrenden Kombinatoren so verhalten, wie sich die Nachfolgerkombinatoren verhalten
Die schattenförmige Nachfolgerkombination (>>>
), Teil von
Modul für CSS-Umfang – Stufe 1
, die mit den untergeordneten Elementen eines bestimmten Ancestor-Elements übereinstimmen sollte
auch wenn sie in einem Schattenbaum aufgetaucht sind. Dies hatte einige Einschränkungen.
Gemäß den Spezifikationen
nur in JavaScript-Aufrufen wie querySelector()
verwendet werden.
mit Stylesheets arbeiten. Und was noch wichtiger ist, dass Browseranbieter ihre Website nicht
über eine Ebene des Shadow DOM hinaus zu arbeiten.
Daher wurde der untergeordnete Kombinator aus den relevanten Spezifikationen entfernt. einschließlich Shadow DOM v1. Anstatt Webseiten zu zerstören, indem Sie diese Auswahl entfernen Wir haben uns stattdessen für das Alias des Nachfolgerelements Kombinator mit dem Nachfolgerkombinator. Das ursprüngliche Verhalten war in Chrome 45 eingestellt. Das neue Verhalten ist in Chrome 61 implementiert.
Entfernungsabsicht | Chromestatus-Tracker | Chromium-Fehler
JavaScript
RTCPeerConnection.getStreamById() verwerfen und entfernen
Vor fast zwei Jahren wurde getStreamById()
aus der WebRTC-Spezifikation entfernt. Die meisten anderen Browser haben
bereits aus ihren Implementierungen entfernt. Obwohl diese Funktion
und nur wenig genutzt wird, wird angenommen, dass
Interoperabilitätsrisiko mit Edge- und WebKit-basierten Browsern außer Safari
wobei getStreamById()
weiterhin unterstützt wird. Entwickelnde, die eine Alternative suchen
Beispielcode finden Sie unten im Abschnitt zum Entfernen des Intents.
Sie wird in Chrome 62 entfernt.
Entfernungsabsicht | Chromestatus-Tracker | Chromium-Fehler
SVGPathElement.getPathSegAtLength einstellen
Vor mehr als zwei Jahren wurde getPathSegAtLength()
aus der SVG-Spezifikation entfernt.
Da es für diese Methode in httparchive nur wenige Treffer gibt,
in Chrome 60 eingestellt. Die Änderung wird voraussichtlich in Chrome 62 erfolgen,
Anfang oder Mitte Oktober ausgeliefert.
Einstellungsabsicht | Chromestatus-Tracker | Chromium-Fehler
getContextAttributes() hinter ein Flag verschieben
Die Funktion getContextAttributes()
wurde unterstützt auf
CanvasRenderingContext2D
seit 2013. Die Funktion war jedoch kein Standard und wurde
seitdem ein Teil von 1 ist. Sie hätte sich hinter dem
Befehlszeilen-Flag --enable-experimental-canvas-features
, wurde aber versehentlich
nicht. In Chrome 60 wurde dieses Versäumnis korrigiert. Es wird angenommen, dass dies
ist sicher, da es keine Daten gibt, die zeigen, dass jemand die Methode verwendet.
Headers.prototype.getAll() entfernen
Die Funktion Headers.prototype.getAll()
wird gemäß den aktuellen
der Abrufspezifikation.
Entfernungsabsicht | Chromestatus-Tracker | Chromium-Fehler
indexiertDB.webkitGetDatabaseNames() entfernen
Wir haben diese Funktion hinzugefügt, als Indexed DB noch relativ neu in Chrome war und war der letzte Schrei. Die API gibt asynchron eine Liste der vorhandenen Datenbanken zurück. Namen in einem Ursprung hatte, was vernünftig genug erschien.
Leider ist das Design fehlerhaft, da die Ergebnisse möglicherweise sofort veraltet sind. wenn sie zurückgegeben werden. Sie können also nur zur Protokollierung verwendet werden. Anwendungslogik. Die GitHub-Problem: Tracks/Links zu Diskussion über Alternativen, was einen anderen Ansatz erfordern würde. Zwar gibt es ein ständiges Interesse von Entwicklern, da es keine plattformübergreifenden dass das Problem von Bibliotheksautoren gelöst wurde.
Entwickler, die diese Funktion benötigen, müssen eine eigene Lösung entwickeln. Bibliotheken wie Dexie.js verwenden beispielsweise eine globale Tabelle. das selbst eine weitere Datenbank ist, um die Namen der Datenbanken zu verfolgen.
Diese Funktion wurde in Chrome 58 eingestellt und ist jetzt nicht mehr verfügbar.
Entfernungsabsicht | Chromestatus-Tracker | Chromium-Fehler
WEBKIT_KEYFRAMES_RULE und WEBKIT_KEYFRAME_RULE entfernen
Die nicht standardmäßigen Konstanten WEBKIT_KEYFRAMES_RULE
und WEBKIT_KEYFRAME_RULE
werden entfernt aus
CSS-Regel:
Entwickler sollten stattdessen KEYFRAMES_RULE
und KEYFRAME_RULE
verwenden.
Entfernungsabsicht | Chromestatus-Tracker | Chromium-Fehler
Benutzeroberfläche
Für „beforeunload“-Dialogfelder eine Nutzergeste verlangen
Ab Chrome 60 wird das beforeunload
-Dialogfeld nur dann angezeigt, wenn der Frame
angezeigt wird, die eine Nutzergeste oder -interaktion erhalten hat (oder
jeder eingebettete Frame eine solche Geste erhalten hat). Dies ist keine
Änderung der Weiterleitung des Ereignisses beforeunload
. Es handelt sich lediglich um eine Änderung
ob das Dialogfeld angezeigt wird.
Das Dialogfeld beforeunload
ist ein App-modales Dialogfeld. Daher ist es von Natur aus
nutzerfeindlich, d. h. sie reagiert auf die Navigation, indem die
zu entscheiden. Diese Funktion hat verschiedene Vorteile. Zum Beispiel wird es häufig verwendet,
um Nutzer zu warnen, wenn sie beim Navigieren Daten verlieren.
Die Möglichkeit, auf einer Seite Text für das Dialogfeld beforeunload
anzugeben,
beforeunload
Dialogfelder weiterhin ein Risiko für Missbrauch sind. In
beforeunload
-Dialogfelder sind eine Zutat für betrügerische Websites, auf denen
die automatische Wiedergabe von Audioinhalten und Drohungen bieten einen Kontext, in dem Chromium
"Möchten Sie diese Seite wirklich verlassen?" wird Ihre Nachricht besorgniserregend.
Wir wollen die Nadel einfädeln und die beforeunload
nur gut nutzen
Dialogfeld. Das Dialogfeld eignet sich gut, wenn der Nutzer über Statusmeldungen verfügt, die möglicherweise
verloren. Wenn der Nutzer nie mit der Seite interagiert hat, darf er keine
die verloren gehen könnten. Daher riskieren wir kein Risiko des Verlusts von Nutzerdaten
indem Sie das Dialogfeld
in diesem Fall unterdrücken.