Chrome 131 bèta

Gepubliceerd: 16 oktober 2024

Tenzij anders vermeld, zijn de volgende wijzigingen van toepassing op de nieuwste versie van het Chrome-bètakanaal voor Android, ChromeOS, Linux, macOS en Windows. Lees meer over de hier vermelde functies via de links of via de lijst op ChromeStatus.com . Chrome 131 is bètaversie vanaf 16 oktober 2024. Je kunt de nieuwste versie downloaden op Google.com voor desktop of in de Google Play Store voor Android.

CSS

Deze release voegt acht nieuwe CSS-functies toe.

CSS-ankerpositionering: ankerbereik

Met de eigenschap anchor-scope kunt u de zichtbaarheid van ankernamen beperken tot een bepaalde subboom.

CSS font-variant-emoji

De CSS-eigenschap font-variant-emoji biedt een manier om te kiezen tussen gekleurde (emoji-stijl) en monochromatische (tekststijl) emoji-glyphs. Dit kan ook worden gedaan door na elk emoji-codepunt een emoji-variatieselector toe te voegen, specifiek U+FE0E voor tekst en U+FE0F voor emoji.

CSS-markeringsovererving

Met CSS highlight-overerving erven de pseudo-klassen voor CSS highlight, zoals ::selection en ::highlight , hun eigenschappen via de pseudo highlight-keten in plaats van via de elementketen. Het resultaat is een intuïtiever model voor de overerving van eigenschappen in highlights.

Voor meer informatie kunt u het blogbericht Inheritance changes for CSS selection styling lezen, geschreven door Stephen Chenney van Igalia.

Verbeteringen aan de stylingstructuur van <details> en <summary> -elementen

Ondersteuning voor meer CSS-styling voor de structuur van <details> en <summary> -elementen, zodat deze elementen vaker gebruikt kunnen worden wanneer disclosure-widgets of accordion-widgets op het web worden gebouwd. Deze wijziging verwijdert met name beperkingen die het instellen van de display-eigenschap op deze elementen verhinderden, en voegt een pseudo-element ::details-content toe om de container te stylen voor het uitvouwbare en inklapbare onderdeel.

@page margevakken

Voeg ondersteuning toe voor paginamargevakken bij het afdrukken van een webdocument of het exporteren ervan als PDF.

Met de margevakken @page kunt u de inhoud van het margegebied van een pagina definiëren, bijvoorbeeld om aangepaste kopteksten en voetteksten te maken in plaats van de ingebouwde kopteksten en voetteksten te gebruiken die door de browser worden gegenereerd.

Een margevak wordt gedefinieerd met behulp van een at-regel binnen een CSS @page -regel. Het uiterlijk en de inhoud van een margevak worden gespecificeerd met CSS-eigenschappen binnen de at-regel, inclusief de content eigenschap. Tellers worden ook ondersteund voor paginanummering. De specificatie definieert twee speciale tellernamen: page voor het huidige paginanummer en pages voor het totale aantal pagina's.

@property ondersteunt <string> -syntaxis

Ondersteuning voor <string> -syntaxiscomponentnaam voor geregistreerde aangepaste eigenschappen.

Ondersteuning voor huidige kleur in relatieve kleursyntaxis

Sta relatieve kleuren in CSS toe (met behulp van het trefwoord from ) om currentcolor als basis te gebruiken. Hiermee kun je complementaire kleuren instellen, gebaseerd op de tekstkleur van een element, voor de randen, schaduwen of achtergronden van dat element.

Deze functie omvat ook use cases waarbij kleurfuncties zijn genest met een afhankelijkheid van currentcolor, bijvoorbeeld color-mix(in srgb, rgb(from currentcolor rgb), white)) of rgb(from rgb(from currentcolor 1 gb) bgr) .

Ondersteun externe SVG-bronnen voor de eigenschappen clip-path , fill , stroke en marker-*

