Chrome 139 bèta

Gepubliceerd: 25 juni 2025

Tenzij anders vermeld, zijn de volgende wijzigingen van toepassing op de nieuwste versie van het Chrome-bètakanaal voor Android, ChromeOS, Linux, macOS en Windows. Lees meer over de hier vermelde functies via de links of via de lijst op ChromeStatus.com. Chrome 139 is bèta sinds 25 juni 2025. Je kunt de nieuwste versie downloaden op Google.com voor desktop of in de Google Play Store voor Android.

CSS

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

Kortsluiten van var() en attr()

Wanneer de fallback niet wordt gebruikt, evalueren de functies var() en attr() zonder te zoeken naar cycli in die fallback. De volgende CSS werkt, omdat --green en --blue bestaan.

--green: green;
--blue: blue;
--a: var(--green, var(--b));
--b: var(--blue, var(--a));

CSS caret-animation eigenschap

Chrome ondersteunde al animatie van de eigenschap caret-color , maar tijdens de animatie verstoorde het standaard knipperende gedrag van de caret de animatie. De CSS-eigenschap caret-animation heeft twee mogelijke waarden: auto en manual , waarbij auto staat voor browserstandaard (knipperend) en manual voor de webontwikkelaar die de animatie van de caret regelt. De eigenschap stelt gebruikers ook in staat om knipperen uit te schakelen met behulp van een gebruikersstijlblad.

Hoekvorming

Schakel stijlen voor hoeken in, bovenop de bestaande border-radius , door de vorm of kromming van de hoek te specificeren. Hiermee kun je vormen zoals kronkels, inkepingen en scheppen maken en ertussen animeren. Lees meer in deze blogpost van Amit Sheen .

Blijf overgangen uitvoeren wanneer u overschakelt naar de oorspronkelijke overgangswaarde.

Wanneer de eigenschappen van de overgang veranderen, zijn ze alleen van invloed op nieuw gestarte overgangen. Dit betekent dat als u de eigenschappen van de overgang wijzigt, tenzij u ook de eigenschappen wijzigt die actieve overgangsanimaties hebben, die overgangsanimaties doorgaan met de eerder opgegeven duur, easing, enz. Blink annuleerde onterecht overgangen wanneer de overgangseigenschap was ingesteld op "geen", ook al annuleerde het ze niet als u alleen de overgangsduur wijzigde. Met deze functie is Blink consistent met Webkit en Gecko, waardoor actieve overgangen kunnen blijven lopen, tenzij of totdat hun eigenschapswaarde verandert en een nieuwe overgangsupdate wordt geactiveerd.

Aangepaste CSS-functies

Aangepaste functies lijken op aangepaste eigenschappen. In plaats van één vaste waarde te retourneren, retourneren ze waarden op basis van andere aangepaste eigenschappen, parameters en voorwaarden.

@function --negate(--value) {
result: calc(var(--value) * -1);
}

div {
--gap: 1em;
margin-top: --negate(var(--gap));
}

Ondersteuning van width en height als presentatiekenmerken op geneste <svg> -elementen

Ondersteunt het toepassen width en height als presentatiekenmerken op geneste <svg> -elementen via zowel SVG-opmaak als CSS. Deze dubbele aanpak biedt nog meer flexibiliteit, waardoor u SVG-elementen efficiënter kunt beheren en stylen in complexe ontwerpen.

Web-API's

Web-app-manifest: specificeer de update-geschiktheid, pictogram-URL's zijn Cache-Control: immutable

Specificeer een algoritme voor de geschiktheid van updates in de manifestspecificatie. Dit maakt het updateproces deterministischer en voorspelbaarder, waardoor ontwikkelaars meer controle krijgen over of (en wanneer) updates moeten worden toegepast op bestaande installaties. Bovendien kan de 'update check throttle' die user agents momenteel moeten implementeren om verspilling van netwerkbronnen te voorkomen, worden verwijderd.

Verbeteringen in de prestaties van WebXR-dieptedetectie

Biedt diverse nieuwe mechanismen om het gedrag van de dieptedetectiefunctie binnen een WebXR-sessie aan te passen, met als doel de prestaties bij het genereren of gebruiken van de dieptebuffer te verbeteren. De belangrijkste mechanismen zijn: de mogelijkheid om de ruwe of gladde dieptebuffer op te vragen, de mogelijkheid om de runtime te vragen de dieptebuffer te stoppen of te hervatten, en de mogelijkheid om een ​​dieptebuffer beschikbaar te stellen die niet exact overeenkomt met de weergave van de gebruiker, zodat de user agent niet elk frame onnodig opnieuw hoeft te projecteren.

