Chroom 136, Chroom 136

Stabiele releasedatum: 29 april 2025

Tenzij anders aangegeven, zijn de volgende wijzigingen van toepassing op de stabiele kanaalrelease van Chrome 136 voor Android, ChromeOS, Linux, macOS en Windows.

HTML en DOM

Taalondersteuning voor CanvasTextDrawingStyles

Het <canvas> DOM-element accepteert, net als alle DOM-elementen, een lang attribuut dat wordt gebruikt om taalspecifieke behandeling voor lettertypeselectie te definiëren (wanneer lettertypen landspecifieke glyphs hebben). Browsers respecteren dit kenmerk. Wanneer een OffscreenCanvas echter wordt gemaakt, is er geen manier om landinstellingen in te stellen, wat mogelijk kan resulteren in een toestand waarin een offscreen canvas gerenderde resultaten produceert die verschillen van het canvas waarin de uitvoer ervan wordt gebruikt. Deze functie voegt een lang IDL-attribuut toe aan CanvasTextDrawingStyles om ontwikkelaars directe controle te geven over de taal voor de teksttekening en statistieken.

Trackingbug #385006131 | ChromeStatus.com-invoer | Spec

CSS en gebruikersinterface

De eigenschap dynamic-range-limit

Hiermee kan een pagina de maximale helderheid van HDR-inhoud beperken.

Trackingbug #1470298 | ChromeStatus.com-invoer | Spec

Om lekken in de browsegeschiedenis van gebruikers te elimineren, worden ankerelementen alleen opgemaakt als :visited als er eerder op deze site op het hoogste niveau en de oorsprong van het frame is geklikt.

Er is een uitzondering voor "self-links", waarbij links naar de eigen pagina's van een site kunnen worden opgemaakt als :visited zelfs als er nog niet eerder op is geklikt in deze exacte site op het hoogste niveau en in de frameoorsprong. Deze vrijstelling is alleen mogelijk voor frames of subframes op het hoogste niveau die van dezelfde oorsprong zijn als het frame op het hoogste niveau. De privacyvoordelen worden nog steeds behaald omdat sites al weten welke van de subpagina's een gebruiker heeft bezocht, zodat er geen nieuwe informatie wordt vrijgegeven. Dit was een door de community aangevraagde uitzondering die de gebruikerservaring verbetert.

Trackingbug #1448609 | ChromeStatus.com-invoer | Spec

Onvooraf ingestelde print-color-adjust

Met de eigenschap print-color-adjust kunt u kleuren op afgedrukte webpagina's aanpassen. Dit is hetzelfde als het reeds ondersteunde -webkit-print-color-adjust van Chrome, maar met een gestandaardiseerde naam.

De versie met het voorvoegsel -webkit- wordt niet verwijderd.

MDN- documenten | Trackingbug #376381169 | ChromeStatus.com-invoer | Spec

Hernoem string attr() type naar raw-string

De CSS-werkgroep heeft besloten het type string attr() te vervangen door raw-string .

Daarom wordt attr(data-foo string) vanaf Chrome 136 attr(data-foo raw-string) .

Trackingbug #400981738 | ChromeStatus.com-invoer | Spec

Type-agnostische var() fallback

Het fallback-gedeelte van een var() functie valideert niet op basis van het type aangepaste eigenschap waarnaar wordt verwezen.

Trackingbug #372475301 | ChromeStatus.com-invoer

Web-API's

Verzend klikgebeurtenissen naar de vastgelegde aanwijzer

Als een aanwijzer wordt vastgelegd terwijl de pointerup -gebeurtenis wordt verzonden, wordt de click nu verzonden naar het vastgelegde doel in plaats van naar de dichtstbijzijnde gemeenschappelijke voorloper van pointerdown en pointerup -gebeurtenissen volgens de UI Event-specificatie.

Voor niet-vastgelegde verwijzingen blijft het click ongewijzigd.

Trackingbug #40851596 | ChromeStatus.com-invoer | Spec

Expliciete compileertips met magische opmerkingen

