Chrome 135 bèta, Chrome 135 bèta

Gepubliceerd: 5 maart 2025

Tenzij anders aangegeven, zijn de volgende wijzigingen van toepassing op de nieuwste release van het Chrome-bètakanaal voor Android, ChromeOS, Linux, macOS en Windows. Lees meer over de hier genoemde functies via de aangeboden links of via de lijst op ChromeStatus.com. Chrome 135 is vanaf 5 maart 2025 een bètaversie. Je kunt het nieuwste downloaden op Google.com voor desktop of in de Google Play Store op Android.

CSS en gebruikersinterface

Deze release voegt dertien nieuwe CSS- en UI-functies toe.

Ankerpositionering onthoudt scroll-offset

Voeg ondersteuning toe voor het concept van onthouden scroll-offset . Wanneer een gepositioneerd element een standaardanker heeft en aan de ene rand aan dit anker is vastgemaakt, en aan de andere rand tegen het originele bevattende blok, wordt er rekening gehouden met de scroll-offset als het gaat om de maatvoering van het element. Dit betekent dat u alle zichtbare ruimte (met behulp van position-area ) voor het verankerde element kunt gebruiken wanneer het document met een bepaalde scroll-offset wordt gescrolld. Om te voorkomen dat de lay-out (het formaat van het element wordt aangepast) elke keer dat het document wordt gescrolld, gebruikt de browser de onthouden scroll-offset , in plaats van altijd de huidige scroll-offset te gebruiken. De onthouden scroll-offset wordt bijgewerkt op een herberekeningspunt van het anker , wat ofwel de positie is waar het gepositioneerde element aanvankelijk wordt weergegeven, of, wanneer een andere positie-optie ( position-try-fallbacks ) wordt gekozen.

CSS-inertie

Het inert maken van een element heeft invloed op de vraag of het kan worden gefocust, bewerkt, geselecteerd en doorzoekbaar via zoeken op pagina. Het heeft ook invloed op de vraag of het zichtbaar is in de toegankelijkheidsboom. De interactivity specificeert of een element en zijn platte boomafstammelingen (inclusief tekstverlopen) inert zijn of niet. De interactivity accepteert een van de twee waarden: auto of inert .

Logische overloopeigenschappen

Met de CSS-eigenschappen overflow-inline en overflow-block kunt u overflow in inline- en blokrichting instellen ten opzichte van de schrijfmodus. In een horizontale schrijfmodus wordt overflow-inline toegewezen aan overflow-x , terwijl het in een verticale schrijfmodus wordt toegewezen aan overflow-y .

De tekengerelateerde functies ​abs() en sign() ​berekenen verschillende functies die verband houden met het teken van hun argument.

De eigenschap dynamic-range-limit

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

De shape() functie

De functie shape() maakt responsieve vrije vormen in de eigenschap clip-path mogelijk. Hiermee kunt u een reeks opdrachten definiëren, gelijkwaardig aan de opdrachten in path() . De opdrachten accepteren echter responsieve eenheden (bijvoorbeeld % of vw ), evenals eventuele CSS-waarden, zoals aangepaste eigenschappen.

Het ::column pseudo-element

Een ::column pseudo-element, waarmee een beperkte set stijlen op de gegenereerde fragmenten kan worden toegepast. Dit is specifiek beperkt tot stijlen die geen invloed hebben op de lay-out, en kunnen dus na de lay-out worden toegepast.

::scroll-button() pseudo-elementen

Maak de creatie van interactieve scrollknoppen als pseudo-elementen mogelijk. Bijvoorbeeld:

.scroller {
  overflow: auto;
}

.scroller::scroll-button(inline-start) {
  content: "<";
}

.scroller::scroll-button(inline-end) {
  content: ">";
}

Deze moeten focusseerbaar zijn en zich gedragen als een knop (inclusief hun UA-stijlen). Indien geactiveerd, moet er een zekere mate in de richting worden gescrolld. Als het niet mogelijk is om in die richting te scrollen, moeten ze worden uitgeschakeld (en opgemaakt met :disabled ), anders worden ze ingeschakeld (en opgemaakt met :enabled ). Met de selector kunt u knoppen in vier logische richtingen definiëren: block-start , block-end , inline-start , inline-end ; evenals vier fysieke richtingen: up , down , left , right .

::scroll-marker en ::scroll-marker-group

Voegt de ::scroll-marker en ::scroll-marker-group voor scrollende containers. Met deze pseudo-elementen kunt u een reeks focusbare markeringen maken voor alle bijbehorende items binnen de schuifcontainer.

Geneste pseudo-elementenstijl

