Google heeft de release van webbrowser Chrome 113 geïntroduceerd. Tegelijkertijd is er een stabiele versie van het open-sourceproject Chromium beschikbaar, dat de basis vormt voor Chrome. De browser Chrome verschilt van Chromium door het gebruik van Google-logo's, het hebben van een systeem voor het verzenden van meldingen bij crashes, modules voor het afspelen van auteursrechtelijk beschermd videomateriaal (DRM), een systeem voor automatische updates, continue inschakeling van sandbox-isolatie, levering van sleutels voor de Google API en het doorgeven van RLZ-parameters tijdens het zoeken. Voor degenen die meer tijd nodig hebben voor updates, wordt een aparte Extended Stable-tak ondersteund, die 8 weken lang wordt vergezeld. De volgende release van Chrome 114 staat gepland voor 30 mei.
Belangrijkste wijzigingen in Chrome 113:
- Standaard ondersteuning voor de grafische API WebGPU en de shaderspraak WGSL (WebGPU Shading Language) is ingeschakeld. WebGPU biedt een programmeerinterface die vergelijkbaar is met Vulkan, Metal en Direct3D 12 voor het uitvoeren van operaties aan de GPU-kant, zoals rendering en berekeningen, en stelt ook in staat om shaders te gebruiken voor het schrijven van programma's die draaien aan de GPU-kant. De ondersteuning voor WebGPU is voorlopig alleen ingeschakeld in versies voor ChromeOS, macOS, en Windows, terwijl voor Linux en Android dit later wordt geactiveerd.
- De optimalisatie van de prestaties gaat door. In vergelijking met tak 112 is de snelheid bij het testen met Speedometer 2.1 met 5% toegenomen.
- Voor gebruikers begint de geleidelijke inschakeling van de opslagsegmentatie-modus, Service Workers en communicatieve API's, die bij het verwerken van pagina's worden gescheiden op basis van domeinen, wat externe handlers isoleert. De modus blokkeert methoden voor het volgen van gebruikersbewegingen tussen sites die zijn gebaseerd op het opslaan van identificaties in gemeenschappelijke opslagruimten en gebieden die niet zijn ontworpen voor het permanent opslaan van informatie ('Supercookies'), bijvoorbeeld door de aanwezigheid van bepaalde gegevens in de browsercache te beoordelen. Aanvankelijk werden bij het verwerken van een pagina alle bronnen opgeslagen in een algemeen naamruimte (same-origin), ongeacht het oorspronkelijke domein, wat het mogelijk maakte voor één site om te bepalen of middelen van een andere site werden geladen via manipulaties met de lokale opslag, de API IndexedDB of het controleren van de aanwezigheid van gegevens in de cache.
Bij het segmenteren van de sleutel die wordt gebruikt om objecten uit de cache en browseropslag te extraheren, wordt een afzonderlijke eigenschap toegevoegd die de binding aan de primaire pagina definieert. een domein., waarvan de hoofdpagina is geopend, wat het bereik van tracking scripts beperkt, bijvoorbeeld die geladen via iframe van een andere site. Om segmentatie geforceerd te activeren zonder te wachten op de standaard inschakeling, kan de instelling "chrome://flags/#third-party-storage-partitioning" worden gebruikt.

- Er is een mechanisme voor First-Party Sets (FPS) voorgesteld, waarmee de relatie tussen verschillende sites van dezelfde organisatie of project kan worden vastgesteld voor gezamenlijke verwerking van cookies er tussen. Dit is handig wanneer een site toegankelijk is via verschillende domeinen (bijvoorbeeld opennet.ru en opennet.me). Cookies voor dergelijke domeinen zijn volledig gescheiden, maar met behulp van FPS kunnen ze nu worden verbonden in een gezamenlijke opslag. Om FPS in te schakelen, kan de vlag "chrome://flags/enable-first-party-sets" worden gebruikt.
- Er is aanzienlijke optimalisatie doorgevoerd in de software-implementatie van de AV1 video-encoder (libaom), wat de prestaties van webapplicaties die WebRTC gebruiken, zoals videoconferentiesystemen, verbetert. Er is een nieuwe snelheidmodus 10 toegevoegd, geschikt voor apparaten met beperkte CPU-bronnen. Tijdens de test van de Google Meet-app op een verbinding met een bandbreedte van 40 kbps, zorgde de AV1 Speed 10-modus in vergelijking met VP9 Speed 7 voor een kwaliteitsverbetering van 12% en een prestatieverbetering van 25%.
- Wanneer de verbeterde browserbescherming (Veilig Surfen > Verbeterde bescherming) is ingeschakeld om schadelijke activiteiten van Google aan te pakken, is er een telemetrieverzameling gerealiseerd over de werking van browserextensies die niet uit de Chrome Store zijn gedownload. Gegevens zoals de hashes van de extensiebestanden en de inhoud van manifest.json worden verzonden.
- Bij een aantal gebruikers zijn extra functies voor automatische invulling van formulieren ingeschakeld, gericht op het snel invullen van de afleveradres en betalingsgegevens bij aankopen in bepaalde webwinkels.

