Chrome 131 bèta

Gepubliceerd: 16 oktober 2024

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 uit de lijst op ChromeStatus.com . Chrome 131 is vanaf 16 oktober 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 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 bepalen tussen gekleurde (emoji-stijl) en monochrome (tekststijl) emoji-glyphs. Dit kan ook worden gedaan door een emoji-variatiekiezer toe te voegen, specifiek U+FE0E voor tekst en U+FE0F voor emoji, na elk emoji-codepunt.

CSS benadrukt overerving

Met CSS-accentueringsovererving nemen de CSS-schijnpseudoklassen, zoals ::selection en ::highlight , hun eigenschappen over via de pseudo-accentueringsketen, in plaats van via de elementketen. Het resultaat is een intuïtiever model voor de overerving van eigenschappen in hooglichten.

Lees voor meer informatie de blogpost Overervingswijzigingen voor CSS-selectiestijl, geschreven door Stephen Chenney van Igalia.

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

Ondersteun meer CSS-stijlen voor de structuur van <details> en <summary> -elementen, zodat deze elementen kunnen worden gebruikt in meer gevallen waarin openbaarmakingswidgets of accordeonwidgets op internet worden gebouwd. Deze wijziging verwijdert met name de beperkingen die het instellen van de display-eigenschap op deze elementen verhinderden, en voegt een ::details-content pseudo-element toe om de container op te maken voor het deel dat uit- en samenvouwt.

Margevakken @page

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

Met de @page margevakken kunt u de inhoud in het margegebied van een pagina definiëren, bijvoorbeeld om aangepaste kop- en voetteksten aan te bieden, in plaats van de ingebouwde kop- 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 eigenschap content . 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 van de huidige kleur in de relatieve kleursyntaxis

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

Deze functie omvat ook gebruiksscenario's waarbij kleurfuncties zijn genest met een afhankelijkheid van de huidige kleur, 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 referenties voor clippaden, markeringen en verfservers (voor de eigenschappen 'vulling' en 'lijn'). Bijvoorbeeld clip-path: url("resources.svg#myPath") .

Web-API's

Direct Sockets-API

Hiermee kunnen geïsoleerde webapps directe transmissiecontroleprotocol (TCP) en gebruikersdatagramprotocol (UDP)-communicatie tot stand brengen met netwerkapparaten en -systemen, en inkomende verbindingen beluisteren en accepteren.

Vrijgesteld van Speculation-Rules-header 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 het injecteren van scripts in HTML, en het CSP-bedreigingsmodel heeft geen betrekking op HTTP-headers. Dit maakt een eenvoudigere implementatie van speculatieregels van CDN's en andere edge-servers mogelijk.

FedCM als vertrouwenssignaal voor de Storage Access API

Verzoent de FedCM- en Storage Access-API's door van een eerdere FedCM-toekenning een geldige reden te maken om een ​​verzoek tot opslagtoegang automatisch goed te keuren.

Wanneer een gebruiker toestemming geeft om zijn identiteit te gebruiken bij een externe identiteitsprovider (IdP) op een vertrouwende partij (RP), hebben veel IdP's cookies van derden nodig om correct en veilig te kunnen functioneren. Dit voorstel is bedoeld om op een private 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 verleend die wordt gegeven door een opslagtoegangsprompt, maar ook de toestemming die wordt verleend door een FedCM-prompt.

Een belangrijke eigenschap van dit mechanisme is het beperken van de toekenning tot gevallen die expliciet zijn toegestaan ​​door de RP met het FedCM-toestemmingsbeleid, het afdwingen van een controle per frame voor de RP en het voorkomen van passieve surveillance door de IdP die verder gaat dan de mogelijkheden die FedCM al verleent.

COOP-waarde noopener-allow-popups

Sommige oorsprongen kunnen verschillende applicaties bevatten met verschillende niveaus van 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.

In dergelijke gevallen kan het voor een document nuttig zijn om ervoor te zorgen dat de opener er geen script voor kan maken, zelfs als het openerdocument 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 Protected Audience-scriptlopers maximaal 100 bijdragen per privéaggregatierapport maken, vergeleken met de huidige limiet van 20.

