Bei fast jeder Chrome-Version gibt es eine große Anzahl von Updates und Verbesserungen am Produkt, an seiner Leistung und auch an den Funktionen der Webplattform. In diesem Artikel werden die Einstellung und Entfernung von Funktionen in Chrome 58 beschrieben, die seit dem 16. März in der Betaphase ist. Diese Liste kann sich jederzeit ändern.
Maus auf Android löst keine Touch-Ereignisse mehr aus
Bis Chrome 57 folgten Android-Maus-Ereignisse auf niedriger Ebene in Chrome hauptsächlich einem Ereignispfad, der für Touch-Interaktionen entwickelt wurde. Wenn Sie beispielsweise die Maus bewegen, während eine Maustaste gedrückt wird, wird MotionEvents
generiert und über View.onTouchEvent
gesendet.
Da Touch-Ereignisse jedoch kein Hovering unterstützen, folgten Mausbewegungen beim Hovering einem separaten Pfad. Das Design hatte viele Nebenwirkungen, darunter das Auslösen von TouchEvents
durch Mausinteraktionen, das Erscheinen aller Maustasten als linke Maustasten und das Unterdrücken von MouseEvents
durch TouchEvents
.
Ab Chrome 58 können Sie mit einer Maus unter Android M oder höher Folgendes tun:
TouchEvents
wird nicht mehr gesendet.- Eine konsistente Abfolge von
MouseEvents
mit entsprechenden Schaltflächen und anderen Properties auslösen.
Entfernung geplant | Chromestatus-Tracker | Chromium-Fehler
Groß- und Kleinschreibung beim Attribut „usemap“ ignorieren
Das usemap
-Attribut wurde früher als groß- und kleinschreibungsempfindlich definiert. Leider war die Implementierung so kompliziert, dass sie von keinem Browser richtig implementiert wurde. Studien haben gezeigt, dass ein so komplizierter Algorithmus nicht erforderlich ist und selbst das ASCII-Abgleich ohne Berücksichtigung der Groß- und Kleinschreibung unnötig ist.
Daher wurde die Spezifikation aktualisiert, sodass die Groß- und Kleinschreibung beim Abgleich berücksichtigt wird. Das alte Verhalten wurde in Chrome 57 eingestellt und ist jetzt entfernt.
Entfernung geplant | Chromestatus-Tracker | Chromium-Fehler
Vom Inhalt initiierte Navigationen im oberen Frame zu Daten-URLs entfernen
Da nicht technisch versierte Browsernutzer das data:
-Schema nicht kennen, wird es immer häufiger bei Spoofing- und Phishing-Angriffen verwendet. Um dies zu verhindern, blockieren wir das Laden von data:
-URLs auf Webseiten im oberen Frame. Das gilt für <a>
-Tags, window.open
, window.location
und ähnliche Mechanismen. Das data:
-Schema funktioniert weiterhin für Ressourcen, die von einer Seite unten geladen werden.
Diese Funktion wird in Chrome 60 entfernt.
Entfernung geplant | Chromestatus-Tracker | Chromium-Fehler
Einstellung von nicht mehr unterstützten Namen für Bewegungspfadeigenschaften
Mit den CSS-Properties für Bewegungspfade können Autoren beliebige grafische Objekte entlang eines vom Autor angegebenen Pfades animieren. Gemäß der Spezifikation wurden mehrere Properties in Chrome 45 implementiert. Die Namen dieser Properties wurden Mitte 2016 in der Spezifikation geändert. Die neuen Namen wurden in Chrome 55 und Chrome 56 eingeführt. Außerdem wurden Warnungen zur Einstellung von Funktionen in der Console implementiert.
In Chrome 58 werden die alten Property-Namen entfernt. Die betroffenen Properties und ihre neuen Namen sind unten aufgeführt.
Entfernte Property | Aktueller Name |
---|---|
motion-path | offset-path |
motion-offset | offset-distance |
motion-rotation | offset-rotate |
Bewegung | kompensiert |
EME aus nicht sicheren Kontexten entfernen
Bei einigen Verwendungen von Encrypted Media Extensions (EME) werden Implementierungen der digitalen Rechteverwaltung offengelegt, die nicht Open Source sind, Zugriff auf persistente eindeutige Kennungen erfordern und/oder ohne Sandbox oder mit privilegiertem Zugriff ausgeführt werden. Die Sicherheitsrisiken für Websites, die über nicht sicheres HTTP freigegeben werden, sind höher, da sie von jedem Nutzer des Kanals angegriffen werden können. Wenn außerdem die Nutzereinwilligung erforderlich ist, kann die Einwilligung für eine nicht sichere HTTP-Website von einem solchen Angreifer ausgenutzt werden.
Die Unterstützung für nicht sichere Kontexte wurde aus der EME-Version 1-Spezifikation entfernt und wird weder in der vorgeschlagenen Empfehlung noch in der nachfolgenden endgültigen Empfehlung unterstützt. Seit Chrome 44 (Mai 2015) wird bei der API eine Meldung zur Einstellung für nicht sichere Ursprünge angezeigt. In Chrome 58 wurde es entfernt. Diese Änderung ist Teil unserer Bemühungen, leistungsstarke Funktionen aus unsicheren Quellen zu entfernen.
Entfernung geplant | Chromestatus-Tracker | Chromium-Fehler
Alten Aufrufer für HTMLEmbedElement und HTMLObjectElement entfernen
Wenn eine Schnittstelle einen Legacy-Caller hat, kann eine Instanz als Funktion aufgerufen werden. Derzeit wird diese Funktion von HTMLEmbedElement
und HTMLObjectElement
unterstützt. In Chrome 57 wurde diese Funktion eingestellt. Ab Chrome 58 wird beim Aufrufen eine Ausnahme ausgelöst.
Durch diese Änderung wird Chrome an die aktuellen Spezifikationsänderungen angepasst. Das alte Verhalten wird in Edge oder Safari nicht unterstützt und wird aus Firefox entfernt.
Entfernung geplant | Chromestatus-Tracker | Chromium-Fehler
Vor dem Standard eingeführte ChaCha20-Poly1305-Chiffren entfernen
2013 wurden in Chrome 31 neue TLS-Chiffrensuites eingeführt, die auf den ChaCha20- und Poly1305-Algorithmen von Prof. Dan Bernstein basieren. Diese wurden später mit kleinen Änderungen von der IETF als RFC 7539 und RFC 7905 standardisiert. Die standardisierte Variante wurde Anfang 2016 mit Chrome 49 eingeführt. Wir entfernen jetzt die Varianten, die vor der Einführung des Standards verfügbar waren.
Entfernung geplant | Chromestatus-Tracker | Chromium-Fehler
Unterstützung für die Übereinstimmung des commonName-Attributs in Zertifikaten entfernen
RFC 2818 beschreibt zwei Methoden zum Abgleich eines Domainnamens mit einem Zertifikat: die Verwendung der verfügbaren Namen in der subjectAlternativeName
-Erweiterung oder, falls keine SAN-Erweiterung vorhanden ist, der Rückgriff auf die commonName
. Der Rückfall auf die commonName
wurde in RFC 2818 (veröffentlicht 2000) eingestellt, wird aber in einer Reihe von TLS-Clients weiterhin unterstützt, oft fälschlicherweise.
Durch die Verwendung der subjectAlternativeName
-Felder ist eindeutig erkennbar, ob ein Zertifikat eine Bindung an eine IP-Adresse oder einen Domainnamen darstellt, und es ist vollständig in Bezug auf die Interaktion mit Namensbeschränkungen definiert. Die commonName
ist jedoch mehrdeutig und daher war die Unterstützung dafür eine Quelle für Sicherheitslücken in Chrome, den verwendeten Bibliotheken und im gesamten TLS-System.
Das Kompatibilitätsrisiko beim Entfernen von commonName
ist gering. RFC 2818 hat dies vor fast zwei Jahrzehnten eingestellt und die Grundanforderungen, die alle öffentlich vertrauenswürdigen Zertifizierungsstellen einhalten müssen, erfordern seit 2012 die Angabe einer subjectAltName
. In Firefox ist die subjectAltName
bereits seit Firefox 48 für alle neu ausgestellten öffentlich vertrauenswürdigen Zertifikate erforderlich.
Entfernung geplant | Chromestatus-Tracker | Chromium-Fehler
Mit VTTRegion verbundene TextTrack-Bits
Die Benutzeroberflächenelemente regions
, addRegion()
und removeRegion()
wurden aus der WebVTT-Spezifikation entfernt und werden in Chrome 58 entfernt, um der aktuellen Spezifikation zu entsprechen. Wir gehen davon aus, dass sich diese Entfernung kaum auswirken wird, da die Funktion nie standardmäßig aktiviert war (d. h., sie war durch ein Flag geschützt). Als Alternative können Sie die Property VTTCue.region
verwenden, die in Chrome 58 hinzugefügt wird.
Chromestatus-Tracker | Chromium-Fehler
WebAudio: AudioSourceNode-Schnittstelle entfernen
Die AudioSourceNode
-Schnittstelle ist nicht Teil der Web Audio-Spezifikation, kann nicht erstellt werden und hat keine Attribute. Sie bietet also praktisch keine für Entwickler zugänglichen Funktionen. Deshalb wird es entfernt.
Entfernung geplant | Chromestatus-Tracker | Chromium-Fehler
Globales Attribut „webkitdropzone“ entfernen
Das globale dropzone
-Attribut wurde in der HTML5-Drag-and-drop-Spezifikation als deklarative Methode eingeführt, um anzugeben, ob ein HTML-Element das Ziel eines Drag-and-drop-Vorgangs sein kann, welche Inhaltstypen auf das Element abgelegt werden können und welche Art von Drag-and-drop-Vorgang (Kopieren/Verschieben/Verknüpfen) verwendet werden soll.
Das Attribut konnte bei Browseranbietern nicht Fuß fassen. Blink und WebKit implementieren nur eine Variante des Attributs mit Präfix: webkitdropzone
. Da das Attribut dropzone
Anfang März 2017 aus der Spezifikation entfernt wurde, wird die Version mit Präfix aus Chrome entfernt.
Entfernung geplant | Chromestatus-Tracker | Chromium-Fehler
Unsichere Verwendung von Benachrichtigungen einschränken
Benachrichtigungen sind eine leistungsstarke Funktion, da Websites damit eine System-UI aufrufen können, um entweder personenbezogene Daten selbst oder ein Signal zu übertragen, dass personenbezogene Daten geändert wurden. Angreifer können Informationen, die über eine unsichere Verbindung in einer Benachrichtigung gesendet werden, abfangen oder stehlen. Für Web-Push-Benachrichtigungen ist ein sicherer Ursprung erforderlich. Durch diese Änderung werden nicht-Push-Benachrichtigungen mit Push-Benachrichtigungen abgeglichen. Diese Änderung ist Teil unserer Bemühungen, leistungsstarke Funktionen aus unsicheren Quellen zu entfernen.
Entfernung geplant | Chromestatus-Tracker | Chromium-Fehler
Verwendung von Benachrichtigungen aus unsicheren Iframes eingestellt
Berechtigungsanfragen von Iframes können Nutzer verwirren, da es schwierig ist, zwischen der Herkunft der enthaltenen Seite und der Herkunft des Iframes zu unterscheiden, über den die Anfrage erfolgt. Wenn der Umfang der Anfrage unklar ist, können Nutzer nur schwer beurteilen, ob sie die Berechtigung erteilen oder verweigern sollen.
Durch das Verbot von Benachrichtigungen in Iframes werden auch die Anforderungen an die Berechtigung für Benachrichtigungen an die Anforderungen für Push-Benachrichtigungen angepasst, was die Nutzung für Entwickler erleichtert.
Entwickler, die diese Funktion benötigen, können ein neues Fenster öffnen, um die Berechtigung für Benachrichtigungen anzufordern.
Die Funktion wird in Chrome 62 entfernt.
Entfernung geplant | Chromestatus-Tracker | Chromium-Fehler
indexedDB.webkitGetDatabaseNames() entfernen
Wir haben diese Funktion hinzugefügt, als die Indexierte Datenbank noch relativ neu in Chrome war und Präfixe sehr beliebt waren. Die API gibt asynchron eine Liste der vorhandenen Datenbanknamen in einem Ursprung zurück, was sinnvoll erschien.
Leider ist das Design fehlerhaft, da die Ergebnisse möglicherweise schon veraltet sind, sobald sie zurückgegeben werden. Daher kann es nur für die Protokollierung, nicht aber für eine ernsthafte Anwendungslogik verwendet werden. Das GitHub-Problem enthält Verweise auf frühere Diskussionen zu Alternativen, die einen anderen Ansatz erfordern würden. Es gab zwar immer wieder mal Interesse von Entwicklern, aber aufgrund der mangelnden browserübergreifenden Fortschritte wurde das Problem von Bibliotheksautoren umgangen.
Entwickler, die diese Funktion benötigen, müssen ihre eigene Lösung entwickeln. Bibliotheken wie Dexie.js verwenden beispielsweise eine globale Tabelle, die selbst eine weitere Datenbank ist, um die Namen von Datenbanken zu erfassen.
Diese Funktion wurde in Chrome 60 entfernt.
Beabsichtigte Einstellung | Chrome-Status-Tracker | Chromium-Fehler