Deze functie voegt ondersteuning toe voor externe verwijzingen naar clippaden, markeringen en verfservers (voor de eigenschappen 'fill' en 'stroke'). Bijvoorbeeld: clip-path: url("resources.svg#myPath") .

Web-API's

Direct Sockets API

Zorgt ervoor dat geïsoleerde web-apps via TCP (Direct Transmission Control Protocol) en UDP (User Datagram Protocol) kunnen communiceren met netwerkapparaten en -systemen. Daarnaast kunnen ze luisteren naar en inkomende verbindingen accepteren.

Speculatieregels-header vrijstellen van CSP-beperkingen

Werkt de integratie tussen speculatieregels en CSP bij, zodat CSP alleen van toepassing is op <script type=speculationrules> en niet op de Speculation-Rules header. Het scriptbeleid van CSP is bedoeld om te beschermen tegen de injectie van scripts in HTML, en het CSP-bedreigingsmodel heeft geen betrekking op HTTP-headers. Dit maakt de implementatie van speculatieregels vanaf CDN's en andere edge-servers eenvoudiger.

FedCM als vertrouwenssignaal voor de Storage Access API

Brengt de FedCM- en Storage Access-API's in overeenstemming door een eerdere FedCM-toekenning een geldige reden te geven om een ​​aanvraag voor opslagtoegang automatisch goed te keuren.

Wanneer een gebruiker toestemming geeft om zijn of haar identiteit te gebruiken met een externe identiteitsprovider (IdP) op een Relying Party (RP), vereisen veel IdP's cookies van derden om correct en veilig te functioneren. Dit voorstel beoogt op een privé- en veilige manier aan deze vereiste te voldoen door de toestemmingscontroles van de Storage Access API (SAA) bij te werken, zodat niet alleen de toestemming wordt geaccepteerd die wordt verleend via een prompt voor opslagtoegang, maar ook de toestemming die wordt verleend via een prompt van FedCM.

Een belangrijke eigenschap van dit mechanisme is dat de toekenning wordt beperkt tot gevallen die expliciet zijn toegestaan ​​door de RP met het FedCM-machtigingsbeleid. Hierdoor wordt een controle per frame afgedwongen voor de RP en wordt passieve bewaking door de IdP voorkomen die verder gaat dan de mogelijkheden die FedCM al verleent.

COOP-waarde noopener-allow-popups

Sommige bronnen kunnen verschillende applicaties bevatten met verschillende beveiligingsvereisten. In die gevallen kan het nuttig zijn om te voorkomen dat scripts die in de ene applicatie draaien, pagina's van een andere applicatie van dezelfde oorsprong kunnen openen en scripts kunnen uitvoeren.

In dergelijke gevallen kan het nuttig zijn om ervoor te zorgen dat de opener van een document het niet kan scripten, zelfs als het document van dezelfde oorsprong is. Met de waarde noopener-allow-popups Cross-Origin-Opener-Policy kunnen documenten dat gedrag definiëren.

Private Aggregation API: verhoog de bijdragelimiet naar 100 voor Protected Audience-bellers

Hiermee kunnen scriptrunners van Protected Audience maximaal 100 bijdragen per privéaggregatierapport leveren, vergeleken met de huidige limiet van 20.

Private Aggregation beperkt het aantal histogrambijdragen dat in één aggregeerbaar rapport kan worden opgenomen, waardoor extra bijdragen worden verwijderd. Aanroepers van Shared Storage kunnen deze limiet omzeilen door een andere Shared Storage-bewerking aan te roepen. Aanroepers van Protected Audience hebben echter geen permanente opslag, waardoor ze hun overtollige bijdragen aan het einde van hun veiling verliezen. Deze wijziging is privacyneutraal, aangezien de bijdragen van de API nog steeds worden beperkt door hetzelfde privacybudget.

Door opvulling zal elk Protected Audience-rapport een grotere payload hebben, zelfs als de hogere bijdragelimiet niet nodig was. We verwachten dat deze grotere rapporten de kosten voor de aggregatieservice zullen verhogen.

Selecteer parser-relaxatie

