Das Unternehmen Google hat die Veröffentlichung des Web-Browsers Chrome 89 angekündigt. Gleichzeitig steht die stabile Version des freien Projekts Chromium zur Verfügung, auf dem Chrome basiert. Der Chrome-Browser unterscheidet sich durch die Verwendung von Google-Logos, ein System zur Benachrichtigung im Falle eines Absturzes, Module zur Wiedergabe von geschützten Videoinhalten (DRM), ein automatisches Update-System und die Übertragung von RLZ-Parametern bei der Suche. Die nächste Version Chrome 90 ist für den 13. April geplant.
Die wichtigsten Änderungen in Chrome 89:
- Die Chrome-Version für Android kann nun nur noch auf Play Protect-zertifizierten Geräten ausgeführt werden. In virtuellen Maschinen und Emulatoren kann Chrome für Android verwendet werden, wenn ein zulässiges Gerät emuliert wird oder der Emulator von Google entwickelt wurde. Der Zertifizierungsstatus eines Geräts kann in der Google Play-App im Einstellungsbereich überprüft werden (auf der Einstellungsseite wird ganz unten der Status „Play Protect-Zertifizierung“ angezeigt). Für nicht-zertifizierte Geräte, beispielsweise bei Verwendung von Drittanbieter-Firmware, wird den Nutzern vorgeschlagen, ihre Geräte zu registrieren, um Chrome auszuführen.
- Für einen kleinen Prozentsatz der Nutzer wird die Standardöffnung von Websites über HTTPS beim Eingeben von Hostnamen in die Adresszeile aktiviert. Beispielsweise wird bei Eingabe des Hosts example.com standardmäßig die Website https://example.com geöffnet, und wenn es beim Öffnen Probleme gibt, erfolgt ein Rückfall auf http://example.com. Für die Verwaltung der Standardnutzung von „https://“ wurde die Einstellung „chrome://flags#omnibox-default-typed-navigations-to-https“ angeboten.
- Die Unterstützung von Profilen wurde aktiviert, die es verschiedenen Benutzern ermöglichen, ihre Konten in einem einzigen Browser zu trennen. Mit Profilen können beispielsweise Familienmitglieder den Zugriff organisieren oder Sitzungen für berufliche und private Interessen aufteilen. Benutzer können ein neues Chrome-Profil erstellen und dessen Aktivierung beim Anmelden bei einem bestimmten Google-Konto konfigurieren, was es verschiedenen Benutzern ermöglicht, Lesezeichen, Einstellungen und den Verlauf zu teilen. Beim Versuch, sich in ein Konto einzuloggen, das einem anderen Profil zugeordnet ist, wird der Benutzer aufgefordert, zu diesem Profil zu wechseln. Wenn ein Benutzer mehreren Profilen zugeordnet ist, hat er die Möglichkeit, das gewünschte Profil auszuwählen. Es besteht die Möglichkeit, verschiedenen Profilen eigene Farbschemata zur visuellen Trennung der Benutzer zuzuordnen.

- Es wurde die Anzeige von Vorschaubildern des Inhalts aktiviert, wenn der Mauszeiger über die Tabs in der oberen Leiste bewegt wird. Zuvor war die Vorschau des Tabinhalts standardmäßig deaktiviert und erforderte eine Änderung der Einstellung „chrome://flags/#tab-hover-cards“.

