Chrome 148

Stabiele releasedatum: 5 mei 2026

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

CSS en UI

CSS-naam-alleen-containerquery's

Een CSS-querycontainer kan worden opgevraagd op basis van alleen de containernaam, en er hoeft geen containertype te worden ingesteld:

#container {
  container-name: --foo;
}
@container --foo {
  input { background-color: green; }
}
<div id="container">
  <div><input></div>
</div>

Voorheen vereiste @container naast de naam ook een containertype.

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

At-regel: CSS-functiedetectie

Deze functie voegt een at-rule() `-functie toe aan CSS @supports , waarmee ontwikkelaars kunnen detecteren of CSS `at-rules` worden ondersteund.

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

Open Font Format avar2 tekstvorming en glyphweergave

Versie 2 van de avar-tabel (Axis Variations) stelt lettertypeontwerpers in staat om variabele lettertypen te creëren met betere controle over interpolatie. Waar de oorspronkelijke specificatie voor variabele lettertypen assen onafhankelijk van elkaar behandelt, maakt avar2 het mogelijk dat assen elkaar beïnvloeden. Dit resulteert in lettertypen die gebruiksvriendelijker zijn voor contentauteurs en die compacte opslag mogelijk maken.

Avar2 werkt met dezelfde bekende concepten van lettertypevariaties, maar past de variabele deltawaarden toe op de ontwerpasspecificaties zelf. Bovendien kunt u dit doen over een reeks van meerdere assen.

Het stelt lettertypeontwerpers bijvoorbeeld in staat om 'meta-schuifregelaars' te creëren waarmee meerdere variatieassen tegelijk kunnen worden aangestuurd, waardoor de gebruiker minder tijd kwijt is aan het fijn afstellen en zoeken naar een bruikbare hoek van de ontwerpmogelijkheden van het lettertype.

Avar2 geeft lettertypeontwerpers meer controle over de bruikbare variatieruimte van hun lettertype en stelt hen in staat de aanpassing van ontwerpassen over meerdere assen te coördineren.

Door de relaties tussen assen wiskundig te definiëren binnen de AVAR versie 2-tabel, kunnen lettertypen complexe ontwerpen realiseren met minder masters, wat leidt tot kleinere bestandsgroottes, omdat de interpolatie efficiënter wordt opgeslagen.

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

Het trefwoord revert-rule

Het trefwoord revert-rule zet de cascade terug naar de vorige regel, net zoals revert-layer de cascade terugzet naar de vorige laag. Bijvoorbeeld:

div { color: green; }
div { color: revert-rule; /* Effectively green */ }

Dit is vooral handig in combinatie met voorwaardelijke instructies, omdat je hiermee de huidige regel kunt opheffen als aan een bepaalde voorwaarde niet wordt voldaan:

div {
  display: if(style(--layout: fancy): grid; else: revert-rule);
}

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

Lazy loading voor video- en audio-elementen

Voegt het loading attribuut toe aan <video> en <audio> `-elementen, waardoor ontwikkelaars het laden van mediabronnen kunnen uitstellen tot het element zich in de buurt van de viewport bevindt met behulp van loading="lazy" . Dit sluit aan bij het bestaande lazy loading-gedrag voor <img> en <iframe> `-elementen, wat de laadsnelheid van pagina's verbetert en het dataverbruik vermindert.

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

text-decoration-skip-ink: all

Voeg ondersteuning toe voor de waarde all voor de CSS-eigenschap ` text-decoration-skip-ink .

De eigenschap text-decoration-skip-ink ondersteunt al de waarden auto en none . De waarde all breidt dit uit door onvoorwaardelijk inktoverslaan toe te passen op alle tekens, inclusief CJK-tekens, terwijl auto CJK-tekens niet overslaat omdat inktoverslaan vaak ongewenste visuele resultaten oplevert voor ideografische schriften op typische onderstreepposities.

Met text-decoration-skip-ink: all kunnen ontwikkelaars die text-underline-position of text-underline-offset hebben aangepast om conflicten met CJK-glyphs te voorkomen, er expliciet voor kiezen om de inkt voor die tekens ook over te slaan.

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

Stel dropEffect correct in voor dragEnter , dragLeave en dragOver gebeurtenissen.

