Veröffentlichung von Chrome 105

Die Google GmbH hat die Veröffentlichung des Web-Browsers Chrome 105 vorgestellt. Gleichzeitig steht die stabile Version des Open-Source-Projekts Chromium zur Verfügung, auf dem Chrome basiert. Der Browser Chrome unterscheidet sich von Chromium durch die Verwendung von Google-Logos, das Vorhandensein eines Systems zur Benachrichtigung im Falle eines Absturzes, Module zur Wiedergabe von urheberrechtlich geschütztem Videoinhalt (DRM), ein automatisches Update-System, ständig aktivierte Sandbox-Isolierung, die Bereitstellung von Schlüsseln für die Google-API und die Übertragung von RLZ-Parametern bei der Suche. Für diejenigen, die mehr Zeit für die Aktualisierung benötigen, wird eine gesonderte Extended Stable-Version angeboten, die mit 8 Wochen Unterstützung einhergeht. Die nächste Veröffentlichung von Chrome 106 ist für den 27. September geplant.

Hauptänderungen in Chrome 105:

  • Die Unterstützung für spezielle Webanwendungen, die als Chrome-Apps bekannt sind, wurde eingestellt. Stattdessen wurden eigenständige Webanwendungen auf Basis von Progressive Web Apps (PWA) und standardisierten Web-APIs eingeführt. Ursprünglich kündigte Google im Jahr 2016 an, die Unterstützung für Chrome-Apps bis 2018 zu beenden, verschob diesen Plan jedoch später. Ab Chrome 105 wird beim Versuch, Chrome-Apps zu installieren, eine Warnung über die Beendigung der Unterstützung angezeigt, die Anwendungen selbst werden jedoch weiterhin ausgeführt. In Chrome 109 wird die Ausführung von Chrome-Apps deaktiviert.
  • Eine zusätzliche Isolierung des Rendering-Prozesses wurde implementiert. Dieser Prozess wird nun in einem zusätzlichen Container (App-Container) ausgeführt, der über dem bestehenden Sandbox-Isolationssystem realisiert wurde. Im Falle einer Ausnutzung einer Sicherheitsanfälligkeit im Rendering-Code verhindern die hinzugefügten Einschränkungen, dass ein Angreifer auf das Netzwerk zugreifen kann, da der Zugriff auf systembedingte Aufrufe, die mit Netzwerkfähigkeiten verbunden sind, untersagt ist.
  • Ein gemeinsames, einheitliches Speicher für die Root-Zertifikate der Zertifizierungsstellen (Chrome Root Store) wurde implementiert. Dieses neue Speicher ist derzeit noch nicht standardmäßig aktiviert, und bis die Implementierung abgeschlossen ist, werden die Zertifikate weiterhin unter Verwendung des betriebssystemspezifischen Speichers überprüft. Die getestete Lösung ähnelt dem Ansatz von Mozilla, welches ein separates unabhängiges Speicher für Root-Zertifikate für Firefox unterstützt, das als erster Schritt zur Überprüfung der Zertifizierungskette beim Öffnen von HTTPS-Webseiten verwendet wird.
  • Die Vorbereitungen zum Ende der Unterstützung des nicht standardisierten Web SQL API haben begonnen, das kaum verwendet wird und einer Überarbeitung zur Erfüllung moderner Sicherheitsanforderungen bedarf. In Chrome 105 ist der Zugriff auf Web SQL aus Code, der ohne HTTPS geladen wurde, nicht mehr erlaubt, und es wird eine Warnung zur Veraltung der Technologie in den DevTools ausgegeben. Für 2023 ist die geplante Entfernung des Web SQL API vorgesehen. Für Entwickler, die eine ähnliche Funktionalität benötigen, wird eine Alternative auf Basis von WebAssembly vorbereitet.
  • In Chrome wurde die Unterstützung für die Synchronisation mit Chrome 73 und früheren Versionen eingestellt.
  • Für die Plattformen macOS und Windows wurde ein integrierter Zertifikatsbetrachter aktiviert, der den Aufruf der systemeigenen Schnittstelle ersetzt. Zuvor wurde der integrierte Betrachter nur in den Versionen für Linux und ChromeOS verwendet.
  • In die Android-Version wurden Einstellungen zur Steuerung der API "Topics & Interest Group" aufgenommen, die im Rahmen der Privacy Sandbox-Initiative gefördert wird. Diese erlaubt es, Benutzerinteressenkategorien zu definieren und diese anstelle von Tracking-Cookies zu verwenden, um Gruppen von Nutzern mit ähnlichen Interessen zu bilden, ohne einzelne Nutzer zu identifizieren. Im letzten Release wurden solche Einstellungen auch in den Versionen für Linux, ChromeOS, macOS und Windows hinzugefügt.
  • Bei aktivierter erweiterter Browserschutz (Safe Browsing > Erweiterter Schutz) wird Telemetriedaten über installierte Erweiterungen, API-Zugriffe und Verbindungen zu externen Websites gesammelt. Diese Daten werden auf Google-Servern verwendet, um bösartige Aktivitäten und Verstöße gegen die Richtlinien durch Browsererweiterungen zu identifizieren.
  • Die Verwendung von Nicht-ASCII-Zeichen in Domänen, die im Cookie-Header angegeben sind, wurde in die Kategorie veraltet eingestuft und wird in Chrome 106 blockiert. Für IDN-Domänen sollten die Domänen im Punycode-Format angegeben werden. Diese Änderung wird den Browser an die Anforderungen von RFC 6265bis und das Verhalten, das in Firefox umgesetzt wurde, anpassen.
  • Eine API für benutzerdefinierte Hervorhebungen wurde vorgeschlagen, die es ermöglicht, den Stil von hervorgehobenen Textbereichen beliebig zu ändern. Dadurch sind Sie nicht auf die vom Browser bereitgestellten festen Stile für Hervorhebungen (::selection, ::inactive-selection) und die Markierung von Rechtschreibfehlern (::spelling-error, ::grammar-error) beschränkt. Im ersten Entwurf der API wird die Unterstützung zur Änderung der Text- und Hintergrundfarbe über die Pseudo-Elemente color und background-color bereitgestellt, und es werden in Zukunft weitere Anpassungsmöglichkeiten hinzukommen.

    Ein Beispiel für Aufgaben, die mit der neuen API gelöst werden können, ist die Integration eigener Textmarkierungsmechanismen in Web-Frameworks, die Werkzeuge zur Textbearbeitung bereitstellen. Dazu gehören verschiedene Hervorhebungen für gleichzeitige Bearbeitungen durch mehrere Benutzer, die Suche in virtualisierten Dokumenten und die Markierung von Fehlern während der Rechtschreibprüfung. Früher erforderten Benutzungen von nicht standardmäßigen Hervorhebungen komplexe Manipulationen am DOM-Baum. Die API Custom Highlight bietet nun fertige Operationen zum Hinzufügen und Entfernen von Hervorhebungen, die die DOM-Struktur nicht beeinflussen und Stile in Bezug auf Range-Objekte anwenden.

  • In CSS wurde die Regel „@container“ hinzugefügt, die es ermöglicht, den Stil von Elementen basierend auf der Größe des übergeordneten Elements zu gestalten. „@container“ ähnelt den „@media“-Abfragen, bezieht sich jedoch nicht auf die Größe des gesamten sichtbaren Bereichs, sondern auf die Größe des Blocks (Containers), in den das Element eingefügt wurde. So können für untergeordnete Elemente eigene Logiken zur Stilwahl festgelegt werden, die unabhängig davon sind, wo genau das Element auf der Seite platziert ist.
    Veröffentlichung von Chrome 105
  • Der CSS-Pseudoklasse „:has()“ wurde hinzugefügt, um das Vorhandensein eines Kindelements im Elternelement zu überprüfen. Zum Beispiel erfasst „p:has(span)“ Elemente <p>die ein Element enthalten <span>.
  • Die API für den HTML-Sanitizer wurde hinzugefügt, um Elemente, die die Anzeige und Ausführung beim Ausgeben über die Methode setHTML() beeinflussen, aus dem Inhalt zu entfernen. Die API kann nützlich sein, um eingehende Daten auf HTML-Tags zu überprüfen und diese zu entfernen, die für XSS-Angriffe verwendet werden könnten.
  • Die Möglichkeit zur Nutzung der API Streams (ReadableStream) wurde bereitgestellt, um fetch-Anfragen zu senden, noch bevor der Antwortkörper geladen wird. Das bedeutet, dass Daten gesendet werden können, ohne auf den Abschluss der Seitengenerierung zu warten.
  • Für installierbare, autonome Webanwendungen (PWA, Progressive Web App) wurde die Möglichkeit geschaffen, das Design des Fenstertitels mit den Komponenten Window Controls Overlay zu ändern. Diese erweitern den Anzeigebereich der Webanwendung auf das gesamte Fenster und ermöglichen es, der Webanwendung das Aussehen einer herkömmlichen Desktopanwendung zu verleihen. Die Webanwendung kann die Darstellung und die Eingabeverarbeitung im gesamten Fenster steuern, abgesehen von dem überlagerten Block mit den Standardfenstersteuerungsbuttons (Schließen, Minimieren, Maximieren).
    Veröffentlichung von Chrome 105
  • Die Möglichkeit, auf Media Source Extensions aus dedizierten Workern (im Kontext von DedicatedWorker) zuzugreifen, wurde stabilisiert. Dies kann beispielsweise verwendet werden, um die Leistung des gepufferten Multimedia-Streamings zu verbessern, indem ein MediaSource-Objekt in einem separaten Worker erstellt und die Ergebnisse in das HTMLMediaElement im Haupt-Thread übertragen werden.
  • Im API Client Hints, das sich zur Ablösung des User-Agent-Headers weiterentwickelt und es ermöglicht, spezifische Daten über Browser- und Systemparameter (Version, Plattform usw.) nur auf Anfrage bereitzustellen, dem Server durchwurde die Unterstützung für die Eigenschaft Sec-CH-Viewport-Heigh hinzugefügt, die Informationen über die Höhe des sichtbaren Bereichs bereitstellt. Das Format der Markup für die Angabe der Client Hints-Parameter in einem „meta“-Tag für externe Ressourcen wurde geändert: Vorher: Nachher:
  • Es wurde die Möglichkeit hinzugefügt, globale onbeforeinput-Ereignishandler (document.documentElement.onbeforeinput) zu erstellen, mit denen Webanwendungen das Verhalten beim Bearbeiten von Text in ,