Chrome 140 bèta

Gepubliceerd: 6 augustus 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 140 is sinds 6 augustus 2025 in bèta. Je kunt de nieuwste versie downloaden op de officiële Chrome-website voor desktop of in de Google Play Store voor Android.

CSS en UI

CSS getypte rekenkunde

Met getypte rekenkunde kun je expressies in CSS schrijven, zoals calc(10em / 1px) of calc(20% / 0.5em * 1px) . Dit is bijvoorbeeld handig in typografie, omdat je hiermee een getypte waarde kunt omzetten naar een ongetypte waarde en deze kunt hergebruiken voor eigenschappen die getallen accepteren. Een andere toepassing is het vermenigvuldigen van de eenheidsloze waarde met een ander type. Je kunt bijvoorbeeld van pixels naar graden converteren.

De eigenschap scroll-target-group

De eigenschap scroll-target-group geeft aan of het element een scrollmarkeringsgroepcontainer is. Deze accepteert een van de volgende waarden:

  • 'none': Het element maakt geen scrollmarkeringsgroepcontainer aan.
  • 'auto': Het element stelt een scroll-markeringsgroepcontainer in die een scroll-markeringsgroep vormt die alle scroll-markeringselementen bevat waarvoor dit de dichtstbijzijnde voorouder-scroll-markeringsgroepcontainer is.

Door een scroll-markergroepcontainer in te stellen, kunnen alle HTML-ankerelementen met een fragment-ID die zich in zo'n container bevinden, het HTML-equivalent zijn van ::scroll-marker pseudo-elementen. Het ankerelement waarvan het scrolldoel momenteel zichtbaar is, kan worden gestyled met de pseudo-klasse :target-current .

Schakel counter() en counters() in de alt-tekst van de content eigenschap in

Deze functie voegt de mogelijkheid toe om counter() en counters() te gebruiken in de alt-tekst van de content eigenschap. Dit biedt meer betekenisvolle informatie om de toegankelijkheid te verbeteren.

Weergave-overgangspseudo's erven meer animatie-eigenschappen

De pseudoboom voor weergaveovergangen erft nu een aantal animatie-eigenschappen:

  • animation-delay
  • animation-timing-function
  • animation-iteration-count
  • animation-direction
  • animation-play-state

Geneste weergave-overgangen inschakelen

Met deze functie kunnen weergaveovergangen een geneste pseudo-elementboom genereren in plaats van een platte. Hierdoor lijkt de weergaveovergang meer in lijn met de oorspronkelijke elementen en visuele intentie. Het maakt clipping, geneste 3D-transformaties en de juiste toepassing van effecten zoals dekking, maskering en filters mogelijk.

overscroll-behavior van viewport propageren vanuit root

Deze wijziging propageert overscroll-behavior vanuit de root in plaats van de body. De CSS-werkgroep heeft besloten om eigenschappen van de <body> niet naar de viewport te propageren. In plaats daarvan worden eigenschappen van de viewport gepropageerd vanuit het root-element ( <html> ). overscroll-behavior zou dus vanuit het root-element moeten worden gepropageerd. Chrome kampt echter al lang met een probleem: overscroll-behavior wordt gepropageerd vanuit de <body> in plaats van vanuit de root. Dit gedrag is niet interoperabel met andere browsers. Deze wijziging zorgt ervoor dat Chrome voldoet aan de specificatie en interoperabel wordt met andere implementaties.

ScrollIntoView -containeroptie

Met de containeroptie ScrollIntoViewOptions kunnen ontwikkelaars een scrollIntoView bewerking uitvoeren die alleen de dichtstbijzijnde bovenliggende scrollcontainer scrolt. Het volgende fragment scrolt bijvoorbeeld alleen de scrollcontainer van target om target in beeld te brengen, maar scrolt niet alle scrollcontainers naar de viewport:

target.scrollIntoView({container: 'nearest'});

Voeg de CSS caret-animation eigenschap toe

Chromium ondersteunt animatie van de eigenschap caret-color . Wanneer de eigenschap echter geanimeerd is, verstoort het standaard knipperende gedrag van de caret de animatie.

De CSS-eigenschap caret-animation heeft twee mogelijke waarden: auto en manual . auto staat voor browserstandaard (knipperend) en manual betekent dat de ontwikkelaar de cursoranimatie beheert. Gebruikers die last hebben van knipperende of flitsende beelden, kunnen het knipperen bovendien uitschakelen met een gebruikersstijlblad.

De highlightsFromPoint API

De highlightsFromPoint API stelt ontwikkelaars in staat om te werken met aangepaste markeringen. De API detecteert welke markeringen zich op een specifiek punt in een document bevinden. Deze interactiviteit is waardevol voor complexe webfuncties waarbij meerdere markeringen elkaar kunnen overlappen of zich binnen een schaduw-DOM kunnen bevinden. Door nauwkeurige puntgebaseerde markeringsdetectie te bieden, stelt de API ontwikkelaars in staat om dynamische interacties met aangepaste markeringen effectiever te beheren. Ontwikkelaars kunnen bijvoorbeeld reageren op klikken van gebruikers of hover-gebeurtenissen op gemarkeerde gebieden om aangepaste tooltips, contextmenu's of andere interactieve functies te activeren.