Door deze wijziging staat de HTML-parser extra tags toe in <select> naast <option> , <optgroup> en <hr> .

Deze wijziging is ter ondersteuning van de aanpasbare <select> -functie, maar wordt als eerste doorgevoerd omdat dit afzonderlijk kan worden gedaan en een aantal compatibiliteitsrisico's met zich meebrengt waarover het Chrome-team graag feedback zou willen ontvangen.

WebGPU: Clipafstanden

Voegt de optionele GPU-functie clip-distances toe, waarmee u door de gebruiker gedefinieerde clip-afstanden in vertex shader-uitvoer kunt instellen. Deze techniek is met name handig voor toepassingen die alle hoekpunten in een scène moeten clippen die zich buiten een door de gebruiker gedefinieerd vlak bevinden, zoals veel CAD-toepassingen.

WebGPU: GPUCanvasContext getConfiguration()

Nadat GPUCanvasContext configure() is aangeroepen met een configuratiewoordenboek, kunt u de GPUCanvasContext getConfiguration() methode gebruiken om de configuratie van de canvascontext te controleren. Deze bevat GPU- device , format , usage , viewFormats , colorSpace , toneMapping en alphaMode leden. Zoals besproken in issue 4828 , kunnen webapps deze methode gebruiken om te detecteren of HDR-canvas wordt ondersteund in WebGPU.

WebHID op toegewijde werknemers

Activeert WebHID binnen speciale workercontexten. Hierdoor kunt u intensieve I/O en gegevensverwerking van een HID-apparaat op een aparte thread uitvoeren, waardoor de prestatie-impact op de hoofdthread wordt verminderd.

WebRTC RTCRtpEncodingParameters.scaleResolutionDownTo

Een API die WebRTC-encoders configureert om invoerframes te schalen als ze groter zijn dan de opgegeven maxWidth en maxHeight . Deze API is vergelijkbaar met scaleResolutionDownBy behalve dat resolutiebeperkingen worden uitgedrukt in absolute termen (bijvoorbeeld 640x360) in plaats van relatieve termen (bijvoorbeeld schalen met 2), waardoor racecondities worden vermeden die verband houden met het direct wijzigen van de invoerframegrootte.

Nieuwe oorsprongsproeven

In Chrome 131 kunt u kiezen voor de volgende nieuwe oorsprongsproeven .

Afspeelstatistieken voor WebAudio

Met de functie AudioContext.playoutStats kan een toepassing de kwaliteit en latentie van audioweergave meten met behulp van WebAudio.

Samenvattings-API

Een JavaScript API voor het produceren van samenvattingen van invoertekst, ondersteund door een AI-taalmodel.

Afschaffingen en verwijderingen

Deze versie van Chrome introduceert de volgende verouderingen en verwijderingen. Ga naar ChromeStatus.com voor lijsten met geplande verouderingen, huidige verouderingen en eerdere verwijderingen.

In deze versie van Chrome zijn drie functies verwijderd.

Verwijder de CSS-ankerpositioneringseigenschap inset-area

Met de resolutie van de CSS Working Group om de eigenschap inset-area te hernoemen naar position-area wordt de implementatie in Chromium opgeschoond en is er nu een functie die aan de standaarden voldoet.

Verwijder de mogelijkheid om BeforeunloadEventCancelByPreventDefault uit te schakelen

De functie BeforeunloadEventCancelByPreventDefault werd meegeleverd in Chrome 117, maar er is een bedrijfsbeleid waarmee deze vlag geforceerd kan worden uitgeschakeld. Dit bedrijfsbeleid wordt verwijderd in Chrome 131.

Verwijder de niet-standaard GPUAdapter requestAdapterInfo() methode

De WebGPU-werkgroep besloot dat het niet praktisch was om requestAdapterInfo() een toestemmingsprompt te laten activeren. Daarom hebben ze die optie verwijderd en vervangen door het GPUAdapter info -kenmerk, zodat webontwikkelaars synchroon dezelfde GPUAdapterInfo waarde kunnen krijgen.