Stabiele releasedatum: 4 februari 2025
Tenzij anders aangegeven, zijn de volgende wijzigingen van toepassing op de stabiele kanaalrelease van Chrome 133 voor Android, ChromeOS, Linux, macOS en Windows.
HTML en DOM
De hintwaarde van het popover-kenmerk
De Popover API specificeert het gedrag voor twee waarden van het popover-attribuut: auto en manual. Deze functie beschrijft een derde waarde, popover=hint
. Hints, die meestal worden geassocieerd met gedrag van het type 'tooltip', vertonen iets ander gedrag. Het verschil is voornamelijk dat een hint ondergeschikt is aan automatisch bij het openen van geneste stapels popovers. Het is dus mogelijk om een niet-gerelateerde hintpopover te openen terwijl een bestaande stapel automatische popovers open blijft.
Het canonieke voorbeeld is dat een <select>
-kiezer open is ( popover=auto
) en dat er door de hover geactiveerde tooltip ( popover=hint
) wordt weergegeven. Deze actie sluit de <select>
-kiezer niet.
Trackingbug #1416284 | ChromeStatus.com-invoer
Verbeteringen in de popover-aanroep en ankerpositionering
Voegt een dwingende manier toe om aanroeprelaties tussen popovers in te stellen met popover.showPopover({source})
. Maakt aanroeprelaties mogelijk om impliciete ankerelementreferenties te creëren.
Trackingbug #364669918 | ChromeStatus.com-invoer
Popover die in de invoker is genest, mag deze niet opnieuw aanroepen
In het volgende geval wordt de popover correct geactiveerd door op de knop te klikken. Als u daarna op de popover zelf klikt, wordt de popover echter niet gesloten.
<button popovertarget=foo>Activate
<div popover id=foo>Clicking me shouldn't close me</div>
</button>
Voorheen gebeurde dit omdat de popover-klik naar de <button>
borrelt en de invoker activeert, waardoor de popover wordt gesloten. Dit is nu gewijzigd in het verwachte gedrag.
Trackingbug #https://crbug.com/379241451 | ChromeStatus.com-invoer
CSS
CSS geavanceerde attr()
-functie
Implementeert de uitbreiding van attr()
gespecificeerd in CSS-niveau 5, waardoor typen naast <string>
en gebruik in alle CSS-eigenschappen mogelijk zijn (naast de bestaande ondersteuning voor de inhoud van pseudo-elementen).
MDN attr() | Trackingbug #246571 | ChromeStatus.com-invoer | Spec
CSS :open
pseudo-klasse
De :open
pseudo-klasse komt overeen met <dialog>
en <details>
als ze open zijn, en komt overeen met <select>
en <input>
als ze zich in modi bevinden die een kiezer hebben en de kiezer wordt weergegeven.
Trackingbug #324293874 | ChromeStatus.com-invoer | Spec
CSS-scrollstatuscontainerquery's
Gebruik containerquery's om afstammelingen van containers op te maken op basis van hun scrollstatus.
De querycontainer is een scrollcontainer of een element dat wordt beïnvloed door de scrollpositie van een scrollcontainer. De volgende toestanden kunnen worden opgevraagd:
-
stuck
: een vastgeplakte container zit vast aan een van de randen van het schuifvak. -
snapped
: Een uitgelijnde container met scroll-snaps wordt momenteel horizontaal of verticaal vastgeklikt. -
scrollable
: Of een scrollcontainer in een opgevraagde richting kan worden gescrolld.
Een nieuw containertype: scroll-state
kunnen containers worden opgevraagd.
Trackingbug #40268059 | ChromeStatus.com-invoer | Spec
CSS text-box
, text-box-trim
en text-box-edge
Om een optimale balans van tekstinhoud te bereiken, maken de eigenschappen text-box-trim
en text-box-edge, samen met de eigenschap text-box shorthand, een fijnere controle van de verticale uitlijning van tekst mogelijk.
De eigenschap text-box-trim
specificeert de zijden die moeten worden bijgesneden, boven of onder, en de eigenschap text-box-edge
specificeert hoe de rand moet worden bijgesneden.
Met deze eigenschappen kunt u de verticale afstand nauwkeurig bepalen door gebruik te maken van de lettertypemetrieken.
Trackingbug #1411581 | ChromeStatus.com-invoer | Spec
Web-API's
Animation.overallProgress
Biedt ontwikkelaars een handige en consistente weergave van hoe ver een animatie is gevorderd in zijn iteraties en ongeacht de aard van de tijdlijn. Zonder de eigenschap overallProgress
moet u handmatig berekenen hoe ver een animatie is gevorderd, waarbij rekening wordt gehouden met het aantal iteraties van de animatie en of de currentTime
van de animatie een percentage is van de totale tijd (zoals in het geval van scrollgestuurde animaties). of een absolute tijdshoeveelheid (zoals in het geval van tijdgestuurde animaties).
Trackingbug #40914396 | ChromeStatus.com-invoer | Spec
De methode pause()
van het Atomics
object
Voegt de methode pause()
toe aan het Atomics
naamruimteobject, om de CPU te laten weten dat de huidige code een spinlock uitvoert.
ChromeStatus.com-invoer | Spec
CSP-hashrapportage voor scripts
Complexe webapplicaties moeten om veiligheidsredenen vaak bijhouden welke subbronnen ze downloaden.
Met name de komende industriestandaarden en best practices (bijvoorbeeld PCI-DSS v4) vereisen dat webapplicaties een inventaris bijhouden van alle scripts die ze downloaden en uitvoeren.
Deze functie bouwt voort op CSP en de Reporting API om de URL's en hashes (voor CORS/same-origin) te rapporteren van alle scriptbronnen die het document laadt.
Trackingbug #377830102 | ChromeStatus.com-invoer
DOM staatsbehoudende zet
Voegt een DOM-primitief ( Node.prototype.moveBefore
) toe waarmee u elementen door een DOM-structuur kunt verplaatsen, zonder de status van het element opnieuw in te stellen.
Bij het verplaatsen in plaats van verwijderen en invoegen blijft de volgende status behouden:
-
<iframe>
-elementen blijven geladen. - Het actieve element blijft focus.
- Popovers, volledig scherm en modale dialoogvensters blijven open.
- CSS-overgangen en animaties gaan door.
Stel attributionsrc
attribuut bloot op <area>
.
Lijnt de blootstelling van het attributionsrc
attribuut op <area>
uit met het bestaande verwerkingsgedrag van het attribuut, zelfs als het niet zichtbaar was.
Bovendien is het zinvol om het attribuut op <area>
te ondersteunen, aangezien dat element een eersteklas navigatieoppervlak is, en Chrome dit al ondersteunt op de andere oppervlakken van <a>
en window.open
.
Trackingbug #379275911 | ChromeStatus.com-invoer | Spec
De FileSystemObserver
interface
De FileSystemObserver
interface informeert websites over wijzigingen in het bestandssysteem. Sites observeren wijzigingen in bestanden en mappen, waarvoor de gebruiker eerder toestemming heeft verleend, op het lokale apparaat van de gebruiker of in het Bucket File System (ook bekend als het Origin Private File System), en worden op de hoogte gesteld van basisinformatie over wijzigingen, zoals het wijzigingstype.
Trackingbug #40105284 | ChromeStatus.com-invoer
Meerdere importkaarten
Importkaarten moeten momenteel vóór elke ES-module worden geladen en er kan slechts één importkaart per document zijn. Dat maakt ze kwetsbaar en mogelijk traag in gebruik in real-life scenario's: elke module die wordt geladen voordat deze wordt geladen, vernietigt de hele app, en in apps met veel modules worden ze een grote blokkerende hulpbron, omdat de hele kaart voor alle mogelijke modules moet worden geladen Eerst.
Met deze functie zijn meerdere importkaarten per document mogelijk, door ze op een consistente en deterministische manier samen te voegen.
Headers voor toegang tot opslag
Biedt een alternatieve manier voor geverifieerde insluitingen om zich aan te melden voor niet-gepartitioneerde cookies. Deze headers geven aan of niet-gepartitioneerde cookies zijn (of kunnen) worden opgenomen in een bepaald netwerkverzoek, en stellen servers in staat om 'opslagtoegang'-machtigingen te activeren die ze al hebben gekregen. Door een alternatieve manier te bieden om de machtiging 'opslagtoegang' te activeren, wordt gebruik door niet-iframe-bronnen mogelijk en kan de latentie voor geauthenticeerde insluitingen worden verminderd.
Trackingbug #329698698 | ChromeStatus.com-invoer | Spec
Ondersteuning voor het maken van ClipboardItem
met Promise<DOMString>
De ClipboardItem
, de invoer voor de async clipboard write()
-methode, accepteert nu naast Blobs ook tekenreekswaarden in de constructor. ClipboardItemData
kan een Blob, een tekenreeks of een belofte zijn die wordt omgezet in een Blob of een tekenreeks.
Trackingbug #40766145 | ChromeStatus.com-invoer | Spec
WebAssembly-geheugen64
Het memory64-voorstel voegt ondersteuning toe voor lineaire WebAssembly-geheugens met een grootte groter dan 2^32 bits. Het biedt geen nieuwe instructies, maar breidt in plaats daarvan de bestaande instructies uit om 64-bits indexen voor geheugens en tabellen mogelijk te maken.
ChromeStatus.com-invoer | Spec
Webverificatie-API: PublicKeyCredential
getClientCapabilities()
methode
Met de PublicKeyCredential
getClientCapabilities()
methode kunt u bepalen welke WebAuthn-functies worden ondersteund door de client van de gebruiker. De methode retourneert een lijst met ondersteunde mogelijkheden, waardoor ontwikkelaars authenticatie-ervaringen en workflows kunnen afstemmen op de specifieke functionaliteit van de klant.
Trackingbug #360327828 | ChromeStatus.com-invoer | Spec
X25519-algoritme van de Web Cryptography API
Het "X25519"-algoritme biedt hulpmiddelen om sleutelovereenkomsten uit te voeren met behulp van de X25519-functie die is gespecificeerd in [RFC7748]. De algoritme-ID "X25519" kan in de SubtleCrypto-interface worden gebruikt om toegang te krijgen tot de geïmplementeerde bewerkingen: genererenKey, importKey, exportKey, derivateKey en derivateBits.
Trackingbug #378856322 | ChromeStatus.com-invoer | Spec
Prestatie
Bevriezen op Energy Saver
Wanneer Energy Saver actief is, bevriest Chrome een 'browsecontextgroep' die langer dan vijf minuten verborgen en stil is geweest als een subgroep van frames van dezelfde oorsprong daarin een CPU-gebruiksdrempel overschrijdt, tenzij deze:
- Biedt functionaliteit voor audio- of videoconferenties (gedetecteerd door identificatie van microfoon, camera of scherm-/venster-/tabbladopname of een RTCPeerConnection met een 'open' RTCDataChannel of een 'live' MediaStreamTrack).
- Bestuurt een extern apparaat (gedetecteerd met gebruik van WebUSB, Web Bluetooth, WebHID of Web Serial).
- Bevat een Web Lock of een IndexedDB-verbinding die een versie-update of een transactie op een andere verbinding blokkeert.
- Bevriezen bestaat uit het onderbreken van de uitvoering. Het is formeel gedefinieerd in de Page Lifecycle API.
De CPU-gebruiksdrempel wordt gekalibreerd om ongeveer 10% van de achtergrondtabbladen vast te zetten wanneer Energiebesparing actief is.
Trackingbug #325954772 | ChromeStatus.com-invoer
Stel grovere cross-origin renderTime
bloot in elementtiming en LCP (ongeacht Timing-Allow-Origin
)
Elementtiming en LCP-items hebben een renderTime
attribuut, uitgelijnd met het eerste frame waarin een afbeelding of tekst is geschilderd.
Dit attribuut wordt momenteel bewaakt voor cross-origin-afbeeldingen door een Timing-Allow-Origin
header op de afbeeldingsbron te vereisen. Deze beperking is echter gemakkelijk te omzeilen (bijvoorbeeld door een afbeelding met dezelfde oorsprong en een afbeelding met een andere oorsprong in hetzelfde frame weer te geven).
Omdat dit een bron van verwarring is geweest, zijn we van plan deze beperking op te heffen en in plaats daarvan alle weergavetijden met 4 ms te vergroeven als het document niet cross-origin-geïsoleerd is. Dit lijkt grof genoeg om te voorkomen dat er nuttige informatie over de decodeertijd over afbeeldingen met een andere oorsprong lekt.
Trackingbug #373263977 | ChromeStatus.com-invoer | Spec
responseStart
terugzetten en firstResponseHeadersStart
introduceren
Als 103 vroege hints zijn ingeschakeld, hebben reacties twee tijdstempels:
- Wanneer de eerste hints arriveren (103)
- Wanneer de laatste headers arriveren (bijvoorbeeld 200)
- Toen Chrome 115
firstInterimResponseStart
uitbracht om het meten van deze twee tijdstempels mogelijk te maken, hebben we ook de betekenis vanresponseStart
(gebruikt door Time to First Byte (TTFB)) gewijzigd in 'de laatste headers'. Hierdoor ontstond een webcompatibiliteitsprobleem met browsers en tools die geen soortgelijke wijziging aanbrachten voor deze veelgebruikte statistiek.
Chrome 133 draait deze responseStart
wijziging terug om dit compatibiliteitsprobleem op te lossen en introduceert in plaats daarvan firstResponseHeadersStart
zodat sites de tijd tot de laatste headers kunnen meten, terwijl de oorspronkelijke definitie van TTFB behouden blijft.
Trackingbug #40251053 | ChromeStatus.com-invoer | Spec
Rendering en afbeeldingen
WebGPU: 1-component vertexformaten (en unorm8x4-bgra)
Voegt extra vertex-formaten toe die niet aanwezig waren in de eerste release van WebGPU vanwege een gebrek aan ondersteuning of oude macOS-versies (die niet langer door welke browser dan ook worden ondersteund). Dankzij de 1-component hoekpuntformaten kunnen applicaties alleen de noodzakelijke gegevens opvragen, terwijl ze voorheen minstens twee keer meer moesten opvragen voor 8- en 16-bits gegevenstypen. Het unorm8x4-bgra-formaat maakt het iets handiger om BGRA-gecodeerde hoekpuntkleuren te laden met behoud van dezelfde arcering.
Trackingbug #376924407 | ChromeStatus.com-invoer
Oorsprongsproeven
Meld u af voor bevriezing van Energy Saver
Met deze opt-out-proefperiode kunnen sites zich afmelden voor het bevriezen van het Energy Saver-gedrag dat wordt geleverd in Chrome 133.
Origin-proef | Trackingbug #325954772 | ChromeStatus.com-invoer | Spec
Referentiedoel voor Cross-root ARIA
Reference Target is een functie waarmee IDREF-attributen zoals for
en aria-labelledby
kunnen worden gebruikt om te verwijzen naar elementen binnen de schaduw-DOM van een component, terwijl de inkapseling van de interne details van de schaduw-DOM behouden blijft. Het belangrijkste doel van deze functie is om ARIA in staat te stellen over schaduwwortelgrenzen heen te werken.
Een component kan een element in zijn schaduwboom specificeren om als "referentiedoel" te fungeren. Wanneer de hostcomponent het doel is van een IDREF, zoals een label for
attribuut, wordt het referentiedoel het effectieve doel van het label.
De schaduwwortel specificeert de ID van het doelelement binnen de schaduw-DOM. Dit gebeurt in JavaScript met het referenceTarget
-attribuut op het ShadowRoot
-object, of in HTML-opmaak met behulp van het shadowrootreferencetarget
attribuut op het <template>
-element.
Origin-proef | ChromeStatus.com-invoer
Beëindigingen en verwijderingen
Beëindig de WebGPU-limiet maxInterStageShaderComponents
De maxInterStageShaderComponents limit
is verouderd vanwege een combinatie van factoren. De beoogde verwijderingsdatum in Chrome 135.
- Redundantie met
maxInterStageShaderVariables
: deze limiet dient al een soortgelijk doel, namelijk het regelen van de hoeveelheid gegevens die tussen shader-fasen wordt doorgegeven. - Kleine verschillen: Hoewel er kleine verschillen zijn in de manier waarop de twee limieten worden berekend, zijn deze verschillen klein en kunnen ze effectief worden beheerd binnen de
maxInterStageShaderVariables
limiet. - Vereenvoudiging: het verwijderen van
maxInterStageShaderComponents
stroomlijnt de shader-interface en vermindert de complexiteit voor ontwikkelaars. In plaats van twee afzonderlijke limieten met subtiele verschillen te beheren, kunnen ze zich concentreren op de beter genoemde en uitgebreideremaxInterStageShaderVariables
.
Verwijder <link rel=prefetch>
vijfminutenregel
Als voorheen een bron vooraf werd opgehaald met <link rel=prefetch>
, negeerde Chrome de cachesemantiek (namelijk max-age
en no-cache
) voor het eerste gebruik binnen vijf minuten, om opnieuw ophalen te voorkomen. Chrome verwijdert dit speciale geval nu en gebruikt de normale HTTP-cache-semantiek.
Dit betekent dat webontwikkelaars de juiste caching-headers (Cache-Control of Expires) moeten toevoegen om de voordelen van <link rel=prefetch>
te zien.
Dit heeft ook invloed op de niet-standaard <link rel=prerender>
.
Trackingbug #40232065 | ChromeStatus.com-invoer
Verwijder de activering van de Chrome-welkomstpagina met initiële voorkeuren en tabbladen voor eerste uitvoering
Het opnemen van chrome://welcome
in de first_run_tabs
eigenschap van het initial_preferences
bestand heeft nu geen effect. Dit is verwijderd omdat die pagina overbodig is bij de First Run Experience die wordt geactiveerd op desktopplatforms.