Wijziging Weergave Overgang voltooid belofte timing

De huidige timing voor de voltooide promise vindt plaats binnen de levenscyclusstappen van de rendering. Dit betekent dat code die wordt uitgevoerd als gevolg van de promise-resolutie, wordt uitgevoerd nadat het visuele frame dat de weergaveovergang verwijdert, is geproduceerd. Dit kan een flikkering aan het einde van de animatie veroorzaken als het script stijlen verplaatst om een visueel vergelijkbare status te behouden. Deze wijziging lost het probleem op door de opschoonstappen voor ViewTransition asynchroon uit te voeren nadat de levenscyclus is voltooid.

Voeg het bronkenmerk ToggleEvent toe

Het source van een ToggleEvent bevat het element dat de ToggleEvent heeft geactiveerd, indien van toepassing. Als een gebruiker bijvoorbeeld op een <button> -element klikt met het popovertarget of commandfor kenmerk om een popover te openen, wordt het bronkenmerk van de ToggleEvent die op de popover wordt geactiveerd, ingesteld op de aanroepende <button> .

Voorkom dat SVG foreignObject het canvas voor blob-URL's verontreinigt

Alle browsers ondersteunen al lang het gebruik van een <img> -element met een SVG-bron in een HTML canvas drawImage bewerking. Het gedrag van canvas-vervuiling varieert echter per platform. Alle browsers beschadigen het canvas wanneer de SVG-bron een foreignObject tag bevat en ernaar wordt verwezen met een HTTP-URI. Wanneer naar dezelfde SVG wordt verwezen via een data-URI, beschadigen geen enkele browser het canvas. Wanneer echter een blob-URI wordt gebruikt, beschadigen zowel Chromium (vóór deze wijziging) als WebKit het canvas, maar Gecko niet. Zodra deze functionaliteit beschikbaar is, komt het gedrag van Chromium overeen met dat van Gecko, waardoor een breder scala aan SVG-content kan worden gebruikt in canvas drawImage -aanroepen zonder vervuiling.

Ondersteun de descriptor font-variation-settings in @font-face rule

Met CSS kunnen ontwikkelaars de dikte, breedte, schuinte en andere assen van een lettertype aanpassen met behulp van de eigenschap font-variation-settings op individuele elementen. Chromium-gebaseerde browsers bieden echter geen ondersteuning voor deze eigenschap in @font-face -declaraties. Deze functie ondersteunt de op strings gebaseerde syntaxis voor font-variation-settings zoals gedefinieerd in CSS Fonts Level 4. Ongeldige of niet-herkende feature tags worden per specificatie genegeerd. Binaire of niet-standaard vormen worden niet ondersteund. Variabele lettertypen worden steeds breder gebruikt voor zowel prestaties als typografische flexibiliteit. Ondersteuning voor deze descriptor in Chromium verbetert de controle, vermindert herhaling en ondersteunt een schaalbare, moderne benadering van webtypografie.

Web-API's

Converteer Uint8Array van en naar base64 en hex

Base64 is een veelgebruikte manier om willekeurige binaire gegevens als ASCII weer te geven. JavaScript heeft Uint8Arrays voor binaire gegevens. Het mist echter een ingebouwd mechanisme om die gegevens als base64 te coderen, of om base64-gegevens te gebruiken en een bijbehorende Uint8Array te genereren. Deze functie biedt de mogelijkheid en methoden om te converteren tussen hexadecimale strings en Uint8Arrays .

Gebruik de ReadableStreamBYOBReader min -optie

Deze functie introduceert een min optie in de bestaande methode ReadableStreamBYOBReader.read(view) . De methode accepteert al een ArrayBufferView waarin gegevens worden gelezen, maar garandeert momenteel niet hoeveel elementen er worden geschreven voordat de leesbewerking wordt verwerkt. Door een min op te geven, kunt u vereisen dat de stream wacht tot er ten minste zoveel elementen beschikbaar zijn voordat de leesbewerking wordt verwerkt. Dit is een verbetering ten opzichte van het huidige gedrag, waarbij leesbewerkingen mogelijk worden verwerkt met minder elementen dan de weergave kan bevatten.

In sommige gevallen is het belangrijk om aan de serverzijde onderscheid te maken tussen cookies die door de server worden geplaatst en die door de client. Een voorbeeld hiervan zijn cookies die normaal gesproken altijd door de server worden geplaatst. Onverwachte code (zoals een XSS-exploit, een schadelijke extensie of een commit van een verwarde ontwikkelaar) kan deze echter op de client plaatsen. Dit voorstel voegt een signaal toe waarmee servers dit onderscheid kunnen maken. Meer specifiek definieert het de prefixen __Http en __HostHttp , die ervoor zorgen dat er aan de clientzijde geen cookie wordt geplaatst met behulp van een script.

Beperkingen voor lokale netwerktoegang

