De bètaversie van Chrome 119 biedt u CSS-relatieve kleursyntaxis, nieuwe pseudo-klassen en nog veel 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 119 is vanaf 4 oktober 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 vier nieuwe CSS-functies toe.
:user-valid en :user-invalid CSS pseudo-klassen
De :user-invalid
en :user-valid
pseudo-klassen vertegenwoordigen een element met respectievelijk onjuiste of correcte invoer, maar alleen nadat de gebruiker er significante interactie mee heeft gehad. Dit is vergelijkbaar met :valid
en :invalid
, maar met de toegevoegde beperking dat deze pseudo-klassen alleen overeenkomen nadat de gebruiker interactie heeft gehad met het element.
CSS relatieve kleursyntaxis (RCS)
Met de relatieve kleursyntaxis kunnen ontwikkelaars kleuren definiëren door de parameters van andere kleuren te wijzigen.
Bijvoorbeeld: oklab(from magenta calc(l * 0.8) ab);
resulteert in een oklab magenta dat 80% lichter is.
CSS-geometrie-box-waarden voor clippaden
De CSS-eigenschap clip-path
ondersteunt nu <geometry-box>
-waarden om het referentievak van de clip te beheren, waardoor clip-path
eenvoudiger te gebruiken is. Deze kaderwaarden kunnen naast basisvormen worden gebruikt (bijvoorbeeld clip-path: circle(50%) margin-box
), of ze kunnen afzonderlijk worden gebruikt om naar het opgegeven kader te knippen (bijvoorbeeld clip-path: content-box
).
CSS-clippad-waarden xywh() en rect().
Chrome ondersteunt nu de waarden xywh()
en rect()
van de eigenschap clip-path
, waardoor het gemakkelijker wordt om rechthoekige of afgeronde-rechthoekige clips op te geven.
Web-API's
Cookie Expires/Max-Age kenmerk bovengrens voor eerdere opslag
Sinds Chrome 104 voor nieuwe cookies of voor cookies die zijn bijgewerkt met een vervaldatum, is deze datum beperkt tot maximaal 400 dagen in de toekomst. Deze zelfde limiet wordt nu met terugwerkende kracht toegepast op cookies die al zijn opgeslagen. De vervaldatum van deze cookies wordt beperkt tot maximaal 400 dagen na de eerste keer dat Chrome 119+ opstart en een eenmalige databasemigratie uitvoert. De impact van deze wijziging zal voor gebruikers pas ten minste 400 dagen na de release van Chrome 119 voelbaar zijn, en dan alleen voor bestaande cookies die in die periode niet zijn bijgewerkt.
DisplayMediaStreamOptions monitorTypeSurfaces
Wanneer getDisplayMedia()
wordt aangeroepen, biedt de browser de gebruiker een keuze uit weergaveoppervlakken: tabbladen, vensters of monitoren. Met behulp van de optie monitorTypeSurfaces
kan de webtoepassing nu een hint geven aan de browser als deze er de voorkeur aan geeft weergaveoppervlakken met het type monitor op te nemen in de keuzes die aan de gebruiker worden aangeboden.
Functionaliteitsupdates van Fenced Frames
Chrome 119 bevat de volgende verbeteringen aan omheinde frames.
Er is een extra indelingsoptie voor macro's voor het advertentieformaat van Protected Audience in de Protected Audience API in de Privacy Sandbox. Met een opt-in-functie kunt u de grootte van de advertentie die de veiling wint in de URL van de advertentie opnemen, bijvoorbeeld:
https://ad.com?width={/%AD_WIDTH%}&height={/%AD_HEIGHT%}
Om consistenter te zijn met andere typen macro's in Protected Audience, zoals de macro's die worden gebruikt door deprecatedReplaceInURN
en registerAdMacro
, voegen we in Chrome 119 de mogelijkheid toe om ${AD_WIDTH}
en ${AD_HEIGHT}
te gebruiken als de indeling voor de macro's, naast het huidige formaat.
Automatische bakens sturen nu naar alle geregistreerde URL's. Voorheen ontvingen alleen bestemmingen die zijn opgegeven bij het aanroepen van setReportEventDataForAutomaticBeacons()
automatische bakens, zelfs als die bestemming registerAdBeacon()
aanroept voor "reserved.top_navigation"
in hun werklet. Nu krijgt elke bestemming die registerAdBeacon()
aanroept voor "reserved.top_navigation"
een automatisch baken, maar alleen bestemmingen die zijn opgegeven in setReportEventDataForAutomaticBeacons()
krijgen samen met het baken automatische bakengegevens. De parameter "once"
in setReportEventDataForAutomaticBeacons()
bepaalt nu of de gegevens één keer worden verzonden, in plaats van te bepalen of het hele baken één keer wordt verzonden.
Snijpunt Waarnemer scrollmarge
Met de eigenschap Intersection Observer scrollMargin
kunnen ontwikkelaars doelen observeren in geneste scrollcontainers die momenteel worden weggeknipt door de scrollcontainers. Dit wordt bereikt door de clipping rect van de container uit te breiden met de scrollMargin
bij het berekenen van het snijpunt.
Met toetsenbord focusbare scrollcontainers
Deze functie verbetert de toegankelijkheid door scrollcontainers focusseerbaar te maken met behulp van sequentiële focusnavigatie. Voorheen focuste de tab-toets niet op scrollers, tenzij tabIndex expliciet was ingesteld op 0 of hoger. Door scrollers standaard focusbaar te maken, kunnen gebruikers die geen muis kunnen (of willen) gebruiken, de focus op afgekapte inhoud leggen met behulp van de tab- en pijltoetsen van een toetsenbord. Dit gedrag is alleen ingeschakeld als de scroller geen kinderen bevat die op het toetsenbord kunnen worden gefocust.
Beperkingen voor privénetwerktoegang voor auto's
Beperkingen voor privénetwerktoegang afdwingen (in plaats van alleen maar te waarschuwen) voor Chrome voor Android Automotive (als BuildInfo::is_automotive
). Dit omvat preflightaanvragen voor particuliere netwerktoegang voor subresources en particuliere netwerktoegang voor werknemers.
Lees Chrome-apparaatkenmerken
Apparaatkenmerken Web API is een subset van de Managed Device Web API, die webapplicaties de mogelijkheid biedt om apparaatinformatie op te vragen. Bijvoorbeeld apparaat-ID, serienummer en locatie.
Vervang bungelende markeringen in de doelnaam door _blank
Deze wijziging vervangt de navigeerbare doelnaam (die meestal wordt ingesteld door het doelkenmerk) naar _blank
, als deze een bungelende opmaak bevat (bijvoorbeeld \n
en <
). Hiermee wordt een bypass in de beperking van de bungelende markup-injectie opgelost.
Sec-CH-Prefers-Reduced-Transparency gebruikersvoorkeur mediafuncties Koptekst Client Hints
De header Client Hints voor mediafuncties voor gebruikersvoorkeuren definieert een set HTTP Client Hints-headers rond mediafuncties voor gebruikersvoorkeuren zoals gedefinieerd door Media Queries Level 5. Indien gebruikt als Critical Client Hints, stellen deze headers servers in staat slimme keuzes te maken met betrekking tot bijvoorbeeld CSS inlining. Sec-CH-Prefers-Reduced-Transparency
weerspiegelt de prefers-reduced-transparency
en is beschikbaar via Chrome 119.
Standaard-compatibele leestekens voor URL-hosts
Zorg ervoor dat Chrome's verwerking van leestekens voor URL-hosts voldoet aan de URL-standaard . Bijvoorbeeld:
Voor:
> const url = new URL("http://exa(mple.com;");
> url.href
'http://exa%28mple.com/'
(
is een verboden teken, maar Chrome staat dit ten onrechte toe.
Na:
> const url = new URL("http://exa(mple.com;");
> => throws TypeError: Invalid URL.
WebCodecs AudioEncoder bitrateMode
Sommige audiocodecs ondersteunen het specificeren van de bitsnelheidmodi voor de audio-encoder. Deze functie voegt een vlag "bitrateMode"
met de standaardwaarde "variable"
toe aan AudioEncoderConfig
van WebCodec, die de configuratieoptie en standaard weerspiegelt die al aanwezig zijn voor VideoEncoderConfig
.
Met deze vlag kunnen ontwikkelaars kiezen tussen het coderen van audio met een variabele bitsnelheid of een constante bitsnelheid. Specifieke codec-encoderimplementaties kunnen een iets andere terminologie hebben (bijvoorbeeld CBR
versus VBR
voor Opus), maar ze moeten allemaal overeenkomen met het algemene concept van "constante" versus "variabele" bitsnelheid.
De twee opties hebben de volgende effecten:
- variabel : hiermee kan een audio-encoder de bitsnelheid verhogen of verlagen op basis van de inhoud van de audio die hij codeert, om de bandbreedte/binaire grootte te behouden, terwijl de doelkwaliteit behouden blijft. Een encoder kan bijvoorbeeld de bitsnelheid verlagen bij het coderen van stilte, en terugkeren naar een volledige bitsnelheid bij het coderen van spraak.
- constant : dwingt een audio-encoder om dezelfde bitsnelheid te behouden, ongeacht de audio-inhoud. Dit kan handig zijn als een voorspelbaar bandbreedteverbruik de voorkeur verdient.
Vanaf Chrome 119 heeft deze vlag invloed op twee codecs op Chromium: Opus en AAC.
X25519Kyber768-sleutelinkapseling voor TLS
Bescherm het huidige Chrome TLS-verkeer tegen toekomstige kwantumcryptanalyse door het Kyber768 kwantumbestendige sleutelovereenkomstalgoritme te implementeren. Dit is een hybride X25519 + Kyber768-sleutelovereenkomst gebaseerd op een IETF-standaard. Deze specificatie en lancering vallen buiten de reikwijdte van W3C. Deze sleutelovereenkomst zal worden gelanceerd als een TLS-code en moet transparant zijn voor gebruikers.
Oorsprongsproeven zijn aan de gang
In Chrome 119 kunt u zich aanmelden voor de volgende nieuwe Origin-proefperiode .
Open pop-ups als vensters op volledig scherm
Deze nieuwe origin-proef voegt een windowFeatures-parameter fullscreen
toe aan de window.open()
JavaScript-API. Hierdoor kan de beller een pop-up rechtstreeks op volledig scherm op het display openen die de pop-up zou bevatten (gebaseerd op schermX en schermY). Dit elimineert de noodzaak voor de ontwikkelaar om een pop-up handmatig over te zetten naar volledig scherm, waarvoor een nieuw gebruikersactiveringssignaal nodig zou kunnen zijn.
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.
Deze versie van Chrome verwijdert vier functies.
Web-SQL verwijderen
We hebben eerder de beëindiging en verwijdering van Web SQL aangekondigd. De functie is volledig verwijderd vanaf Chrome 119. Dankzij een proefperiode met omgekeerde oorsprong kunnen ontwikkelaars WebSQL blijven gebruiken tot Chrome 123.
Verwijder de Sanitizer-API
De Sanitizer API heeft tot doel een eenvoudig te gebruiken, altijd veilige, door de browser onderhouden HTML-sanitizer in het platform te bouwen. Chrome heeft een eerste versie verzonden in Chrome 105, gebaseerd op het op dat moment geldende specificatieconcept. De discussie is inmiddels echter verder gegaan en de voorgestelde API-vorm is substantieel veranderd.
Om te voorkomen dat de huidige API zich verankert, verwijderen we de huidige implementatie. We verwachten de Sanitizer API opnieuw te implementeren wanneer de voorgestelde specificatie weer stabiliseert.
Gegevens verwijderen: URL in SVGUseElement
Een data: URL
in SVGUseElement
kan XSS veroorzaken. En dit leidde ook tot een Trusted Types-bypass. Daarom zijn we van plan de ondersteuning ervoor af te schaffen en te verwijderen.
Verwijder het niet-standaard shadowroot
-kenmerk voor declaratieve schaduw-DOM
Het standaard-track shadowrootmode
attribuut, dat declaratieve Shadow DOM mogelijk maakt, werd geleverd in Chrome 111. Het oudere, niet-standaard shadowroot
attribuut wordt verwijderd in Chrome 119. Er is een eenvoudig migratiepad: vervang shadowroot
door shadowrootmode
.