Chrome 132 bèta

Gepubliceerd: 13 november 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 132 is vanaf 13 november 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 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 in inzetstukken en marges toe te staan.

CSS zijwaartse schrijfmodi

Ondersteuning van sideways-rl en sideways-lr trefwoorden voor de CSS-eigenschap in de writing-mode . sideways-rl en sideways-lr zijn handig om niet-CJK-tekst verticaal te schrijven. Ze vertonen 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 getAllScreensMedia() .

Het meerdere keren aanroepen van getDisplayMedia() vereist meerdere gebruikersgebaren, belast de gebruiker met het elke keer 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 wordt alleen op desktop geleverd.

Dialoogvenster schakelt tussen gebeurtenissen

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, om te detecteren wanneer een <dialog> werd geopend, een mutatiewaarnemer registreren om te controleren of er een opening was. Dit is echter behoorlijk wat werk, waarbij een gebeurtenis eenvoudiger zou zijn.

Deze wijziging omvat dezelfde ToggleEvent die popovers verzenden, maar voor <dialog> -elementen: wanneer showModal of show wordt aangeroepen, verzendt <dialog> een ToggleEvent met newState=open . Wanneer een <dialog> wordt gesloten (met behulp van het formulier, de knop of closewatcher), moet deze een ToggleEvent verzenden met newState=closed .

Elementopname

Gegeven een video MediaStreamTrack verkregen via reeds bestaande middelen om tab-capture te initiëren, maakt Element Capture het mogelijk om de track te muteren om alleen een subboom van de DOM vast te leggen, beginnend bij een bepaald element.

De API vertoont enige gelijkenis met de Region Capture API, maar biedt meer flexibiliteit voor toepassingen, omdat occluderende en occludeerde inhoud beide worden uitgesloten van de capture.

