In fast jeder Version von Chrome gibt es eine beträchtliche Anzahl von Updates und Verbesserungen des Produkts, seiner Leistung und auch der Funktionen der Web-Plattform. In diesem Artikel werden die Einstellungen in Chrome 58 beschrieben, die sich seit dem 16. März in der Betaphase befinden. Diese Liste kann sich jederzeit ändern.
Die Maus unter Android stoppt das Auslösen von TouchEvents
Bis Chrome 57 folgten Low-Level-Mausereignisse von Android in Chrome in erster Linie einem Ereignispfad, der für Touch-Interaktionen vorgesehen ist. Beispielsweise wird durch eine Mausbewegung beim Drücken einer Maustaste MotionEvents
generiert, die über View.onTouchEvent
ausgeliefert wird.
Da bei Touch-Ereignissen jedoch das Bewegen des Mauszeigers nicht unterstützt wird, folgten Mausbewegungen bei Mausbewegungen einem separaten Pfad. Das Design hatte viele Nebeneffekte, darunter Mausinteraktionen, die TouchEvents
auslösen, alle Maustasten als linke Maustaste angezeigt und MouseEvents
durch TouchEvents
unterdrückt wurden.
Ab Chrome 58 gilt für eine Maus unter Android M oder höher:
- „
TouchEvents
“ nicht mehr auslösen. - Lösen Sie eine konsistente Abfolge von
MouseEvents
mit entsprechenden Schaltflächen und anderen Eigenschaften aus.
Entfernungsabsicht | Chromestatus-Tracker | Chromium-Fehler
Abgleich ohne Berücksichtigung der Groß-/Kleinschreibung für das Attribut „usemap“ entfernen
Für das Attribut usemap
wurde zuvor die Groß-/Kleinschreibung definiert. Leider war die Implementierung so kompliziert, dass sie von keinem Browser korrekt implementiert wurde. Untersuchungen schlugen vor, dass ein so komplizierter Algorithmus unnötig ist und selbst kein Abgleich ohne Berücksichtigung der Groß- und Kleinschreibung in ASCII erforderlich ist.
Aus diesem Grund wurde die Spezifikation aktualisiert, sodass die Groß-/Kleinschreibung berücksichtigt wird. Das bisherige Verhalten wurde in Chrome 57 eingestellt und ist jetzt entfernt.
Entfernungsabsicht | Chromestatus-Tracker | Chromium-Fehler
Von Inhalten initiierte Navigationen im oberen Frame zu Daten-URLs entfernen
Da sie mit nicht-technischen Browsern nicht vertraut sind, wird das data:
-Schema zunehmend für Spoofing- und Phishing-Angriffe verwendet. Um dies zu verhindern, blockieren wir Webseiten am Laden von data:
-URLs im oberen Frame. Dies gilt für <a>
-Tags, window.open
, window.location
und ähnliche Mechanismen. Das Schema data:
funktioniert weiterhin für Ressourcen, die unten von einer Seite geladen werden.
Diese Funktion wird in Chrome 60 entfernt.
Entfernungsabsicht | Chromestatus-Tracker | Chromium-Fehler
Veraltete Namen für Bewegungspfadeigenschaften entfernen
Mit den CSS-Eigenschaften des Bewegungspfads können Autoren jedes grafische Objekt entlang eines vom Autor angegebenen Pfads animieren. In Übereinstimmung mit der Spezifikation wurden mehrere Attribute in Chrome 45 implementiert. Die Namen dieser Unterkünfte wurden Mitte 2016 in der Spezifikation geändert. Die neuen Namen wurden in Chrome 55 und Chrome 56 implementiert. Außerdem wurden Warnungen zur Einstellung 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 |
---|---|
Bewegungspfad | Offset-Pfad |
Bewegungs-Offset | Offset-Abstand |
Bewegungsrotation | Versatz-Drehung |
Bewegung | kompensiert |
EME aus nicht sicheren Kontexten entfernen
Einige Verwendungen von Encrypted Media Extensions (EME) stellen Implementierungen der digitalen Rechteverwaltung bereit, die nicht Open Source sind, Zugriff auf persistente eindeutige Kennungen beinhalten und/oder ohne Sandbox oder mit privilegiertem Zugriff ausgeführt werden. Für Websites, die über nicht sicheres HTTP zugänglich sind, sind die Sicherheitsrisiken höher, da sie von allen Nutzern des Kanals angegriffen werden können. Wenn die Nutzereinwilligung erforderlich ist, kann die Zustimmung für eine nicht sichere HTTP-Website außerdem von einem solchen Angreifer ausgenutzt werden.
Die Unterstützung für unsichere Kontexte wurde aus der Spezifikation von EME Version 1 entfernt und wird in der vorgeschlagenen Empfehlung nicht unterstützt und wird auch nicht in der nachfolgenden Empfehlung oder in der nachfolgenden abschließenden Empfehlung erwartet. Seit Chrome 44 (Mai 2015) wird bei der API für nicht sichere Ursprünge eine entsprechende Meldung angezeigt. In Chrome 58 wurde sie entfernt. Diese Änderung ist Teil unserer umfassenderen Bemühungen, leistungsstarke Features aus unsicheren Ursprüngen zu entfernen.
Entfernungsabsicht | Chromestatus-Tracker | Chromium-Fehler
Alten Aufrufer für HTMLEmbedElement und HTMLObjectElement entfernen
Da eine Schnittstelle einen Legacy-Aufrufer hat, kann eine Instanz als Funktion aufgerufen werden. Derzeit unterstützen HTMLEmbedElement
und HTMLObjectElement
diese Funktion. In Chrome 57 wurde diese Funktion eingestellt. Ab Chrome 58 wird durch den Aufruf
eine Ausnahme ausgelöst.
Diese Änderung passt Chrome an die letzten Spezifikationsänderungen an. Das bisherige Verhalten wird in Edge oder Safari nicht unterstützt und wird aus Firefox entfernt.
Entfernungsabsicht | Chromestatus-Tracker | Chromium-Fehler
Vorstandardmäßige ChaCha20-Poly1305-Chiffren entfernen
2013 wurden mit Chrome 31 neue TLS-Cipher Suites bereitgestellt, die auf den Algorithmen ChaCha20 und Poly1305 von Prof. Dan Bernstein basieren. Diese wurden später mit kleinen Anpassungen auf der IETF als RFC 7539 und RFC 7905 standardisiert. Wir haben die standardisierte Variante Anfang 2016 mit Chrome 49 veröffentlicht. Die voreingestellten Varianten werden jetzt entfernt.
Entfernungsabsicht | Chromestatus-Tracker | Chromium-Fehler
Unterstützung für den CommonName-Abgleich in Zertifikaten entfernen
In RFC 2818 werden zwei Methoden beschrieben, um einen Domainnamen mit einem Zertifikat abzugleichen: Verwendung der verfügbaren Namen innerhalb der Erweiterung subjectAlternativeName
oder, falls keine SAN-Erweiterung vorhanden ist, auf commonName
zurückgreifen. Das Fallback auf commonName
wurde in RFC 2818 (veröffentlicht im Jahr 2000) eingestellt. Einige TLS-Clients werden jedoch weiterhin unterstützt, oft fälschlicherweise.
Durch die Verwendung der subjectAlternativeName
-Felder ist klar, ob ein Zertifikat eine Bindung an eine IP-Adresse oder einen Domainnamen ausdrückt. Außerdem ist es in Bezug auf seine Interaktion mit Namenseinschränkungen vollständig definiert. Die commonName
ist jedoch mehrdeutig, sodass ihre Unterstützung eine Quelle von Sicherheitslücken in Chrome, den verwendeten Bibliotheken und dem TLS-System insgesamt war.
Das Kompatibilitätsrisiko beim Entfernen von commonName
ist gering. RFC 2818 hat dies seit fast zwei Jahrzehnten verworfen. Gemäß den Basisanforderungen, die alle öffentlich vertrauenswürdigen Zertifizierungsstellen einhalten müssen, ist seit 2012 das Vorhandensein einer subjectAltName
erforderlich. Seit Firefox 48 ist in Firefox bereits die subjectAltName
für neu ausgestellte öffentlich vertrauenswürdige Zertifikate erforderlich.
Entfernungsabsicht | Chromestatus-Tracker | Chromium-Fehler
VTTRegion-bezogene Bits von TextTrack
Die Oberflächenelemente regions
, addRegion()
und removeRegion()
wurden aus der WebVTT-Spezifikation entfernt und in Chrome 58 gemäß der aktuellen Spezifikation entfernt. Wir erwarten nur geringe Auswirkungen, da die Funktion nie standardmäßig aktiviert war, d. h. hinter einem Flag. Wenn du eine Alternative benötigst, kannst du das Attribut VTTCue.region
verwenden, das in Chrome 58 hinzugefügt wird.
Chromestatus-Tracker | Chromium-Programmfehler
WebAudio: AudioSourceNode-Schnittstelle entfernen
Die Schnittstelle AudioSourceNode
ist nicht Teil der Web Audio-Spezifikation, nicht konstruktiv und hat keine Attribute, also keine Funktionen, die für Entwickler zugänglich sind. Daher wird es entfernt.
Entfernungsabsicht | Chromestatus-Tracker | Chromium-Fehler
Globales Attribut „webkitdropzone“ entfernen
Das globale Attribut dropzone
wurde durch die HTML5-Drag-and-drop-Spezifikation eingeführt. Es dient dazu, die Bereitschaft eines HTML-Elements, Ziel eines Drag-and-drop-Vorgangs zu sein, die Inhaltstypen, die auf das Element eingefügt werden können, sowie den Drag-and-drop-Vorgang (Kopieren/Verschieben/Link) festzulegen.
Das Attribut kam bei den Browser-Anbietern nicht gut an. Blink und WebKit implementieren nur eine Präfixform des Attributs webkitdropzone
. Da das Attribut dropzone
Anfang März 2017 aus der Spezifikation entfernt wurde, wird die vorangestellte Version aus Chrome entfernt.
Entfernungsabsicht | Chromestatus-Tracker | Chromium-Fehler
Unsichere Nutzung von Benachrichtigungen einstellen
Benachrichtigungen sind eine leistungsstarke Funktion, da sie Websites ermöglichen, eine System-UI aufzurufen, um entweder private Informationen selbst zu übertragen oder zu signalisieren, dass private Informationen geändert wurden. Angreifer können alle Informationen ausspionieren oder stehlen, die über eine Benachrichtigung über eine unsichere Verbindung gesendet werden. Web-Push erfordert einen sicheren Ursprung. Durch diese Änderung werden also Nicht-Push-Benachrichtigungen auf Push-Benachrichtigungen abgestimmt. Diese Änderung ist Teil unserer umfassenderen Bemühungen, leistungsstarke Features aus unsicheren Ursprüngen zu entfernen.
Entfernungsabsicht | Chromestatus-Tracker | Chromium-Fehler
Verwendung von Benachrichtigungen von unsicheren iFrames einstellen
Berechtigungsanfragen von iFrames können Nutzer verwirren, da es schwierig ist, zwischen dem Ursprung der entsprechenden Seite und dem Ursprung des iFrames zu unterscheiden, von dem die Anfrage stammt. Wenn der Umfang der Anfragen unklar ist, können Nutzer nur schwer beurteilen, ob sie die Berechtigung erteilen oder verweigern.
Wenn Benachrichtigungen in iFrames nicht zugelassen werden, werden auch die Anforderungen für die Berechtigung zum Senden von Benachrichtigungen mit denen für Push-Benachrichtigungen angeglichen, was die Abläufe für Entwickler vereinfacht.
Entwickler, die diese Funktion benötigen, können ein neues Fenster öffnen, um die Berechtigung zum Senden von Benachrichtigungen anzufordern.
Diese Funktion wird in Chrome 62 entfernt.
Entfernungsabsicht | Chromestatus-Tracker | Chromium-Fehler
indexDB.webkitGetDatabaseNames() entfernen
Wir haben diese Funktion hinzugefügt, als Indexed DB in Chrome noch relativ neu war, und Präfixe waren der Wahnsinn. Die API gibt asynchron eine Liste vorhandener Datenbanknamen in einem Ursprung zurück, was sinnvoll genug erschien.
Leider ist das Design fehlerhaft, da die Ergebnisse möglicherweise veraltet sind, sobald sie zurückgegeben werden, sodass sie wirklich nur für Logging und nicht für ernsthafte Anwendungslogik verwendet werden können. Das GitHub-Problem enthält Links zu früheren Diskussionen über Alternativen, für die ein anderer Ansatz erforderlich ist. Entwickler haben immer wieder das Interesse, aber angesichts des Mangels an browserübergreifendem Fortschritt haben Bibliotheksautoren dieses Problem bereits umgangen.
Entwickler, die diese Funktion benötigen, müssen eine 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 verfolgen.
Diese Funktion ist in Chrome 60 nicht mehr verfügbar.