Chrome 130 bèta

Gepubliceerd: 18 september 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 via de lijst op ChromeStatus.com. Chrome 130 is vanaf 18 september 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 vier nieuwe CSS-functies toe.

CSS-containerquery's zoeken in platte boomstructuur

De specificatie voor containerquery's is gewijzigd om voorouders van platte bomen op te zoeken. Deze wijziging is alleen relevant voor schaduw-DOM, waar een element nu niet-benoemde containers kan zien in schaduwbomen waarin het element of een van zijn voorouders is geplaatst, zelfs als de CSS-regel geen gebruik maakt van ::part() of ::slotted() .

CSS-nesten: de geneste declaratieregel

Houdt kale declaraties die een geneste regel volgen op hun plaats, door deze declaraties tijdens het parseren in CSSNestedDeclarations -regels te plaatsen.

Volledige en niet-voorgefixeerde ondersteuning voor doosdecoratie en pauze

Voegt ondersteuning toe voor box-decoration-break: clone zowel voor inline fragmentatie (lijnindeling) als blokfragmentatie (paginering voor afdrukken en multicol).

Voorheen werd in Chrome alleen box-decoration-break:slice (de initiële waarde) ondersteund voor blokfragmentatie, terwijl voor inline fragmentatie box-decoration-break:clone ook werd ondersteund, maar alleen bij gebruik van het voorvoegsel -webkit-box-decoration-break eigendom.

Sta meer pseudo-elementen en pseudo-klassen toe na ::part()

CSS-selectors die het ::part() pseudo-element gebruiken, mogen andere CSS-pseudo-elementen hebben (behalve ::part() ) en vele soorten andere CSS-pseudo-klassen erna. Combinatoren zijn nog steeds niet toegestaan ​​na ::part() , en pseudo-klassen die afhankelijk zijn van de boomstructuur zijn niet toegestaan.

Voorheen stond Chrome slechts een beperkte set pseudo-klassen en pseudo-elementen toe na ::part() . Deze wijziging maakt alle pseudo-klassen en pseudo-elementen mogelijk die zouden moeten worden toegestaan. Het betekent dat selectors zoals ::part(part-name):enabled en ::part(part-name)::marker nu zijn toegestaan.

Web-API's

Attribution Reporting API-functie (attributiebereiken)

Deze wijziging is gebaseerd op feedback uit de advertentietechnologie en de behoefte aan fijnmaziger filtercontroles voordat het attributieproces plaatsvindt. Hiermee kunnen API-aanroepen een veld opgeven met de naam 'attributiebereiken' dat wordt gebruikt voor filteren voordat de reguliere attributiestroom wordt gestart. Hierdoor hebben API-aanroepen een nauwkeuriger controle over de granulariteit van de attributie en kunnen ze de juiste attributierapporten ontvangen wanneer er meerdere verschillende adverteerders of campagnes zijn die allemaal op dezelfde bestemmingssite converteren.

Attribution Reporting API-functie (verbetering van de privacy van de bug)

Deze wijziging helpt een potentiële privacykloof met foutopsporingssleutels te verkleinen.

Momenteel staat de API toe dat een bronfoutopsporingssleutel of een triggerfoutopsporingssleutel wordt opgegeven als cookies van derden beschikbaar zijn en kunnen worden ingesteld door API-aanroepers. Als er een bron- of triggerfoutopsporingssleutel is opgegeven, wordt deze opgenomen in het attributierapport. Dit kan leiden tot een privacylek als cookies van derden alleen zijn toegestaan ​​op de site van de uitgever of de adverteerder, maar niet op beide.

Deze wijziging verhelpt dit probleem door af te dwingen dat bronfoutopsporingssleutels en triggerfoutopsporingssleutels alleen worden opgenomen in het attributierapport als ze aanwezig zijn op zowel de bron als de trigger, wat zou betekenen dat cookies van derden beschikbaar waren op zowel de uitgever als de adverteerder. plaats. Deze wijziging is van toepassing op zowel rapporten op gebeurtenisniveau als op aggregeerbare rapporten.

Compressiewoordenboektransport met gedeelde Brotli en gedeelde Zstandaard