Sta meer tekens toe in JavaScript DOM API's

De HTML-parser heeft altijd (of lange tijd) toegestaan ​​dat elementen en attributen een grote verscheidenheid aan geldige tekens en namen hebben, maar de JavaScript DOM API's die dezelfde elementen en attributen aanmaken, zijn strenger en komen niet overeen met de parser. Deze wijziging versoepelt de validatie van de JavaScript DOM API's om te voldoen aan de HTML-parser.

request-close aanroepopdracht

Dialoogelementen kunnen via verschillende mechanismen worden gesloten. Soms willen ontwikkelaars de mogelijkheid hebben om sluiting te voorkomen. Om dit te bereiken, activeren dialoogvensters een annuleringsgebeurtenis. Oorspronkelijk werd dit alleen geactiveerd via een sluitverzoek (bijvoorbeeld het indrukken van Esc toets). Onlangs is een JS-functie requestClose() toegevoegd die ook de annuleringsgebeurtenis activeert. De request-close -opdracht brengt deze nieuwe mogelijkheid naar de API voor declaratieve invoker-opdrachten.

WebGPU: 3D-textuurondersteuning voor gecomprimeerde BC- en ASTC-formaten

De WebGPU-functies texture-compression-bc-sliced-3d en texture-compression-astc-sliced-3d voegen respectievelijk 3D-textuurondersteuning toe voor gecomprimeerde BC- en ASTC-indelingen.

Veilige betalingsbevestiging: browsergebonden sleutels

Voegt een extra cryptografische handtekening toe aan de bevestiging van beveiligde betalingen en het aanmaken van inloggegevens. De bijbehorende privésleutel wordt niet gesynchroniseerd tussen apparaten. Dit helpt webontwikkelaars te voldoen aan de vereisten voor apparaatbinding voor betalingstransacties.

Bevestiging van veilige betaling: UX Refresh

Werkt de UX-elementen voor het SPC-dialoogvenster in Android Chrome bij. Naast de UX-presentatie worden de volgende elementen toegevoegd:

  • Hiermee kunnen handelaren een optionele lijst met logo's van betalingsentiteiten opgeven die betrekking hebben op de betaling en die worden weergegeven.
  • Er worden verschillende uitvoerstatussen naar de handelaar teruggestuurd, afhankelijk van de vraag of de gebruiker de transactie wil voortzetten zonder SPC of de transactie wil annuleren.
  • Voegt een nieuw betalingsdetailveld toe aan het betaalinstrument, zodat de tekst op twee regels wordt verdeeld.

WebGPU core-features-and-limits

De functie core-features-and-limits geeft aan dat een WebGPU-adapter en -apparaat de kernfuncties en -beperkingen van de specificatie ondersteunen.

Scrolverankering prioriteitskandidaat opgelost

Momenteel selecteert het scroll-ankeralgoritme prioriteitskandidaten wanneer ze beschikbaar zijn als ankerdoelen. De prioriteitskandidaten zijn momenteel een gefocust bewerkbaar element en vind-in-pagina markeringen. Dit kan leiden tot een suboptimale gebruikerservaring als er een groot gefocust content-bewerkbaar element is waarvan de inhoud offscreen is gewijzigd (de cursor wordt hierdoor verplaatst). Deze oplossing wijzigt het algoritme: in plaats van de prioriteitskandidaat als anker te selecteren, wordt de kandidaat gebruikt als scope of root van het reguliere ankerselectiealgoritme dat het diepste element op het scherm als anker selecteert.

Ondersteuning van het async -kenmerk voor SVG <script> -elementen

De SVGScriptElement interface in SVG 2.0 introduceert het async -kenmerk, vergelijkbaar met het HTMLScriptElement . Dit kenmerk maakt het mogelijk om scripts asynchroon uit te voeren, wat de prestaties en responsiviteit van webapplicaties die SVG gebruiken verbetert.

Web Speech API op het apparaat

Deze functie voegt ondersteuning voor spraakherkenning op het apparaat toe aan de Web Speech API, waardoor websites kunnen garanderen dat noch audio noch getranscribeerde spraak ter verwerking naar een externe service wordt verzonden. Websites kunnen de beschikbaarheid van spraakherkenning op het apparaat voor specifieke talen opvragen, gebruikers vragen de benodigde bronnen voor spraakherkenning op het apparaat te installeren en indien nodig kiezen tussen spraakherkenning op het apparaat of cloudgebaseerde spraakherkenning.

