Chrome 147

Releasedatum van de stabiele versie: 7 april 2026

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

CSS en UI

Weergaveovergangen op elementniveau

Hiermee wordt element.startViewTransition() beschikbaar gemaakt voor willekeurige HTML-elementen. Het element definieert een bereik voor de overgang, wat betekent dat de overgangspseudo-elementen worden beïnvloed door voorouderlijke clips en transformaties, en dat meerdere overgangen op afzonderlijke elementen gelijktijdig kunnen worden uitgevoerd.

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

CSS contrast-color()

Deze functie helpt u te voldoen aan de contrastvereisten voor toegankelijkheid.

Je kunt de functie contrast-color() overal in CSS gebruiken waar een kleurwaarde wordt verwacht. De functie neemt een kleurwaarde als argument en retourneert 'zwart' of 'wit', afhankelijk van welke kleur het hoogste contrast biedt ten opzichte van de opgegeven kleur.

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

Tijdlijn met benoemd bereik scroll

Deze functie breidt de set benoemde bereiken voor weergavetijdlijnen uit door een scroll toe te voegen aan de bestaande set van entry , exit , cover en contain .

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

CSS-eigenschap border-shape

Met de CSS-eigenschap ` border-shape kun je niet-rechthoekige randen maken met elke willekeurige vorm, bijvoorbeeld een veelhoek, cirkel of shape() .

Hoewel border-shape dezelfde vormen accepteert als clip-path , is het fundamenteel anders. border-shape definieert de vorm van de rand, decoreert deze en knipt alleen het binnenste gedeelte af.

border-shape kent twee varianten: een die een vorm omlijnt en een die de ruimte tussen twee vormen opvult.

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

CSSPseudoElement -interface

De CSSPseudoElement interface vertegenwoordigt een pseudo-element in JavaScript.

CSSPseudoElement wordt geretourneerd door Element.pseudo(type) , waarbij type momenteel ::after , ::before of ::marker is. CSSPseudoElement is een proxy-object dat een pseudo-element vertegenwoordigt. In tegenstelling tot een pseudo-element bestaat een CSSPseudoElement altijd.

Het CSSPseudoElement heeft de volgende attributen en methoden:

  • Het attribuut type is een tekenreeks die het type van het pseudo-element aangeeft.
  • The element attribute is the pseudo-element's ultimate originating element.
  • Het parent attribuut is het element waaruit het pseudo-element afkomstig is ( Element of CSSPseudoElement voor geneste pseudo-elementen).
  • De pseudo(type) -methode haalt geneste pseudo-elementen op.

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

Pseudo-doelwit op evenementen

Specifieke gebeurtenissen bevatten nu een .pseudoTarget , die ofwel CSSPseudoElement is (als de interactie met een pseudo-element was) ofwel null .

Dit geeft meer specifieke informatie over de oorsprong van de gebeurtenis. Het geeft bijvoorbeeld aan dat er op een ::after pseudo-element is geklikt, en niet alleen op het uiteindelijke element dat de gebeurtenis heeft veroorzaakt ( Event.target ). Merk op dat Event.target ongewijzigd blijft, dus de gebeurtenis bevat alleen extra informatie over de interactie met het pseudo-element.

De gebeurtenissen zijn UIEvent , AnimationEvent en TransitionEvent .

mouseover , mouseout , mouseenter , mouseleave en hun pointer* -tegenhangers worden nog niet ondersteund.

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

Ontkoppel de eigenschappen *-width en *-style

Chrome 147 voldoet aan de bijgewerkte CSS-specificaties voor het gedrag van de eigenschappen ` border-width , outline-width en column-rule-width . Voorheen werd de berekende breedte van de bijbehorende eigenschappen, zoals border-style , outline-style of column-rule-style hidden none op 0px gezet, ongeacht de opgegeven waarde.

Met deze wijziging weerspiegelen de berekende waarden van border-width , outline-width en column-rule-width altijd de door de auteur opgegeven waarden, onafhankelijk van de *-style eigenschap. Bovendien weerspiegelen de opgeloste waarden (zoals geretourneerd door getComputedStyle() ) voor outline-width en column-rule-width ook de opgegeven waarden.

Deze wijziging brengt Chrome in lijn met Firefox en WebKit, die dit gedrag al hebben geïmplementeerd.

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

Ondersteuning voor path padattribuut op het SVG <textPath> -element

