Serielles Web über Bluetooth auf Android
Chrom 138
Stabiles Veröffentlichungsdatum: 24. Juni 2025
Sofern nicht anders angegeben, gelten die folgenden Änderungen für die stabile Channel-Version von Chrome 138 für Android, ChromeOS, Linux, macOS und Windows.
CSS und UI
CSS-Funktionen mit Vorzeichen: abs(), sign()
Die vorzeichenbezogenen Funktionen abs() und sign() berechnen verschiedene Funktionen im Zusammenhang mit dem Vorzeichen ihres Arguments.
Die Funktion abs(A) enthält eine Berechnung A und gibt den absoluten Wert von A zurück, und zwar vom gleichen Typ wie die Eingabe: Wenn der numerische Wert von A positiv oder 0⁺ ist, ist es wieder A; andernfalls -1 * A.
Die Funktion sign(A) enthält eine Berechnung A und gibt -1 zurück, wenn der numerische Wert von A negativ ist, +1, wenn der numerische Wert von A positiv ist, 0⁺, wenn der numerische Wert von A 0⁺ ist, und 0-, wenn der numerische Wert von A 0- ist. Der Rückgabetyp ist eine <Zahl>, die mit dem Typ der Eingaberechnung übereinstimmt.
Funktionale Notation des Interpolationsfortschritts: CSS-Funktion progress()
Die funktionale Notation progress() gibt einen <Zahl>-Wert zurück, der die Position einer Berechnung (den progress-Wert) zwischen zwei anderen Berechnungen (dem progress-Startwert und dem progress-Endwert) darstellt. Die Funktion progress() ist eine mathematische Funktion.
CSS sibling-index() und sibling-count()
- Die Funktionen sibling-index() und sibling-count() können als Ganzzahlen in CSS-Eigenschaftswerten verwendet werden, um Elemente auf der Grundlage ihrer Position unter ihren Geschwistern bzw. der Gesamtzahl der Geschwister zu gestalten. Diese Funktionen können direkt als Integer-Werte verwendet werden, interessanter ist jedoch die Verwendung in calc()-Ausdrücken.
CSS-Schlüsselwort für die Größenanpassung
Ein Schlüsselwort für CSS-Größeneigenschaften (z. B. Breite und Höhe), mit dem Elemente so vergrößert werden können, dass sie den verfügbaren Platz des sie enthaltenden Blocks genau ausfüllen. Es ist vergleichbar mit "100%", mit dem Unterschied, dass die resultierende Größe auf den Randbereich des Elements angewandt wird und nicht auf den durch box-sizing angegebenen Bereich. Mit diesem Schlüsselwort kann das Element seine Ränder beibehalten und trotzdem so groß wie möglich sein. Eine nicht vordefinierte Version von -webkit-fill-available.
CSS-Umgebungsvariable für Schriftgrößen auf Betriebssystemebene
Gibt den bevorzugten Schriftgrad des Benutzers für CSS bekannt. Ohne diese Angabe ist es für eine Seite nicht praktikabel zu erkennen, ob der Benutzer seine bevorzugte Schriftgröße über die Einstellungen des Betriebssystems geändert hat. Diese CSS-Umgebungsvariable spiegelt die vom Benutzer gewählte Skala wider.
Geräte
Serielle Webübertragung über Bluetooth unter Android
Mit dieser Funktion können Webseiten und Webanwendungen eine Verbindung zu seriellen Schnittstellen über Bluetooth auf Android-Geräten herstellen.
Chrome auf Android unterstützt jetzt Web Serial API über Bluetooth RFCOMM. Bestehende Unternehmensrichtlinien (DefaultSerialGuardSetting, SerialAllowAllPortsForUrls, SerialAllowUsbDevicesForUrls, SerialAskForUrls und SerialBlockedForUrls) auf anderen Plattformen sind im future_on Status für Android aktiviert. Alle Richtlinien mit Ausnahme von SerialAllowUsbDevicesForUrls werden aktiviert, nachdem die Funktion aktiviert wurde. SerialAllowUsbDevicesForUrls wird in einer zukünftigen Version aktiviert, nachdem Android Unterstützung für kabelgebundene serielle Schnittstellen auf Systemebene bietet.
Aufzählungs-API für Ansichtsfenster-Segmente
Die Viewport Segments API ermöglicht es Entwicklern, ihr Weblayout an faltbare Geräte anzupassen. Die Viewport-Segmente definieren die Position und die Abmessungen einer logisch getrennten Region des Viewports. Viewport-Segmente werden erstellt, wenn das Viewport durch ein oder mehrere Hardware-Merkmale (z. B. eine Falte oder ein Scharnier zwischen separaten Displays) geteilt wird, die als Teiler fungieren; Segmente sind die Regionen des Viewports, die vom Entwickler als logisch getrennt behandelt werden können.
JavaScript
Aktualisierung von QuotaExceededError zu einer von DOMException abgeleiteten Schnittstelle
Wenn die Webplattform Ihnen mitteilen möchte, dass Sie die Quote überschritten haben, verwendet sie bisher DOMException mit der Eigenschaft specific name, die auf QuotaExceededError gesetzt ist. Dies ermöglicht jedoch nicht die Übermittlung zusätzlicher Informationen.
Es wird vorgeschlagen, "QuotaExceededError" aus der Liste der eingebauten DOMException-Namen zu entfernen und stattdessen eine Klasse mit dem Namen QuotaExceededError aus der Liste der eingebauten DOMException zu erstellen, die über die zusätzlichen optionalen Eigenschaften quota und requested verfügt. Wir schlagen vor, dass alle Instanzen von DOMExceptions, die "QuotaExceededError" auslösen, so aktualisiert werden, dass sie stattdessen QuotaExceededErrors auslösen. Im Moment würden solche Spezifikationen die Eigenschaften quota und requested auf ihrem Standardwert von null belassen, aber sie könnten schließlich auf diese Daten aufrüsten, wenn es für ihren Anwendungsfall nützlich ist (und nicht z.B. ein Datenschutzleck darstellt).
Web-APIs
Übersetzer-API
Eine JavaScript-API zur Bereitstellung von Sprachübersetzungsfunktionen für Webseiten. Browser bieten ihren Nutzern zunehmend Sprachübersetzungen an. Solche Übersetzungsfunktionen können auch für Webentwickler nützlich sein. Dies ist vor allem dann der Fall, wenn die eingebauten Übersetzungsfunktionen des Browsers nicht ausreichen. Eine Unternehmensrichtlinie (GenAILocalFoundationalModelSettings) ist verfügbar, um das Herunterladen des zugrunde liegenden Modells zu deaktivieren, wodurch diese API nicht verfügbar wäre.
Sprachdetektor-API
Eine JavaScript-API zur Erkennung der Sprache eines Textes, mit Vertrauensstufen.
Eine wichtige Ergänzung zur Übersetzung ist die Spracherkennung. Sie kann mit der Übersetzung kombiniert werden, z. B. um Benutzereingaben in einer unbekannten Sprache in eine bestimmte Zielsprache zu übersetzen. Heutige Browser verfügen häufig bereits über Spracherkennungsfunktionen, und wir wollen diese den Webentwicklern über eine JavaScript-API als Ergänzung zur Übersetzungs-API anbieten. Eine Unternehmensrichtlinie (GenAILocalFoundationalModelSettings) steht zur Verfügung, um das Herunterladen des zugrunde liegenden Modells zu deaktivieren, wodurch diese API nicht mehr verfügbar wäre.
Zusammenfassungs-API
Die Summarizer-API ist eine JavaScript-API zur Erstellung von Zusammenfassungen von Eingabetexten, die durch ein KI-Sprachmodell unterstützt werden. Von Browsern und Betriebssystemen wird zunehmend erwartet, dass sie Zugriff auf ein Sprachmodell haben. Indem wir dieses eingebaute Modell offenlegen, vermeiden wir, dass jede Website ihr eigenes Multi-Gigabyte-Sprachmodell herunterladen oder Eingabetext an APIs von Drittanbietern senden muss. Insbesondere die Zusammenfassungs-API stellt eine High-Level-API für die Schnittstelle zu einem Sprachmodell zur Verfügung, um Eingaben für eine Vielzahl von Anwendungsfällen (GitHub) zusammenzufassen, und zwar auf eine Art und Weise, die nicht von dem jeweiligen Sprachmodell abhängt. Eine Unternehmensrichtlinie (GenAILocalFoundationalModelSettings) ist verfügbar, um das Herunterladen des zugrunde liegenden Modells zu deaktivieren, wodurch diese API nicht verfügbar wäre.
Escape in Attributen bei der Serialisierung
Escape in Werten von Attributen bei der Serialisierung.
Dadurch wird das Risiko von Mutations-XSS-Angriffen gemindert, die auftreten, wenn der Wert eines Attributs nach der Serialisierung und dem erneuten Parsen als Start-Tag-Token interpretiert wird.
Crash Reporting API: is_top_level und visibility_state
Diese Funktion fügt die String-Felder is_top_level und visibility_state zum Körper der Absturzberichts-API hinzu, der an den Standard-Berichtsendpunkt für Absturzberichte gesendet wird.
Auslösen des Ereignisses pushsubscriptionchange bei Neuanmeldung
Das pushsubscriptionchange-Ereignis wird in Service Workern ausgelöst, wenn einem Ursprung, für den in der Vergangenheit ein Push-Abonnement bestand, das jedoch aufgrund einer Änderung der Berechtigung (von gewährt zu verweigern/standardmäßig) widerrufen wurde, erneut eine Benachrichtigungsberechtigung erteilt wird.
Das Ereignis wird mit einem leeren oldSubscription und newSubscription abgefeuert.
Multimedia
Unterstützung für Metadaten zur Ausrichtung von Videoframes zu WebCodecs hinzufügen
Einführung der Werte rotation: int und flip: bool in verschiedene videorelevante Schnittstellen in WebCodecs, damit Entwickler mit Frame-Quellen arbeiten können, die eine Ausrichtung haben (z. B. Android-Kameras, bestimmte Medien).
Die VideoFrame-Schnittstelle erweitert die Möglichkeit, VideoFrames mit beliebigen Rotations- und Flip-Werten zu erstellen, sowie Accessors für diese Informationen auf dem VideoFrame-Objekt.
Das VideoDecoderConfig-Objekt erhält Rotations- und Flip-Felder, die bei dekodierten VideoFrame-Objekten automatisch ausgegeben werden.
Die VideoEncoder-Klasse verfügt über Mechanismen zur Übergabe von Rotations- und Flip-Informationen von encode() an das VideoDecoderConfig-Objekt, das als Teil von EncodedVideoChunkMetadata ausgegeben wird. Wenn encode() mit Frames mit unterschiedlichen Ausrichtungen aufgerufen wird, wird eine nicht-fatale Exception ausgelöst. configure() kann verwendet werden, um die erlaubte Ausrichtung zurückzusetzen.
Leistung
Hinzufügen von prefetchCache und prerenderCache zu Clear-Site-Dataheader
Zwei neue Werte für den Clear-Site-Data-Header sollen Entwicklern helfen, den Prerender- und Prefetch-Cache gezielt zu löschen: "prefetchCache" und "prerenderCache".
Spekulationsregeln: target_hint Feld
Damit wird die Syntax der Spekulationsregeln erweitert, um Entwicklern die Möglichkeit zu geben, das target_hint-Feld anzugeben.
Dieses Feld gibt einen Hinweis auf ein navigierbares Ziel, auf dem eine vorberechnete Seite schließlich aktiviert wird. Wenn zum Beispiel _blank als Hinweis angegeben wird, kann eine vorberechnete Seite für eine mit window.open() geöffnete navigierbare Seite aktiviert werden. Das Feld hat keine Auswirkungen auf das Prefetching.
Die Spezifikation erlaubt es, dass dieses Feld jede Zeichenkette akzeptiert, die als Zielname oder Schlüsselwort für die Navigation gültig ist, aber dieser Start unterstützt nur eine der Zeichenketten "_self" oder "_blank". Wenn der Hinweis nicht angegeben wird, wird er wie "_self" behandelt.
Sicherheit
Integritätsrichtlinie für Skripte
Subresource-Integrity (SRI) ermöglicht es Entwicklern, sicherzustellen, dass die Assets, die sie zu laden beabsichtigen, auch tatsächlich die Assets sind, die sie laden. Allerdings gibt es derzeit keine Möglichkeit für Entwickler, sicher zu sein, dass alle ihre Skripte mit SRI validiert werden.
Der Integrity-Policy-Header gibt Entwicklern die Möglichkeit zu behaupten, dass jede Ressource eines bestimmten Typs einer Integritätsprüfung unterzogen werden muss. Wenn versucht wird, eine Ressource dieses Typs ohne Integritäts-Metadaten zu laden, schlägt dieser Versuch fehl und löst einen Verstoßbericht aus.
Service Worker
ServiceWorker-Unterstützung für Spekulationsregeln Prefetch
Diese Funktion ermöglicht ServiceWorker-gesteuerte Prefetches, d. h. einen Prefetch nach Spekulationsregeln auf URLs, die von einem Service Worker kontrolliert werden. Bisher wurde der Prefetch abgebrochen, wenn ein kontrollierender Service Worker erkannt wurde, so dass die anschließende Navigation zum Prefetch-Ziel über den Nicht-Prefetch-Pfad erfolgt. Diese Funktion ermöglicht es, dass die Prefetch-Anforderung den Fetch-Handler des Service Workers durchläuft und die Antwort mit der Service Worker-Abfrage im Prefetch-Cache zwischengespeichert wird, was dazu führt, dass eine nachfolgende Navigation über den Prefetch-Cache bedient wird. Verwenden Sie die Unternehmensrichtlinie PrefetchWithServiceWorkerEnabled, um diese Funktion zu steuern.
Abkündigungen und Entfernungen
WebGPU: Verwerfung des GPUAdapter-Attributs isFallbackAdapter
Das boolesche Attribut GPUAdapter isFallbackAdapter von WebGPU wird abgelehnt, da es mit dem booleschen Attribut GPUAdapterInfo isFallbackAdapter überflüssig ist.
Diese bevorstehende Entfernung ist eine geringfügige Änderung, da die Unterstützung für Fallback-Adapter noch in keinem Browser implementiert wurde, was dazu führt, dass beide isFallbackAdapter-Attribute stets einen falschen Wert zurückgeben.
Abschaffung der asynchronen Bereichsentfernung für Medienquellenerweiterungen
Der Medienquellenstandard wurde vor langer Zeit dahingehend geändert, dass ein unklar definiertes Verhalten bei der asynchronen Bereichsentfernung nicht mehr zulässig ist:
- SourceBuffer.abort() bricht SourceBuffer.remove() Operationen nicht mehr ab.
- Das Setzen von MediaSource.duration kann die aktuell gepufferten Medien nicht mehr abschneiden.
- In beiden Fällen werden nun Ausnahmen ausgelöst.
Safari und Firefox liefern dieses Verhalten schon lange aus, Chromium ist der letzte Browser, der das alte Verhalten beibehält. Nutzungszählungen zeigen, dass etwa 0,001 % bis 0,005 % der Seitenaufrufe auf das veraltete Verhalten treffen. Wenn eine Website von diesem Problem betroffen ist, kann die Wiedergabe jetzt unterbrochen werden.
Die Verwendung von abort() zum Abbrechen von Entfernungen nimmt zu, daher ist es ratsam, diese Verwerfung zu beheben, bevor weitere inkompatible Verwendungen auftreten.