Deze functie voegt ondersteuning toe voor het gebruik van aangewezen eerdere reacties, als een extern woordenboek voor het coderen van inhoud en het comprimeren van reacties met Brotli of Zstandard.

Bedrijven kunnen potentiële compatibiliteitsproblemen ondervinden met de bedrijfsnetwerkinfrastructuur die HTTPS-verkeer onderschept en gevoelig is voor onbekende inhoudscoderingen. Het ondernemingsbeleid CompressionDictionaryTransportEnabled is beschikbaar om de transportfunctie voor compressiewoordenboeken uit te schakelen.

Gelijktijdig soepel scrollIntoView()

Met de methode scrollIntoView() met behavior: "smooth" kunnen ontwikkelaars scrollcontainers maken die naar hun nakomelingen scrollen met een zachte scrollanimatie. Deze functie corrigeert de implementatie van de API door Chrome, zodat doorlopende scrollIntoView animaties niet worden geannuleerd door niet-gerelateerde scrolls op andere scrollcontainers.

De functie verhelpt ook gevallen waarin Chrome er niet in slaagt naar het fragmentanker van een pagina te scrollen vanwege een concurrerende scrollIntoView die wordt aangeroepen wanneer de pagina wordt geladen.

Document picture-in-picture: optie toegevoegd om de cache van venstergrenzen te negeren

Dit voegt een nieuwe parameter ( preferInitialWindowPlacement ) toe aan de document picture-in-picture API die, wanneer ingesteld op true, de user-agent laat weten dat deze niet moet proberen de positie of grootte van het vorige document picture-in-picture opnieuw te gebruiken van deze site bij het openen van deze.

Vaak wordt een beeld-in-beeldvenster van een document meerdere keren gesloten en opnieuw geopend voor dezelfde site, bijvoorbeeld bij het verplaatsen van een videoconferentie van en naar PiP. De user-agent is vrij om het PiP-venster opnieuw te openen op de meest recente grootte en locatie, zodat het blijft waar de gebruiker het het laatst heeft verplaatst en continuïteit tussen de PiP-vensters biedt. Als het nieuwe venster echter semantisch geen verband houdt met het vorige venster, bijvoorbeeld als het een nieuw videogesprek betreft, kan de ontwikkelaar deze parameter gebruiken om een ​​hint aan de user-agent te geven dat dit venster wellicht beter in de standaardpositie kan worden geopend. en maat in plaats daarvan.

Leer hoe u het venster in de standaardpositie en -grootte opent .

Verbeterde foutrapportage in IndexedDB voor leesfouten van grote waarden

Wijziging in rapportage voor bepaalde foutgevallen die eerder zijn gerapporteerd met een DOMException en het bericht 'Kan grote IndexedDB-waarde niet lezen'.

Chrome genereert nu een DOMException met de naam "NotFoundError" wanneer het bestand met de gegevens die worden gelezen door een IDBRequest ontbreekt op de schijf, zodat sites de juiste corrigerende actie kunnen ondernemen wanneer er een onherstelbare fout optreedt. Corrigerende acties kunnen het verwijderen van de invoer uit de database omvatten, het op de hoogte stellen van de gebruiker of het opnieuw ophalen van de gegevens van servers.

Met toetsenbord focusseerbare scrollcontainers

Deze functie maakt scrollers zonder focusbare kinderen standaard toetsenbordfocusbaar.

Dit is een belangrijke verbetering om scrollers en de inhoud binnen scrollers toegankelijker te maken voor alle gebruikers. U kunt meer lezen over de voordelen ervan in Focusbare scrollers op het toetsenbord . Scrollers die op het toetsenbord kunnen worden gefocust, worden standaard ingeschakeld vanaf Chrome 130. Als websites tijd nodig hebben om zich aan deze nieuwe functie aan te passen, zijn er een paar opties:

Bied- en veilingdiensten voor beschermd publiek

De Protected Audience API (voorheen bekend als FLEDGE) is een Privacy Sandbox-voorstel voor remarketing en aangepaste doelgroepgebruiksscenario's, ontworpen zodat derden het surfgedrag van gebruikers op verschillende sites niet kunnen volgen.

