API-Einstellungen und -Entfernungen in Chrome 57

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 57 beschrieben. die seit Anfang Februar in der Betaphase ist. Diese Liste kann sich jederzeit ändern. .

Entfernen des BluetoothDevice.uuids-Attributs

Das Attribut BluetoothDevice.uuids wird entfernt, Web Bluetooth API in mit der aktuellen Spezifikation. Sie können alle zulässigen GATT-Dienste abrufen, indem Sie folgenden Befehl aufrufen: device.getPrimaryServices().

Chromium-Programmfehler

Schlüsselgenerierungselement entfernen

Seit Chrome 49 gibt <keygen> standardmäßig das leere Feld String, es sei denn, dieser Seite wurde eine Berechtigung erteilt. IE/Edge unterstützt keine <keygen> und haben keine öffentlichen Signale zur Unterstützung von <keygen> angegeben. Firefox blendet <keygen> bereits hinter einer Nutzergeste ein, wird aber öffentlich das Entfernen unterstützt. Safari versendet <keygen> und hat nicht ausgedrückt der Öffentlichkeit zu seiner anhaltenden Unterstützung zu. Bei Chrome 57 wird dieses Element wird entfernt.

Entfernungsabsicht | Chromestatus-Tracker | Chromium-Fehler

Entfernen der API für die Ressourcenzeitspeicherverwaltung mit Präfix

Zwei Methoden und der Event-Handler webkitClearResourceTimings() webkitSetResourceTimingBufferSize() und onwebkitresourcetimingbufferfull veraltet und anbieterspezifisch sind. Die Standardversionen dieser APIs werden seit Chrome 46 unterstützt und die Funktionen mit dem Präfix auch in dieser Version eingestellt werden. Diese Funktionen wurden ursprünglich implementiert, aber Safari hat sie nicht aktiviert. Firefox, IE 10+ und Edge haben nur eine Version der API ohne Präfix. Daher sind die webkit-Versionen werden entfernt.

Entfernungsabsicht | Chromestatus-Tracker | Chromium-Fehler

Entfernen von ServiceWorkerMessageEvent zugunsten der Verwendung von MessageEvent

In der HTML-Spezifikation wurde MessageEvent erweitert, sodass ServiceWorker als Typ für source-Attribut. client.postMessage() und Erstellung einer benutzerdefinierten Nachricht werden geändert, sodass MessageEvent anstelle von ServiceWorkerMessageEvent verwendet wird. ServiceWorkerMessageEvent wurde entfernt.

Entfernungsabsicht | Chromestatus-Tracker | Chromium-Fehler

Globale IndexedDB-Aliasse mit webkit-Präfix entfernen

Der Einstiegspunkt IndexedDB und die globalen Konstruktoren wurden mit webkit verfügbar gemacht irgendwo um Chrome 11 herum. Die Versionen ohne Präfix wurden Chrome 24 und die mit dem Präfix versehenen Versionen wurden in Chrome 38 eingestellt. Die folgende Schnittstellen sind betroffen:

  • webkitIndexedDB (Haupteinstiegspunkt)
  • webkitIDBKeyRange (nicht aufrufbarer globaler Konstruktor, hat aber nützliche statische Methoden)
  • webkitIDBCursor
  • webkitIDBDatabase
  • webkitIDBFactory
  • webkitIDBIndex
  • webkitIDBObjectStore
  • webkitIDBRequest
  • webkitIDBTransaction (nicht aufrufbare globale Konstruktoren)

Entfernungsabsicht | Chromestatus-Tracker | Chromium-Fehler

WebAudio: Präfix „AudioContext“ und „OfflineAudioContext“ entfernen

Chrome unterstützt WebAudio seit Mitte 2011, einschließlich AudioContext. OfflineAudioContext wurde im folgenden Jahr hinzugefügt. Unter Berücksichtigung der Dauer werden unterstützt. Langfristig hat Google das Ziel, Präfixe sind die Versionen mit Präfix dieser Schnittstellen veraltet, seitdem und werden nun entfernt.

Entfernungsabsicht | Chromestatus-Tracker | Chromium-Fehler

„webkitCancelRequestAnimationFrame“ einstellen und entfernen

Die Methode webkitCancelRequestAnimationFrame() ist eine veraltete, anbieterspezifische API und der Standard-cancelAnimationFrame() in Chromium unterstützt wird. Daher wird die webkit-Version entfernt.

