Die Google LLC hat die Version 124 des Web-Browsers Chrome veröffentlicht. Gleichzeitig steht die stabile Version des freien Projekts Chromium zur Verfügung, das die Grundlage für Chrome bildet. Der Browser Chrome unterscheidet sich von Chromium durch die Verwendung von Google-Logos, einem System zur Benachrichtigung im Falle eines Absturzes, Modulen zur Wiedergabe von kopiergeschützten Videoinhalten (DRM), einem System zur automatischen Installation von Updates, der ständigen Aktivierung der Sandbox-Isolierung, der Bereitstellung von Schlüsseln für die Google APIs und der Übertragung von RLZ-Parametern bei der Suche. Für diejenigen, die mehr Zeit für Updates benötigen, wird der Bereich Extended Stable unterstützt, der mit 8 Wochen zusätzlichen Support einhergeht. Die nächste Version von Chrome 125 ist für den 14. Mai geplant.
Die wichtigsten Änderungen in Chrome 124:
- In der Android-Version wurde im Lesezeichen-Manager die Unterstützung zum Speichern von Lesezeichen und späteren Lese-Listen in Verbindung mit dem Google-Konto des Benutzers hinzugefügt. Servern In Chrome für Android wird ein neuer Speicherungsansatz für lokale Passwörter eingeführt, die nicht mit anderen Geräten synchronisiert werden. Zuvor wurden lokale Passwörter im Chrome-Profil gespeichert, jetzt werden sie im Passwortspeicher, der von den Google Play-Diensten bereitgestellt wird, untergebracht, der bereits zur Speicherung des Passworts für das Google-Konto verwendet wird.
- In den Versionen für Windows, macOS und Linux ist die Unterstützung des Key Encapsulation Mechanism (KEM) in TLS standardmäßig aktiviert, der den hybriden Algorithmus X25519Kyber768 verwendet, der gegenüber Angriffen mit Quantencomputern resistent ist. X25519Kyber768 ist eine Kombination aus dem auf elliptischen Kurven basierenden Schlüsselaustauschalgorithmus X25519, der derzeit in TLS verwendet wird, mit dem Kyber-768-Algorithmus, der Methoden der Kryptographie verwendet, die auf der Lösung von Gittertheorieproblemen basieren, deren Lösung durch klassische und Quantencomputer nicht unterschiedlich ist.
- Bei der Textdarstellung durch die Skia-Bibliothek werden die in Windows festgelegten Kontrast- und Farbeinstellungen für die ClearType-Textglättungstechnologie berücksichtigt, die die Anzeigequalität von Schriftarten auf Flüssigkristallbildschirmen erheblich verbessert. In den Versionen für Linux haben sich die verwendeten Schriftarten im Interface erheblich verändert.
- Es wurde die Möglichkeit bereitgestellt, jede Webseite als vollständig eigenständige PWA-Anwendung (Progressive Web Apps) zu installieren, auch wenn diese Seite nicht den Kriterien für PWA entspricht.

- Die Möglichkeit, eine beliebige Web-Seite als eigenständige PWA-Anwendung (Progressive Web Apps) zu installieren, wurde bereitgestellt, selbst wenn diese Seite nicht den PWA-Kriterien entspricht.
- Gemäß den Anforderungen des europäischen DMA-Gesetzes (Digital Markets Act) wird ein Dialog zur Auswahl der Standard-Suchmaschine bereitgestellt. Zur Auswahl stehen die im Abschnitt „chrome://settings/search“ verfügbaren Suchmaschinen. Die Suchmaschinen in der Liste werden in zufälliger Reihenfolge angezeigt. In Chrome 120 wurde dieser Dialog bei 1 % der Nutzer getestet und jetzt für alle aktiviert.