Wis window.name voor navigatie tussen sites waarbij de browse-contextgroep wordt gewijzigd

De waarde van de eigenschap window.name blijft momenteel behouden gedurende de gehele levensduur van een tabblad, zelfs bij navigatie die tussen browsercontextgroepen wisselt. Dit kan informatie lekken en mogelijk als trackingvector worden gebruikt. Het wissen van de eigenschap window.name verhelpt dit probleem. Dit zou een wijziging met een laag risico moeten zijn, aangezien het opzoeken van een browsercontext op naam niet werkt als deze zich in een andere browsercontextgroep bevindt, waardoor de naam niet echt nuttig is.

Bedrijfsbeleid: ClearWindowNameCrossSiteBrowsing (werkt niet meer in Chrome 142).

Uitbreidingen van de reikwijdte van web-apps

Voegt een "scope_extensions" -manifestveld voor web-apps toe waarmee web-apps hun bereik kunnen uitbreiden naar andere oorsprongen.

Hierdoor kunnen sites die meerdere subdomeinen en topleveldomeinen beheren, als één webapp worden gepresenteerd. Vereist dat de vermelde oorsprongen de koppeling met de webapp bevestigen met behulp van een configuratiebestand .well-known/web-app-origin-association .

Specificatie-conforme JSON MIME-typedetectie

Chromium herkent nu alle geldige JSON MIME-typen zoals gedefinieerd in de WHATWG mimesniff-specificatie. Dit omvat elk MIME-type waarvan het subtype eindigt op +json , naast de traditionele application/json en text/json . Deze wijziging zorgt ervoor dat web-API's en functies die afhankelijk zijn van JSON-detectie consistent werken met de webplatformstandaard en andere browsers. Een belangrijke reden voor deze wijziging is het verhelpen van het importgedrag van JSON-modules, waarbij voorheen geldige JSON MIME-typen zoals text/html+json en image/svg+json niet als modules werden geladen.

Private Aggregation API: geaggregeerde foutrapportage

Er zijn verschillende foutcondities die kunnen optreden bij gebruik van de Private Aggregation API. Zo kan het privacybudget bijvoorbeeld opraken, waardoor verdere histogrambijdragen niet meer mogelijk zijn. Deze functie stelt ontwikkelaars in staat om histogrambijdragen te registreren die alleen verzonden moeten worden als een bepaald type fout optreedt. Deze functie ondersteunt het meten van de frequentie van de foutcondities en het opsplitsen van deze metingen op relevante, door de ontwikkelaar gespecificeerde dimensies (bijvoorbeeld de versie van de geïmplementeerde code). Omdat de fouten zelf mogelijk cross-site informatie bevatten, kunnen we deze niet zomaar aan de pagina tonen voor gebruikers zonder cookies van derden. In plaats daarvan hergebruikt deze functie de bestaande geaggregeerde, geruisloze rapportagepipelines via de Aggregation Service.

Crash Reporting API: Geef crash-rapportage op om alleen crashrapporten te ontvangen

Deze functie zorgt ervoor dat ontwikkelaars alleen crashrapporten ontvangen door het eindpunt crash-reporting op te geven. Standaard worden crashrapporten naar het default verzonden, dat naast crashrapporten ook vele andere soorten rapporten ontvangt. Ontwikkelaars kunnen een aparte URL opgeven naar het bekende eindpunt crash-reporting om crashrapporten daarheen te sturen in plaats van naar het default .

Verminder vingerafdrukken in Accept-Language headerinformatie

Vermindert de hoeveelheid informatie die de waardereeks in de Accept-Language headerwaarde in HTTP-verzoeken en in navigator.languages ​​openbaart. In plaats van een volledige lijst met de voorkeurstalen van de gebruiker bij elk HTTP-verzoek met de Accept-Language header te verzenden, verzenden we nu de voorkeurstaal van de gebruiker in de Accept-Language -header. Om compatibiliteitsrisico's te minimaliseren, wordt bij de eerste lancering de informatie in de HTTP-header beperkt. In de toekomst zullen we de gerelateerde JavaScript-getters in navigator.languages ​​beperken.

Fire error-gebeurtenis in plaats van het gooien voor CSP geblokkeerde werknemer

