Einstellungen und Entfernungen in Chrome 60

Joe Medley
Joe Medley

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.

Chromium-Programmfehler

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.

Chromium-Programmfehler

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.