Chrome 146

Stabiele releasedatum: 10 maart 2026

Tenzij anders vermeld, gelden de volgende wijzigingen voor de stabiele versie van Chrome 146 voor Android, ChromeOS, Linux, macOS en Windows.

CSS en UI

Door scrollen geactiveerde animaties

Deze functie voegt op scrollpositie gebaseerde bediening van animaties toe, bijvoorbeeld het afspelen, pauzeren en resetten van animaties.

Een veelvoorkomend patroon op webpagina's is het starten van een animatie wanneer een scrollpositie wordt bereikt. Ontwikkelaars doen dit vaak door JavaScript te gebruiken om handmatig te detecteren of een element zich binnen het zichtbare gedeelte van de scrollcontainer bevindt en om een ​​bijbehorende animatie te starten (bijvoorbeeld het element in beeld schuiven). Veel van deze toepassingen zijn afhankelijk van declaratief verstrekte informatie. Deze functie stelt u in staat om dergelijke interacties declaratief te creëren met CSS, waardoor de user agent deze interactie kan overdragen aan een worker thread. De API bevat ook JavaScript-interfaces waarmee u de functie kunt uitbreiden naar webanimaties, naast CSS-animaties.

Bug #390314945 volgen | ChromeStatus.com-item | Specificatie

De trigger-scope eigenschap

Met de eigenschap trigger-scope kunt u de namen van animation triggers beperken die worden gedeclareerd door trigger-instantiating properties .

Trigger-instantiating properties , zoals bijvoorbeeld timeline-trigger , declareren namen waarnaar de eigenschap animation-trigger kan verwijzen om animaties aan triggers te koppelen. Deze namen zijn echter standaard globaal (vergelijkbaar met anchor-name ), en het is vaak handig om de zichtbaarheid van de namen te beperken om interacties tussen animaties en triggers te isoleren.

Bug #466134208 volgen | ChromeStatus.com-item | Specificatie

meta name="text-scale"

De standaard lettergrootte van het root element schaalt evenredig met de tekstschaalinstelling van zowel het besturingssysteem als de browser. Hierdoor kunnen pagina's die de beste praktijken voor font-relative units volgen (dat wil zeggen, rem en em gebruiken voor lettergroottes en pagina-elementen die zich aanpassen aan de tekstgroottevoorkeuren van de gebruiker) de tekstschaalinstelling van de gebruiker op besturingssysteemniveau respecteren. Dit schakelt ook bestaande browsergebaseerde mechanismen (zoals inzoomen op volledige pagina's in Windows) en heuristieken (zoals automatisch aanpassen van tekstgrootte op mobiele apparaten) uit. Je kunt de browser laten weten dat de pagina zo is opgebouwd (dat wil zeggen, met rem en em ) dat deze goed schaalt met verschillende door de gebruiker geselecteerde lettergroottevoorkeuren. Net als env(preferred-text-scale) , waarmee je de tekstschaal kunt benaderen, breidt deze API dit uit door schaling mogelijk te maken met behulp van de standaard lettergrootte van het root element en automatische tekstschaling uit te schakelen.

Bug #430566925 volgen | ChromeStatus.com-item | Specificatie

Scoped custom element registry

Deze functie maakt het mogelijk om meerdere aangepaste elementdefinities voor één tagnaam binnen een pagina te hebben. Dit voorkomt conflicten met aangepaste elementnamen wanneer een webapplicatie bibliotheken uit meerdere bronnen gebruikt. Dit wordt bereikt door gebruikerscode in staat te stellen meerdere registers voor aangepaste elementen aan te maken en deze te koppelen aan boomstructuren en elementen die als scoping-objecten fungeren.

Bug #40826514 volgen | ChromeStatus.com-item | Specificatie

Mogelijkheden

Vul targetURL in tijdens de bestandsverwerking.

De Launch Handler-implementatie zorgt er nu voor dat LaunchParams.targetURL wordt ingevuld wanneer een PWA wordt gestart met bestandsverwerking. Vóór deze wijziging was deze eigenschap null wanneer een bestand werd geopend in een bestaand venster. Deze wijziging zorgt ervoor dat de URL uit het manifest action (dezelfde URL die het document momenteel moet laden) beschikbaar is voor de launchQueue consumer.

Bug #464314997 volgen | ChromeStatus.com-item | Specificatie

Stop met het opnieuw in de wachtrij plaatsen van LaunchParams bij het herladen.

Voorkom dat de launchQueue de laatst verzonden LaunchParams (inclusief bestandshandles) opnieuw verzendt wanneer een gebruiker de pagina vernieuwt. Voorheen zorgde een paginavernieuwing ervoor dat de launch consumer opnieuw werd geactiveerd met de gegevens van de oorspronkelijke lancering. Deze wijziging zorgt ervoor dat een herlaadactie wordt behandeld als een standaard navigatie in plaats van een "herstart", en dat de launchQueue niet wordt gevuld met dubbele bestanden, tenzij er een nieuwe bestandslancering plaatsvindt.