Entfernungsabsicht | Chromestatus-Tracker | Chromium-Fehler

Abgleich von Groß- und Kleinschreibung für „usemap“-Attribut einstellen

Für das Attribut usemap wurde zuvor die Groß-/Kleinschreibung angegeben. Leider Die Implementierung war so kompliziert, dass sie in keinem Browser implementiert wurde. korrekt sind. Studien deuten darauf hin, dass ein so komplizierter Algorithmus unnötig ist, und sogar ohne ASCII- Übereinstimmungen ohne Beachtung der Groß-/Kleinschreibung.

Daher wurde die Spezifikation aktualisiert, sodass Groß- und Kleinschreibung beim Abgleich angewendet. Das bisherige Verhalten wird in Chrome 57 eingestellt. Die Entfernung wird voraussichtlich in Chrome 58

Entfernungsabsicht | Chromestatus-Tracker | Chromium-Fehler

Einstellung von FileReaderSync in Service Workern

Die Service Worker-Spezifikation immer den (nicht normativen) Hinweis gegeben, dass „alle Art von synchronen Anfragen darf nicht innerhalb eines Dienstes initiiert werden Worker" verwenden, um den Service Worker nicht zu blockieren. Service Worker blockieren blockiert alle Netzwerkanfragen von kontrollierten Seiten. Leider hat das Die FileReaderSync API ist schon lange in Service Workern verfügbar.

Derzeit machen nur Firefox und Chrome FileReaderSync in Service Workern verfügbar. Es gibt eine Zustimmung von Firefox in der Diskussion der Spezifikationen dass dieses Problem behoben werden sollte. Sie wird voraussichtlich in Chrome 59 entfernt.

Entfernungsabsicht | Chromestatus-Tracker | Chromium-Fehler

Legacy-Aufrufer für HTMLEmbedElement und HTMLObjectElement wird eingestellt

Wenn eine Schnittstelle über einen Legacy-Aufrufer verfügt, kann eine Instanz als . Derzeit wird dies von HTMLEmbedElement und HTMLObjectElement unterstützt Funktionalität. In Chrome 57 wurde diese Funktion eingestellt. Nach dem Entfernen, wie in Chrome 58 erwartet wird, wird beim Aufrufen eine Ausnahme ausgelöst.

Durch diese Änderung entspricht Chrome den aktuellen Spezifikationsänderungen. Das bisherige Verhalten wird in Edge oder Safari nicht unterstützt aus Firefox entfernt wurden.

Entfernungsabsicht | Chromestatus-Tracker | Chromium-Fehler

RTCRtcpMuxPolicy der Einstellung „negotiation“ einstellen

Chrome verwendet die rtcpMuxPolicy, um die bevorzugte Richtlinie in Bezug auf RTP/RTCP-Multiplexing nutzen. In Chrome 57 haben wir die Standardeinstellung rtcpMuxPolicy in „require“ und die Einstellung „Verhandlungen“ aus folgenden Gründen:

  • Nicht gemuxtes RTCP verwendet zusätzliche Netzwerkressourcen.
  • „Verhandlungsgeschick“ wird entfernt vereinfacht die API-Oberfläche, &quot;RtpSender&quot;/&quot;RtpReceiver&quot; gibt es dann immer nur einen einzigen Transport.

In Chrome 57 können Sie wurde eingestellt. Wir glauben, dass dies eine absturzsichere Änderung ist, da der Nutzer eine Einstellungsmeldung erhält und RTCPeerConnection weiterhin erstellt werden. Sie wird in Chrome 63 entfernt.

Einstellungsabsicht | Chromium-Programmfehler

Unterstützung eingebetteter Anmeldedaten in Anfragen von Unterressourcen einstellen

Das Hartcodieren von Anmeldedaten in Anfragen von Unterressourcen ist problematisch da Hacker ihre Anmeldedaten in einem Brute-Force-Angriff in der Vergangenheit liegen. Diese Gefahren verschärft sich durch Anfragen von untergeordneten Ressourcen die in interne IP-Bereiche (Ihre Router usw.) übertragen werden. Angesichts der geringen Nutzung Diese (kleine) Sicherheitslücke zu schließen, scheint ziemlich vernünftig zu sein.

Entwickler können Ressourcen einbetten, die keine Basic-/Digest-Authentifizierung erfordern. auf Cookies und anderen Mechanismen zur Sitzungsverwaltung.

Entfernungsabsicht | Chromestatus-Tracker | Chromium-Fehler