Gepubliceerd: 3 april 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 136 is een bètaversie sinds 3 april 2025. U kunt de nieuwste versie downloaden op Google.com voor desktop of in de Google Play Store voor Android.
CSS en UI
Deze release voegt zes nieuwe CSS- en UI-functies toe.
CSS-eigenschap dynamic-range-limit
Hiermee kan een pagina de maximale helderheid van HDR-content beperken.
Negeer de spaties tussen letters in schrijfletters.
Deze functie voegt logica toe om de instelling voor letterafstand bij cursieve lettertypen te negeren, zelfs als deze door de ontwikkelaar volgens de specificaties is opgegeven, om te voorkomen dat letterafstand woorden breekt.
Indeling :visited links
Om te voorkomen dat de browsegeschiedenis van gebruikers openbaar wordt, worden anker-elementen alleen als :visited weergegeven als er eerder op deze hoofdsite en framebron is geklikt.
Door alleen links te stylen die eerder op deze site en in dit frame zijn aangeklikt, zijn de vele side-channel-aanvallen die zijn ontwikkeld om informatie over :visited nu overbodig. Ze verschaffen sites niet langer nieuwe informatie over gebruikers.
Lees meer over deze verbeteringen aan de privacy van :visited links .
Hernoem het type string attr() naar raw-string
De CSS-werkgroep heeft besloten om het type string attr() te vervangen door raw-string .
Daarom heeft Chrome de syntaxis attr() aangepast, zodat attr(data-foo string) nu attr(data-foo raw-string) wordt.
Type-onafhankelijke var() fallback
Het fallback-gedeelte van een var() functie valideert niet het type van de aangepaste eigenschap waarnaar wordt verwezen.
print-color-adjust zonder voorvoegsel
Met de eigenschap print-color-adjust kunt u kleuren in afgedrukte webpagina's aanpassen. Dit is hetzelfde als de reeds door Chrome ondersteunde -webkit-print-color-adjust , maar dan met een gestandaardiseerde naam. De versie met het voorvoegsel -webkit blijft behouden.
Web-API's
AudioContext onderbroken toestand
Voegt een "interrupted" status toe aan AudioContextState . Deze nieuwe status stelt de user agent in staat om het afspelen in deze scenario's te pauzeren en webapplicaties in staat te stellen hierop adequaat te reageren.
Blob-URL-partitionering: Ophalen/Navigatie
Als voortzetting van Storage Partitioning implementeert dit de partitionering van Blob URL-toegang op basis van Storage Key (top-level site, frame origin en de boolean-waarde has-cross-site-ancestor), met uitzondering van navigaties op het hoogste niveau, die alleen gepartitioneerd blijven op basis van frame origin. Dit gedrag is vergelijkbaar met wat momenteel door Firefox en Safari wordt geïmplementeerd en stemt het gebruik van Blob URL's af op het partitioneringsschema dat door andere opslag-API's wordt gebruikt als onderdeel van Storage Partitioning.
Bovendien wordt noopener nu afgedwongen bij door de renderer geïnitieerde navigaties naar Blob-URL's op het hoogste niveau, waarbij de corresponderende site een cross-site is ten opzichte van de site op het hoogste niveau die de navigatie uitvoert. Dit brengt Chrome in lijn met het vergelijkbare gedrag in Safari, en de relevante specificaties zijn bijgewerkt om deze wijzigingen weer te geven.
Oproepstapels in crashrapporten van niet-reagerende webpagina's
Deze functie legt de JavaScript-aanroepstack vast wanneer een webpagina niet meer reageert doordat JavaScript-code in een oneindige lus terechtkomt of een andere zeer langdurige berekening uitvoert. Dit helpt ontwikkelaars de oorzaak van de onresponsiviteit te achterhalen. De JavaScript-aanroepstack wordt opgenomen in de API voor crashrapportage wanneer de reden 'onresponsiviteit' is.
Captured Surface Control API
Met de Captured Surface Control API kunnen webapplicaties muiswielgebeurtenissen doorsturen naar een vastgelegd tabblad, en het zoomniveau van een vastgelegd tabblad uitlezen en wijzigen.
CapturedSurfaceResolution
Geeft de pixelverhouding van het vastgelegde oppervlak weer tijdens het delen van het scherm. Deze functie helpt applicaties om systeembronnen te besparen of de afweging tussen kwaliteit en bandbreedte aan te passen aan de fysieke en logische resolutie van het vastgelegde oppervlak.
Stuur klikgebeurtenissen door naar de vastgelegde aanwijzer.
Als een aanwijzer wordt onderschept terwijl de pointerup -gebeurtenis wordt verzonden, wordt de click -gebeurtenis verzonden naar het onderschepte doel in plaats van naar de dichtstbijzijnde gemeenschappelijke voorouder van de pointerdown en pointerup gebeurtenissen, zoals beschreven in de UI Event-specificatie. Voor niet-onderschepte aanwijzers blijft het click ongewijzigd.
Expliciete compilatiehints met magische commentaren
Hiermee kan worden aangegeven welke functies direct geparseerd en gecompileerd moeten worden in JavaScript-bestanden. Deze informatie wordt gecodeerd als magische commentaren.
FedCM-updates: Ondersteuning voor meerdere identiteitsproviders, verwijdering van de functie "een ander account toevoegen" in de passieve modus.
Met deze update kan FedCM meerdere identiteitsproviders in hetzelfde dialoogvenster weergeven. Dit biedt ontwikkelaars een handige manier om alle ondersteunde identiteitsproviders aan gebruikers te presenteren. We zijn van plan om eerst het eenvoudige geval aan te pakken waarbij alle providers in dezelfde get() aanroep worden weergegeven. We verwijderen ook de ondersteuning voor de functie 'een ander account toevoegen' in de passieve modus van FedCM. Deze functie maakte het mogelijk om een knop 'een ander account gebruiken' naast andere IdP-accounts in de keuzelijst weer te geven. De functie wordt momenteel niet gebruikt en gesprekken met gebruikers hebben ons doen geloven dat ondersteuning hiervoor leidt tot een complexere workflow zonder veel voordeel. Deze functie blijft wel werken in de actieve modus van FedCM.
Vloeiende scrollbalken.
Deze functie moderniseert de scrollbalken van Chrome (zowel de overlay- als de niet-overlay-scrollbalken) op Windows en Linux, zodat ze aansluiten bij de Fluent-ontwerptaal van Windows 11. Niet-overlay Fluent-scrollbalken worden standaard ingeschakeld op Linux en Windows. Deze wijziging geldt ook voor Linux, omdat het ontwerp van de scrollbalken van Chrome op Linux van oudsher overeenkomt met dat van Windows.
Ondersteuning voor de H265 (HEVC)-codec in WebRTC
Vanaf Chrome 136 zal HEVC, naast VP8, H.264, VP9 en AV1, worden ondersteund als codec in WebRTC. Ondersteuning kan worden opgevraagd via de MediaCapabilities API.
Deze nieuwere codec heeft een hogere compressie-efficiëntie (hogere kwaliteit per bitrate) ten opzichte van oudere codecs zoals VP8 en H264, en wordt al meer dan tien jaar door zeer sterke hardware ondersteund. Dit vertaalt zich in een langere batterijduur en een kleiner risico op prestatieproblemen. Afhankelijk van de prestaties van de onderliggende hardware-encoder, zal dit vaak de kijkervaring verbeteren in gevallen waarin hardwarematige VP9- of AV1-encoders niet beschikbaar zijn.
Updates voor H26x-codecondersteuning voor MediaRecorder
De MediaRecorder API ondersteunt nu HEVC-codering, met de introductie van de codec-string hvc1.* , en voegt nieuwe codecs ( hev1.* en avc3.* ) toe die video met variabele resolutie in MP4 ondersteunen. Ondersteuning voor HEVC-platformcodering werd toegevoegd aan WebCodecs in Chrome 130. Als vervolg hierop is 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 de benodigde mogelijkheden bieden.
IP-adresregistratie en -rapportage in Chrome Enterprise
Chrome Enterprise verbetert de mogelijkheden voor beveiligingsmonitoring en incidentrespons door lokale en externe IP-adressen te verzamelen en te rapporteren en deze IP-adressen naar de Security Investigation Logs (SIT) te sturen. Daarnaast kunnen beheerders van Chrome Enterprise de IP-adressen optioneel naar eigen en externe SIEM-providers sturen via de Chrome Enterprise Reporting-connector. Deze functie is beschikbaar voor Chrome Enterprise Core-klanten.
Neem de navigatie-initiator op in de HTTP-cachepartitiesleutel.
Het HTTP-cache-sleutelschema van Chrome is bijgewerkt met een boolean-waarde die aangeeft is-cross-site-main-frame-navigation Dit is bedoeld om aanvallen met datalekken tussen sites via navigatie op het hoogste niveau te beperken. Concreet voorkomt dit cross-site-aanvallen waarbij een aanvaller via navigatie op het hoogste niveau naar een bepaalde pagina kan gaan en vervolgens naar een bron kan navigeren waarvan bekend is dat deze door die pagina wordt geladen. Op die manier kan de aanvaller gevoelige informatie afleiden uit het laadtijdstip. Deze wijziging verbetert ook de privacy, omdat een kwaadwillende site geen navigatiegegevens meer kan gebruiken om te achterhalen of een gebruiker een bepaalde site eerder heeft bezocht.
Taalondersteuning voor CanvasTextDrawingStyles
Het <canvas> DOM-element accepteert, net als alle andere DOM-elementen, een lang attribuut dat wordt gebruikt om taalspecifieke behandeling voor lettertypeselectie te definiëren (wanneer lettertypen taalspecifieke glyphs hebben). Browsers respecteren dit attribuut. Wanneer echter een OffscreenCanvas wordt aangemaakt, is er geen manier om taalinformatie in te stellen, wat mogelijk kan leiden tot een situatie waarin een offscreencanvas een ander resultaat produceert dan het canvas waarop de uitvoer wordt gebruikt. Deze functie voegt een lang IDL-attribuut toe aan CanvasTextDrawingStyles om directe controle te bieden over de taal voor het tekenen van tekst en de bijbehorende metrische gegevens.
Rapporten over het machtigingsbeleid voor iframes
Introduceert een nieuw type overtreding genaamd "Potentiële schending van het machtigingsbeleid", dat alleen kijkt naar het machtigingsbeleid (inclusief beleid dat alleen rapportage toestaat) en het allow -attribuut dat is ingesteld in iframes om het conflict te detecteren tussen het afgedwongen machtigingsbeleid en de machtigingen die aan iframes worden doorgegeven.
Voorspelbaar gerapporteerd opslagquotum
Rapporteer een voorspelbaar opslagquotum via de Estimate API van StorageManager voor sites die geen onbeperkte opslagrechten hebben. Het is mogelijk om de browsemodus van een gebruiker te detecteren aan de hand van het gerapporteerde opslagquotum, omdat de beschikbare opslagruimte in de incognitomodus aanzienlijk kleiner is dan in de normale modus.
Privé-aggregatie-API: Rapportage van aggregatiefouten
Er kunnen verschillende foutcondities optreden bij het gebruik van de Private Aggregation API. Zo kan het privacybudget bijvoorbeeld opraken, waardoor er geen verdere histogrambijdragen meer mogelijk zijn. Deze functie stelt ontwikkelaars in staat om histogrambijdragen te registreren die alleen verzonden moeten worden als een bepaald type fout optreedt. Deze functie ondersteunt het meten van de frequentie van de foutcondities en het splitsen van deze metingen op relevante, door de ontwikkelaar gespecificeerde dimensies (bijvoorbeeld de versie van de geïmplementeerde code). Omdat de fouten zelf mogelijk informatie bevatten die meerdere sites omvat, kunnen we ze niet zomaar aan de pagina tonen zonder cookies van derden. In plaats daarvan hergebruikt deze functie de bestaande geaggregeerde, geruisde rapportagepipelines via de Aggregation Service.
RegExp.escape
RegExp.escape is een statische methode die een tekenreeks als invoer krijgt en een ontsnapte versie retourneert die als patroon in 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));
Speculatieregels: tagveld
Hiermee kunnen ontwikkelaars een field toevoegen aan speculatieregels. Dit optionele veld kan worden gebruikt om de bron van speculatieregels te traceren. Bijvoorbeeld om ze anders te behandelen op een tussenliggende server. Alle tags die aan een speculatie zijn gekoppeld, worden verzonden met de header Sec-Speculation-Tags .
Strikt Same Origin-beleid voor de Storage Access API
Past de semantiek van de Storage Access API aan om strikt het Same Origin Policy te volgen. Dat wil zeggen dat het gebruik van document.requestStorageAccess() in een iframe standaard alleen cookies toevoegt aan verzoeken aan de oorsprong van het iframe (niet aan de site). Houd er rekening mee dat het CookiesAllowedForUrls -beleid of Storage Access Headers nog steeds kunnen worden gebruikt om cross-site cookies te deblokkeren.
Update ProgressEvent zodat het het type double gebruikt voor loaded en total
De ProgressEvent heeft attributen loaded en total die de voortgang aangeven, en hun type is momenteel unsigned long long . Met deze nieuwe functie wordt het type voor deze twee attributen gewijzigd naar double , waardoor ontwikkelaars meer controle krijgen over de waarde. Ontwikkelaars kunnen bijvoorbeeld nu een ProgressEvent maken met een ` total van 1 en een loaded die geleidelijk van 0 naar 1 oploopt. Dit komt overeen met het standaardgedrag van het HTML-element ` <progress> als het `max`-attribuut wordt weggelaten.
Gebruik DOMPointInit voor getCharNumAtPosition , isPointInFill en isPointInStroke
Deze wijziging brengt de Chromium-code in lijn met de nieuwste W3C-specificatie voor SVGGeometryElement en SVGPathElement wat betreft het gebruik van DOMPointInit in plaats van SVGPoint voor getCharNumAtPosition , isPointInFill isPointInStroke .
Voorwaardelijke aanmaak van webauthenticatie (Passkey-upgrades)
Met de voorwaardelijke aanmaakverzoeken van WebAuthn kunnen websites bestaande wachtwoordgegevens upgraden naar een toegangssleutel.
WebGPU: GPUAdapterInfo isFallbackAdapter -attribuut
Het booleaanse attribuut 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.
Nieuwe oorsprongsproeven
In Chrome 136 kun je je aanmelden voor de volgende nieuwe Origin-proefversies .
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.
Zorg ervoor dat webapplicaties de bimodale prestatietijden begrijpen.
Webapplicaties kunnen last hebben van een bimodale verdeling in de laadtijden van pagina's, als gevolg van factoren waar de webapplicatie geen controle over heeft. Bijvoorbeeld:
- Wanneer een gebruikersagent voor het eerst wordt opgestart (een "koude start"-scenario), moet deze veel tijdrovende initialisatietaken uitvoeren die concurreren om systeembronnen.
- Browser-extensies 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 tot tragere reactietijden kan leiden.
- Wanneer een computer intensief bezig is met verschillende taken, kan dit leiden tot tragere laadtijden van webpagina's.
In deze scenario's concurreert de content die de webapplicatie probeert te laden met andere taken die op het systeem plaatsvinden. Hierdoor is het moeilijk te detecteren of prestatieproblemen zich binnen de webapplicatie zelf voordoen, of dat ze worden veroorzaakt door externe factoren.
Een nieuw veld confidence op het PerformanceNavigationTiming -object stelt ontwikkelaars in staat om te bepalen of de navigatietijden representatief zijn voor hun webapplicatie.
Apparaatgebonden sessiegegevens
Een manier voor websites om een sessie veilig aan één apparaat te koppelen.
Het stelt servers in staat een sessie te hebben die veilig aan een apparaat is gekoppeld. De browser vernieuwt de sessie periodiek op verzoek van de server, met bewijs van het bezit van een privésleutel.
Update van de implementatie voor het weergeven van tekst op canvas
De interne werking van measureText() , fillText() en strokeText() van CanvasRenderingContext2D en OffscreenCanvasRenderingContext2D is vervangen door een nieuwe implementatie die RTL-tekst en caching beter ondersteunt. Dit kan de prestaties en de BIDI-tekstweergave beïnvloeden. Deze testversie biedt canvasapplicaties met veel tekst de mogelijkheid om de nieuwe implementatie uit te proberen en eventuele problemen te melden.
Afschrijvingen en verwijderingen
Deze versie van Chrome introduceert de volgende afschrijvingen en verwijderingen. Ga naar ChromeStatus.com voor lijsten met geplande afschrijvingen, huidige afschrijvingen en eerdere verwijderingen.
In deze versie van Chrome zijn twee functies verwijderd.
Verwijder getters van Intl Locale Info.
De Intl Locale Info API is een Stage 3 ECMAScript TC39-voorstel om het Intl.Locale object te verbeteren door informatie over de landinstellingen beschikbaar te stellen, zoals weekgegevens (eerste dag van de week, begin- en einddag van het weekend, kortste dag van de eerste week) en de uurcyclus voor tekstrichting die in de landinstelling wordt gebruikt. Deze wijziging verwijdert enkele getters die in een specificatiewijziging als verouderd zijn gemarkeerd sinds ze zijn uitgebracht.
Verwijder HTMLFencedFrameElement.canLoadOpaqueURL() .
canLoadOpaqueURL() werd in 2023 vervangen door navigator.canLoadAdAuctionFencedFrame() , en het aanroepen ervan resulteert sindsdien in een waarschuwing in de console dat ontwikkelaars de nieuwe API moeten gebruiken. Het is niet logisch om de functie aan HTMLFencedFrameElement te koppelen; deze zou in plaats daarvan aan het navigator object moeten worden gekoppeld (dat andere methoden voor fenced frames en advertentieveilingen bevat).