Meerdere trefwoorden voor de CSS-weergave-eigenschap, WGSLLanguageFeatures voor WebGPU, HTTPS-upgrades en meer.
Tenzij anders aangegeven, zijn de beschreven 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 115 is vanaf 31 mei 2023 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 drie nieuwe CSS-functies toe.
Meerdere waarden van de display
eigenschap
De CSS- display
eigenschap accepteert nu meerdere trefwoorden als waarde, naast de oudere, vooraf samengestelde trefwoorden. De eerste twee trefwoorden vertegenwoordigen de buitenste en binnenste waarden van display, er zijn optionele vlaggen voor list-item
, interne waarden zoals table-cell
en de box-waarden van contents
en none
.
Met de buitenste en binnenste trefwoorden kunt u definiëren hoe de buitenste doos zich gedraagt (blok of inline) en hoe de binnenste kinderen zich gedragen, bijvoorbeeld flex
, grid
of flow
. Daarom wordt display: flex
display: block flex
en display: block
wordt display: block flow
. Zie MDN voor een lijst met veelgebruikte toewijzingen en meer informatie.
Containerquery's in Booleaanse contextstijl
Chrome 115 ondersteunt style()
containerquery's zonder een declaratiewaarde, alleen een eigenschapsnaam, als een manier om niet-initiële waarden te matchen. Voorheen moest u het volgende gebruiken: not style(--my-property: initial)
Nu kunt u het volgende gebruiken: style(--my-property)
om elke niet-initiële waarde te matchen.
Scrollgestuurde animaties
ScrollTimeline
en ViewTimeline
zijn een uitbreiding op de Web Animations-specificatie waarmee ontwikkelaars de positie van een scroller of de positie van een element binnen een scroller kunnen gebruiken als invoertijd in plaats van de standaard monotone kloktijd. Dit maakt versnelde, op scrollen gebaseerde animaties mogelijk, zoals een kleiner wordende navigatiebalk, zonder dat er een gebruikersscript hoeft te worden uitgevoerd. Ze kunnen worden gedeclareerd en geïnstantieerd via zowel CSS als JavaScript dat wordt gebruikt in CSS-animaties en webanimaties.
Zie Elementen bij scrollen animeren met scrollgestuurde animaties voor meer details.
Oplossing voor regressie waarbij elementen met display: contents
niet langer werden weergegeven in de toegankelijkheidsboom
Er werd een regressie geïntroduceerd die ervoor zorgde dat elementen met display: contents
semantische informatie verloren en niet langer correct werden weergegeven in de toegankelijkheidsboom. Chrome 115 bevat een oplossing voor dit probleem .
Web-API's
Verhoging van de maximale grootte van een WebAssembly.Module()
op de hoofdthread naar 8 MB
De WebAssembly.Module()- constructor compileert synchroon een binaire WebAssembly-module, die de hoofdthread kan blokkeren. Om dit te voorkomen is de maximale grootte van een WebAssembly-module die met deze constructor kan worden gecompileerd, beperkt tot 8 MB. Grotere modules kunnen asynchroon op de hoofdthread worden gecompileerd met WebAssembly.compile()
, of synchroon op een werkthread. De limiet van 8 MB is een uitbreiding van de oorspronkelijke limiet van 4 KB. Deze uitbreiding is mogelijk dankzij verbeteringen in de WebAssembly runtime V8. De limiet van 8 MB is bepaald door prestatiemetingen op een Google Pixel 1-telefoon, die momenteel wordt beschouwd als een representatieve low-end telefoon. Toekomstige ontwikkelingen in V8 of in hardware kunnen verdere uitbreidingen van de limiet mogelijk maken.
FedCM: Ondersteuning van bemiddelingsvereisten voor referentiebeheer voor automatische herauthenticatie
Ondersteunt bemiddelingsvereisten voor Credential Management om gestroomlijnde herauthenticatie-UX te bieden voor gebruikers die federatieve accounts hebben aangemaakt op websites met de FedCM API.
HTTPS-upgrades
Upgrade automatisch en optimistisch alle mainframenavigaties naar HTTPS, met snelle terugval naar HTTP.
Partitionering van de opslag-, servicemedewerker- en communicatie-API's
Om bepaalde vormen van side-channel cross-site tracking te voorkomen, verdeelt Chrome opslag- en communicatie-API's in contexten van derden. Dit omvat door quota beheerde opslag, servicemedewerkers en communicatie-API's (zoals BroadcastChannel). Zie de documentatie over opslagpartitionering voor meer details.
Resource Timing: Breng tussentijdse responstijden bloot
Stel PerformanceResourceTiming.firstInterimResponseStart
bloot in gevallen waarin een navigatie- of subresource-ophaalactie een tussentijds 1xx-antwoord tegenkomt. Bij bijvoorbeeld 100 continue of 103 vroege hints komt firstInterimResponseStart
nu overeen met het tijdstip van dat eerste tussentijdse antwoord, terwijl responseStart
overeenkomt met het uiteindelijke antwoord, bijvoorbeeld met 200 status.
Update van de verwerking van "xml"-voorvoegsels in lookupNamespaceURI()
en createNSResolver()
Node.lookupNamespaceURI()
ondersteunt standaard de voorvoegsels "xml" en "xmlns". De functie retourneert vaste naamruimtetekenreeksen voor hen. Document.createNSResolver()
en XPathEvaluator.createNSResolver()
stoppen met het omwikkelen van het opgegeven knooppunt om verwerking van "xml"-voorvoegsels toe te voegen. Ze retourneren het opgegeven knooppunt zoals het is. Webontwikkelaars kunnen nu een element gebruiken als een XPathNSResolver
zonder het te omwikkelen met createNSResolver()
.
VisibilityStateEntry
Geeft de zichtbaarheidsstatus (zichtbaar of verborgen) weer in de prestatietijdlijn. De tijdlijn bevat altijd een item met een startTime
van 0 en de initiële zichtbaarheidsstatus, plus items die overeenkomen met eventuele wijzigingen in de zichtbaarheidsstatus.
WGSLLanguageFeatures voor WebGPU
Voegt de wgslLanguageFeatures
getter toe aan het GPU-object voor WebGPU, en het bijbehorende WGSLLanguageFeatures
type.
WebDriver-opdrachten voor interactie met FedCM-dialogen
Hierdoor worden verschillende WebDriver-opdrachten zichtbaar om browserautomatisering, zoals geautomatiseerd testen, mogelijk te maken voor interactie met FedCM-dialogen.
Oorsprongsproeven zijn aan de gang
In Chrome 115 kunt u zich aanmelden voor de volgende nieuwe origin-proefversies .
Bereken druk
De Compute Pressure API biedt informatie op hoog niveau over de huidige status van de hardware van het apparaat, zodat sites voor gebruikers de juiste balans kunnen vinden tussen het profiteren van de beschikbare verwerkingskracht en het systeem onder onbeheersbare stress brengen. Compute Pressure is een algemene term. Op dit moment wordt dit berekend op basis van CPU-belasting, maar toekomstige plannen omvatten onder meer het gebruik van signalen van bijvoorbeeld temperatuur en batterijstatus. Lees meer in Aankondiging van de tweede Compute Pressure Origin-proef .
Schrijf u in voor de Compute Pressure Origin-proefperiode .
Expliciete compileertips met magische opmerkingen
Sta het bijvoegen van informatie toe over welke functies graag geparseerd en gecompileerd moeten worden in JavaScript-bestanden. De informatie wordt gecodeerd als magisch commentaar. We gaan experimenteren met verschillende magische commentaarformaten. Bijvoorbeeld het markeren van alle functies in een bestand voor snelle compilatie, of het markeren van slechts een subset van functies.
Schrijf u in voor de expliciete compileertips met magisch commentaar op de origin-proefversie .
API voor lange animatieframes
Dit is een uitbreiding van de Long Tasks API . Het meet de taak samen met de daaropvolgende rendering-update, waarbij informatie wordt toegevoegd zoals langlopende scripts, renderingtijd en tijd besteed aan geforceerde lay-out en stijl die bekend staat als layout thrashing. Ontwikkelaars kunnen dit gebruiken als een diagnose voor "traagheid", die wordt gemeten door Interaction to Next Paint (INP) , door de oorzaken van opstoppingen in de hoofdthread te vinden, wat vaak de oorzaak is van slechte INP.
Schrijf u in voor de originele proefversie van Long Animation Frames .
API voor opslagbuckets
Met Storage Buckets kunnen sites meerdere opslagbuckets maken om hun gegevens te ordenen, waardoor user agents elke bucket onafhankelijk van andere buckets kunnen verwijderen. Elke opslagbucket kan gegevens opslaan die zijn gekoppeld aan gevestigde opslag-API's zoals IndexedDB en CacheStorage. Registreer u voor de Storage Buckets API Origin-proefperiode .
Beëindigingen en verwijderingen
Deze versie van Chrome introduceert de hieronder vermelde 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 beëindigd.
Beëindig de document.domain
-setter
De document.domain
setter wordt verouderd omdat het ontwikkelaars in staat stelt het same-origin-beleid te versoepelen. Als zodanig compliceert het de fundamentele veiligheidsgrens die we willen handhaven, en werpt het wegversperringen op in de weg van post-Spectre-wijzigingen in het procesmodel van Chromium. Bezoek Chrome schakelt het wijzigen van document.domain uit voor alternatieven voor het gebruik van document.domain. In de meeste gevallen kan de cross-origin postMessage()
of Channel Messaging API document.domain vervangen. Als laatste redmiddel kunt u zich aanmelden voor een documentdomein via Origin-keyed agentclusters . De setter blijft bestaan, maar de oorsprong blijft ongewijzigd.
Mutatiegebeurtenissen afschaffen
Mutatiegebeurtenissen, waaronder DOMSubtreeModified
, DOMNodeInserted
, DOMNodeRemoved
, DOMNodeRemovedFromDocument
, DOMNodeInsertedIntoDocument
werden in 2011 uit de specificatie gehaald en in 2012 vervangen door de Mutation Observer API. Het gebruik van de verouderde mutatiegebeurtenissen moet worden gemigreerd naar Mutation Observer voordat deze wordt verwijderd in Chrome 127 (20 juli 2024).
Meer informatie over de beëindiging van mutatiegebeurtenissen .