Chrome 122 bèta

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 een eerder gebruikt account nu is ontkoppeld, 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 opgevangen.

RTCRtpSender setParameters() extensies voor het aanvragen van het genereren van een sleutelframe

Voegt een optionele tweede parameter toe aan de 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 algoritme voor sleutelovereenkomsten 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 .