Wanneer geblokkeerd door Content Security Policy (CSP), genereert Chrome momenteel een SecurityError vanuit de constructor van Worker en SharedWorker. De specificatie vereist dat CSP wordt gecontroleerd als onderdeel van fetch en activeert foutgebeurtenissen asynchroon in plaats van een uitzondering te genereren wanneer een script new Worker(url) of new SharedWorker(url) uitvoert. Deze wijziging maakt Chrome-specificatie conform: er wordt geen fout gegenereerd tijdens de constructor en foutgebeurtenissen worden asynchroon geactiveerd.

Audioniveau voor RTC-gecodeerde frames

Maakt het audioniveau van een gecodeerd frame, verzonden met RTCPeerConnection en blootgesteld met behulp van WebRTC Encoded Transform, zichtbaar op het web.

Nieuwe oorsprongsproeven

In Chrome 139 kunt u kiezen voor de volgende nieuwe oorsprongsproeven .

Snelle API

De Prompt API is ontworpen voor interactie met een AI-taalmodel met behulp van tekst-, beeld- en audio-invoer. De API ondersteunt diverse use cases, van het genereren van bijschriften bij afbeeldingen en het uitvoeren van visuele zoekopdrachten tot het transcriberen van audio, het classificeren van geluidsgebeurtenissen, het genereren van tekst volgens specifieke instructies en het extraheren van informatie of inzichten uit tekst. De API ondersteunt gestructureerde uitvoer die ervoor zorgt dat reacties voldoen aan een vooraf gedefinieerde indeling, meestal uitgedrukt als een JSON-schema. Dit verbetert de conformiteit van reacties en vergemakkelijkt naadloze integratie met downstream-applicaties die gestandaardiseerde uitvoerformaten vereisen. Deze API is ook beschikbaar in Chrome-extensies. Deze proefversie is bedoeld voor online zichtbaarheid.

Blokkering van renderen met volledige framesnelheid

We stellen voor om een ​​nieuw renderblokkeringstoken (full-frame-rate) toe te voegen aan de blokkeringsattributen. Wanneer de renderer geblokkeerd is met het full-frame-rate-token, zal de renderer met een lagere framesnelheid werken om meer bronnen te reserveren voor het laden.

WebGPU-compatibiliteitsmodus

Voegt een opt-in, licht beperkte subset van de WebGPU API toe die oudere grafische API's zoals OpenGL en Direct3D11 kan uitvoeren. Door voor deze modus te kiezen en de bijbehorende beperkingen te respecteren, kunnen ontwikkelaars het bereik van hun WebGPU-applicaties uitbreiden naar veel oudere apparaten die niet beschikken over de moderne, expliciete grafische API's die de kern van WebGPU vereist. Voor eenvoudige applicaties is de enige vereiste wijziging het specificeren van het featureLevel "compatibility" bij het aanroepen van requestAdapter . Voor geavanceerdere applicaties kunnen enkele aanpassingen nodig zijn om aan de beperkingen van de modus te voldoen. Omdat de compatibiliteitsmodus een subset is, zijn de resulterende applicaties ook geldige WebGPU Core-applicaties en zullen ze zelfs draaien op user agents die de compatibiliteitsmodus niet ondersteunen.

Afkeuringen en verwijderingen

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

In deze versie van Chrome zijn twee functies verwijderd.

Ondersteuning voor macOS 11 verwijderen

Chrome 138 is de laatste versie die macOS 11 ondersteunt. Vanaf Chrome 139 wordt macOS 11 niet meer ondersteund, omdat het buiten de ondersteuningsperiode van Apple valt. Het gebruik van een ondersteund besturingssysteem is essentieel voor de beveiliging. Op Macs met macOS 11 blijft Chrome werken en wordt een waarschuwingsbalk weergegeven, maar er worden geen verdere updates uitgevoerd. Als u Chrome wilt updaten, moet u uw computer updaten naar een ondersteunde versie van macOS. Voor nieuwe installaties van Chrome 139 en hoger is macOS 12 of hoger vereist.

Automatische detectie van ISO-2022-JP-tekenset in HTML verwijderen

Er zijn bekende beveiligingsproblemen met betrekking tot automatische tekensetdetectie voor ISO-2022-JP. Omdat het gebruik ervan zeer laag is en Safari geen automatische detectie van ISO-2022-JP ondersteunt, heeft Chrome de ondersteuning hiervoor verwijderd om de beveiligingsproblemen te verhelpen.