- Het menu dat verschijnt bij het klikken op het pictogram 'drie stippen' is herstructureerd. De items 'Extensies' en 'Chrome Web Store' zijn naar het eerste niveau van het menu verplaatst.
- Er is de mogelijkheid toegevoegd om alleen een geselecteerd gedeelte van de pagina naar een andere taal te vertalen, en niet alleen de gehele pagina (de vertaling wordt gestart vanuit het contextmenu). Voor het beheren van de inschakeling van gedeeltelijke vertalingen is een instelling voorgesteld: “chrome://flags/#desktop-partial-translate”.
- Op de pagina die wordt weergegeven bij het openen van een nieuw tabblad, is de mogelijkheid toegevoegd om onderbroken taken te hervatten (“Journey”); bijvoorbeeld, je kunt de zoektocht voortzetten vanaf de onderbroken positie.

- In de Android-versie is er een nieuwe hulppagina “chrome://policy/logs” geïmplementeerd voor het debuggen van de door de beheerder ingestelde beleidsregels voor gebruikers in centraal beheer.
- In de Android-versie is de mogelijkheid toegevoegd om meer gepersonaliseerde inhoud weer te geven in de sectie aanbevolen inhoud (Discover). Bovendien is er de mogelijkheid toegevoegd om de voorkeurstypen van weergegeven aanbevelingen in te stellen (bijvoorbeeld, je kunt inhoud van bepaalde bronnen verbergen) voor gebruikers die niet zijn aangemeld bij Google.

- In de Android-versie is er een nieuwe interface geïntroduceerd voor het selecteren van multimediabestanden voor het uploaden van foto’s en video’s (in plaats van een eigen implementatie is de standaardinterface van de Android Media Picker gebruikt).

- In CSS is de standaard syntaxis van de functie image-set() geïmplementeerd, waarmee een afbeelding uit een set van opties met verschillende resoluties kan worden gekozen, die het meest geschikt is voor de huidige schermparameters en netwerkbandbreedte. De eerder ondersteunde aanroep met de prefix -webkit-image-set(), die een Chrome-specifieke syntaxis bood, is nu vervangen door de standaard image-set.
- In CSS is de ondersteuning voor nieuwe mediaquery’s (@media) overflow-inline en overflow-block toegevoegd, waarmee kan worden bepaald hoe de uitvoer van inhoud buiten de oorspronkelijke grenzen van het blok zal worden behandeld.
- In CSS is de mediaquery update toegevoegd, die de mogelijkheid biedt om stijlen te definiëren bij afdrukken of bijweergave op langzame (bijvoorbeeld, e-readerschermen) en snelle (gewone monitoren) schermen.
- In CSS is de functie linear() toegevoegd voor het toepassen van lineaire interpolatie tussen een opgegeven aantal punten, wat kan worden gebruikt om complexe animaties te creëren, zoals stuiter- en uitrekt-effecten.
- In de methode Headers.getSetCookie() is de mogelijkheid geïmplementeerd om waarden uit meerdere Set-Cookie headers die in één verzoek zijn verzonden, te extraheren zonder ze te combineren.
- In de WebAuthn API is de largeBlob extensie toegevoegd voor het opslaan van grote binaire gegevens gerelateerd aan referenties.
- De API Private State Token is ingeschakeld voor het scheiden van gebruikers zonder gebruik te maken van cross-site identificators.
- Websites is het verboden om de eigenschap document.domain in te stellen om dezelfde herkomst voorwaarden voor bronnen, geladen van verschillende subdomeinen, toe te passen. Bij het nodig zijn van communicatie tussen subdomeinen dient de postMessage() functie of de Channel Messaging API te worden gebruikt.
- Verbeteringen zijn aangebracht in de tools voor webontwikkelaars. In het inspectiepaneel van netwerkactiviteit is de mogelijkheid toegevoegd om bestaande HTTP-responsheaders van de webserver te overschrijven of nieuwe aan te maken (Netwerk > Headers > Responsheaders). Daarnaast is het mogelijk gemaakt om alle overschrijvingen op één plaats te bewerken via het bewerken van het .headers bestand in de sectie Bronnen > Overschrijvingen en om vervangingen op basis van een patroon te creëren. De foutopsporing van applicaties die gebruikmaken van de webframeworks Nuxt, Vite en Rollup is verbeterd. De diagnose van CSS-problemen in het Styles-paneel is verbeterd (fouten in eigenschappen en toegewezen waarden worden afzonderlijk gemarkeerd). In de webconsole is de mogelijkheid toegevoegd om autocompletion aanbevelingen weer te geven bij het indrukken van Enter (en niet alleen bij het indrukken van de tabtoets of de pijl naar rechts).

Naast nieuwe functies en foutoplossingen zijn in deze nieuwe versie 15 kwetsbaarheden verholpen. Veel van de kwetsbaarheden zijn ontdekt door geautomatiseerd testen met de tools AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer en AFL. Er zijn geen kritieke problemen gevonden die alle niveaus van browserbeveiliging kunnen omzeilen en code buiten de sandbox-omgeving op het systeem kunnen uitvoeren. In het kader van het programma voor het uitkeren van beloningen voor het ontdekken van kwetsbaarheden heeft Google voor deze release 10 prijzen ter waarde van 30.500 dollar uitbetaald (één prijs van $7500, $5000 en $4000, twee prijzen van $3000, drie prijzen van $2000 en twee prijzen van $1000).
Bron: opennet.ru