Bug #40204185 volgen | ChromeStatus.com-item

DOM

Navigatie-API: voeg post-commit handler toe vanuit precommit

Bij het onderscheppen van navigaties met de navigate gebeurtenis worden precommitHandlers en gewone post-commit-handlers afzonderlijk doorgegeven.

Dit werkt goed als er maar één van beide is, maar kan omslachtig worden als de workflow een precommitHandler bevat die naar een post-commit handler leidt.

Deze toevoeging is een kleine ergonomische verbetering waarmee u een post-commit-handler kunt registreren terwijl u een pre-commit-handler aanroept.

Bug #465487215 volgen | ChromeStatus.com-item | Specificatie

Grafische weergave

WebGPU: Textuur- en sampler-LET's

Voeg een taalfunctie toe aan WGSL, texture_and_sampler_let , waarmee je texture en sampler objecten kunt opslaan in een let declaratie in WGSL.

Bug #459500757 volgen | ChromeStatus.com-item | Specificatie

WebGPU: Tijdelijke koppelingen

Deze functie voegt functionaliteit toe aan de WebGPU-specificatie na de eerste implementatie in een browser.

Met een nieuwe TRANSIENT_ATTACHMENT GPUTextureUsage kunt u attachments maken waarmee render pass-bewerkingen in het tegelgeheugen blijven, waardoor VRAM-verkeer wordt vermeden en mogelijk VRAM-allocatie voor de texturen wordt voorkomen.

Bug #462620664 volgen | ChromeStatus.com-item | Specificatie

WebGPU-compatibiliteitsmodus

Deze modus voegt een optionele, licht beperkte subset van de WebGPU API toe waarmee oudere grafische API's, zoals OpenGL en Direct3D11 , kunnen worden uitgevoerd. Door deze modus te activeren en de bijbehorende beperkingen te respecteren, kunt u het bereik van uw WebGPU toepassingen uitbreiden naar veel oudere apparaten die niet beschikken over de moderne, expliciete grafische API's die de kern van WebGPU vereist. Voor eenvoudige toepassingen is de enige vereiste wijziging het specificeren van het compatibility featureLevel bij het aanroepen requestAdapter . Voor meer geavanceerde toepassingen kunnen enkele aanpassingen nodig zijn om aan de beperkingen van de modus te voldoen. Omdat de compatibiliteitsmodus een subset is, zijn de resulterende toepassingen ook geldige WebGPU Core-toepassingen en werken ze zelfs op user agents die de compatibiliteitsmodus niet ondersteunen.

Bug #442618060 volgen | ChromeStatus.com-item | Specificatie

JavaScript

Iteratorsequentie

Een voorstel van TC39 om iterators te creëren door bestaande iterators te sequentiëren. Dit introduceert Iterator.concat ( ...items ).

Bug #434977727 volgen | ChromeStatus.com-item | Specificatie

Selectieve toestemmingsinterventie

Wanneer u een website toestemming geeft om toegang te krijgen tot een krachtige API (bijvoorbeeld Bluetooth , Camera , Clipboard , DisplayCapture , Geolocation , Microphone , Serial en USB ), is uw toestemming bedoeld voor de website zelf, niet noodzakelijkerwijs voor elk script van derden dat op de pagina wordt uitgevoerd. Met name ingesloten advertentiescripts die in het hoofdvenster of in iframes van dezelfde oorsprong worden uitgevoerd, kunnen de toestemming van de pagina misbruiken om opportunistisch toegang te krijgen tot deze gevoelige gegevens. U bent zich er mogelijk niet van bewust dat een advertentie toegang heeft tot uw informatie.

Deze interventie heeft tot doel een verleende toestemming beter af te stemmen op uw intentie door te voorkomen dat advertentiescripts in een context met API-toestemming deze toestemming gebruiken, waardoor uw vertrouwen in en controle over uw gegevens wordt versterkt.

Bug #435214052 volgen | ChromeStatus.com-item | Specificatie

Behoud dropEffect -waarden van dragover naar drop events.

De HTML5 Drag and Drop API stelt webapplicaties in staat om drag-and-drop-bewerkingen af ​​te handelen via een reeks gebeurtenissen: dragstart , dragenter , dragover , dragleave , drop en dragend . Tijdens deze gebeurtenissen geeft de eigenschap dataTransfer.dropEffect aan welke bewerking ( copy , move , link of none ) moet worden uitgevoerd.

Volgens de HTML5 specification moet de dropEffect waarde die door webapplicaties is ingesteld tijdens de laatste dragover gebeurtenis, behouden blijven en beschikbaar zijn bij de daaropvolgende drop gebeurtenis.