Maakt het mogelijk om informatie toe te voegen over welke functies graag geparseerd en gecompileerd moeten worden in JavaScript-bestanden.

De informatie wordt gecodeerd als magisch commentaar.

Trackingbug #13917 | ChromeStatus.com-invoer | Spec

Neem de navigatie-initiator op in de HTTP-cachepartitiesleutel

Het HTTP-cache-sleutelschema van Chrome is bijgewerkt met een is-cross-site-main-frame-navigation boolean om cross-site lekaanvallen met navigatie op het hoogste niveau te verminderen.

Dit voorkomt met name cross-site-aanvallen waarbij een aanvaller een navigatie op het hoogste niveau naar een bepaalde pagina kan initiëren en vervolgens naar een bron kan navigeren waarvan bekend is dat deze door de pagina wordt geladen om gevoelige informatie af te leiden met behulp van de laadtiming. Deze wijziging verbetert ook de privacy door te voorkomen dat een kwaadwillende site navigatie gebruikt om af te leiden of een gebruiker een bepaalde site eerder heeft bezocht.

Trackingbug #398784714 | ChromeStatus.com-invoer | Spec

Beschermd publiek: helpers voor tekstconversie

Bied- en scorescripts voor beschermde doelgroepen die communiceren met WebAssembly moeten string-getypeerde gegevens efficiënt converteren naar (en van) byte-arrays (bijvoorbeeld om strings in en uit WebAssembly door te geven met de "geheugen" ArrayBuffer). Dit biedt twee zelfstandige functies, protectedAudience.encodeUtf8 en protectedAudience.decodeUtf8 om deze taken ongeveer een orde van grootte efficiënter uit te voeren dan in JavaScript.

ChromeStatus.com-invoer

RegExp.escape

RegExp.escape is een statische methode die een tekenreeks gebruikt en een ontsnapte versie retourneert die als patroon binnen een reguliere expressie kan worden gebruikt.

Bijvoorbeeld:

const str = prompt("Please enter a string"); const escaped = RegExp.escape(str); const re = new RegExp(escaped, 'g'); // handles reg exp special tokens with the replacement. console.log(ourLongText.replace(re)); 

ChromeStatus.com-invoer | Spec

Speculatieregels: tagveld

Hierdoor kunnen ontwikkelaars een tagveld toevoegen aan speculatieregels. Dit optionele veld kan worden gebruikt om de bron van speculatieregels bij te houden. Om ze bijvoorbeeld anders te behandelen op een tussenliggende server. Alle tags die aan een speculatie zijn gekoppeld, worden verzonden met de Sec-Speculation-Tags -header.

Trackingbug #381687257 | ChromeStatus.com-invoer | Spec

Update ProgressEvent om dubbel type te gebruiken voor loaded en total

De ProgressEvent heeft attributen loaded en total die de voortgang aangeven, en hun type is nu unsigned long long .

Met deze functie wordt het type voor deze twee attributen in plaats daarvan gewijzigd in double , waardoor de ontwikkelaar meer controle krijgt over de waarde. De ontwikkelaars kunnen nu bijvoorbeeld een ProgressEvent maken waarbij het total 1 is en de loaded geleidelijk toeneemt van 0 naar 1. Dit komt overeen met het standaardgedrag van het <progress> HTML-element als het max-attribuut wordt weggelaten.

ChromeStatus.com-invoer | Spec

Privacy en veiligheid

Machtigingenbeleidsrapporten voor iframes

Introduceert een nieuw overtredingstype met de naam 'Potentiële schending van het machtigingsbeleid', waarbij alleen wordt gekeken naar het machtigingenbeleid (inclusief beleid voor alleen rapporteren) en het allow -attribuut dat is ingesteld in iframes om het conflict te detecteren tussen het afgedwongen machtigingsbeleid en de machtigingen die worden doorgegeven aan iframes.

Trackingbug #40941424 | ChromeStatus.com-invoer | Spec

Verminder vingerafdrukken in de headerinformatie van Accept-Language