Chrome 140 beperkt de mogelijkheid om verzoeken te doen aan het lokale netwerk van de gebruiker, waarvoor een toestemmingsvraag vereist is. Een verzoek aan een lokaal netwerk is elk verzoek van een openbare website aan een lokaal IP-adres of loopback, of van een lokale website (zoals een intranet) aan loopback. Door websites de mogelijkheid te geven deze verzoeken uit te voeren met een toestemming, wordt het risico op cross-site request forgery-aanvallen op lokale netwerkapparaten, zoals routers, verkleind. Het beperkt ook de mogelijkheid van websites om deze verzoeken te gebruiken om een vingerafdruk te maken van het lokale netwerk van de gebruiker. Deze toestemming is beperkt tot beveiligde contexten. Indien verleend, versoepelt de toestemming ook de blokkering van gemengde content voor lokale netwerkverzoeken, omdat veel lokale apparaten om verschillende redenen geen openbaar vertrouwde TLS-certificaten kunnen verkrijgen.

Meer informatie vindt u in Nieuwe toestemmingsprompt voor lokale netwerktoegang .

SharedWorker-scripts inschakelen om controllers voor blob-script-URL's over te nemen

De specificatie stelt dat workers controllers voor de blob-URL moeten overnemen. Bestaande code staat echter alleen toegewezen workers toe de controller over te nemen; gedeelde workers niet. Hiermee wordt het gedrag van Chrome aangepast aan de specificatie. Het bedrijfsbeleid SharedWorkerBlobURLFixEnabled beheert deze functie.

ServiceWorkerStaticRouterTimingInfo toevoegen

Deze functie voegt timinginformatie toe voor de statische routing-API van ServiceWorker, die beschikbaar is in de timing-API voor navigatie en de timing-API voor resources voor gebruik door ontwikkelaars. ServiceWorker biedt timinginformatie om bepaalde punten in de tijd te markeren.

Deze functie voegt twee stukjes statische routing-API-relevante timinginformatie toe:

  • RouterEvaluationStart : Tijd om een aanvraag te matchen met geregistreerde routerregels.
  • CacheLookupStart : Tijd om de cacheopslag op te zoeken als de bron "cache" is.

Bovendien voegt deze functie twee stukjes routerbroninformatie toe: de overeenkomende routerbron en de uiteindelijke routerbron.

Webverificatie inschakelen voor voorwaardelijke creatie op Android (niet leverbaar)

Geïsoleerde web-apps

Introductie van de Controlled Frame API

Deze functie voegt een Controlled Frame API toe die alleen beschikbaar is voor geïsoleerde webapps (IWA's). Net als API's met vergelijkbare namen op andere platforms, maakt Controlled Frame het mogelijk om alle content in te sluiten, zelfs content van derden die niet in <iframe> kan worden ingesloten. Controlled Frame maakt het ook mogelijk om ingesloten content te beheren met een verzameling API-methoden en -gebeurtenissen. Zie de uitleg over geïsoleerde webapps voor meer informatie over geïsoleerde webapps .

Nieuwe oorsprongsproeven

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

Voeg de clipboardchange -gebeurtenis toe

De gebeurtenis clipboardchange wordt geactiveerd wanneer een webapp of een andere systeemtoepassing de inhoud van het systeemklembord wijzigt. Hierdoor kunnen webapps zoals externe desktopclients hun klemborden gesynchroniseerd houden met het systeemklembord. Het biedt een efficiënt alternatief voor het controleren van wijzigingen in het klembord met JavaScript.

Meldingen voor inkomende oproepen inschakelen

Deze functie breidt de Notifications API uit, zodat geïnstalleerde PWA's meldingen kunnen versturen voor inkomende oproepen – meldingen met knoppen in de stijl van oproepen en een beltoon. Deze extensie helpt VoIP-webapps om aantrekkelijkere ervaringen te creëren door het voor gebruikers gemakkelijker te maken om oproepmeldingen te herkennen en te beantwoorden. Bovendien helpt deze functie de kloof te overbruggen tussen native en webimplementaties van apps die beide hebben.

Introductie van de Crash Reporting-sleutelwaarde-API

Met deze functie wordt een nieuwe sleutel-waarde-API geïntroduceerd, voorlopig window.crashReport , ondersteund door een per-document-kaart met gegevens die zijn toegevoegd aan crashrapporten.

De gegevens in de backing map van deze API worden naar de CrashReportBody verzonden als er een renderproces op de site crasht. Dit stelt ontwikkelaars in staat om te debuggen welke specifieke status in hun applicatie een bepaalde crash zou kunnen veroorzaken.

Afschaffingen 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 is één functie verouderd.

Speciale regels voor lettergrootte voor <h1> in sommige elementen afschaffen

De HTML-specificatie bevat een lijst met speciale regels voor <h1> -tags die zijn genest in <article> , <aside> -, <nav> - of <section> -elementen.

Deze speciale regels zijn verouderd omdat ze toegankelijkheidsproblemen veroorzaken. Ze verkleinen namelijk visueel de lettergrootte voor geneste <h1> -tekens, zodat ze eruitzien als <h2> -tekens, maar niets in de toegankelijkheidsboom weerspiegelt deze visuele verandering.