Chrome 119 bèta

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

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.

Fenced Frames-functionaliteitsupdates

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 automatisch bakengegevens samen met het baken. 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 focusseerbaar te maken, kunnen gebruikers die geen muis kunnen (of willen) gebruiken, de geknipte inhoud scherpstellen 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 Header 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 voorkeur van de gebruiker prefers-reduced-transparency en is beschikbaar via Chrome 119.

Standaard-compatibele leestekens voor URL-hosts

Zorg ervoor dat de manier waarop Chrome omgaat met interpunctietekens voor URL-hosts voldoet aan de URL-standaard . Bijvoorbeeld:

Voor:

> const url = new URL("http://exa(mple.com;");
> url.href
'http://exa%28mple.com/&apos;

( 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 van 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 zijn 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 algoritme voor sleutelovereenkomsten 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). Hierdoor hoeft de ontwikkelaar een pop-up niet handmatig naar volledig scherm over te zetten, waarvoor mogelijk een nieuw gebruikersactiveringssignaal nodig is.

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 in 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 .