Vermindert de hoeveelheid informatie die de waardereeks Accept-Language -header blootlegt in HTTP-verzoeken en in navigator.talen. In plaats van bij elk HTTP-verzoek een volledige lijst met de voorkeurstalen van de gebruiker te verzenden, verzendt Chrome nu de taal met de meeste voorkeur van de gebruiker in de Accept-Language-header.

Trackingbug #1306905 | ChromeStatus.com-invoer

Identiteit

FedCM-updates

Hiermee kan FedCM meerdere identiteitsproviders in hetzelfde dialoogvenster weergeven, door alle providers in dezelfde get() aanroep te hebben. Dit biedt ontwikkelaars een handige manier om alle ondersteunde identiteitsproviders aan gebruikers te presenteren.

Chrome 136 verwijdert ook de ondersteuning voor het toevoegen van een ander account in de passieve FedCM-modus. Met deze functie kunt u in de kiezer de knop ' Gebruik een ander account' weergeven naast andere IdP-accounts. De functie is momenteel ongebruikt en UX-gesprekken hebben ons doen geloven dat het ondersteunen hiervan leidt tot een ingewikkelder stroom zonder veel voordeel. Deze functie werkt nog steeds in de actieve FedCM-modus.

Trackingbug #1348262 | ChromeStatus.com-invoer | Spec

Voorwaardelijke creatie van webauthenticatie (toegangssleutelupgrades)

Met voorwaardelijke aanmaakverzoeken van WebAuthn kunnen websites bestaande wachtwoordreferenties upgraden naar een wachtwoordsleutel.

Trackingbug #377758786 | ChromeStatus.com-invoer | Spec

Beelden en media

AudioContext onderbroken status

Voegt een "interrupted" status toe aan AudioContextState . Met deze nieuwe status kan de User Agent het afspelen pauzeren tijdens exclusieve audiotoegang (VoIP) of wanneer de klep van een laptop gesloten is.

Trackingbug #374805121 | ChromeStatus.com-invoer | Spec

Oppervlaktecontrole vastgelegd

Een web-API waarmee webapplicaties:

  1. Stuur wielgebeurtenissen door naar een vastgelegd tabblad.
  2. Lees en wijzig het zoomniveau van een vastgelegd tabblad.

Trackingbug #1466247 | ChromeStatus.com-invoer | Spec

Vastgelegde oppervlakteresolutie

Leg de pixelverhouding van het vastgelegde oppervlak bloot tijdens het delen van het scherm.

Deze functie helpt toepassingen hun systeembronnen te behouden of de afweging tussen kwaliteit en bandbreedte aan te passen op basis van de fysieke en logische resoluties van het vastgelegde oppervlak.

Trackingbug #383946052 | ChromeStatus.com-invoer | Spec

H265 (HEVC) codec-ondersteuning in WebRTC

Na deze wijziging zal HEVC zich aansluiten bij VP8, H.264, VP9 en AV1 als ondersteunde codecs in WebRTC. Ondersteuning kan worden opgevraagd met behulp van de MediaCapabilities API.

Trackingbug #391903235 | ChromeStatus.com-invoer | Spec

H26x Codec-ondersteuningsupdates voor MediaRecorder

De MediaRecorder API van Chromium ondersteunt nu HEVC-codering, introduceert de codec-string hvc1.* en voegt nieuwe codecs toe (hev1.* en avc3.*) die video met variabele resolutie in MP4 ondersteunen.

Ondersteuning voor HEVC-platformcodering is toegevoegd in WebCodecs in Chromium M130. Als vervolg is er ondersteuning toegevoegd aan de MediaRecorder API in Chromium. De API ondersteunt nu zowel MP4- als Matroska-muxertypen met verschillende HEVC- en H.264 mime-typespecificaties. HEVC-codering wordt alleen ondersteund als het apparaat en het besturingssysteem van de gebruiker over de benodigde mogelijkheden beschikken.

ChromeStatus.com-invoer

Gebruik DOMPointInit voor getCharNumAtPosition , isPointInFill , isPointInStroke