Maakt het opmaken van pseudo-elementen mogelijk die in andere pseudo-elementen zijn genest. Tot nu toe is ondersteuning gedefinieerd voor: ::before::marker en ::after::marker , waarbij ::column::scroll-marker in de toekomst wordt ondersteund.

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. Door alleen links op te maken waarop eerder op deze site en frame is geklikt, zijn de vele zijkanaalaanvallen die zijn ontwikkeld om informatie over de styling van :visited links te verkrijgen, nu achterhaald, omdat ze sites niet langer voorzien van nieuwe informatie over gebruikers.

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 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.

Functionele notaties van interpolatievoortgang: CSS *progress() -functies

De functionele notaties progress() , media-progress() en container-progress() vertegenwoordigen de proportionele afstand van een gegeven waarde (de progress-waarde) van de ene waarde (de progress-startwaarde) naar een andere waarde (de progress-eindwaarde). Ze maken het mogelijk om een ​​voortgangsratio te tekenen op basis van respectievelijk wiskundige functies, mediafuncties en containerfuncties.

safe-area-max-inset- * variabelen

Naast de safe-area-inset -omgevingsvariabelen ondersteunt Chrome nu ook max-area-safe-inset- * varianten van deze variabelen. In tegenstelling tot de dynamische inzet verandert de maximale inzet niet en vertegenwoordigt deze de maximaal mogelijke veilige gebiedinzet.

Deze waarden zijn nodig bij het bouwen van performante edge-to-edge webervaringen.

Web-API's

Voeg MediaStreamTrack ondersteuning toe aan de Web Speech API

Voeg MediaStreamTrack ondersteuning toe aan de Web Speech API. De Web Speech API is een webstandaard-API waarmee ontwikkelaars spraakherkenning en -synthese in hun webpagina's kunnen opnemen. Momenteel gebruikt de Web Speech API de standaardmicrofoon van de gebruiker als audio-invoer. Met MediaStreamTrack-ondersteuning kunnen websites de Web Speech API gebruiken om andere audiobronnen te ondertitelen, inclusief externe audiotracks.

Blob-URL-partitionering: ophalen en navigeren

Als voortzetting van Storage Partitioning implementeert deze functie het partitioneren van Blob-URL-toegang op basis van Storage Key (site op het hoogste niveau, frame-oorsprong en de boolean has-cross-site-ancestor), met uitzondering van navigatie op het hoogste niveau, die alleen gepartitioneerd blijft op basis van frame-oorsprong.

CSP require-sri-for voor scripts

De require-sri-for richtlijn geeft u de mogelijkheid om te beweren dat elke bron van een bepaald type op integriteit moet worden gecontroleerd. Als wordt geprobeerd een bron van dat type te laden zonder integriteitsmetagegevens, zal die poging mislukken en een CSP-schendingsrapport activeren. Deze intentie omvat de "script" -waarde van deze richtlijn.

Maak een service worker-client en neem de service worker-controller over voor srcdoc iframe

