Chrome 138 bèta

Gepubliceerd: 28 mei 2025

Tenzij anders vermeld, zijn de volgende wijzigingen van toepassing op de nieuwste Chrome-bètaversie voor Android, ChromeOS, Linux, macOS en Windows. Meer informatie over de hier vermelde functies vindt u via de meegeleverde links of in de lijst op ChromeStatus.com . Chrome 138 is een bètaversie sinds 28 mei 2025. U kunt de nieuwste versie downloaden op Google.com voor desktop of in de Google Play Store voor Android.

CSS en UI

Deze release voegt zes nieuwe CSS- en UI-functies toe.

CSS-zoekwoord stretch van de grootte

Een sleutelwoord voor CSS-afmetingen (zoals ` width en height ) waarmee elementen precies de beschikbare ruimte van hun omringende blok kunnen vullen. Het is vergelijkbaar met 100% , maar de resulterende grootte wordt toegepast op de `margin` van het element in plaats van op de `box` die wordt aangegeven door box-sizing . Door dit sleutelwoord te gebruiken, behoudt het element zijn marges terwijl het toch zo groot mogelijk wordt.

De tekengerelateerde functies abs() en sign() berekenen verschillende functies die verband houden met het teken van hun argument.

CSS-omgevingsvariabele voor lettergrootte op besturingssysteemniveau

Hiermee wordt de door de gebruiker ingestelde lettergrootte via CSS beschikbaar gesteld. Momenteel is het voor een pagina niet praktisch om te detecteren of de gebruiker de lettergrootte heeft aangepast via de instellingen van het besturingssysteem. Deze CSS-omgevingsvariabele zal de door de gebruiker gekozen schaal weergeven.

CSS sibling-index() en sibling-count()

De functies sibling-index() en sibling-count() kunnen als gehele getallen in CSS-eigenschapswaarden worden gebruikt om een ​​element te stylen op basis van zijn positie ten opzichte van zijn broers en zussen, of het totale aantal broers en zussen. Deze functies kunnen direct als gehele getallen worden gebruikt, maar het is interessanter om ze binnen calc() -expressies te gebruiken.

li {
  animation-delay: calc(0.1s * sibling-index());
}

Functionele notatie voor interpolatievoortgang: CSS progress() -functie

De functienotatie progress() is een wiskundige functie die een ` <number> `-waarde retourneert die de positie van een berekening (de voortgangswaarde) tussen twee andere berekeningen (de startwaarde en de eindwaarde van de voortgang) weergeeft.

Viewport Segments Enumeration API

De Viewport Segments API stelt ontwikkelaars in staat hun webpagina-indeling aan te passen voor opvouwbare apparaten. Viewportsegmenten definiëren de positie en afmetingen van een logisch afgescheiden gebied binnen de viewport. Viewportsegmenten worden gecreëerd wanneer de viewport wordt opgesplitst door een of meer hardwarefuncties (zoals een vouw of een scharnier tussen afzonderlijke schermen) die als scheiding fungeren; segmenten zijn de gebieden binnen de viewport die door de ontwikkelaar als logisch afzonderlijk kunnen worden beschouwd.

Web-API's

Voeg ondersteuning voor metadata over de oriëntatie van videoframes toe aan WebCodecs.

Introduceert de waarden rotation: int en flip: bool in verschillende video-gerelateerde interfaces in WebCodecs, zodat ontwikkelaars kunnen werken met framebronnen die een oriëntatie hebben (bijvoorbeeld Android-camera's en bepaalde media). De VideoFrame interface breidt de mogelijkheid uit om VideoFrames te creëren met willekeurige rotatie en spiegeling, evenals toegangsmethoden voor deze informatie op het VideoFrame object. Het VideoDecoderConfig object krijgt rotation en flip die automatisch worden uitgezonden op gedecodeerde VideoFrame-objecten. De VideoEncoder klasse krijgt mechanismen om rotatie- en spiegelingsinformatie van encode() door te geven aan de VideoDecoderConfig die wordt uitgezonden als onderdeel van EncodedVideoChunkMetadata . Als encode() wordt aangeroepen met frames met een verschillende oriëntatie, wordt een niet-fatale uitzondering gegenereerd. De configure() methode kan worden gebruikt om de toegestane oriëntatie opnieuw in te stellen.

API voor crashrapportage: is_top_level en visibility_state

Deze functie voegt de stringvelden is_top_level en visibility_state toe aan de API-body voor crashrapportage die naar het standaard rapportage-eindpunt voor crashrapporten wordt verzonden.

Ontsnap aan < en > in attributen bij serialisatie.

Ontsnap aan de tekens < en > in de waarden van attributen tijdens serialisatie. Dit vermindert het risico op XSS-aanvallen met mutatie, die optreden wanneer de waarde van een attribuut na serialisatie en herparsing wordt geïnterpreteerd als een starttag-token.

Integriteitsbeleid voor scripts

Subresource-Integrity (SRI) stelt ontwikkelaars in staat om te controleren of de assets die ze willen laden ook daadwerkelijk de assets zijn die ze laden. Er is echter momenteel geen manier voor ontwikkelaars om te garanderen dat al hun scripts worden gevalideerd met behulp van SRI. De Integrity-Policy header geeft ontwikkelaars de mogelijkheid om te eisen dat elke resource van een bepaald type op integriteit moet worden gecontroleerd. Als een resource van dat type wordt geladen zonder integriteitsmetadata, mislukt die poging en wordt er een melding van een schending gegenereerd.

Voorspelbaar gerapporteerd opslagquotum

Rapporteer een voorspelbaar opslagquotum via de Estimate API van StorageManager voor sites die geen onbeperkte opslagrechten hebben. Het is mogelijk om de browsemodus van een gebruiker te detecteren aan de hand van het gerapporteerde opslagquotum, omdat de beschikbare opslagruimte in de incognitomodus aanzienlijk kleiner is dan in de normale modus.

Dit is een beveiligingsmaatregel die voorkomt dat de browsemodus van een gebruiker wordt gedetecteerd via de opslag-API. Dit wordt bereikt door een kunstmatig quotum te rapporteren, gelijk aan gebruik + min(10 GiB, schijf afgerond naar de dichtstbijzijnde 1 GiB), in alle browsemodi voor sites met beperkte opslagrechten. Sites met onbeperkte opslagrechten worden hierdoor niet beïnvloed. Ook afgedwongen quota blijven ongewijzigd.

pushsubscriptionchange gebeurtenis bij herabonnement

Activeer de gebeurtenis pushsubscriptionchange in service workers wanneer een oorsprong waarvoor in het verleden een pushabonnement bestond, maar dat is ingetrokken vanwege een wijziging in de machtigingen (van 'verleend' naar 'geweigerd'/'standaard'), opnieuw notificatiemachtiging krijgt. De gebeurtenis wordt geactiveerd met een lege oldSubscription en newSubscription .

Speculatieregels: Voeg prefetchCache en prerenderCache toe aan de Clear-Site-Data header

Twee nieuwe waarden voor de Clear-Site-Data header helpen ontwikkelaars bij het gericht wissen van de prerender- en prefetch-cache: prefetchCache en prerenderCache . Deze kunnen met elk verzoek worden meegestuurd en hoeven niet per se bij het documentverzoek te worden vermeld (ze kunnen bijvoorbeeld worden teruggestuurd in reacties op API-aanroepen voor het toevoegen aan winkelmandje of voor inloggen en uitloggen om speculaties over statuswijzigingen te voorkomen).

Speculatieregels: veld target_hint

Dit breidt de syntaxis van speculatieregels uit, zodat ontwikkelaars het veld target_hint kunnen specificeren. Dit veld geeft een hint aan voor een doel-navigatiepagina waar uiteindelijk een vooraf gerenderde pagina zal worden geactiveerd. Wanneer _blank als hint is opgegeven, kan een vooraf gerenderde pagina worden geactiveerd voor een navigatiepagina die is geopend met window.open() . Het veld wordt niet ondersteund voor prefetching.

Strikt Same Origin-beleid voor de Storage Access API

Past de semantiek van de Storage Access API aan om strikt het Same Origin Policy te volgen met betrekking tot beveiliging. Dat wil zeggen dat het gebruik van document.requestStorageAccess() in een iframe standaard alleen cookies toevoegt aan verzoeken aan de oorsprong van het iframe (niet aan de site).

Samenvattings-API

Een JavaScript API voor het genereren van samenvattingen van invoertekst, ondersteund door een AI-taalmodel. Browsers en besturingssystemen krijgen steeds vaker toegang tot een taalmodel. Door dit ingebouwde model beschikbaar te stellen, voorkomen we dat elke website een eigen taalmodel van meerdere gigabytes moet downloaden of invoertekst naar API's van derden moet sturen. De samenvatter-API biedt met name een API op hoog niveau voor interactie met een taalmodel om invoer voor diverse toepassingen samen te vatten op een manier die niet afhankelijk is van het specifieke taalmodel. Er is een bedrijfsbeleid ( GenAILocalFoundationalModelSettings ) beschikbaar om het downloaden van het onderliggende model uit te schakelen, waardoor deze API niet beschikbaar zou zijn.

Lees meer in Beknopte samenvattingen genereren met ingebouwde AI .

Taaldetector-API

Een JavaScript API om te detecteren welke taal in bepaalde tekst wordt gebruikt, met verschillende betrouwbaarheidsniveaus. Dit is een belangrijke aanvulling op vertalingen en kan worden gebruikt in combinatie met de Translator API . Zo kan bijvoorbeeld gebruikersinvoer in een onbekende taal worden geanalyseerd, de taal worden bepaald en vervolgens vertaald naar een specifieke doeltaal. Hoewel browsers vaak al taaldetectiemogelijkheden bieden, geeft deze JavaScript API webontwikkelaars dezelfde mogelijkheden, als aanvulling op de vertaal-API.

Er is een bedrijfsbeleid ( GenAILocalFoundationalModelSettings ) beschikbaar om te voorkomen dat het onderliggende model wordt gedownload, waardoor deze API niet beschikbaar zou zijn.

Lees meer in : Welke taal wordt gebruikt? Gebruik de ingebouwde AI .

Vertaler-API

Een JavaScript API voor het toevoegen van taalvertalingen aan webpagina's. Hoewel browsers steeds vaker taalvertalingen aanbieden aan hun gebruikers, kunnen dergelijke vertaalmogelijkheden ook nuttig zijn voor webontwikkelaars. Dit is met name het geval wanneer de ingebouwde vertaalmogelijkheden van de browser tekortschieten, bijvoorbeeld bij live en interactieve services. Er is een bedrijfsbeleid ( GenAILocalFoundationalModelSettings ) beschikbaar om het downloaden van het onderliggende model uit te schakelen, waardoor deze API niet beschikbaar zou zijn.

Leer meer over vertalen met ingebouwde AI .

Web-app-bereikuitbreidingen

Voegt een "scope_extensions" -veld toe aan het manifest van de web-app, waarmee web-apps hun bereik kunnen uitbreiden naar andere origins. Hierdoor kunnen sites die meerdere subdomeinen en topdomeinen beheren, worden gepresenteerd als één enkele web-app. Vereist dat de vermelde origins de associatie met de web-app bevestigen met behulp van een .well-known/web-app-origin-association configuratiebestand.

Webserieel via Bluetooth op Android

Deze functie maakt het mogelijk voor webpagina's en webapps om via Bluetooth verbinding te maken met seriële poorten op Android- apparaten. Chrome op Android ondersteunt nu de Web Serial API via Bluetooth RFCOMM. Bestaande bedrijfsbeleidsregels ( DefaultSerialGuardSetting , SerialAllowAllPortsForUrls , SerialAllowUsbDevicesForUrls , SerialAskForUrls en SerialBlockedForUrls ) op andere platforms worden ingeschakeld in de future_on-status voor Android. Alle beleidsregels, behalve SerialAllowUsbDevicesForUrls worden ingeschakeld nadat de functie is geactiveerd. SerialAllowUsbDevicesForUrls wordt ingeschakeld in een toekomstige release, nadat Android systeemniveau-ondersteuning biedt voor bekabelde seriële poorten.

Afschrijvingen en verwijderingen

Deze versie van Chrome introduceert de volgende afschrijvingen en verwijderingen. Ga naar ChromeStatus.com voor lijsten met geplande afschrijvingen, huidige afschrijvingen en eerdere verwijderingen.

In deze versie van Chrome zijn twee functies verwijderd.

Het asynchroon verwijderen van bereiken voor Media Source Extensions wordt afgeschaft.

De Media Source-standaard is al lang geleden aangepast om onduidelijk gedefinieerd gedrag met betrekking tot asynchrone bereikverwijderingen te verbieden:

  • SourceBuffer.abort() annuleert geen SourceBuffer.remove() -bewerkingen meer.
  • Door MediaSource.duration in te stellen, kan de momenteel gebufferde media niet langer worden ingekort.

In beide gevallen zullen nu uitzonderingen worden gegenereerd.

Verwijder de SwiftShader-terugvaloptie

Het toestaan ​​van automatische terugval naar WebGL met de software-renderer SwiftShader is afgeschaft. Het aanmaken van een WebGL-context zal mislukken in plaats van terug te vallen op SwiftShader. Dit is gedaan om twee hoofdredenen:

  1. SwiftShader vormt een groot beveiligingsrisico omdat de code, die JIT-gecompileerd is, wordt uitgevoerd in het GPU-proces van Chromium.
  2. Gebruikers ervaren een slechte ervaring wanneer ze terugvallen van een krachtige, door de GPU ondersteunde WebGL-implementatie naar een door de CPU ondersteunde implementatie. Gebruikers hebben geen controle over dit gedrag en het is moeilijk te beschrijven in bugrapporten.

Tijdens de afschaffingsperiode verschijnt er een waarschuwing in de Chrome DevTools-console wanneer een WebGL-context wordt aangemaakt en ondersteund door SwiftShader. Door --enable-unsafe-swiftshader mee te geven, wordt deze waarschuwing verwijderd.