Chrome 140 bèta

Gepubliceerd: 6 augustus 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 140 bevindt zich sinds 6 augustus 2025 in de bètafase. U kunt de nieuwste versie downloaden via de officiële Chrome-website voor desktop of via 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 voor typografie, omdat je hiermee een getypte waarde kunt omzetten naar een niet-getypte waarde en deze kunt hergebruiken voor eigenschappen die getallen accepteren. Een ander gebruiksscenario is het vermenigvuldigen van een eenheidsloze waarde met een ander type. Je kunt bijvoorbeeld pixels omzetten naar graden.

De eigenschap scroll-target-group

De eigenschap scroll-target-group specificeert of het element een container voor een scrollmarkergroep is. Deze eigenschap accepteert een van de volgende waarden:

  • 'none': Het element stelt geen scrollmarkergroepcontainer in.
  • 'auto': Het element creëert een container voor een scrollmarkergroep die alle scrollmarkerelementen bevat waarvan dit de dichtstbijzijnde vooroudercontainer voor de scrollmarkergroep is.

Door een container voor scrollmarkeringen te creëren, kunnen alle HTML-ankerelementen met een fragment-ID die zich binnen zo'n container bevinden, fungeren als het HTML-equivalent van pseudo-elementen ::scroll-marker . Het ankerelement waarvan het scrolldoel momenteel in beeld is, kan worden gestyled met de pseudo-klasse :target-current .

Schakel de functies counter() en counters() in voor de `alt`-tekst van de content eigenschap.

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.

Pseudo-weergavetransities erven meer animatie-eigenschappen.

De pseudo-structuur voor weergaveovergangen erft nu een aantal animatie-eigenschappen:

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

Schakel overgangen tussen geneste weergaven in.

Deze functie maakt het mogelijk om bij weergaveovergangen een geneste pseudo-elementenboom te genereren in plaats van een platte. Hierdoor sluit de weergaveovergang beter aan bij de oorspronkelijke elementen en de visuele intentie. Het maakt knippen, geneste 3D-transformaties en de juiste toepassing van effecten zoals transparantie, maskering en filters mogelijk.

Verspreid overscroll-behavior van de viewport vanuit de root.

Deze wijziging zorgt ervoor dat overscroll-behavior vanuit de root in plaats van de body wordt doorgegeven. De CSS-werkgroep heeft besloten om eigenschappen niet langer vanuit de <body> naar de viewport door te geven. In plaats daarvan worden eigenschappen van de viewport doorgegeven vanuit het root-element ( <html> ). overscroll-behavior zou dus vanuit het root-element moeten worden doorgegeven. Chrome had echter al lange tijd een probleem: het gaf overscroll-behavior door vanuit de <body> in plaats van de root. Dit gedrag is niet compatibel met andere browsers. Deze wijziging zorgt ervoor dat Chrome voldoet aan de specificatie en compatibel wordt met andere implementaties.

ScrollIntoView containeroptie

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

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