- Die Abfrage der Berechtigungen wird dem Benutzer angezeigt, wenn eine Webanwendung auf die Web MIDI-API zugreift, die die Interaktion mit an den Computer angeschlossenen MIDI-Musikgeräten ermöglicht. Zuvor wurden Berechtigungsabfragen nur beim Senden oder Empfangen von SysEx-Nachrichten angezeigt, jetzt werden sie bei jedem Zugriff auf die Web MIDI-API angezeigt. Der Grund für diese Änderung sind Situationen, in denen zufällige Webseiten exklusiven Zugriff auf den MIDI-Controller erhalten, sodass andere Anwendungen nicht mit ihm arbeiten können. Es werden auch Sicherheitsprobleme erwähnt, da die Web MIDI-API vollständige Kontrolle über das MIDI-Gerät ermöglicht, einschließlich der Installation eigener Firmware.
- Die Unterstützung der nicht standardisierten Web SQL-API, die kaum verwendet wird und einer Überarbeitung zur Erfüllung moderner Sicherheitsstandards bedarf, wurde vollständig eingestellt. Web SQL war ab Chrome 119 standardmäßig deaktiviert, es gab aber eine Einstellung zur Wiederherstellung. Diese Einstellung wurde nun entfernt. Entwicklern, die eine ähnliche Funktionalität benötigen, wird empfohlen, eine in WebAssembly kompilierte Version der SQLite-Bibliothek zu verwenden.
- Die Möglichkeit zur Steuerung der Schreibrichtung, die in den Webformular-Elementen (select, meter, progress, button, textarea und input) vertikal angezeigt wird, wurde hinzugefügt. Bei Auswahl einer vertikalen Orientierung über die CSS-Eigenschaft writing-mode kann für die Anzeige des Textes von oben nach unten die Eigenschaft des Formularelements „ltr“ verwendet werden, während für die Anzeige von unten nach oben „rtl“ verwendet werden kann.
- In der API User-Agent Client Hints, die als Ersatz für den User-Agent-Header entwickelt wird, wurde die Unterstützung des Parameters Sec-CH-UA-Form-Factors hinzugefügt, über den der Client den Server über die Formfaktoren des Benutzergeräts informieren kann (Desktop, Automotive, Mobile, XR, EInk und Watch). User-Agent Client Hints ermöglicht die selektive Bereitstellung von Daten über spezifische Parameter des Browsers und des Systems (Version, Plattform usw.) nur auf Anfrage. Server. Der Benutzer kann seinerseits festlegen, welche Informationen den Website-Besitzern zur Verfügung gestellt werden können. Bei der Verwendung von User-Agent Client Hints wird die Browser-ID nur auf ausdrückliche Anfrage übermittelt, während standardmäßig nur grundlegende Parameter angegeben werden, was die passive Identifizierung erschwert.
- Die Möglichkeit, das Klonen einzelner Wurzeln im Shadow DOM zu steuern, wurde hinzugefügt, das durch Befehle wie cloneNode() durchgeführt wird. Die Möglichkeit zum Klonen von Wurzelzweigen im DOM wird über den Parameter clonable („attachShadow({clonable:true})“) oder das Attribut „shadowrootclonable“ (<template shadowrootmode=open shadowrootclonable>) aktiviert.