Privéaggregatie beperkt het aantal histogrambijdragen dat kan worden ingesloten in één aggregeerbaar rapport, waardoor eventuele aanvullende bijdragen vervallen. Aanroepers van Shared Storage kunnen de limiet omzeilen door een andere Shared Storage-bewerking aan te roepen. Beschermde doelgroep-bellers hebben echter geen permanente opslag, dus verliezen ze hun overtollige bijdragen aan het einde van hun veiling. Houd er rekening mee dat deze wijziging privacyneutraal is, aangezien de bijdragen van de API nog steeds beperkt zijn door hetzelfde privacybudget.

Vanwege de opvulling heeft elk Beschermd Doelgroep-rapport een grotere payload, zelfs als de grotere bijdragelimiet niet nodig was. We verwachten dat deze grotere rapporten de exploitatiekosten van de Aggregatieservice zullen verhogen.

Selecteer parserversoepeling

Deze wijziging zorgt ervoor dat de HTML-parser extra tags in <select> toestaat naast <option> , <optgroup> en <hr> .

Deze wijziging ondersteunt de aanpasbare <select> -functie, maar wordt als eerste uitgebracht omdat deze afzonderlijk kan worden uitgevoerd en een bepaald compatrisico met zich meebrengt waarover het Chrome-team graag feedback zou willen krijgen.

WebGPU: Clipafstanden

Voegt de optionele GPU-functie clip-distances toe waarmee door de gebruiker gedefinieerde clipafstanden kunnen worden ingesteld in vertex-shader-uitvoer. Deze techniek is met name handig voor toepassingen waarbij alle hoekpunten in een scène moeten worden uitgesneden die zich buiten een door de gebruiker gedefinieerd vlak bevinden, zoals veel CAD-toepassingen.

WebGPU: GPUCanvasContext getConfiguration()

Zodra GPUCanvasContext configure() is aangeroepen met een configuratiewoordenboek, kunt u de GPUCanvasContext getConfiguration() -methode gebruiken om de canvascontextconfiguratie te controleren. Het omvat GPU- device , format , usage , viewFormats , colorSpace , toneMapping en alphaMode leden. Zoals besproken in nummer 4828 kunnen webapps dit gebruiken om te detecteren of HDR-canvas wordt ondersteund in WebGPU.

WebHID voor toegewijde werknemers

Schakelt WebHID in binnen specifieke werkcontexten. Hierdoor kunt u zware I/O en gegevensverwerking van een HID-apparaat op een afzonderlijke 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 tegenstelling tot relatieve termen (bijvoorbeeld schalen met 2), waardoor race-omstandigheden worden vermeden die verband houden met het direct wijzigen van de invoerframegrootte.

Nieuwe oorsprongsproeven

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

Afspeelstatistieken voor WebAudio

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

Samenvattende API

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

Beëindigingen en verwijderingen

Deze versie van Chrome introduceert de volgende 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 worden drie functies verwijderd.

Verwijder de CSS-ankerpositionering-eigenschap inset-area

Met de resolutie van de CSS Working Group over het hernoemen van de eigenschap inset-area naar position-area , ruimt deze verwijdering de implementatie in Chromium op voor een functie die voldoet aan de standaarden.

Verwijder de mogelijkheid om BeforeunloadEventCancelByPreventDefault uit te schakelen

Feature BeforeunloadEventCancelByPreventDefault werd geleverd in Chrome 117, maar er is een bedrijfsbeleid dat toestaat dat deze vlag geforceerd wordt uitgeschakeld. Het ondernemingsbeleid wordt verwijderd in Chrome 131.

Verwijder de niet-standaard GPUAdapter requestAdapterInfo() -methode

De WebGPU-werkgroep besloot dat het onpraktisch was voor requestAdapterInfo() om een ​​toestemmingsprompt te activeren, dus hebben ze die optie verwijderd en vervangen door het GPUAdapter info -attribuut, zodat webontwikkelaars dezelfde GPUAdapterInfo waarde synchroon kunnen krijgen.