Voeg de CSS-eigenschap ` caret-animation toe.

Chromium ondersteunt animatie van de caret-color . Echter, tijdens de animatie interfereert het standaard knippergedrag van de cursor met de animatie.

De CSS-eigenschap caret-animation heeft twee mogelijke waarden: auto en manual . auto betekent de standaardinstelling van de browser (knipperen), en manual betekent dat de ontwikkelaar de cursoranimatie bepaalt. Gebruikers die last hebben van knipperende of flitsende beelden, kunnen het knipperen bovendien uitschakelen met een gebruikersstijlbestand.

De highlightsFromPoint API

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

Wijziging van weergaveovergang voltooid, beloofde timing

De huidige timing van de voltooide promise valt binnen de stappen van de rendering-levenscyclus. Dit betekent dat code die wordt uitgevoerd als gevolg van de promise-resolutie, plaatsvindt nadat het visuele frame dat de weergaveovergang verwijdert, is gegenereerd. Dit kan flikkeren aan het einde van de animatie veroorzaken als het script stijlen verplaatst om een ​​visueel vergelijkbare toestand te behouden. Deze wijziging lost het probleem op door de opruimstappen van de ViewTransition asynchroon te laten uitvoeren nadat de levenscyclus is voltooid.

Voeg het bronkenmerk ToggleEvent toe.

Het source attribuut 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 attribuut ingesteld om een ​​popover te openen, zal het `source`-attribuut van de ToggleEvent die op de popover wordt geactiveerd, de waarde van de <button> bevatten.

Voorkom dat foreignObject in SVG het canvas vervuilt voor blob-URL's.

Alle browsers ondersteunen al lange tijd het gebruik van een <img> -element met een SVG-bron in een HTML-canvas- drawImage bewerking. Het gedrag van canvas-tainting verschilt echter per platform. Alle browsers markeren het canvas als 'tainted' wanneer de SVG-bron een foreignObject -tag bevat en wordt aangeroepen met een HTTP-URI. Wanneer dezelfde SVG wordt aangeroepen via een data-URI, markeren alle browsers het canvas niet als 'tainted'. Wanneer echter een blob-URI wordt gebruikt, markeren zowel Chromium (vóór deze wijziging) als WebKit het canvas als 'tainted', maar Gecko niet. Na de release van deze functie zal het gedrag van Chromium overeenkomen met dat van Gecko, waardoor een breder scala aan SVG-content kan worden gebruikt in canvas- drawImage aanroepen zonder 'tainted' te worden.

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

CSS stelt ontwikkelaars in staat om het gewicht, de breedte, de schuinte en andere eigenschappen van een lettertype aan te passen met behulp van de font-variation-settings eigenschap op individuele elementen. Chromium-browsers bieden echter geen ondersteuning voor deze eigenschap binnen @font-face declaraties. Deze functie ondersteunt de op tekenreeksen gebaseerde syntaxis voor font-variation-settings zoals gedefinieerd in CSS Fonts Level 4. Ongeldige of niet-herkende functietags worden volgens de specificatie genegeerd. Binaire of niet-standaard vormen worden niet ondersteund. Variabele lettertypen worden steeds vaker gebruikt vanwege zowel de prestaties als de typografische flexibiliteit. Het toevoegen van ondersteuning voor deze descriptor in Chromium verbetert de controle, vermindert herhaling en ondersteunt een schaalbaardere, modernere benadering van webtypografie.

Web-API's

Converteer Uint8Array naar en van 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 om te zetten in een overeenkomstige Uint8Array . Deze functie voegt de mogelijkheid en methoden toe om te converteren tussen hexadecimale tekenreeksen 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 voltooid. Door een min waarde op te geven, kunt u vereisen dat de stream wacht totdat er ten minste dat aantal elementen beschikbaar is voordat de leesbewerking wordt voltooid. Dit is een verbetering ten opzichte van het huidige gedrag, waarbij leesbewerkingen kunnen worden voltooid 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 ingesteld en cookies die door de client worden ingesteld. Een voorbeeld hiervan zijn cookies die normaal gesproken altijd door de server worden ingesteld. Onverwachte code (zoals een XSS-aanval, een kwaadaardige extensie of een commit van een verwarde ontwikkelaar) kan deze echter ook aan de clientzijde instellen. Dit voorstel voegt een signaal toe waarmee servers een dergelijk onderscheid kunnen maken. Meer specifiek definieert het de prefixen __Http en __HostHttp , die ervoor zorgen dat een cookie niet aan de clientzijde wordt ingesteld met behulp van scripts.

Beperkingen voor toegang tot het lokale netwerk

Chrome 140 beperkt de mogelijkheid om verzoeken naar het lokale netwerk van de gebruiker te sturen door middel van een toestemmingsprompt. Een verzoek naar het lokale netwerk is elk verzoek van een openbare website naar een lokaal IP-adres of loopback, of van een lokale website (zoals een intranet) naar loopback. Door websites de mogelijkheid te bieden deze verzoeken uit te voeren via een toestemmingsprompt, wordt het risico op cross-site request forgery-aanvallen op lokale netwerkapparaten, zoals routers, verkleind. Het vermindert ook de mogelijkheid voor websites om deze verzoeken te gebruiken om het lokale netwerk van de gebruiker te identificeren. Deze toestemming is beperkt tot beveiligde contexten. Indien verleend, versoepelt de toestemming ook de blokkering van gemengde inhoud voor verzoeken naar het lokale netwerk, aangezien veel lokale apparaten om verschillende redenen geen publiekelijk vertrouwde TLS-certificaten kunnen verkrijgen.

Lees meer in Nieuwe toestemmingsprompt voor toegang tot het lokale netwerk .

Schakel de mogelijkheid in voor SharedWorker-scripts om de controller voor blob-script-URL's over te nemen.

De specificatie stelt dat workers controllers voor de blob-URL moeten overerven. De bestaande code staat echter alleen toe dat dedicated workers de controller overerven; shared workers niet. Deze wijziging corrigeert het gedrag van Chrome zodat het in lijn is met de specificatie. Het bedrijfsbeleid SharedWorkerBlobURLFixEnabled beheert deze functie.

Voeg ServiceWorkerStaticRouterTimingInfo toe

Deze functie voegt timinginformatie toe voor de ServiceWorker Static routing API, die beschikbaar wordt gesteld in de navigation timing API en resource timing API voor ontwikkelaars. ServiceWorker biedt timinginformatie om bepaalde tijdstippen te markeren.

Deze functie voegt twee stukken timinginformatie toe die relevant zijn voor de statische routing-API:

  • RouterEvaluationStart : Tijd om te beginnen met het matchen van een verzoek met geregistreerde routerregels.
  • CacheLookupStart : Tijd om te beginnen met het opzoeken van de cacheopslag als de bron "cache" is.

Daarnaast voegt deze functie twee stukken routerbroninformatie toe: de overeenkomende routerbron en de uiteindelijke routerbron.

Schakel voorwaardelijke aanmaak via webauthenticatie in op Android (wordt nog niet uitgebracht)

Geïsoleerde webapps

Introductie van de Controlled Frame API

Deze functie voegt een Controlled Frame API toe die alleen beschikbaar is voor Isolated Web Apps (IWA's). Net als vergelijkbare API's 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 biedt ook de mogelijkheid om ingesloten content te beheren met een reeks API-methoden en -gebeurtenissen. Zie de uitleg over Isolated Web Apps voor meer informatie.

Nieuwe oorsprongsproeven

In Chrome 140 kun je je aanmelden voor de volgende nieuwe Origin-proefversies .

Voeg de clipboardchange gebeurtenis toe.

De clipboardchange gebeurtenis wordt geactiveerd wanneer een webapplicatie of een andere systeemapplicatie de inhoud van het systeemklembord wijzigt. Hierdoor kunnen webapplicaties, zoals externe bureaubladclients, hun klembord gesynchroniseerd houden met het systeemklembord. Het biedt een efficiënt alternatief voor het continu controleren van het klembord met JavaScript op wijzigingen.

Schakel meldingen voor inkomende oproepen in.

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

Introduceer de key-value API voor crashrapportage

Deze functie introduceert een nieuwe key-value API, voorlopig genaamd window.crashReport , die gebruikmaakt van een per-document-map met gegevens die aan crashrapporten worden toegevoegd.

De gegevens in de back-endmap van deze API worden verzonden in de CrashReportBody als er een rendererproces op de site vastloopt. Dit stelt ontwikkelaars in staat om te achterhalen welke specifieke status in hun applicatie de oorzaak van een bepaalde crash kan zijn.

Afschrijvingen en verwijderingen

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

Deze versie van Chrome verwijdert één nieuwe functie.

Schrap de speciale regels voor lettergrootte voor <h1> binnen bepaalde elementen.

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

Deze speciale regels zijn verouderd omdat ze toegankelijkheidsproblemen veroorzaken. Ze verkleinen namelijk visueel de lettergrootte van geneste <h1> -elementen, waardoor ze eruitzien als <h2> -elementen, maar niets in de toegankelijkheidsstructuur weerspiegelt deze visuele wijziging.