FedCM-autorisatiefuncties

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

  • De IdP moet een aangepaste prompt voor de toestemming kunnen tonen (vervolg-API).
  • De RP heeft een uitbreidbare manier nodig om met de IdP te communiceren waartoe hij toegang wil hebben (API-parameters).
  • De RP moet de tekst die verwijst naar de IdP die "naam, e-mailadres en profielfoto" deelt, kunnen aanpassen of onderdrukken, omdat ze in deze situatie om andere informatie vragen (API-velden).
  • De IdP wil mogelijk een ander eindpunt gebruiken om de autorisatiestroom te implementeren (meerdere configURL's).
  • Bepaalde accounts komen mogelijk slechts in aanmerking voor één van de authenticatie- en autorisatiestromen en er moet dus 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 bellen met een klik op een knop (bijvoorbeeld door op de knop Aanmelden bij IdP te klikken), waarbij FedCM moet garanderen dat het altijd zal reageren met een zichtbare gebruikersinterface. Door de FedCM API in actieve modus aan te roepen, moeten gebruikers inloggen bij de Identity Provider (IdP) wanneer gebruikers zijn uitgelogd. Omdat de actieve modus wordt aangeroepen binnen een expliciet gebruikersgebaar, is de gebruikersinterface ook prominenter (bijvoorbeeld gecentreerd en modaal) vergeleken met de gebruikersinterface vanuit de passieve modus (die geen vereiste voor gebaren vereist en kan worden aangeroepen bij het laden van de pagina).
  • Gebruik een 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 belofte retourneert die wordt opgelost met een Uint8Array. Hoewel Request en Response een methode arrayBuffer() hebben, kunt u niet rechtstreeks vanuit een buffer lezen. U moet een weergave zoals een Uint8Array maken om deze te kunnen lezen. De methode bytes() verbetert de ergonomie van het verkrijgen van de hoofdtekst van Request en Response.

Bestandssysteemtoegang voor Android en WebView

Met deze API kunnen ontwikkelaars krachtige apps bouwen die communiceren met andere (niet-web)apps op het apparaat van de gebruiker met behulp van het bestandssysteem van het apparaat. Nadat een gebruiker een webapp toegang heeft verleend, zorgt deze API ervoor dat de app wijzigingen rechtstreeks kan lezen of opslaan in bestanden en mappen die door de gebruiker zijn geselecteerd. Naast het lezen en schrijven van bestanden biedt deze API de mogelijkheid om een ​​map te openen en de inhoud ervan op te sommen, en om bestands- en maphandvatten op te slaan in IndexedDB om later weer toegang te krijgen tot dezelfde inhoud.

Toegang tot het bestandssysteem wordt geleverd op Desktop in Chrome 86, met Chrome 132 is het beschikbaar op Android en WebView.

Negeer strikte transportbeveiliging voor localhost

Strict-Transport-Security (STS)-antwoordheaders kunnen problemen veroorzaken voor localhost-webservers, omdat STS host-breed op alle poorten van toepassing is. Dit veroorzaakt compatibiliteitsproblemen voor webontwikkelaars die lokaal testen. Het treft ook eindgebruikers die softwarepakketten gebruiken die doorgaans om kortstondige redenen localhost-webservers starten. Bijvoorbeeld communicatie van een auth-token van een weblog naar een lokaal softwarepakket. Als één lokale luisteraar Strict-Transport-Security instelt op een localhost-antwoord, wordt dit toegepast op alle volgende localhost-aanvragen, ongeacht de poort.

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

Met toetsenbord focusseerbare scrollcontainers

De uitrol van deze functie (vanaf Chrome 130) is stopgezet vanwege een toegankelijkheidsregressie. Dit is opgelost en de functie wordt nog steeds uitgerold in Chrome 132.

Private State Token API-machtigingen Beleid standaard jokerteken op de toelatingslijst

Toegang tot de Private State Token API wordt beveiligd door functies van het machtigingsbeleid. Chrome 132 updatet de standaard toelatingslijst voor de functies voor zowel private-state-token-issuance als private-state-token-redemption 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 over het algemeen bytebuffers moeten verkopen als Uint8Arrays . Chrome 132 sluit zich opnieuw aan bij de Body -interface door ook de bytes() accessor op de PushMessageData interface aan te bieden.

Opgeslagen zoekopdrachten in sharedStorage.selectURL

sharedStorage.selectURL() maakt het nu mogelijk dat zoekopdrachten per pagina worden opgeslagen en hergebruikt, waarbij de twee budgetten per geladen pagina in rekening worden gebracht de eerste keer dat een opgeslagen zoekopdracht wordt uitgevoerd, maar niet voor daaropvolgende uitvoeringen van de opgeslagen zoekopdracht tijdens de eerste keer dat een opgeslagen zoekopdracht wordt uitgevoerd. dezelfde pagina-load. Dit wordt bereikt met een savedQuery parameter in de opties voor selectURL() die de query een naam geeft.

Uitzondering genereren voor popovers en dialoogvensters in niet-actieve documenten

Het eerder aanroepen van showPopover() of showModal() in een popover of dialoogvenster dat zich in een inactief document bevindt, zou stilzwijgend mislukken. Er wordt geen uitzondering gegenereerd, maar omdat het document inactief is, wordt er geen popover of dialoogvenster weergegeven. Vanaf Chrome 132 genereren deze situaties nu InvalidStateError .

WebAuthn-signaal-API

Hiermee kunnen op WebAuthn vertrouwende partijen informatie over bestaande inloggegevens terugsturen naar aanbieders van inloggegevens, zodat onjuiste of ingetrokken inloggegevens kunnen worden bijgewerkt of verwijderd uit de gebruikersinterface van de provider en het systeem.

Meer informatie over de Signal API voor toegangscodes op Chrome-desktop .

WebGPU: 32-bit zwevende texturen mengen

De float32-blendable GPU-functie maakt GPU-texturen met de formaten r32float , rg32float en rgba32float mengbaar.

WebGPU: GPUAdapterInfo van GPUDevice zichtbaar maken

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

WebGPU: gebruik van textuurweergave

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

Standaard neemt het gebruik van de textuurweergave over van de brontextuur, maar er zijn weergaveformaten die incompatibel kunnen zijn met de volledige set overgeërfde toepassingen. Door een gebruiksveld toe te voegen aan het maken van textuurweergaven, kan de gebruiker een subset van het gebruik van de brontextuur opvragen die geldig is voor het weergaveformaat en specifiek is voor het beoogde gebruik van de textuurweergave.

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

Nieuwe oorsprongsproeven

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

Document-Isolation-Policy

Document-Isolation-Policy kan een document crossOriginIsolation voor zichzelf inschakelen, zonder COOP of COEP te hoeven inzetten, en ongeacht de crossOriginIsolation -status van de pagina. Het beleid wordt ondersteund door procesisolatie. Bovendien worden de niet-CORS cross-origin-subbronnen van het document geladen zonder inloggegevens of moeten ze een CORP-header hebben.

Expliciete compileertips met magische opmerkingen

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

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

navigator.storage is een EventTarget gemaakt voor de Storage Pressure Event, die nooit voorbij de prototypefase is gekomen. Deze dode code wordt verwijderd en als gevolg daarvan zal navigator.storage EventTarget niet langer uitbreiden.

Verwijder vooraf ingestelde HTMLVideoElement -API's op volledig scherm

De vooraf ingestelde HTMLVideoElement-API's op volledig scherm zijn verouderd in Chrome

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

Chrome 132 verwijdert het volgende uit HTMLVideoElement :

  • Het kenmerk webkitSupportsFullscreen .
  • Het kenmerk webkitDisplayingFullscreen .
  • De webkitEnterFullscreen() -methode.
  • De webkitExitFullscreen() -methode. Let op het verschillende hoofdlettergebruik van de "S" in Volledig scherm.
  • De webkitEnterFullScreen() methode.
  • De webkitExitFullScreen() -methode.

Deze methoden zijn nu slechts aliassen voor de moderne API. Het gebruik ervan is door de jaren heen gestaag afgenomen.