- Für einen Teil der Benutzer ist die Funktion „Leseliste“ (Reading List, „chrome://flags#read-later“) aktiviert, wodurch beim Klicken auf das Sternchen in der Adresszeile neben der Schaltfläche „Lesezeichen hinzufügen“ eine zweite Schaltfläche „Zur Leseliste hinzufügen“ erscheint. In der oberen rechten Ecke der Lesezeichenleiste wird ein Menü „Leseliste“ angezeigt, in dem alle zuvor zur Liste hinzugefügten Seiten aufgeführt sind. Wenn eine Seite aus der Liste geöffnet wird, wird sie als gelesen markiert. Seiten in der Liste können ebenfalls manuell als gelesen oder ungelesen markiert oder aus der Liste entfernt werden.

- Benutzern, die in ein Google-Konto eingeloggt sind und ohne aktivierte Chrome-Synchronisierung, wurde der Zugriff auf Zahlungsmethoden und Passwörter ermöglicht, die im Google-Konto gespeichert sind. Diese Funktion ist für einen Teil der Benutzer aktiviert und wird schrittweise für die übrigen verfügbar gemacht.
- Die Unterstützung für die Schnellersuchfunktion für Tabs wurde aktiviert, die zuvor eine Aktivierung über das Flag „chrome://flags/#enable-tab-search“ erforderte. Der Benutzer kann eine Liste aller geöffneten Tabs einsehen und den gewünschten Tab schnell filtern, unabhängig davon, ob er sich im aktuellen oder in einem anderen Fenster befindet.

- Die Verarbeitung der Eingabe einzelner Wörter in der Adresszeile wurde für alle Benutzer eingestellt, um zu verhindern, dass interne Websites geöffnet werden. Zuvor versuchte der Browser bei der Eingabe eines einzelnen Wortes in der Adresszeile zunächst DNS zu überprüfen, um festzustellen, ob ein Host mit diesem Namen vorhanden ist, in der Annahme, dass der Benutzer versucht, eine Subdomäne zu öffnen, und leitete die Anfrage dann an die Suchmaschine weiter. Auf diese Weise erhielt der Eigentümer des in den Benutzereinstellungen angegebenen DNS-Servers Informationen über Suchanfragen, die aus einem einzelnen Wort bestanden, was als Verletzung der Privatsphäre betrachtet wurde. Für Unternehmen, die Internet-Hosts ohne Subdomäne (z. B. „https://helpdesk/“) verwenden, wurde die Option angeboten, das alte Verhalten wiederherzustellen.
- Es wurde die Möglichkeit zur Festlegung einer Version von Erweiterungen oder Anwendungen bereitgestellt. Beispielsweise kann der Administrator mithilfe der neuen Richtlinie ExtensionSettings Chrome so konfigurieren, dass nur geprüfte Erweiterungen in einem Unternehmen verwendet werden, indem er eine eigene URL für das Laden von Updates anstelle der im Manifest der Erweiterung angegebenen URL verwendet.
- Auf x86-Systemen ist jetzt die Unterstützung des SSE3-Befehlsatzes durch die CPU für die Verwendung des Browsers erforderlich, der von Intel-Prozessoren seit 2003 und von AMD seit 2005 unterstützt wird.
- Zusätzliche APIs wurden hinzugefügt, die darauf abzielen, Funktionen bereitzustellen, die Drittanbieter-Cookies ersetzen können, die zur Verfolgung der Nutzerbewegungen zwischen Websites in Code von Werbenetzwerken, sozialen Netzwerk-Widgets und Web-Analyse-Systemen verwendet werden. Folgende APIs wurden für Tests vorgeschlagen:
- Trust Token zur Trennung von Benutzern ohne Verwendung von websitespezifischen Identifikatoren.
- First Party Sets – ermöglicht es verwandten Domains, sich als primär zu deklarieren, damit der Browser diese Verbindung bei intersite Anfragen berücksichtigen kann.
- Schemeful Same-Site für die Ausweitung des Konzepts ‘same-site’ auf verschiedene URL-Schemata, d.h. http://website.example und https://website.example werden bei intersite-Anfragen als eine Website behandelt.
- FLoC zur Bestimmung der Interessen des Benutzers ohne individuelle Identifizierung und ohne Bezug auf die Besuchshistorie bestimmter Websites.
- Conversion Measurement zur Bewertung der Aktivitäten des Benutzers nach dem Anklicken auf eine Werbung.
- User-Agent Client Hints zur Ersetzung des User-Agent und zur selektiven Bereitstellung von Daten zu spezifischen Browser- und Systemparametern (Version, Plattform usw.).
- Die Serial-API wurde hinzugefügt, die es Websites ermöglicht, Daten über einen seriellen Port zu lesen und zu schreiben. Der Grund für die Einführung dieser API ist die Möglichkeit, Webanwendungen zur direkten Steuerung von Geräten wie Mikrocontrollern und 3D-Druckern zu erstellen. Der Zugriff auf das Peripheriegerät erfordert eine ausdrückliche Genehmigung des Benutzers.
- Die WebHID-API wurde hinzugefügt, die einen Niedrigebene-Zugriff auf HID-Geräte (Human Interface Device, Tastaturen, Mäuse, Gamepads, Touch-Pads) ermöglicht. Damit kann die Logik zur Interaktion mit dem HID-Gerät in JavaScript realisiert werden, um mit seltenen HID-Geräten zu arbeiten, ohne spezifische Treiber im System zu haben. Die neue API zielt in erster Linie darauf ab, die Unterstützung für Gamepads bereitzustellen.
- Die Web NFC-API wurde hinzugefügt, die es Webanwendungen ermöglicht, NFC-Tags zu lesen und zu schreiben. Beispiele für die Anwendung dieser neuen API in Webanwendungen sind die Bereitstellung von Informationen über Museumsexponate, die Durchführung von Inventuren, das Abrufen von Informationen von Konferenzteilnehmerausweisen usw. Der Versand und das Scannen von Tags erfolgt mit den Objekten NDEFWriter und NDEFReader.
- Die Web Share-API (Objekt navigator.share) wurde über mobile Geräte hinaus ausgeweitet und ist jetzt auch für Benutzer von Desktop-Browsern verfügbar (vorerst nur für Windows und Chrome OS). Die Web Share-API bietet Mittel zum Austausch von Informationen in sozialen Netzwerken, z. B. ermöglicht sie die Erstellung eines einheitlichen Buttons für die Veröffentlichung in sozialen Netzwerken, die der Besucher nutzt, oder die Organisation des Versendens von Daten an andere Anwendungen.
- In den Android-Versionen und der WebView-Komponente wurde die Unterstützung für das Dekodieren des Bildformats AVIF (AV1 Image Format) eingeführt, das Technologien der intra-Frame-Kompression aus dem Video-Encoding-Format AV1 verwendet (in den Desktop-Versionen wurde die Unterstützung von AVIF bereits in Chrome 85 eingeführt). Der Container für die Verbreitung komprimierter Daten im AVIF-Format ist identisch mit HEIF. AVIF unterstützt sowohl Bilder im HDR (High Dynamic Range) und im Wide-Gamut-Farbraum als auch im Standard-Dynamikbereich (SDR).
- Eine neue Reporting-API wurde hinzugefügt, um Informationen über Verstöße gegen die Regeln für die sichere Nutzung auf der Seite mit privilegierten Operationen zu erhalten, die über den COOP-Header (Cross-Origin-Opener-Policy) festgelegt sind und die es auch ermöglicht, COOP in den Debugging-Modus zu versetzen, der ohne Blockierung von Regelverstößen funktioniert.
- Die Funktion performance.measureUserAgentSpecificMemory() wurde hinzugefügt, um die Größe des Speichers zu bestimmen, der bei der Verarbeitung der Seite verwendet wird.
- Um den Anforderungen des Webstandards zu entsprechen, werden alle URLs „data:“ jetzt als potenziell vertrauenswürdig behandelt, das heißt, sie sind Teil eines sicheren Kontexts.
- Die API Streams hat die Unterstützung für Byte-Streams hinzugefügt, die speziell für den effizienten Versand beliebiger Byte-Sets optimiert sind und die Anzahl der Kopiervorgänge mit den Daten minimieren. Der Ausgang des Streams kann in primitive Typen wie Strings oder ArrayBuffer geschrieben werden.
- In SVG-Elementen wurde die Unterstützung für die vollständige Syntax der Eigenschaft „filter“ implementiert, die es ermöglicht, gleichzeitig Funktionen wie blur(), sepia() und grayscale() auf SVG- und nicht-SVG-Elemente anzuwenden.
- In CSS wurde das Pseudo-Element „::target-text“ implementiert, das verwendet werden kann, um einen Abschnitt hervorzuheben, auf den durch einen Text (scroll-to-text) zugegriffen wurde, mit einem anderen Stil als dem, der vom Browser bei der Hervorhebung des Gefundenen verwendet wird.
- CSS-Eigenschaften zur Steuerung der Abrundung von Ecken wurden hinzugefügt: border-start-start-radius, border-start-end-radius, border-end-start-radius, border-end-end-radius.
- Die CSS-Eigenschaft forced-colors wurde hinzugefügt, um festzustellen, ob der Browser auf der Seite die benutzerdefinierte eingeschränkte Farbpalette anwendet.
- Das CSS-Property forced-color-adjust wurde hinzugefügt, um die erzwungene Farbbeschränkung für bestimmte Elemente zu deaktivieren und ihnen volle Farbsteuerungsmöglichkeiten über CSS zu bieten.
- In JavaScript ist es jetzt erlaubt, das Schlüsselwort await in Modulen auf oberster Ebene zu verwenden, was eine sanftere Integration asynchroner Aufrufe in den Modul-Ladeprozess ermöglicht, ohne in eine „async function“ eingepackt werden zu müssen. Beispielsweise kann jetzt anstelle von (async function() { await Promise.resolve(console.log(‘test’)); }()); einfach await Promise.resolve(console.log(‘test’)); geschrieben werden.
- Im JavaScript-Engine V8 wurde der Funktionsaufruf beschleunigt, wenn die Anzahl der übergebenen Argumente nicht mit den in der Funktion definierten Parametern übereinstimmt. Bei Abweichungen in der Anzahl der Argumente im Nicht-JIT-Modus stieg die Leistung um 11,2 %, und bei Verwendung von JIT TurboFan um 40 %.
- Eine große Anzahl kleiner Verbesserungen wurde in die Werkzeuge für Webentwickler aufgenommen.
Neben neuen Funktionen und Fehlerbehebungen wurden in der neuen Version 47 Sicherheitsanfälligkeiten behoben. Viele der Sicherheitsanfälligkeiten wurden durch automatisierte Tests mit den Werkzeugen AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer und AFL aufgedeckt. Kritische Probleme, die alle Schutzebenen des Browsers umgehen und Code außerhalb der Sandbox-Umgebung ausführen könnten, wurden nicht identifiziert. Es wird jedoch darauf hingewiesen, dass eine der behobenen Sicherheitsanfälligkeiten (CVE-2021-21166), die mit der Lebensdauer von Objekten im Audiounterstützungssystem verbunden ist, eine 0-Day-Problematik aufweist und vor der Behebung in einem der Exploits verwendet wurde. Im Rahmen des Programms zur Vergütung von Entdeckungen von Sicherheitsanfälligkeiten für die aktuelle Version hat Google insgesamt 33 Prämien in Höhe von 61.000 US-Dollar ausgezahlt (zwei Prämien über 10.000 US-Dollar, zwei über 7.500 US-Dollar, drei über 5.000 US-Dollar, zwei über 3.000 US-Dollar, vier über 1.000 US-Dollar und zwei über 500 US-Dollar). Die Höhe von 18 Prämien wurde bislang nicht festgelegt.
Quelle: opennet.ru