- Neue Methoden setHTMLUnsafe() und parseHTMLUnsafe() wurden zur Verwendung der Shadow DOM-Syntax aus JavaScript hinzugefügt. Die Methoden setHTMLUnsafe() und parseHTMLUnsafe() ermöglichen analog zu innerHTML und DOMParser.parseFromString(), Inhalte im HTML-Format in ein Element einzufügen oder zu parsen, unterscheiden sich jedoch in der Unterstützung der Verarbeitung von Template-Elementen mit dem Attribut shadowrootmode.
- Die Unterstützung der API WebSocket Stream wurde hinzugefügt, die eine Übertragung von Daten zwischen dem Browser und dem Server im Streaming-Modus ohne Polling (Abfragen) ermöglicht, was optimal für die Übertragung und den Empfang ständig eingehender Daten ist, beispielsweise bei der Implementierung eines Chats. const wss = new WebSocketStream(WSS_URL); const {readable, writable} = await wss.opened; const reader = readable.getReader(); const writer = writable.getWriter(); while (true) { const {value, done} = await reader.read(); if (done) { break; } const result = await process(value); await writer.write(result); }
- Die Möglichkeiten der API View Transitions, die die Erstellung von Übergangsanimationseffekten zwischen verschiedenen DOM-Zuständen erleichtert (z. B. der sanfte Übergang von einem Bild zu einem anderen), wurden erweitert. In der neuen Version wurde die Unterstützung des Ereignisses „pageswap“ hinzugefügt, das für das Objekt „window“ generiert wird, wenn das damit verbundene Objekt „document“ durch ein neues ersetzt wird. Außerdem wurde die Eigenschaft „render-blocking“ hinzugefügt, die es ermöglicht, das Rendering des Dokuments bis zum Abschluss des Parsens wichtiger Inhalte zu verhindern.
- Der Parameter disallowReturnToOpener wurde hinzugefügt, der beim Aufruf der Methode requestWindow übergeben wird und es ermöglicht, die Schaltfläche „Zurück“ im im „Bild-in-Bild“-Modus geöffneten Fenster zu entfernen, um die Rückkehr zur Registerkarte zu verhindern, von der das Fenster geöffnet wurde.
- Die Möglichkeit wurde hinzugefügt, dem Attribut CSSImportRule.styleSheet den Wert NULL zuzuweisen, um anzuzeigen, dass kein zugehöriges Stylesheet vorhanden ist. Das Attribut CSSKeyframesRule.length wurde hinzugefügt, das die Anzahl der indexierbaren Eigenschaften angibt.
- Für editierbare Felder wurde das Attribut „writingsuggestions“ implementiert, um die Anzeige von Vorschlägen während der Eingabe zu steuern.
- Die API WebGPU unterstützt jetzt ServiceWorker und SharedWorker.
- Die Unterstützung des HTTP-Headers „Priority“ wurde hinzugefügt, über den Informationen zur Priorität der Verarbeitung einer Anfrage (RFC 9218) beim ersten Zugriff auf die Ressource übermittelt werden können.
- Verbesserungen wurden in die Tools für Webentwickler eingeführt. Ein neues Autofill-Panel wurde hinzugefügt, um die Informationen zu inspizieren, die beim automatischen Ausfüllen von Formularen verwendet werden.

Die Unterstützung für verschachtelte Stile wurde im CSS-Stilinspektor verbessert. Im Leistungsüberwachungs-Panel wurde die Möglichkeit hinzugefügt, überflüssige Funktionen und deren zugehörige Unteraufrufe auszublenden, um das Rauschen im Diagramm zu reduzieren. Das Debugging-Panel für Animationen hat Unterstützung für Animationen hinzugefügt, die an das Scrollen des Inhalts gebunden sind (Scroll-driven Animation). Im Netzwerkinspektor wurde die Möglichkeit implementiert, Paketverlust-Parameter und die Größe der Netzwarteschlange festzulegen, um das Funktionieren von WebRTC-Anwendungen unter Bedingungen mit Netzwerkproblemen zu testen.

Neben den Neuerungen und Fehlerbehebungen wurden in der neuen Version 22 Sicherheitsanfälligkeiten behoben. Viele der Sicherheitsanfälligkeiten wurden durch automatisierte Tests mit Tools wie AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer und AFL festgestellt. Kritische Probleme, die es ermöglichen, alle Schutzebenen des Browsers zu umgehen und Code außerhalb der Sandbox-Umgebung im System auszuführen, wurden nicht festgestellt. Im Rahmen des Programms zur Ausschüttung von Geldprämien für die Entdeckung von Sicherheitsanfälligkeiten hat Google in dieser Version 13 Prämien im Gesamtwert von 65.000 US-Dollar ausgeschüttet (eine Prämie in Höhe von 20.000 USD, 10.000 USD, 7.000 USD und 2.000 USD, sowie drei Prämien in Höhe von 5.000 USD und 3.000 USD, zwei Prämien in Höhe von 1.000 USD). Die Höhe einer Prämie ist bisher nicht festgelegt.
Quelle: opennet.ru