Deze wijziging brengt Chromium-code in lijn met de nieuwste W3C-specificatie voor SVGGeometryElement en SVGPathElement in termen van gebruik van DOMPointInit via SVGPoint voor getCharNumAtPosition , isPointInFill , isPointInStroke .

Trackingbug #40572887 | ChromeStatus.com-invoer | Spec

WebGPU: GPUAdapterInfo isFallbackAdapter -kenmerk

Het Booleaanse kenmerk GPUAdapterInfo isFallbackAdapter geeft aan of een adapter aanzienlijke prestatiebeperkingen heeft in ruil voor bredere compatibiliteit, voorspelbaarder gedrag of verbeterde privacy. Houd er rekening mee dat een fallback-adapter mogelijk niet op alle systemen aanwezig is.

Trackingbug #403172841 | ChromeStatus.com-invoer | Spec

Browserwijzigingen

Vloeiende schuifbalken

Deze functie moderniseert de Chromium-schuifbalken (zowel overlay als niet-overlay) op Windows en Linux zodat ze passen in de Windows 11 Fluent-ontwerptaal.

Vloeiende schuifbalken zonder overlay zijn standaard ingeschakeld in Linux en Windows. Deze wijziging is ook van toepassing op Linux, omdat het Linux-schuifbalkontwerp van Chromium historisch gezien is afgestemd op wat er op Windows wordt geleverd. Er wordt nog besloten hoe de overlay-vloeiende schuifbalken kunnen worden ingeschakeld.

Trackingbug #1292117 | ChromeStatus.com-invoer

Oorsprongsproeven

API voor audio-uitvoerapparaten: setDefaultSinkId()

Deze functie voegt setDefaultSinkId() toe aan MediaDevices , waardoor het frame op het hoogste niveau het standaard audio-uitvoerapparaat kan wijzigen dat door de subframes wordt gebruikt.

Origin -proef | ChromeStatus.com-invoer | Spec

Zorg ervoor dat webapplicaties inzicht krijgen in de timing van bimodale prestaties

Webapplicaties kunnen last hebben van bimodale distributie in de laadprestaties van pagina's, als gevolg van factoren waarover de webapplicatie geen controle heeft. Bijvoorbeeld:

  • Wanneer een user-agent voor het eerst wordt gestart (een "koude start"-scenario), moet deze veel dure initialisatietaken uitvoeren die strijden om bronnen op het systeem.
  • Browserextensies kunnen de prestaties van een website beïnvloeden. Sommige extensies voeren bijvoorbeeld extra code uit op elke pagina die u bezoekt, wat het CPU-gebruik kan verhogen en kan resulteren in langzamere reactietijden.
  • Wanneer een machine bezig is met het uitvoeren van intensieve taken, kan dit leiden tot het langzamer laden van webpagina's.

Een nieuw confidence op het PerformanceNavigationTiming -object stelt ontwikkelaars in staat te onderscheiden of de navigatietimings representatief zijn voor hun webapplicatie.

Origin -proef | Trackingbug #1413848 | ChromeStatus.com-invoer | Spec

Update van de implementatie van Canvas-tekstweergave

Dit is geen web-blootgestelde verandering.

De implementatie van CanvasRenderingContext2D measureText() , fillText() en strokeText() heeft een drastische verandering ondergaan. Dit kan van invloed zijn op de prestaties. Daarom willen we graag een origin-proefversie uitvoeren, zodat canvas-zware toepassingen de nieuwe implementatie kunnen uitproberen.

Origin -proef | Trackingbug #389726691 | ChromeStatus.com-invoer

Beëindigingen en verwijderingen

Verwijder HTMLFencedFrameElement.canLoadOpaqueURL()

De HTMLFencedFrameElement -methode canLoadOpaqueURL() werd in 2023 vervangen door navigator.canLoadAdAuctionFencedFrame() en het aanroepen ervan heeft sindsdien geresulteerd in een waarschuwing voor de beëindiging van de console die naar de nieuwe API verwijst. De methode is verwijderd uit Chrome 136.

ChromeStatus.com-invoer