Chromium-browsers overschreven echter de dropEffect waarde van de webapplicatie met de door de browser zelf overeengekomen bewerking voordat de drop gebeurtenis plaatsvond. Dit was een schending van de specificaties en beperkte de controle over het drag-and-drop-gedrag. Dit gedrag is nu aangepast.

Bug #40068941 volgen | ChromeStatus.com-item | Specificatie

Multimedia

API voor afspeelstatistieken voor WebAudio

Deze functie voegt een AudioContext.playbackStats attribuut toe dat een AudioPlaybackStats object retourneert. Dit object biedt statistieken over het afspelen van audio, zoals average latency , minimum/maximum latency , underrun duration en underrun count . Met deze API kunnen webapplicaties de kwaliteit van het afspelen van audio bewaken en storingen detecteren.

Bug #475838360 volgen | ChromeStatus.com-item | Specificatie

Netwerk

Behoud van gegevens-URL MIME-typeparameters

Behoud MIME type parameters (bijvoorbeeld charset , boundary ) in Content-Type headers van de data-URL, zoals gespecificeerd in de Fetch Standard .

Bug #40487194 volgen | ChromeStatus.com-item | Specificatie

Prestatie

LCP: Zorg ervoor dat het gespecificeerde gedrag overeenkomt met de emitterende kandidaten.

Het LCP algoritme genereert nu kandidaten op basis van de grootste geschilderde afbeelding in plaats van de grootste nog niet geschilderde afbeelding. Dit kan ertoe leiden dat er meer tussentijdse kandidaten in de prestatietijdlijn terechtkomen.

In elk animatieframe, nadat het is weergegeven, genereert het LCP-algoritme een nieuwe kandidaat (maximaal één) op de prestatietijdlijn als er een nieuwe grootste tekst of afbeelding is getekend in dat frame. Het algoritme houdt ook de "grootste afbeelding in afwachting" bij, oftewel de grootste afbeelding die nog steeds wordt geladen, en gebruikt de grootte van die afbeelding om te bepalen of de nieuwe kandidaat de grootste is. Dit betekent dat een langzaam ladende grote afbeelding de generatie van tussentijdse LCP-kandidaten kan belemmeren, terwijl deze kandidaten vaak nuttige informatie bevatten om de voortgang van het laden te begrijpen.

Dit gedrag kwam tijdens Interop 2025 naar voren als een verschil met andere engines, en het team stemde ermee in om maximaal één kandidaat per frame te genereren op basis van de set van geschilderde beeld- en tekstelementen voor dat frame.

Bug #482261053 volgen | ChromeStatus.com-item | Specificatie

Beveiliging

Sanitizer API

De Sanitizer API biedt een manier om inhoud die scripts zou kunnen uitvoeren te verwijderen uit willekeurige, door de gebruiker aangeleverde HTML-content. Het doel is om het bouwen van XSS-vrije webapplicaties te vereenvoudigen.

Bug #40138584 volgen | ChromeStatus.com-item | Specificatie

Oorsprongproeven

WebNN

WebNN stelt webapplicaties en frameworks in staat om gebruik te maken van native besturingssysteemservices voor machine learning en de onderliggende hardwaremogelijkheden van uw computer, om zo consistente, efficiënte en betrouwbare ML-ervaringen op het web te realiseren.

Origin-proef | Bug volgen #40206287 | ChromeStatus.com-item | Specificaties

CPU-prestatie-API

Deze API geeft informatie over het stroomverbruik van uw apparaat. Deze API is bedoeld voor webapplicaties die deze informatie gebruiken om een ​​betere gebruikerservaring te bieden, mogelijk in combinatie met de Compute Pressure API. Deze laatste API geeft informatie over de CPU-belasting of het CPU-gebruik van het apparaat en stelt applicaties in staat te reageren op veranderingen in de CPU-belasting.

Bug #449760252 volgen | ChromeStatus.com-item | Specificatie

Speculatieregels: veld form_submission

Dit breidt de syntaxis speculation rules uit, waardoor je het veld form_submission kunt specificeren voor prerender .

Dit veld geeft de browser de instructie om de prerender voor te bereiden als een formulierinzending, zodat deze kan worden geactiveerd door daadwerkelijke formulierinzendingen. Een eenvoudig zoekformulier resulteert bijvoorbeeld in een /search?q=XXX GET-verzoek; webontwikkelaars hebben ondersteuning hiervoor aangevraagd.

Bug #346555939 volgen | ChromeStatus.com-item | Specificatie

Focusgroep

De focusgroepfunctie maakt het mogelijk om met behulp van de pijltjestoetsen op het toetsenbord te navigeren tussen een reeks focusseerbare elementen.

Lees meer over focusgroepen in Verzoek om feedback van ontwikkelaars: focusgroep .

Origin-proef | Bug volgen #1286127 | ChromeStatus.com-item | Specificaties