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 niet langer een EventTarget
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.