Srcdoc-contextdocumenten zijn momenteel geen klanten van servicemedewerkers en worden niet gedekt door de servicemedewerker van hun ouders. Dat resulteert in enkele discrepanties (Resource Timing rapporteert bijvoorbeeld de URL's die deze documenten laden, maar de servicemedewerker onderschept ze niet). Dit heeft tot doel de verschillen op te lossen door servicewerknemerclients voor srcdoc -iframes te maken en deze de servicewerkcontroller van hun ouders te laten erven.

Klikgebeurtenissen verzenden naar de vastgelegde aanwijzer

Als een aanwijzer wordt vastgelegd terwijl de pointerup -gebeurtenis wordt verzonden, wordt de click 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.

Float16Array

Voegt de Float16Array getypeerde array toe. Getalwaarden worden afgerond op IEEE fp16 bij het schrijven naar Float16Array -instanties.

Het opnemen van de navigatie-initiator 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 via 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.

HSTS-trackingpreventie

Vermindert het volgen van gebruikers door derden via de HSTS-cache.

Deze functie staat alleen HSTS-upgrades toe voor navigatie op het hoogste niveau en blokkeert HSTS-upgrades voor aanvragen voor subbronnen. Als u dit wel doet, wordt het voor sites van derden onhaalbaar om de HSTS-cache te gebruiken om gebruikers op internet te volgen.

Invoker-opdrachten: de command en commandfor voor attributen

Met de command en commandfor -attributen op <button> -elementen kunt u op een meer toegankelijke en declaratieve manier gedrag aan knoppen toewijzen, terwijl u het aantal bugs vermindert en de hoeveelheid JavaScript die nodig is voor interactiviteit vereenvoudigt. Knoppen met commandfor en command attributen zullen (wanneer erop wordt geklikt, aangeraakt of geactiveerd met een toetsaanslag) een CommandEvent verzenden op het element waarnaar wordt verwezen door commandfor , met een aantal standaardgedragingen zoals het openen van dialoogvensters en popovers.

Voegt ondersteuning toe voor <link rel="facilitated-payment" href="..."> als hint dat de browser geregistreerde betalingscliënten op de hoogte moet stellen van een openstaande push-betaling.

De eigenschap NavigateEvent sourceElement

Wanneer een navigatie wordt geïnitieerd door een element (dat wil zeggen een klik op een link of een formulierinzending), retourneert de eigenschap sourceElement op de NavigateEvent het initiërende element.

NotRestoredReasons API reden naamwijziging

De NotRestoredReasons API wijzigt een aantal redenteksten zodat deze worden uitgelijnd met de gestandaardiseerde namen. Ontwikkelaars die deze redenen in de gaten houden, kunnen een verandering in de redenteksten opmerken.

Webspraak-API op het apparaat

Deze functie voegt ondersteuning voor spraakherkenning op het apparaat toe aan de Web Speech API, waardoor websites ervoor kunnen zorgen dat noch audio, noch getranscribeerde spraak ter verwerking naar een externe service wordt verzonden. Websites kunnen de beschikbaarheid van spraakherkenning op het apparaat voor specifieke talen opvragen, gebruikers vragen de benodigde bronnen voor spraakherkenning op het apparaat te installeren en indien nodig kiezen tussen spraakherkenning op het apparaat of in de cloud.

Client-URL van Service Worker negeert wijzigingen history.pushState

Wijzigt de eigenschap Client.url van de servicemedewerker om document-URL-wijzigingen te negeren met behulp van history.pushState() en andere vergelijkbare geschiedenis-API's. De eigenschap Client.url is bedoeld als de aanmaak-URL van het HTML-document, waarbij dergelijke wijzigingen worden genegeerd.

Ondersteuning van rel en relList -attributen voor SVGAElement

De SVGAElement-interface in SVG 2.0 maakt manipulatie van <a> -elementen mogelijk, vergelijkbaar met HTML-ankerelementen. Het ondersteunen van de kenmerken rel en relList verbetert de veiligheid en privacy voor ontwikkelaars. Deze afstemming met HTML-ankerelementen zorgt voor consistentie en gebruiksgemak voor alle webtechnologieën.

Tijdstempels voor RTC-gecodeerde frames

Deze functie bestaat uit het blootstellen aan het web van enkele tijdstempels die aanwezig zijn in WebRTC-gecodeerde frames die worden verzonden via RTCPeerConnection. De betreffende tijdstempels zijn:

  • Tijdstempel vastleggen: de tijdstempel waarop een frame oorspronkelijk werd vastgelegd
  • Tijdstempel ontvangen: de tijdstempel waarop een frame is ontvangen

Update ProgressEvent om dubbel type te gebruiken voor 'geladen' en 'totaal'

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.

De fetchLater -API

De fetchLater() API is een JavaScript-API om een ​​uitgestelde ophaalactie aan te vragen, vooral handig voor betrouwbaardere beaconing aan het einde van de levensduur van een pagina. Zodra een document wordt opgeroepen, wordt een uitgesteld verzoek door de browser in de wachtrij in de status PENDING geplaatst, en dit zal worden aangeroepen bij de eerste van de volgende omstandigheden:

Het document wordt vernietigd. Na een door de gebruiker opgegeven tijd. Om privacyredenen worden alle openstaande verzoeken gewist wanneer het document bfcache binnenkomt, ongeacht hoeveel tijd er nog over is. De browser besluit dat het tijd is om het te verzenden.

De API retourneert een FetchLaterResult dat een activated Booleaans veld bevat dat kan worden bijgewerkt om aan te geven of het uitgestelde verzoek is verzonden of niet. Bij succesvol verzenden wordt het hele antwoord door de browser genegeerd, inclusief hoofdtekst en kopteksten.

Houd er rekening mee dat vanuit het oogpunt van de API-gebruiker de exacte verzendtijd onbekend is.

Nieuwe oorsprongsproeven

In Chrome 135 kunt u zich aanmelden voor de volgende nieuwe origin-proefversies .

Interesse-opwekkers

Deze functie voegt een interesttarget attribuut toe aan <button> en <a> -elementen. Het interesttarget attribuut voegt 'interesse'-gedrag toe aan het element, zodat wanneer de gebruiker 'interesse toont' in het element, er acties worden geactiveerd op het doelelement. Acties kunnen zaken omvatten zoals het tonen van een popover. De user-agent zal het detecteren wanneer de gebruiker "interesse toont" in het element, met behulp van methoden zoals het met de muis over het element bewegen, het indrukken van speciale sneltoetsen op het toetsenbord of het lang indrukken van het element op touchscreens. Wanneer interesse wordt getoond of verloren, wordt een InterestEvent op het doelwit afgevuurd, die standaardacties heeft in het geval van popovers: het tonen en verbergen van de popover.

Op handtekeningen gebaseerde integriteit

Deze functie biedt webontwikkelaars een mechanisme om de herkomst van bronnen waarvan ze afhankelijk zijn te verifiëren, waardoor een technische basis wordt gelegd voor vertrouwen in de afhankelijkheden van een site. Kortom: servers kunnen antwoorden ondertekenen met een Ed25519-sleutelpaar, en webontwikkelaars kunnen van de user-agent eisen dat hij de handtekening verifieert met behulp van een specifieke openbare sleutel. Dit biedt een nuttige aanvulling op de URL-gebaseerde controles die worden aangeboden door Content Security Policy aan de ene kant, en de op inhoud gebaseerde controles van Subresource Integrity aan de andere kant.

Beëindigingen en verwijderingen

Deze versie van Chrome introduceert de hieronder vermelde beëindigingen en verwijderingen. Ga naar ChromeStatus.com voor een lijst met geplande beëindigingen, huidige beëindigingen en eerdere verwijderingen.

In deze versie van Chrome wordt één functie beëindigd.

Schrap getters van internationale lokale informatie

De Intl Locale Info API is een Stage 3 ECMAScript TC39-voorstel om het Intl.Locale object te verbeteren door locale-informatie weer te geven, zoals weekgegevens (eerste dag van de week, begindag van het weekend, einddag van het weekend, minimumdag in de eerste week) en de uurcyclus van de tekstrichting die in de landinstelling wordt gebruikt. Chrome heeft een implementatie in Chrome 99 gelanceerd, maar het voorstel veranderde om verschillende getters naar functies te verplaatsen. We moeten de verouderde getters verwijderen en de hernoemde functies opnieuw starten.

In deze versie van Chrome worden drie functies verwijderd.

Verwijder de verouderde methode navigator.xr.supportsSession

navigator.xr.supportsSession werd in september 2019 in de WebXR-specificatie vervangen door de navigator.xr.isSessionSupported -methode na ontvangst van feedback over de API-vorm van de TAG. Sindsdien is het in Chrome als verouderd gemarkeerd, waardoor een consolewaarschuwing werd gegenereerd die ontwikkelaars omleidde naar de bijgewerkte API. Het gebruik van de oproep is erg laag en er is bevestigd dat alle belangrijke raamwerken die worden gebruikt om WebXR-inhoud te bouwen, zijn bijgewerkt om de nieuwere oproep te gebruiken.

Verwijder de eigenschap NavigateEvent canTransition

In Chrome 108 zijn de methode transitionWhile() en de eigenschap canTransition van NavigateEvent vervangen door de nieuwe methode intercept() en de eigenschap canIntercept . Op dat moment werd de methode transitionWhile() verwijderd. We zijn echter vergeten de eigenschap canTransition te verwijderen: in plaats daarvan hebben we deze laten staan ​​als een alias voor canIntercept . In Chrome 135 repareren we dit en verwijderen canTransition . Elk gebruik van canTransition kan worden vervangen door canIntercept , zonder dat het gedrag verandert.

Verwijder de WebGPU-limiet maxInterStageShaderComponents

De maxInterStageShaderComponents -limiet wordt verwijderd vanwege een combinatie van factoren:

  • Redundantie met maxInterStageShaderVariables : deze limiet dient al een soortgelijk doel, namelijk het regelen van de hoeveelheid gegevens die tussen shader-fasen wordt doorgegeven.
  • Kleine verschillen: Hoewel er kleine verschillen zijn in de manier waarop de twee limieten worden berekend, zijn deze verschillen klein en kunnen ze effectief worden beheerd binnen de maxInterStageShaderVariables limit .
  • Vereenvoudiging: het verwijderen van maxInterStageShaderComponents stroomlijnt de shader-interface en vermindert de complexiteit voor ontwikkelaars. In plaats van twee afzonderlijke limieten te beheren (die beide tegelijkertijd van toepassing zijn, maar met subtiele verschillen), kunnen ze zich concentreren op de beter benoemde en uitgebreidere maxInterStageShaderVariables .
,

Gepubliceerd: 5 maart 2025

Tenzij anders aangegeven, zijn de volgende wijzigingen van toepassing op de nieuwste release van het Chrome-bètakanaal voor Android, ChromeOS, Linux, macOS en Windows. Lees meer over de hier genoemde functies via de aangeboden links of via de lijst op ChromeStatus.com. Chrome 135 is vanaf 5 maart 2025 een bètaversie. Je kunt het nieuwste downloaden op Google.com voor desktop of in de Google Play Store op Android.

CSS en gebruikersinterface

Deze release voegt dertien nieuwe CSS- en UI-functies toe.

Ankerpositionering onthoudt scroll-offset

Voeg ondersteuning toe voor het concept van onthouden scroll-offset . Wanneer een gepositioneerd element een standaardanker heeft en aan de ene rand aan dit anker is vastgemaakt, en aan de andere rand tegen het originele bevattende blok, wordt er rekening gehouden met de scroll-offset als het gaat om de maatvoering van het element. Dit betekent dat u alle zichtbare ruimte (met behulp van position-area ) voor het verankerde element kunt gebruiken wanneer het document met een bepaalde scroll-offset wordt gescrolld. Om te voorkomen dat de lay-out (het formaat van het element wordt aangepast) elke keer dat het document wordt gescrolld, gebruikt de browser de onthouden scroll-offset , in plaats van altijd de huidige scroll-offset te gebruiken. De onthouden scroll-offset wordt bijgewerkt op een herberekeningspunt van het anker , wat ofwel de positie is waar het gepositioneerde element aanvankelijk wordt weergegeven, of, wanneer een andere positie-optie ( position-try-fallbacks ) wordt gekozen.

CSS-inertie

Het inert maken van een element heeft invloed op de vraag of het kan worden gefocust, bewerkt, geselecteerd en doorzoekbaar via zoeken op pagina. Het heeft ook invloed op de vraag of het zichtbaar is in de toegankelijkheidsboom. De interactivity specificeert of een element en zijn platte boomafstammelingen (inclusief tekstverlopen) inert zijn of niet. De interactivity accepteert een van de twee waarden: auto of inert .

Logische overloopeigenschappen

Met de CSS-eigenschappen overflow-inline en overflow-block kunt u overflow in inline- en blokrichting instellen ten opzichte van de schrijfmodus. In een horizontale schrijfmodus wordt overflow-inline toegewezen aan overflow-x , terwijl het in een verticale schrijfmodus wordt toegewezen aan overflow-y .

De tekengerelateerde functies ​abs() en sign() ​berekenen verschillende functies die verband houden met het teken van hun argument.

De eigenschap dynamic-range-limit

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

De shape() functie

De functie shape() maakt responsieve vrije vormen in de eigenschap clip-path mogelijk. Hiermee kunt u een reeks opdrachten definiëren, gelijkwaardig aan de opdrachten in path() . De opdrachten accepteren echter responsieve eenheden (bijvoorbeeld % of vw ), evenals eventuele CSS-waarden, zoals aangepaste eigenschappen.

Het ::column pseudo-element

Een ::column pseudo-element, waarmee een beperkte set stijlen op de gegenereerde fragmenten kan worden toegepast. Dit is specifiek beperkt tot stijlen die geen invloed hebben op de lay-out, en kunnen dus na de lay-out worden toegepast.

::scroll-button() pseudo-elementen

Maak de creatie van interactieve scrollknoppen als pseudo-elementen mogelijk. Bijvoorbeeld:

.scroller {
  overflow: auto;
}

.scroller::scroll-button(inline-start) {
  content: "<";
}

.scroller::scroll-button(inline-end) {
  content: ">";
}

Deze moeten focusseerbaar zijn en zich gedragen als een knop (inclusief hun UA-stijlen). Indien geactiveerd, moet er een zekere mate in de richting worden gescrolld. Als het niet mogelijk is om in die richting te scrollen, moeten ze worden uitgeschakeld (en opgemaakt met :disabled ), anders worden ze ingeschakeld (en opgemaakt met :enabled ). Met de selector kunt u knoppen in vier logische richtingen definiëren: block-start , block-end , inline-start , inline-end ; evenals vier fysieke richtingen: up , down , left , right .

::scroll-marker en ::scroll-marker-group

Voegt de ::scroll-marker en ::scroll-marker-group voor scrollende containers. Met deze pseudo-elementen kunt u een reeks focusbare markeringen maken voor alle bijbehorende items binnen de schuifcontainer.

Geneste pseudo-elementenstijl

Maakt het opmaken van pseudo-elementen mogelijk die in andere pseudo-elementen zijn genest. Tot nu toe is ondersteuning gedefinieerd voor: ::before::marker en ::after::marker , waarbij ::column::scroll-marker in de toekomst wordt ondersteund.

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. Door alleen links op te maken waarop eerder op deze site en frame is geklikt, zijn de vele zijkanaalaanvallen die zijn ontwikkeld om informatie over de styling van :visited links te verkrijgen, nu achterhaald, omdat ze sites niet langer voorzien van nieuwe informatie over gebruikers.

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 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.

Functionele notaties van interpolatievoortgang: CSS *progress() -functies

De functionele notaties progress() , media-progress() en container-progress() vertegenwoordigen de proportionele afstand van een gegeven waarde (de progress-waarde) van de ene waarde (de progress-startwaarde) naar een andere waarde (de progress-eindwaarde). Ze maken het mogelijk om een ​​voortgangsratio te tekenen op basis van respectievelijk wiskundige functies, mediafuncties en containerfuncties.

safe-area-max-inset- * variabelen

Naast de safe-area-inset -omgevingsvariabelen ondersteunt Chrome nu ook max-area-safe-inset- * varianten van deze variabelen. In tegenstelling tot de dynamische inzet verandert de maximale inzet niet en vertegenwoordigt deze de maximaal mogelijke veilige gebiedinzet.

Deze waarden zijn nodig bij het bouwen van performante edge-to-edge webervaringen.

Web-API's

Voeg MediaStreamTrack ondersteuning toe aan de Web Speech API

Voeg MediaStreamTrack ondersteuning toe aan de Web Speech API. De Web Speech API is een webstandaard-API waarmee ontwikkelaars spraakherkenning en -synthese in hun webpagina's kunnen opnemen. Momenteel gebruikt de Web Speech API de standaardmicrofoon van de gebruiker als audio-invoer. Met MediaStreamTrack-ondersteuning kunnen websites de Web Speech API gebruiken om andere audiobronnen te ondertitelen, inclusief externe audiotracks.

Blob-URL-partitionering: ophalen en navigeren

Als voortzetting van Storage Partitioning implementeert deze functie het partitioneren van Blob-URL-toegang op basis van Storage Key (site op het hoogste niveau, frame-oorsprong en de boolean has-cross-site-ancestor), met uitzondering van navigatie op het hoogste niveau, die alleen gepartitioneerd blijft op basis van frame-oorsprong.

CSP require-sri-for voor scripts

De require-sri-for richtlijn geeft u de mogelijkheid om te beweren dat elke bron van een bepaald type op integriteit moet worden gecontroleerd. Als wordt geprobeerd een bron van dat type te laden zonder integriteitsmetagegevens, zal die poging mislukken en een CSP-schendingsrapport activeren. Deze intentie omvat de "script" -waarde van deze richtlijn.

Maak een service worker-client en neem de service worker-controller over voor srcdoc iframe

Srcdoc-contextdocumenten zijn momenteel geen klanten van servicemedewerkers en worden niet gedekt door de servicemedewerker van hun ouders. Dat resulteert in enkele discrepanties (Resource Timing rapporteert bijvoorbeeld de URL's die deze documenten laden, maar de servicemedewerker onderschept ze niet). Dit heeft tot doel de discrepanties op te lossen door service worker-clients voor srcdoc iframes te maken en deze de service worker-controller van hun ouders te laten erven.

Klikgebeurtenissen verzenden naar de vastgelegde aanwijzer

Als een aanwijzer wordt vastgelegd terwijl de pointerup -gebeurtenis wordt verzonden, wordt de click 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.

Float16Array

Voegt de Float16Array getypeerde array toe. Getalwaarden worden afgerond op IEEE fp16 bij het schrijven naar Float16Array -instanties.

Het opnemen van de navigatie-initiator 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 via 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.

HSTS-trackingpreventie

Vermindert het volgen van gebruikers door derden via de HSTS-cache.

Deze functie staat alleen HSTS-upgrades toe voor navigatie op het hoogste niveau en blokkeert HSTS-upgrades voor aanvragen voor subbronnen. Als u dit wel doet, wordt het voor sites van derden onhaalbaar om de HSTS-cache te gebruiken om gebruikers op internet te volgen.

Invoker-opdrachten: de command en commandfor voor attributen

Met de command en commandfor -attributen op <button> -elementen kunt u op een meer toegankelijke en declaratieve manier gedrag aan knoppen toewijzen, terwijl u het aantal bugs vermindert en de hoeveelheid JavaScript die nodig is voor interactiviteit vereenvoudigt. Knoppen met commandfor en command attributen zullen (wanneer erop wordt geklikt, aangeraakt of geactiveerd met een toetsaanslag) een CommandEvent verzenden op het element waarnaar wordt verwezen door commandfor , met een aantal standaardgedragingen zoals het openen van dialoogvensters en popovers.

Voegt ondersteuning toe voor <link rel="facilitated-payment" href="..."> als hint dat de browser geregistreerde betalingscliënten op de hoogte moet stellen van een openstaande push-betaling.

De eigenschap NavigateEvent sourceElement

Wanneer een navigatie wordt geïnitieerd door een element (dat wil zeggen een klik op een link of een formulierinzending), retourneert de eigenschap sourceElement op de NavigateEvent het initiërende element.

NotRestoredReasons API reden naamwijziging

De NotRestoredReasons API wijzigt een aantal redenteksten zodat deze worden uitgelijnd met de gestandaardiseerde namen. Ontwikkelaars die deze redenen in de gaten houden, kunnen een verandering in de redenteksten opmerken.

Webspraak-API op het apparaat

Deze functie voegt ondersteuning voor spraakherkenning op het apparaat toe aan de Web Speech API, waardoor websites ervoor kunnen zorgen dat noch audio, noch getranscribeerde spraak ter verwerking naar een externe service wordt verzonden. Websites kunnen de beschikbaarheid van spraakherkenning op het apparaat voor specifieke talen opvragen, gebruikers vragen de benodigde bronnen voor spraakherkenning op het apparaat te installeren en indien nodig kiezen tussen spraakherkenning op het apparaat of in de cloud.

Client-URL van Service Worker negeert wijzigingen history.pushState

Wijzigt de eigenschap Client.url van de servicemedewerker om document-URL-wijzigingen te negeren met behulp van history.pushState() en andere vergelijkbare geschiedenis-API's. De eigenschap Client.url is bedoeld als de aanmaak-URL van het HTML-document, waarbij dergelijke wijzigingen worden genegeerd.

Ondersteuning van rel en relList -attributen voor SVGAElement

De SVGAElement-interface in SVG 2.0 maakt manipulatie van <a> -elementen mogelijk, vergelijkbaar met HTML-ankerelementen. Het ondersteunen van de kenmerken rel en relList verbetert de veiligheid en privacy voor ontwikkelaars. Deze afstemming met HTML-ankerelementen zorgt voor consistentie en gebruiksgemak voor alle webtechnologieën.

Tijdstempels voor RTC-gecodeerde frames

Deze functie bestaat uit het blootstellen aan het web van enkele tijdstempels die aanwezig zijn in WebRTC-gecodeerde frames die worden verzonden via RTCPeerConnection. De betreffende tijdstempels zijn:

  • Tijdstempel vastleggen: de tijdstempel waarop een frame oorspronkelijk werd vastgelegd
  • Tijdstempel ontvangen: de tijdstempel waarop een frame is ontvangen

Update ProgressEvent om dubbel type te gebruiken voor 'geladen' en 'totaal'

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.

De fetchLater -API

De fetchLater() API is een JavaScript-API om een ​​uitgestelde ophaalactie aan te vragen, vooral handig voor betrouwbaardere beaconing aan het einde van de levensduur van een pagina. Zodra een document wordt opgeroepen, wordt een uitgesteld verzoek door de browser in de wachtrij in de status PENDING geplaatst. Dit verzoek wordt aangeroepen bij de vroegste van de volgende omstandigheden:

Het document wordt vernietigd. Na een door de gebruiker opgegeven tijd. Om privacyredenen worden alle openstaande verzoeken gewist wanneer het document bfcache binnenkomt, ongeacht hoeveel tijd er nog over is. De browser besluit dat het tijd is om het te verzenden.

De API retourneert een FetchLaterResult dat een activated Booleaans veld bevat dat kan worden bijgewerkt om aan te geven of het uitgestelde verzoek is verzonden of niet. Bij succesvol verzenden wordt het hele antwoord door de browser genegeerd, inclusief hoofdtekst en kopteksten.

Houd er rekening mee dat vanuit het oogpunt van de API-gebruiker de exacte verzendtijd onbekend is.

Nieuwe oorsprongsproeven

In Chrome 135 kunt u zich aanmelden voor de volgende nieuwe origin-proefversies .

Interesse-opwekkers

Deze functie voegt een interesttarget attribuut toe aan <button> en <a> -elementen. Het interesttarget attribuut voegt 'interesse'-gedrag toe aan het element, zodat wanneer de gebruiker 'interesse toont' in het element, er acties worden geactiveerd op het doelelement. Acties kunnen zaken omvatten zoals het tonen van een popover. De user-agent zal detecteren wanneer de gebruiker "interesse toont" in het element, met behulp van methoden zoals het met de muis over het element bewegen, op speciale sneltoetsen op het toetsenbord drukken of het element lang ingedrukt houden op touchscreens. Wanneer interesse wordt getoond of verloren, wordt een InterestEvent op het doelwit afgevuurd, die standaardacties heeft in het geval van popovers: het tonen en verbergen van de popover.

Op handtekeningen gebaseerde integriteit

Deze functie biedt webontwikkelaars een mechanisme om de herkomst van bronnen waar ze van afhankelijk zijn te verifiëren, waardoor een technische basis voor vertrouwen in de afhankelijkheden van een site ontstaat. Kortom: servers kunnen antwoorden ondertekenen met een ED25519 -sleutelpaar en webontwikkelaars kunnen van de gebruikersagent vereisen dat ze de handtekening verifiëren met behulp van een specifieke openbare sleutel. Dit biedt een nuttige toevoeging aan URL-gebaseerde controles die worden aangeboden door het contentbeveiligingsbeleid enerzijds en de op inhoud gebaseerde controles van SubResource Integrity aan de andere kant.

Afschrijving en verwijderingen

Deze versie van Chrome introduceert de hieronder vermelde afschrijving en verwijderingen. Bezoek chromestatus.com voor lijsten met geplande afschrijvingen, huidige afschrijvingen en eerdere verwijderingen.

Deze release van Chrome beschrijft één functie.

Getters van Intl Locale Info afschrijven

De INTL Locale Info API is een Stage 3 ECMAScript TC39 -voorstel om het Intl.Locale -object te verbeteren door locale -informatie bloot te leggen, zoals weekgegevens (eerste dag in een week, weekendstartdag, weekend -einddag, minimale dag in de eerste week) en tekstrichtingsuurcyclus gebruikt in de locale. Chrome landde een implementatie in Chrome 99, maar het voorstel veranderde om verschillende Getters naar functies te verplaatsen. We moeten de verouderde Getters verwijderen en de hernoemde functies opnieuw lanceren.

Deze release van Chrome verwijdert drie functies.

Verwijder de afgeschreven navigator.xr.supportsSession -methode

navigator.xr.supportsSession werd vervangen in de WebXR -specificaties door de navigator.xr.isSessionSupported -methode in september 2019 na het ontvangen van feedback over de API -vorm van de tag. Sindsdien is het gemarkeerd als verouderd in Chrome, waardoor een console -waarschuwing ontwikkelaars wordt geproduceerd om ontwikkelaars om te leiden naar de bijgewerkte API. Het gebruik van de oproep is erg laag en alle belangrijke frameworks die worden gebruikt om WebXR -inhoud te bouwen, zijn bevestigd dat ze zijn bijgewerkt om de nieuwere oproep te gebruiken.

Verwijder NavigateEvent canTransition -eigenschap

In Chrome 108 werden de overgangsmethode van de NavigateEvent transitionWhile() en de eigenschap canTransition vervangen door de methode New intercept() en canIntercept -eigenschap. Op dat moment werd de methode transitionWhile() verwijderd. We zijn echter vergeten om de eigenschap canTransition te verwijderen: in plaats daarvan hebben we het achtergelaten als een alias voor canIntercept . In Chrome 135 repareren we dat en verwijderden canTransition . Elk gebruik van canTransition kan worden vervangen door canIntercept , zonder verandering in gedrag.

Verwijder WebGPU -limiet MaxInterstageshadercomponenten

De limiet van maxInterStageShaderComponents wordt verwijderd vanwege een combinatie van factoren:

  • Redundantie met maxInterStageShaderVariables : deze limiet dient al een soortgelijk doel, waarbij de hoeveelheid gegevens tussen Shader -fasen worden geregeld.
  • Kleine discrepanties: hoewel er kleine verschillen zijn in de manier waarop de twee limieten worden berekend, zijn deze verschillen klein en kunnen effectief worden beheerd binnen de maxInterStageShaderVariables limit .
  • Vereenvoudiging: het verwijderen van maxInterStageShaderComponents stroomlijnt de Shader -interface en vermindert de complexiteit voor ontwikkelaars. In plaats van twee afzonderlijke limieten te beheren (die beide tegelijkertijd van toepassing zijn, maar met subtiele verschillen), kunnen ze zich concentreren op de meer passende en uitgebreide maxInterStageShaderVariables .