Chrome 132 bèta

Gepubliceerd: 13 november 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 132 is bètaversie vanaf 13 november 2024. U kunt de nieuwste versie downloaden op Google.com voor desktop of in de Google Play Store voor Android.

CSS

Deze release voegt twee nieuwe CSS-functies toe.

CSS-ankerpositionering: sta anchor-size() toe in inset en margin eigenschappen

Oorspronkelijk was anchor-size() alleen toegestaan ​​in sizing-eigenschappen. De specificatie is gewijzigd om anchor-size() ook toe te staan ​​in insets en margins.

CSS zijwaartse schrijfmodi

Ondersteuning van de trefwoorden sideways-rl en sideways-lr voor de CSS-eigenschap writing-mode . sideways-rl en sideways-lr zijn handig om niet-CJK-tekst verticaal te schrijven. Ze hebben geen gedrag dat gunstig is voor CJK-talen, in tegenstelling tot vertical-rl en vertical-lr .

Web-API's

Leg alle schermen vast

Leg alle schermen vast die momenteel met het apparaat zijn verbonden met behulp van getAllScreensMedia() .

Het meerdere keren aanroepen van getDisplayMedia() vereist meerdere gebruikersgebaren, belast de gebruiker met het telkens kiezen van het volgende scherm en garandeert de app niet dat alle schermen zijn geselecteerd. De methode getAllScreensMedia() verbetert op al deze fronten.

Deze functie is alleen beschikbaar op Desktop.

Dialoog wisselgebeurtenissen

Het is handig om te weten wanneer <dialog> -elementen openen en sluiten, en popover heeft al ToggleEvent die wordt verzonden wanneer een popover wordt geopend of gesloten. Voorheen moest je een mutatie-observator registreren om te controleren of een <dialog> werd geopend. Dit is echter behoorlijk wat werk, terwijl een event makkelijker zou zijn.

Deze wijziging integreert dezelfde ToggleEvent die popovers versturen, maar dan voor <dialog> -elementen: wanneer showModal of show wordt aangeroepen, verstuurt <dialog> een ToggleEvent met newState=open . Wanneer een <dialog> wordt gesloten (via een formulier, knop of closewatcher), moet deze een ToggleEvent met newState=closed versturen.

Element vastleggen

Gegeven een video MediaStreamTrack die is verkregen via reeds bestaande middelen om tab-capture te starten, maakt Element Capture het mogelijk om de track te muteren zodat alleen een subboom van de DOM wordt vastgelegd, beginnend bij een bepaald Element.

De API lijkt enigszins op de Region Capture API, maar biedt toepassingen meer flexibiliteit, omdat zowel occluderende als geoccludeerde inhoud worden uitgesloten van de vastlegging.

FedCM-autorisatiefuncties