Deze wijziging voegt ondersteuning toe voor het path attribuut op het SVG ` <textPath> `-element. Hierdoor kunnen ontwikkelaars de geometrie van tekstpaden inline definiëren met behulp van SVG-padgegevens, waardoor de noodzaak voor afzonderlijk gedefinieerde <path> `-elementen afneemt.

Het <textPath> -element bepaalt de geometrie van het tekstpad aan de hand van de volgende regels:

  1. Als zowel path als href aanwezig zijn, wordt de geometrie bepaald aan de hand van het path .
  2. Als alleen het path aanwezig is en correct wordt geparseerd, wordt de inline paddefinitie gebruikt.
  3. Als het path ontbreekt of niet correct kan worden geparseerd, en er een href -kenmerk is opgegeven, wordt het betreffende <path> -element als alternatief gebruikt.
  4. Het bestaande gedrag dat alleen via href toegankelijk is, blijft ongewijzigd.

Deze implementatie volgt de definitie van het path attribuut op <textPath> ` zoals beschreven in de SVG 2-specificatie. Het resolutiegedrag is consistent met andere browserengines, wat de interoperabiliteit en naleving van standaarden verbetert. Opmerking: Wanneer zowel path als href zijn gespecificeerd op <textPath> , heeft path nu voorrang, conform de SVG 2-specificatie.

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

Apparaat

WebXR-vlakdetectie

De WebXR Plane Detection API stelt websites in staat om de set gedetecteerde vlakken in de omgeving van de gebruiker op te halen. Dit is minder werk voor ontwikkelaars en krachtiger dan het gebruik van de dieptesensorfunctie van WebXR. Vlakken zoals muren die gedeeltelijk worden bedekt door objecten, kunnen bijvoorbeeld nog steeds volledig worden weergegeven als het systeem de grenzen van de muur kent. Een dieptekaart zou de muur wel laten zien, maar objecten ervoor zouden deze opbreken en mogelijk de volledige omvang van de muur verbergen. Bovendien wordt semantische labelinformatie weergegeven wanneer het apparaat dergelijke labels herkent en deze in vooraf gedefinieerde categorieën passen, wat een beter inzicht in de omgeving oplevert.

Bug #394636076 volgen | ChromeStatus.com-item | Specificaties

DOM

Voegt ondersteuning toe voor JSON- en stijlmoduletypen als <link rel="modulepreload"> bestemmingen. <link rel="modulepreload"> wordt al ondersteund in Chromium (zie Chromestatus-functie ), maar ondersteunt momenteel alleen het vooraf laden van scriptachtige modulescripts. Deze functie vult een functionaliteitsgat op, omdat JSON- en CSS-modulescripts elders in Chromium wel worden ondersteund, maar niet als <link rel="modulepreload"> bestemmingen. Je kunt stijlmodules vooraf laden met <link rel="modulepreload" as="style" href="..."> en JSON-modules met <link rel="modulepreload" as="json" href="..."> .

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

XML-parsing in Rust voor niet-XSLT-scenario's

Implementeert de Rust XML-parser voor scenario's waarin geen XSLT-verwerking nodig is.

De Rust XML-parser verbetert de beveiliging door geheugenbeschadigingsfouten bij het parsen van XML te elimineren. Het vervangt het gebruik van libxml2 (geschreven in C) door een veilig alternatief.

We stoppen met het gebruik van XSLT. In de tussentijd kunt u al gebruikmaken van veilige XML-parsing met Rust in situaties waar XSLT niet nodig is.

Bug #466303347 volgen | ChromeStatus.com-item

Grafische weergave

WebXR-lagen

WebXR Layers biedt een efficiëntere manier om meeslepende content te creëren.

Naast ondersteuning voor native kleur- en dieptetexturen en textuurarrays, biedt het ook ondersteuning voor verschillende laagtypen die door de systeemcompositor worden beheerd (in tegenstelling tot JavaScript).

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

JavaScript

Math.sumPrecise

Implementeert een voorstel uit TC39 om een ​​methode toe te voegen voor het optellen van meerdere waarden in JavaScript.

Voeg een Math.sumPrecise -methode toe die een iterable als argument accepteert en de som van de waarden in de iterable retourneert met behulp van een nauwkeuriger algoritme dan de naïeve optelling.

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

Netwerk / Connectiviteit

Request.isReloadNavigation -attribuut

Voegt het alleen-lezen boolean-attribuut isReloadNavigation toe aan de Request interface van de Fetch API. Dit attribuut geeft aan of het huidige navigatieverzoek is geïnitieerd als een door de gebruiker geactiveerde herlaadactie (bijvoorbeeld met de knop Vernieuwen , location.reload() of history.go(0) ). Dit signaal wordt voornamelijk weergegeven op het Request object binnen de FetchEvent van een Service Worker.

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

Prestatie

Update de API-limieten voor apparaatgeheugen

Updates naar een nieuwe set mogelijke waarden voor de Device Memory API:

  • Android: 1, 2, 4, 8
  • Overige: 2, 4, 8, 16, 32. Deze waarden vervangen de oude waarden 0,25, 0,5, 1, 2, 4 en 8, die verouderd zijn geraakt.

Dit vermindert de risico's van vingerafdrukherkenning in het lagere segment, omdat de mogelijkheden van apparaten zijn verbeterd sinds deze instellingen werden vastgesteld. Het maakt ook een beter gebruik en een betere segmentatie van high-end apparaten mogelijk, zoals ontwikkelaars hebben gevraagd. Zie het probleem met apparaatgeheugen voor meer informatie.

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

Lokale netwerktoegang (LNA)

Voor meer informatie over LNA, zie Lokale netwerktoegang .