De specificaties voor slepen en neerzetten vereisen dat het dropEffect attribuut van het ` dataTransfer -object bepaalde vooraf gedefinieerde waarden heeft voor dragEnter , dragOver en dragLeave . `dragEnter` en `dragOver` moeten een dropEffect hebben op basis van de huidige effectAllowed , en dragLeave moet altijd een none dropEffect hebben. Momenteel houdt Chromium zich niet aan deze regels. Met de introductie van deze functie zal Chromium de specificatie gaan respecteren en de juiste waarden aan dit attribuut toewijzen, zodat webontwikkelaars er gebruik van kunnen maken.

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

Onderdrukking van aanwijzergebeurtenissen bij het starten van de sleepbeweging

Volgens de HTML-specificatie moet de user agent, zodra een sleepbeweging start, de juiste gebeurtenissen naar de sleepbron sturen om aan te geven dat de gebeurtenisstroom van de aanwijzer is beëindigd en dat er geen verdere gebeurtenissen van deze aanwijzer meer verwacht mogen worden. Deze code was gedeeltelijk geïmplementeerd voor muisgebeurtenissen en volledig geïmplementeerd voor aanraaksleepbewegingen op Android. Met de ontwikkeling van deze functie willen we volledig voldoen aan deze specificatievereiste op alle andere platforms. Concreet betekent dit dat de sleepbron na het starten van een sleepbeweging de gebeurtenissen pointercancel , pointerout en pointerleave ontvangt om aan te geven dat de huidige gebeurtenisstroom is beëindigd.

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

Mogelijkheden

Manifestlokalisatie

Ondersteunt lokalisatie van manifestleden, zodat apps hun namen, beschrijvingen, pictogrammen en snelkoppelingen kunnen aanpassen aan de taal en regio van de gebruiker. Ontwikkelaars leveren gelokaliseerde waarden aan in het webapp-manifest en de browser selecteert automatisch de juiste bronnen op basis van de taalinstellingen van de gebruiker, waardoor taalondersteuning in verschillende markten mogelijk wordt.

Lees meer in Lokalisatieondersteuning voor webapp-manifesten .

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

Web op Android

Web Serial API op Android

De Web Serial API biedt een interface voor het verbinden met seriële apparaten, via een seriële poort op het systeem van de gebruiker of via verwijderbare USB- en Bluetooth-apparaten die een seriële poort emuleren. Deze API wordt nu ook ondersteund op Android.

Gebruikers, met name in het onderwijs, bij hobbyisten en in de industrie, sluiten randapparatuur aan op hun computers die aangepaste software vereisen om te besturen. Robotica wordt bijvoorbeeld vaak gebruikt om computerprogrammering en elektronica te onderwijzen op scholen. Dit vereist software waarmee code naar een robot kan worden geüpload of waarmee deze op afstand kan worden bestuurd. In een industriële of hobbyomgeving wordt een apparaat, zoals een freesmachine, lasersnijder of 3D-printer, bestuurd door een programma dat draait op een aangesloten computer. Deze apparaten worden vaak aangestuurd door kleine microcontrollers via een seriële verbinding.

Voor meer informatie kunt u de Web Serial API-handleiding op web.dev en de Web Serial-specificatie raadplegen.

Bug #365514951 volgen | ChromeStatus.com-item

SharedWorker op Android

SharedWorker is al lange tijd uitgeschakeld op Android vanwege zorgen over de onvoorspelbare levenscyclus van het proces. SharedWorker-instanties konden onverwacht stoppen, zonder gebruikers of webontwikkelaars hiervan op de hoogte te stellen.

Een recente discussie op GitHub (zie de GitHub-discussie ) suggereert echter dat de onvoorspelbare aard van de proceslevenscyclus van SharedWorker mogelijk niet zo'n groot probleem is als eerder werd gedacht. Op basis hiervan wordt SharedWorker opnieuw ingeschakeld op Android, terwijl dit gedrag wordt onderzocht om een ​​stabiele en betrouwbare ervaring te garanderen.

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

Web-API's

WebGPU: linear_indexing indexeringsfunctie

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

Voegt twee nieuwe ingebouwde waarden voor compute shaders toe om het gebruiksgemak te verbeteren. Deze zijn geïmplementeerd voor alle backends (als polyfills van bestaande ingebouwde waarden).

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

Webauthenticatie Directe gebruikersinterface-modus

Een nieuwe modus voor navigator.credentials.get() zorgt ervoor dat de inlogpagina van de browser wordt weergegeven als de browser een toegangscode of wachtwoord voor de site kent, of dat de promise wordt afgewezen met NotAllowedError als er geen dergelijke inloggegevens beschikbaar zijn. Dit stelt de site in staat om te voorkomen dat een inlogpagina wordt getoond als de browser een keuze aan inloggegevens kan aanbieden die waarschijnlijk succesvol zullen zijn, terwijl een traditionele inlogpagina wel mogelijk blijft in gevallen waarin dergelijke inloggegevens ontbreken.

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

Profiteer van veilige betalingsbevestigingsmogelijkheden.

Voegt een nieuwe statische methode toe aan het betalingsverzoek waarmee webontwikkelaars toegang krijgen tot de mogelijkheden van de implementatie van beveiligde betalingsbevestiging in de browser.

Dit helpt webontwikkelaars te weten welke mogelijkheden er zijn voor veilige betalingsbevestiging, zodat ze kunnen beslissen of ze deze functionaliteit willen gebruiken.

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

Gedeelde werknemers met een verlengde levensduur

Deze update voegt een nieuwe optie, extendedLifetime: true , toe aan de SharedWorker constructor. Deze nieuwe optie zorgt ervoor dat de shared worker actief blijft, zelfs nadat alle huidige clients zijn afgesloten. Hierdoor kunnen pagina's asynchroon werk uitvoeren dat JavaScript vereist, zelfs nadat een pagina is afgesloten, zonder afhankelijk te zijn van een service worker.

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

Prompt API

De Prompt API biedt webontwikkelaars directe toegang tot een door de browser geleverd AI-taalmodel voor gebruik op het apparaat. Het API-ontwerp biedt nauwkeurige controle, afgestemd op de API-structuren van cloudcomputing, voor het stapsgewijs verbeteren van websites met modelinteracties die zijn afgestemd op individuele gebruiksscenario's. Dit vormt een aanvulling op taakgebaseerde taalmodel-API's, zoals de Summarizer API, evenals diverse API's en frameworks voor gegeneraliseerde inferentie op het apparaat met door ontwikkelaars geleverde machine learning-modellen.

De eerste implementatie ondersteunt tekst-, beeld- en audio-input. Daarnaast zorgen responsbeperkingen ervoor dat de gegenereerde tekst voldoet aan vooraf gedefinieerde reguliere expressies en JSON-schemaformaten.

Dit ondersteunt een breed scala aan toepassingen, 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 multimodaal bronmateriaal.

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

Netwerk en connectiviteit

IDNA ContextJ-regels

IDNA is het mechanisme voor niet-ASCII-tekens in domeinnamen. Het codeert een URL zoals http://네이버.한국/ als http://xn--950bt9s8xi.xn--3e0b707e/ (een redirect naar naver.com).

De URL-specificatie stelt de CheckJoiners vlag in, waardoor de ContextJ regels in IDNA2008 worden ingeschakeld. Dit verbiedt ZWNJ (U+200C ZERO WIDTH NON-JOINER) en ZWJ (U+200D ZERO WIDTH JOINER) op de meeste plaatsen in URL's. De implementatie geeft de UIDNA_CHECK_CONTEXTJ optie door aan ICU, waar deze regel wordt geïmplementeerd.

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

Hergebruik no-store-images bij dezelfde broncode-hertoewijzing.

Sta hergebruik van beschikbare afbeeldingen binnen hetzelfde document toe om Cache-Control: no-store herladen te omzeilen wanneer dezelfde src-waarde opnieuw wordt toegewezen aan een <img> -element. Voorheen haalde Blink de afbeelding opnieuw op, zelfs als deze al was gedecodeerd en beschikbaar was in het document. Dit sluit aan bij het bestaande gedrag van Gecko en WebKit.

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

Prestatie

Inhoudstype in resourcetiming

Voegt het veld contentType toe aan PerformanceResourceTiming om een ​​tekenreeks op te slaan die overeenkomt met de `Content-Type` HTTP-header van de opgehaalde bron zoals die door de server is geretourneerd.

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

WebRTC-datakanaal: onderhandel altijd over datakanalen.

Implementeert een WebRTC-extensie alwaysNegotiateDataChannels die een manier definieert voor de applicatie om datakanalen in het SDP-aanbod te onderhandelen voordat een datakanaal wordt aangemaakt. Dit onderhandelt ook over de data m= sectie vóór eventuele audio- of video m secties en gebruikt deze als de "aanbieder-gelabelde m= sectie" voor BUNDLE .

Dit betekent dat:

const pc = new RTCPeerConnection({ alwaysNegotiateDataChannels: true });
const offer = await pc.createOffer();

zal een aanbod creëren met een applicatie m-lijn in de SDP en dat:

const pc = new RTCPeerConnection({ alwaysNegotiateDataChannels: true });
pc.addTransceiver('audio');
pc.createDataChannel('somechannel');
const offer = await pc.createOffer();

zal een aanbod creëren dat onderhandelt over een applicatie-m-lijn, gevolgd door een audio-m-lijn in de SDP.

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

Nieuwe oorsprongsproeven

Declaratieve CSS-modulescripts

Declaratieve CSS-modulescripts zijn een uitbreiding van de bestaande scriptgebaseerde CSS-modulescripts. Ze stellen ontwikkelaars in staat om declaratieve stylesheets te delen met shadow roots, inclusief declaratieve shadow roots. Ontwikkelaars kunnen inline stijlmodules definiëren met <style type="module" specifier="foo"> en een declaratieve module toepassen op een declaratieve shadow DOM door te verwijzen naar een specificatie of een URL, zoals <template shadowrootmode="open" shadowrootadoptedstylesheets="foo"> .

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

Container Timing API

De Container Timing API maakt het mogelijk om te monitoren wanneer geannoteerde delen van de DOM op het scherm worden weergegeven en hun initiële weergave hebben voltooid. Een ontwikkelaar kan subsecties van de DOM markeren met het attribuut containertiming (vergelijkbaar met elementtiming voor de Element Timing API) en prestatiegegevens ontvangen wanneer die sectie voor het eerst is weergegeven. Deze API stelt ontwikkelaars in staat om de timing van verschillende componenten op hun pagina's te meten.

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

HTML-installatie-element voor webapps

Hiermee kan een website gebruikers expliciet vragen een webapplicatie te installeren. Het element accepteert optioneel twee attributen waarmee content van een andere bron kan worden geïnstalleerd.

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

Lange animatieframes stijlduur

Voeg de informatie over styleDuration en forcedStyleDuration toe aan de Long Animation Frame API, zodat ontwikkelaars onderscheid kunnen maken tussen de duur van de stijl en de lay-out.

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

HTML-in-canvas

HTML-in-canvas maakt het mogelijk om de weergave van HTML aan te passen met behulp van canvas met drie nieuwe basisfunctionaliteiten: een attribuut om canvas-elementen in te schakelen ( layoutsubtree ), methoden om kindelementen te tekenen (2d: drawElementImage , webgl: texElementImage2D , webgpu: copyElementImageToTexture ) en een tekengebeurtenis die wordt geactiveerd om updates af te handelen.

Origin Trial | Tracking bug #500967896 | ChromeStatus.com entry | Spec

Toegangslijsten

Verbindingstoegangslijsten is een functie die is ontworpen om expliciete controle te bieden over externe eindpunten door verbindingen te beperken die zijn geïnitieerd met behulp van de Fetch API of andere webplatform-API's vanuit een document of worker.

De voorgestelde implementatie houdt in dat de server een lijst met geautoriseerde eindpunten verspreidt via een HTTP-antwoordheader. Voordat de gebruikersagent namens een pagina een verbinding tot stand brengt, controleert de agent de bestemming aan de hand van deze lijst; verbindingen met geverifieerde eindpunten worden toegestaan, terwijl verbindingen die niet overeenkomen met de vermeldingen in de lijst worden geblokkeerd.

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

API-bemonsteringsparameters prompt

Voegt samplingparameters toe aan de Prompt API. Deze parameters bepalen hoe tokens uit het model worden geselecteerd, waardoor ontwikkelaars controle krijgen over de "creativiteit" of "willekeurigheid" van de uitvoer. Daarnaast voegt het attributen toe aan de LanguageModel instantie om de ingestelde waarden uit te lezen, evenals een statische LanguageModel -functie om de standaard- en maximale waarden van deze parameters op te halen.

De eerste implementatie voegt de parameters temperature en topK .

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

Verwerkingsinstructies parseren in HTML

Verwerkingsinstructies (syntaxis: <?target data> ) zijn een bestaande DOM-constructie, beschikbaar in XML, die knooppuntobjecten mogelijk maakt die geen elementen zijn, maar wel een semantische betekenis kunnen hebben voor de verwerking van een document.

Ze kunnen bijvoorbeeld worden gebruikt om bereiken aan te duiden voor streaming of highlighting zonder dat er nieuwe DOM-elementen nodig zijn en de DOM-structuur verandert wat CSS betreft, of als instructies voor de HTML-parser over hoe te bufferen en te streamen.

Bug #481087638 volgen | ChromeStatus.com-item

Ondoorzichtig bereik

OpaqueRange vertegenwoordigt een live tekstbereik binnen de waarde van een formulierbesturingselement, zoals een <textarea> of een tekstgebaseerd <input> , zodat ontwikkelaars met waardetekst kunnen werken met behulp van bereikachtige API's.

Het maakt bewerkingen mogelijk zoals getBoundingClientRect() , getClientRects() en integratie met de CSS Custom Highlight API voor UI-elementen zoals inline suggesties, markeringen en verankerde popovers. Het behoudt de inkapseling door alleen waarde-offsets weer te geven en null terug te geven voor startContainer en endContainer , zodat DOM-eindpunten en de interne structuur niet worden blootgesteld.

Origin-proef | Bug volgen #421421332 | ChromeStatus.com-item