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 122 is vanaf 24 januari 2024 een bètaversie. Je kunt het nieuwste downloaden op Google.com voor desktop of in de Google Play Store op Android.
CSS
Deze release voegt drie nieuwe CSS-functies toe.
CSS @container-query's met niet-ondersteunde functies komen nooit overeen
@container
selectors die niet-ondersteunde zoekopdrachten bevatten, zullen nooit containers selecteren, wat betekent dat ze nooit overeenkomen.
Dat betekent dat deze zoekopdracht nooit met een container overeenkomt, ook al is er ook een groottecontainer die overeenkomt met de breedtequery. De volgende zoekopdracht komt bijvoorbeeld nooit overeen vanwege de onbekende functie:
@container (width > 0px) or (unknown) {}
Dit is een recente wijziging in de specificatie om problemen met voorwaartse compatibiliteit te voorkomen.
CSS-pseudo-element ::backdrop
overerft van het oorspronkelijke element
Het ::backdrop
pseudo-element dat wordt gebruikt om te erven van initiële waarden. Dat betekende dat ::backdrop
geen aangepaste eigenschapswaarden kon gebruiken, tenzij deze rechtstreeks werden opgegeven in de ::backdrop
regel. De specificatie is nu gewijzigd zodat ::backdrop
overneemt van het oorspronkelijke element. Deze wijziging zorgt ervoor dat de Chrome-implementatie overeenkomt met de nieuwe specificatie.
CSS supports()
voorwaarden voor @import
@import
accepteert nu een supports()
-voorwaarde. Als de voorwaarde supports()
niet overeenkomt, wordt de import niet opgehaald.
@import "scroll-driven-animations.css" supports(animation-timeline: auto);
De functiequery's die in supports()
moeten worden geplaatst, zijn dezelfde als die worden gebruikt bij @supports
Web-API's
Asynchrone Klembord-API: lees niet-opgeschoonde HTML
Voegt een unsanitized
optie toe aan de read()
methode om een niet-opgeschoonde HTML-indeling te krijgen. Tenzij sites deze eigenschap bevatten, wordt het lezen vanaf het klembord opgeschoond.
Bij het lezen van text/html
MIME-typen met behulp van de asynchrone API wordt standaard de sanitizer aangeroepen om de inhoud uit de HTML-opmaak te verwijderen vanwege veiligheidsoverwegingen, en worden stijlen in de HTML inline geplaatst. Dit leidt tot een grote HTML-payload en verlies van betrouwbaarheid van HTML-inhoud wanneer deze wordt gelezen door webontwikkelaars of mobiele apps.
Verwijder geen File-soortobjecten in dataTransfer.clearData()
Werkt Chrome bij zodat deze overeenkomt met de specificatie , die specificeert dat clearData()
geen invloed heeft op File-objecten. Het verwijdert alleen de text
.
FedCM: verbinding verbreken
Maakt het mogelijk om de verbinding met een federatief login-account te verbreken via de website van de vertrouwende partij. Met de ontkoppelings-API kan een vertrouwende partij de identiteitsprovider ervan op de hoogte stellen dat de verbinding met een eerder gebruikt account nu is verbroken, en dat het opnieuw gebruiken van dat account met federatieve login het als een nieuw account zou moeten behandelen.
Interoperabele mousedown-gebeurtenisannulering in iframe
Maak muisgebeurtenisdoelen agnostisch voor het annuleren van mousedown-gebeurtenissen wanneer de aanwijzer uit een iframe wordt gesleept. Wanneer de muis uit een iframe wordt gesleept, sturen alle browsers (inclusief Chrome) mousemove
en mouseup
gebeurtenissen naar het iframe. Als de mousedown-gebeurtenis echter wordt geannuleerd, handhaaft Chrome vandaag de dag een oude WebKit-uitzondering waarbij mousemove- en mouseup-gebeurtenissen naar het buitenste frame worden verzonden. WebKit verwijderde deze uitzondering vorig jaar en Mozilla vertoonde dit gedrag de afgelopen jaren nooit. Met deze functie wordt de uitzondering voor alleen Chrome voor dit speciale geval verwijderd.
Iterator-helpers
Iteratorhelpers zijn nieuwe methoden op het iteratorprototype om algemeen gebruik en verbruik van iterators mogelijk te maken.
MessagePort.onclose
Een wijziging in de Channel Messaging API, die een van de MessagePorts informeert dat de andere poort is ontward. Dat wil zeggen dat close()
wordt aangeroepen, een verschuldigd document wordt vernietigd of de poort wordt opgeschoond.
RTCRtpSender setParameters() extensies voor het aanvragen van het genereren van een sleutelframe
Voegt een optionele tweede parameter toe aan RTCRtpSender.setParameters
-aanroep van WebRTC, die kan worden gebruikt om de bijbehorende encoder te vragen een sleutelframe te genereren.
Methoden instellen
Set-methoden zijn nieuwe methoden zoals union en intersection die zijn toegevoegd aan de ingebouwde Set
klasse van JavaScript.
API voor opslagbuckets
Storage Buckets geeft sites de mogelijkheid om gegevens op het apparaat in afzonderlijke ‘buckets’ te organiseren, waardoor user agents de gegroepeerde gegevens onafhankelijk van de gegevens in andere buckets kunnen verwijderen, en sites in staat worden gesteld semantisch gerelateerde gegevens ergonomisch te beheren. Elke opslagbucket kan gegevens bevatten die zijn gekoppeld aan gevestigde opslag-API's zoals IndexedDB en CacheStorage.
URLPattern: hasRegExpGroups
Maakt inspectie mogelijk of een URLPattern
een of meer ECMAScript-reguliere-expressiegroepen gebruikt, en is daarom mogelijk niet geschikt voor gebruik in gevallen waarin een ECMAScript-engine niet beschikbaar is (zoals sommige toekomstige geplande API's). Strikt genomen weerspiegelt dit iets dat ontwikkelaars sowieso al zouden kunnen weten door het patroon te inspecteren, maar toegang hebben tot de implementatie van deze controle door de UA maakt dat eenvoudiger.
WebGL-tekeningBufferopslag
WebGL maakt rendering in texturen en renderbuffers van veel verschillende pixelformaten mogelijk. Bijvoorbeeld 8-bit, floating-point en sRGB-gecodeerd.
De tekenbuffer van WebGL (de buffer die wordt doorgegeven aan de compositor) is standaard 8-bit. Met de drawingBufferStorage-functie kan WebGL het pixelformaat van deze tekenbuffer configureren, waardoor ontwikkelaars het volgende kunnen doen.
- Vermijd een extra kopie bij het converteren van de weergave naar het standaard pixelformaat voor tekenbuffers.
- Teken inhoud met meer dan 8 bits precisie.
Deze laatste functie ontgrendelt verschillende extra applicaties:
- Een zeer breed kleurengamma zonder verlies van precisie.
- Medische toepassingen die een nauwkeurigheid van meer dan 8 bits vereisen.
- Toepassingen met hoog dynamisch bereik (indien beschikbaar).
X25519Kyber768-sleutelinkapseling voor TLS
Bescherm het huidige Chrome TLS-verkeer tegen toekomstige kwantumcryptanalyse door het Kyber768 kwantumbestendige sleutelovereenkomstalgoritme te implementeren. Dit is een hybride X25519 + Kyber768-sleutelovereenkomst gebaseerd op een IETF-standaard. Deze specificatie en lancering vallen buiten de reikwijdte van W3C. Deze sleutelovereenkomst zal worden gelanceerd als een TLS-code en moet transparant zijn voor gebruikers.
Oorsprongsproeven zijn aan de gang
In Chrome 122 kunt u zich aanmelden voor de volgende nieuwe Origin-proefversies .
Bereikextensies voor web-apps
Het bereik van de web-app (gedefinieerd door het bereikveld) kan alleen worden gedefinieerd met een pad vanaf één oorsprong. Het wordt gebruikt om te bepalen of het huidige document van een app-venster deel uitmaakt van de app. Het bepaalt ook welke URL's zijn toegestaan in andere manifestleden.
Met scope_extensions kunnen ontwikkelaars het gedrag van hun app uitbreiden met andere oorsprongen als er overeenstemming is tussen de primaire oorsprong van een web-app en de bijbehorende oorsprong.
Registreer u voor de oorspronkelijke proefversie van de bereikextensies voor web-apps
Oppervlaktecontrole vastgelegd
Met de Captured Surface Control API kunnen webapplicaties wielgebeurtenissen produceren in een vastgelegd tabblad of venster, en het zoomniveau van een vastgelegd tabblad lezen of schrijven.
Registreer u voor de Origin-proefversie van Captured Surface Control .