Dit bundelt een aantal functies die door Identity Providers (IdP) kunnen worden gebruikt om autorisatiestromen te implementeren, zoals het verlenen van toegang tot de agenda aan een Relying Party (RP) door een gebruiker. Specifiek:

  • De IdP moet een aangepaste prompt voor de toestemming kunnen weergeven (voortzettings-API).
  • De RP heeft een uitbreidbare manier nodig om aan de IdP te communiceren waartoe hij toegang wil (parameters-API).
  • De RP moet de tekst die verwijst naar de IdP die 'naam, e-mailadres en profielfoto' deelt, kunnen aanpassen of onderdrukken, omdat er in deze situatie om andere informatie wordt gevraagd (velden-API).
  • Het is mogelijk dat de IdP een ander eindpunt wil gebruiken om de autorisatiestroom te implementeren (meerdere configURL's).
  • Bepaalde accounts komen mogelijk alleen in aanmerking voor één van de authenticatie- en autorisatiestromen. Daarom moet er een manier zijn om verschillende accounts in de twee stromen weer te geven (API voor accountlabels).

FedCM-modus API en gebruik andere account-API

Twee nieuwe extensies voor FedCM:

  • Modus : In de active modus kunnen websites FedCM aanroepen binnen een klik op een knop (bijvoorbeeld door te klikken op de knop 'Aanmelden bij IdP' ). FedCM moet dan garanderen dat er altijd een zichtbare gebruikersinterface wordt weergegeven. Door de FedCM API in de actieve modus aan te roepen, kunnen gebruikers inloggen bij de Identity Provider (IdP) wanneer ze zijn uitgelogd. Omdat de actieve modus wordt aangeroepen binnen een expliciete gebruikersbeweging, is de gebruikersinterface prominenter (bijvoorbeeld gecentreerd en modaal) in vergelijking met de gebruikersinterface in de passieve modus (die geen gebruikersbeweging vereist en kan worden aangeroepen bij het laden van de pagina).
  • Gebruik ander account : met deze extensie kan een IdP gebruikers toestaan ​​zich aan te melden bij andere accounts.

Ophalen: Request.bytes() en Response.bytes()

Voeg een bytes() methode toe aan de Request en Response interfaces, die een promise retourneert die wordt omgezet in een Uint8Array. Hoewel Request en Response een arrayBuffer() methode hebben, kun je niet rechtstreeks uit een buffer lezen. Je moet een view zoals een Uint8Array maken om deze te lezen. De bytes() methode verbetert de ergonomie van het ophalen van de body van Request en Response.

Toegang tot bestandssysteem voor Android en WebView

Met deze API kunnen ontwikkelaars krachtige apps bouwen die via het bestandssysteem van de gebruiker communiceren met andere (niet-web)apps op het apparaat van de gebruiker. Nadat een gebruiker een webapp toegang heeft verleend, kan de app via deze API rechtstreeks bestanden en mappen lezen en wijzigingen daarin opslaan. Naast het lezen en schrijven van bestanden biedt deze API de mogelijkheid om een ​​directory te openen en de inhoud ervan te inventariseren, en om bestands- en directoryhandles op te slaan in IndexedDB om later weer toegang te krijgen tot dezelfde inhoud.

Toegang tot het bestandssysteem is beschikbaar op desktopcomputers in Chrome 86, en is vanaf Chrome 132 beschikbaar op Android en WebView.

Negeer Strict-Transport-Security voor localhost

Strict-Transport-Security (STS)-responsheaders kunnen problemen veroorzaken voor localhost-webservers, omdat STS hostbreed en op alle poorten wordt toegepast. Dit veroorzaakt compatibiliteitsproblemen voor webontwikkelaars die lokaal testen. Het heeft ook gevolgen voor eindgebruikers die softwarepakketten gebruiken die vaak om kortstondige redenen localhost-webservers starten. Bijvoorbeeld de communicatie van een autorisatietoken van een webaanmelding naar een lokaal softwarepakket. Als één lokale listener Strict-Transport-Security instelt op een localhost-respons, wordt dit toegepast op alle volgende localhost-aanvragen, ongeacht de poort.

Chrome 132 lost dit probleem op door Strict-Transport-Security headers te negeren in reacties van localhost-URL's.

Scrollcontainers met focus op het toetsenbord

De uitrol van deze functie (vanaf Chrome 130) is stopgezet vanwege een toegankelijkheidsprobleem. Dit is verholpen en de uitrol van de functie wordt voortgezet met Chrome 132.

Standaard toegestane lijst met wildcards voor Private State Token API-machtigingen

Toegang tot de Private State Token API wordt beperkt door functies in het machtigingsbeleid. Chrome 132 werkt de standaard toegestane lijst voor zowel private-state-token-issuance als private-state-token-redemption bij van self naar * (wildcard).

PushMessageData::bytes()

De PushMessageData -interface bootst de Body -interface na, die eerder dit jaar werd aangepast met een nieuwe bytes() methode, volgens het principe dat API's bytebuffers doorgaans als Uint8Arrays zouden moeten verkopen. Chrome 132 is afgestemd op de Body -interface door de bytes() accessor ook op de PushMessageData interface te bieden.

Opgeslagen zoekopdrachten in sharedStorage.selectURL

sharedStorage.selectURL() maakt het nu mogelijk om query's per pagina op te slaan en te hergebruiken. De twee budgetten per pagina worden in rekening gebracht bij de eerste keer dat een opgeslagen query wordt uitgevoerd, maar niet bij volgende uitvoeringen van de opgeslagen query tijdens het laden van dezelfde pagina. Dit wordt bereikt met een parameter savedQuery in de opties voor selectURL() die de query een naam geeft.

Uitzondering genereren voor popovers en dialoogvensters in niet-actieve documenten

Voorheen mislukte het aanroepen van showPopover() of showModal() op een pop-up of dialoogvenster in een inactief document. Er werd geen uitzondering gegenereerd, maar omdat het document inactief is, werd er geen pop-up of dialoogvenster weergegeven. Vanaf Chrome 132 genereren deze situaties nu InvalidStateError .

WebAuthn-signaal-API

Hiermee kunnen WebAuthn-afhankelijke partijen informatie over bestaande inloggegevens doorgeven aan aanbieders van inloggegevensopslag, zodat onjuiste of ingetrokken inloggegevens kunnen worden bijgewerkt of verwijderd uit de provider- en systeemgebruikersinterface.

Meer informatie over de Signal API voor toegangssleutels op Chrome Desktop .

WebGPU: 32-bits float-texturen mengen

Dankzij de float32-blendable GPU-functie zijn GPU-texturen met de formaten r32float , rg32float en rgba32float blendbaar.

WebGPU: GPUAdapterInfo van GPUDevice weergeven

Het GPUDevice adapterInfo kenmerk geeft dezelfde GPUAdapterInfo weer als het GPUAdapter object.

WebGPU: gebruik van textuurweergave

Voegt een optioneel veld toe aan het maken van een WebGPU-textuurweergave om een ​​subset van de gebruiksvlaggen van de brontextuur op te vragen.

Standaard erft het gebruik van de textuurweergave van de brontextuur, maar er zijn weergaveformaten die mogelijk niet compatibel zijn met de volledige set van overgenomen gebruiksmogelijkheden. Door een gebruiksveld toe te voegen aan het maken van een textuurweergave, kan de gebruiker een subset van de gebruiksmogelijkheden van de brontextuur opvragen die geldig zijn met de weergave-indeling en specifiek zijn voor het beoogde gebruik van de textuurweergave.

WebGPU-implementaties kunnen ook de aanmaak van bronnen op laag niveau optimaliseren en de prestaties verbeteren bij het gebruik van weergaven met meer gespecialiseerde gebruiksvlaggen.

Nieuwe oorsprongsproeven

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

Document-Isolation-Policy

Document-Isolation-Policy kan een document crossOriginIsolation voor zichzelf inschakelen, zonder COOP of COEP te hoeven implementeren en ongeacht de crossOriginIsolation -status van de pagina. Het beleid wordt ondersteund door procesisolatie. Bovendien worden de cross-origin subresources die geen CORS zijn, zonder referenties geladen of moeten ze een CORP-header hebben.

Expliciete compileerhints met magische opmerkingen

Met deze functie kunt u informatie toevoegen over welke functies direct geparseerd en gecompileerd moeten worden in JavaScript-bestanden. De informatie wordt gecodeerd als magische opmerkingen.

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 twee functies verwijderd.

navigator.storage is een EventTarget geworden voor de Storage Pressure Event, die de prototypefase nooit heeft gehaald. Deze dode code wordt verwijderd en als gevolg hiervan zal navigator.storage EventTarget niet langer uitbreiden.

Verwijder voorafgeplaatste HTMLVideoElement Fullscreen API's

De voorafgevoegte HTMLVideoElement fullscreen API's zijn verouderd in Chrome

Ze werden in 2018 vervangen door de Element.requestFullscreen() API, die voor het eerst zonder prefix werd meegeleverd in Chrome 71. Vanaf 2024 bieden de meeste browsers al een paar jaar ondersteuning voor de API's zonder prefix.

Chrome 132 verwijdert het volgende uit HTMLVideoElement :

  • Het kenmerk webkitSupportsFullscreen .
  • Het kenmerk webkitDisplayingFullscreen .
  • De webkitEnterFullscreen() methode.
  • De webkitExitFullscreen() methode. Let op de afwijkende hoofdlettergebruik van de "S" in FullScreen.
  • De webkitEnterFullScreen() methode.
  • De webkitExitFullScreen() -methode.

Deze methoden zijn nu slechts aliassen voor de moderne API. Het gebruik ervan is in de loop der jaren gestaag afgenomen.