Einstellung und Entfernung in Chrome 58

Joe Medley
Joe Medley

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

Zu entfernende Absicht

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

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.

Abzustufen | Chromestatus-Tracker | Chromium-Fehler