Deze functie, Protected Audience Bidding and Auction Services, schetst een manier om Protected Audience-berekeningen te laten plaatsvinden op cloudservers in een vertrouwde uitvoeringsomgeving, in plaats van lokaal op het apparaat van een gebruiker te draaien. Het verplaatsen van berekeningen naar cloudservers kan helpen bij het optimaliseren van de Protected Audience-veiling, om rekencycli en netwerkbandbreedte voor een apparaat vrij te maken.

Ondersteuning van niet-speciale schema-URL's

Voorheen ondersteunde de URL-parser van Chrome geen niet-speciale URL's. De parser parseert niet-speciale URL's alsof ze een "ondoorzichtig pad" hebben, wat niet in overeenstemming is met de URL-standaard. Nu parseert de URL-parser van Chromium niet-speciale URL's correct, volgens de URL-standaard.

Zie bit.ly/url-non-special voor meer details.

WebAssembly JavaScript String Builtins

Deze functie maakt algemene JavaScript-tekenreeksbewerkingen beschikbaar voor import in WebAssembly. Hierdoor kunt u JavaScript-strings vanuit WebAssembly maken en manipuleren zonder ondersteuning binnen WebAssembly. Dit zorgt nog steeds voor vergelijkbare prestaties als ondersteunde tekenreeksreferenties.

WebGPU: Blending van dubbele bronnen

Voegt de optionele GPU-functie "dual-source-blending" toe, waarmee twee fragment-shader-uitvoer in één enkele framebuffer kan worden gecombineerd. Deze techniek is vooral handig voor toepassingen die complexe mengbewerkingen vereisen, zoals toepassingen die zijn gebaseerd op de Porter-Duff-mengmodi. Door de noodzaak voor frequente wijziging van pijplijnstatusobjecten te verminderen, kan dual source blending de prestaties en flexibiliteit verbeteren.

Web Serial: connected attribuut en RFCOMM-verbindingsgebeurtenissen

Deze functie voegt een booleaans attribuut SerialPort.connected toe. Het kenmerk retourneert true als de seriële poort logisch is aangesloten. Voor bekabelde seriële poorten is een poort logisch verbonden als de poort fysiek op het systeem is aangesloten. Voor draadloze seriële poorten is een poort logisch verbonden als het apparaat dat de poort host open verbindingen met de host heeft.

Voorheen werden alleen bekabelde seriële poorten verbindings- en verbindingsgebeurtenissen verzonden. Met deze functie verzenden Bluetooth RFCOMM seriële poorten deze gebeurtenissen wanneer de poort logisch wordt aangesloten of losgekoppeld.

Deze functie is bedoeld om toepassingen in staat te stellen te detecteren wanneer een Bluetooth RFCOMM seriële poort beschikbaar is zonder de poort te openen.

Meer informatie vindt u in Bluetooth RFCOMM-updates in Web Serial .

Oorsprongsproeven zijn aan de gang

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

Taaldetector-API

Een JavaScript-API voor het detecteren van de taal van tekst , met betrouwbaarheidsniveaus.

WebAuthn-attestformaten

Ondersteun het veld attestationFormats vanaf WebAuthn-niveau 3.

WebAuthn Level 3 ondersteunt een site die een geordende voorkeur voor credential attestation formaten uitdrukt in het nieuwe attestationFormats veld. Deze functie maakt ondersteuning hiervoor mogelijk op Android, waar meerdere formaten kunnen worden ondersteund door toegangscodeproviders.

Registreer u voor de proefversie van WebAuthn attestationFormats.

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 wordt één functie verwijderd.

Verwijder expectedImprovement in DelegatedInkTrailPresenter

Het expectedImprovement verbeteringskenmerk vertelt webontwikkelaars hoeveel verbetering de DelegatedInkTrails API zal bieden voor hun huidige inktlatentie. Dit attribuut is echter de toename van de entropie van vingerafdrukken niet waard.

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

Beëindig de niet-standaard GPUAdapter requestAdapterInfo() -methode

De asynchrone methode requestAdapterInfo() in WebGPU is overbodig omdat ontwikkelaars GPUAdapterInfo al synchroon kunnen verkrijgen met behulp van het GPUAdapter info -attribuut.