Beperkingen voor lokale netwerktoegang op service worker WindowClient.navigate()

Er zijn onlangs beperkingen voor lokale netwerktoegang (LNA) toegevoegd om te voorkomen dat websites eenzijdig verzoeken naar lokale netwerken en lokale apparaten sturen. Deze beperkingen gelden voor fetch-verzoeken die door service workers worden geïnitieerd, maar niet voor navigaties die service workers uitvoeren via WindowClient.navigate() .

Deze release dicht dit gat door LNA-beperkingen toe te voegen aan WindowClient.navigate() -aanroepen. Het gebruikt de WindowClient als initiator van de navigatie om te bepalen of de navigatie een LNA-verzoek is.

Dit geldt alleen als de WindowClient waarnaar wordt genavigeerd een subframe is. Chrome legt momenteel geen LNA-beperkingen op voor navigatie in het hoofdvenster.

ChromeStatus.com-item

Beperkingen voor lokale netwerktoegang voor WebTransport

Beperkt de mogelijkheid om verzoeken naar het lokale netwerk van de gebruiker te verzenden via WebTransport, wat wordt afgeschermd door een toestemmingsprompt.

Een lokaal netwerkverzoek is elk verzoek van een openbare website aan een lokaal IP-adres of loopback, of van een lokale website (bijvoorbeeld een intranet) aan loopback. Door websites de mogelijkheid te bieden deze verzoeken uit te voeren via een machtiging, wordt het voor websites moeilijker om deze verzoeken te gebruiken om het lokale netwerk van de gebruiker te identificeren.

Deze toestemming is beperkt tot beveiligde contexten.

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

Beperkingen voor lokale netwerktoegang tot WebSockets

De beperkingen voor toegang tot het lokale netwerk (LNA) worden uitgebreid naar WebSockets. WebSocket-verbindingen met lokale IP-adressen leiden nu tot toestemmingsverzoeken.

All current LNA enterprise policies still apply to the LNA WebSockets restrictions ( LocalNetworkAccessAllowedForUrls , LocalNetworkAccessBlockedForUrls , and LocalNetworkAccessRestrictionsTemporaryOptOut ).

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

Geïsoleerde webapplicaties (IWA)

Webprint-API

Deze API maakt een diepere integratie met printergerelateerde functionaliteit in geïsoleerde webapplicaties mogelijk.

Deze API is uitsluitend bedoeld voor geïsoleerde webapplicaties en volgt het bijbehorende proces .

Deze API biedt een reeks JavaScript-methoden waarmee ontwikkelaars lokale printers kunnen opvragen, printopdrachten naar de meest geschikte printers kunnen verzenden en printopdrachtopties en -status kunnen beheren. Om deze concepten weer te geven, maakt de API gebruik van attribuutnamen en semantiek uit de specificaties van het Internet Printing Protocol (IPP).

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

Oorsprongproeven

Cross-origin iframes vooraf renderen

Rendert iframes van verschillende oorsprong vooraf met behulp van een opt-in-antwoordheader.

Browsers renderen nu alle frames van een andere oorsprong vooraf als het HTTP-antwoord van het frame op het hoogste niveau Supports-Loading-Mode: prerender-cross-origin-frames bevat.

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

Automatisch invullen-evenement

Autofill is een belangrijke webfunctie die het gebruiksgemak voor miljoenen gebruikers dagelijks verbetert. Het is echter een hele klus om autofill betrouwbaar te laten werken met dynamische formulieren in verschillende implementaties.

Deze functie voegt een autofill gebeurtenis toe waarmee ontwikkelaars hun formulieren kunnen aanpassen aan de automatisch ingevulde gegevens en de browser kunnen laten weten wanneer dit is gebeurd.

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

WebNN

WebNN stelt webapplicaties en frameworks in staat om gebruik te maken van native besturingssysteemservices voor machine learning en de onderliggende hardwaremogelijkheden van de computer van de gebruiker. Dit helpt bij het implementeren van consistente, efficiënte en betrouwbare machine learning-ervaringen op het web.

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

Afschrijvingen en verwijderingen

Verwijder Inline XSLT voor de productie van SVG.

Een speciaal ontworpen XML-bestand kan een XSL-stylesheet bevatten die standaard XML-gegevens omzet in een SVG-bestand.

Zie bijvoorbeeld gist.github.com .

Dit is een speciaal geval van XSLT-verwerking dat, volgens de recent geïntroduceerde gebruikstellers XSLPIInSVGImage (Gebruiksteller-ID 5777) en XSLPIInSVGStandaloneDoc (Gebruiksteller-ID 5778), naar onze mening vrijwel niet meer voorkomt op het web. We willen dit afschaffen en verwijderen voordat we XSLT volledig uitfaseren.

Deze uitrol vindt plaats gelijktijdig met experimentele tests van de op Rust gebaseerde XML-parser. Dit zal niet direct voor 100% beschikbaar zijn in Chrome 147.

Bug #482223009 volgen | ChromeStatus.com-item