Google van de webbrowser . Tegelijkertijd stabiele release van een open source project , dat de basis vormt voor Chrome. De browser Chrome met het gebruik van de logo's van Google, het hebben van een systeem voor het verzenden van meldingen in geval van een crash, de mogelijkheid om Flash-modules op aanvraag te downloaden, modules voor het afspelen van beveiligde videoinhoud (DRM), een systeem voor automatische updates en overdracht bij het zoeken . De volgende release van Chrome 77 is gepland voor 10 september.
:
- is standaard de bescherming tegen het verzenden van third-party cookies, die in het geval van afwezigheid van de SameSite-attribuut in de Set-Cookie-header standaard de waarde 'SameSite=Lax' instelt, wat de verzending van cookies voor embedding van externe sites beperkt (maar sites kunnen deze beperking nog steeds omzeilen door in de cookie-instelling expliciet 'SameSite=None' in te stellen). Tot nu toe verzond de browser cookies bij elke aanvraag naar een site waarvoor cookies zijn ingesteld, zelfs als aanvankelijk een andere site was geopend, en de toegang werd indirect verkregen via het laden van een afbeelding of via een iframe. In de 'Lax'-modus wordt de verzending van cookies alleen geblokkeerd voor cross-site subverzoeken, zoals afbeeldingsverzoeken of content-lading via iframes, die vaak worden gebruikt om CSRF-aanvallen te organiseren en om de bewegingen van de gebruiker tussen sites te volgen.
- De afspelen van Flash-content is standaard stopgezet. Tot de release van Chrome 87, die in december 2020 wordt verwacht, kan de ondersteuning voor Flash in de instellingen (Geavanceerd > Privacy en Beveiliging > Site-instellingen) worden hersteld, met daaropvolgende expliciete bevestiging van het afspelen van Flash-inhoud voor elke site (de bevestiging wordt onthouden tot de browser opnieuw wordt opgestart). Het volledige verwijderen van de code ter ondersteuning van Flash is gesynchroniseerd met het eerder aangekondigde plan van Adobe om de ondersteuning voor Flash in 2020 stop te zetten;
- Voor bedrijven is er een mogelijkheid toegevoegd om bestanden in Google Drive op te zoeken in de adresbalk;
- Is gestart in Chrome van ongepaste advertenties die de perceptie van inhoud belemmeren en niet voldoen aan de criteria die zijn opgesteld door de Coalition for Better Ads;
- Er is een adaptieve modus voor het schakelen naar een nieuwe pagina geïmplementeerd, waarbij het wissen van de huidige inhoud en het weergeven van een witte achtergrond niet onmiddellijk plaatsvindt, maar met een kleine vertraging. Voor snel ladende pagina's leidt het wissen slechts tot flikkeringen en biedt het geen nuttige informatie om de gebruiker te informeren over het begin van het laden van de nieuwe pagina. In de nieuwe versie, als de pagina snel laadt en binnen de kleine vertraging past, wordt de nieuwe pagina naadloos op zijn plaats weergegeven en vervangt de vorige (bijvoorbeeld handig bij het navigeren naar andere pagina's op dezelfde site die qua opmaak en kleurenschema vergelijkbaar zijn). Als het tonen van de pagina enige merkbare tijd voor de gebruiker vereist, wordt, zoals eerder, het scherm vooraf gewist;
- De criteria voor het bepalen van de gebruikersactiviteit op de pagina zijn aangescherpt. Chrome staat het weergeven van pop-upmeldingen en het afspelen van hinderlijke video-/audio-inhoud alleen toe na acties van de gebruiker op de pagina. In de nieuwe versie worden het indrukken van Esc, het bewegen van de cursor over een link en het aanraken van het scherm niet langer gezien als actieve interactie met de pagina (een expliciete klik, het invoeren van tekst of scrollen is vereist);
- media query ‘prefers-color-scheme’, waarmee websites kunnen bepalen of er in de browser een donkere thema-instelling wordt gebruikt en automatisch het donkere uiterlijk voor de bekeken website kunnen inschakelen.
- Bij het inschakelen van het donkere thema in de builds voor Linux wordt ook de adresbalk nu in het donker weergegeven;
- de mogelijkheid om te bepalen of een pagina in incognito-modus is geopend via manipulaties met de FileSystem API, die eerder door sommige uitgaven werd gebruikt om een betaalde abonnement te dwingen in het geval van anonieme paginatoegang zonder het onthouden van cookies (zodat gebruikers de privémodus niet zouden gebruiken om de mechanismen voor het aanbieden van gratis proefversies te omzeilen). Eerder blokkeerde de browser bij het werken in incognito-modus de toegang tot de FileSystem API om te voorkomen dat gegevens tussen sessies werden opgeslagen, waardoor vanuit JavaScript kon worden gecontroleerd of het mogelijk was om gegevens op te slaan via de FileSystem API en in het geval van een fout te oordelen over de activiteit van de incognito-modus. Nu wordt de toegang tot de FileSystem API niet geblokkeerd, maar wordt de inhoud gewist na afloop van de sessie;
- nieuwe oproepen in
API Betalingsverzoek en Betalingshandler. In het object PaymentRequestEvent is een nieuwe methode changePaymentMethod() toegevoegd, en het PaymentRequest-object heeft een nieuwe gebeurtenishandler paymentmethodchange gekregen, die het mogelijk maakt voor de betalingsverzamelende site of webapplicatie om te reageren op de wijziging van de betalingsmethode door de gebruiker. In deze nieuwe release is ook het testen van applicaties met zelfondertekende certificaten vereenvoudigd via de betalings-API's. Er is een nieuwe opdrachtregeloptie "—ignore-certificate-errors" toegevoegd om certificaatcontrolefouten tijdens de ontwikkeling te negeren; - In de adresbalk, naast de knop om toe te voegen aan bladwijzers voor webapplicaties die draaien in de Desktop Progressive Web Apps (PWA)-modus, een snelkoppeling voor het installeren van de webapplicatie op het systeem als een afzonderlijk programma;
- Voor mobiele apparaten is de mogelijkheid toegevoegd om de weergave van een mini-paneel met een uitnodiging voor het toevoegen van de applicatie aan het startscherm te beheren. Voor PWA-applicaties (Progressive Web App) wordt het mini-paneel standaard automatisch weergegeven bij de eerste opening van de site. De ontwikkelaar kan nu de weergave van dit paneel uitschakelen en een eigen installatie-uitnodiging implementeren, waarvoor een gebeurtenishandler kan worden ingesteld;
beforeinstallprompt en deze kan worden gekoppeld aan de aanroep preventDefault(); - De frequentie van updatecontroles voor geïnstalleerde PWA-applicaties (Progressive Web App) in het Android-omgeving is verhoogd. WebAPK-updates worden nu één keer per dag gecontroleerd, in plaats van eens per drie dagen zoals voorheen. Als er tijdens deze controle een wijziging in een van de sleutelkenmerken in het manifest wordt vastgesteld, zal de browser de nieuwe WebAPK downloaden en installeren;
- In de API is er de mogelijkheid toegevoegd om afbeeldingen programmatig te lezen en te schrijven via het klembord, met behulp van de methodes navigator.clipboard.read() en navigator.clipboard.write();
- Er is ondersteuning geïmplementeerd voor een groep HTTP-headers (Sec-Fetch-Dest, Sec-Fetch-Mode, Sec-Fetch-Site en Sec-Fetch-User), die het mogelijk maken om extra metadata over de aard van de aanvraag (cross-site verzoek, aanvraag via img-tag, etc.) naar de server te sturen voor het nemen van maatregelen ter bescherming tegen bepaalde soorten aanvallen (bijvoorbeeld, het is onwaarschijnlijk dat een link naar een handler voor geldoverdracht via een img-tag wordt opgegeven, daarom kunnen dergelijke aanvragen worden geblokkeerd zonder ze naar de applicatie te verzenden);
- De functie is toegevoegd , die de programmatic verzending van formuliergegevens initieert, vergelijkbaar met een klik op de verzendknop. De functie kan worden toegepast bij het ontwikkelen van eigen verzendknoppen waarbij een aanroep van form.submit() niet voldoende is, omdat dit niet resulteert in een interactieve controle van parameters, het genereren van een 'submit' gebeurtenis en het verzenden van de aan de verzendknop gekoppelde gegevens;
- Een functie is toegevoegd aan IndexedDB , waarmee transacties die verband houden met het IDBTransaction-object kunnen worden vastgelegd, zonder te wachten op de voltooiing van event handlers in alle gerelateerde verzoeken. Het gebruik van commit() verhoogt de doorvoersnelheid van schrijf- en leesverzoeken in de opslag en stelt gebruikers in staat om de voltooiing van de transactie expliciet te controleren;
- In de Intl.DateTimeFormat functie zijn opties toegevoegd, zoals , waarmee specifieke opmaakstijlen voor datum en tijd, afhankelijk van de locale, kunnen worden opgevraagd;
- De methode BigInt.prototype.toLocaleString() is gewijzigd voor het formatteren van getallen rekening houdend met de locale, terwijl de methode Intl.NumberFormat.prototype.format() en de functie formatToParts() zijn aangepast om invoerwaarden van het type BigInt te ondersteunen;
- Het gebruik van de API is toegestaan in alle typen Web Workers, wat kan worden gebruikt om optimale parameters te kiezen bij het maken van een MediaStream vanuit de worker;
- De methode , die alleen reeds vervulde of afgewezen promises retourneert, zonder rekening te houden met promises die nog aan het uitvoeren zijn;
- De optie ‘—disable-infobars’ is verwijderd, die eerder kon worden gebruikt om pop-upwaarschuwingen in de gebruikersinterface van Chrome te verbergen (om gerelateerde beveiligingswaarschuwingen te verbergen, is de regel CommandLineFlagSecurityWarningsEnabled voorgesteld);
- In de interface voor het werken met blobs zijn de methoden text(), arrayBuffer() en stream() toegevoegd voor het lezen van specifieke datatypes;
- De CSS-eigenschap ‘white-space:break-spaces’ is toegevoegd, die definieert dat elke reeks spaties die leidt tot regeloverloop, moet worden verbroken;
- De opruiming van vlaggen in chrome://flags is begonnen, bijvoorbeeld, Een vlag om de ‘ping’-attribuut uit te schakelen, waarmee website-eigenaren klikken op links op hun pagina's kunnen volgen. Wanneer op een link wordt geklikt met het ‘ping=URL’ attribuut in de ‘a href’-tag, kan de extra POST-verzoek naar de opgegeven URL niet worden uitgeschakeld in de browser, waardoor de zinloosheid van het blokkeren van ping wordt benadrukt, aangezien dit attribuut. in de HTML5-specificaties en er zijn talloze omzeilmethoden beschikbaar om dezelfde actie uit te voeren (bijvoorbeeld via een doorverwijslink of klikoverdracht met JavaScript-handlers);
- De vlag voor het uitschakelen van , waarbij pagina's van verschillende hosts altijd in het geheugen van verschillende processen worden geplaatst, waarbij elk zijn eigen sandbox toepast.
- In de V8-engine is de snelheid van scannen en parseren van JSON-formaat aanzienlijk verbeterd. Voor populaire webpagina's is de uitvoering van JSON.parse tot 2,7 keer versneld. De conversie van unicode-strings is ook significant versneld; bijvoorbeeld de snelheid van aanroepen zoals String#localeCompare, String#normalize en sommige API's van Intl is bijna verdubbeld. Ook is de prestaties van bevroren arrays geoptimaliseerd bij het gebruik van operaties zoals frozen.indexOf(v), frozen.includes(v), fn(…frozen), fn(…[…frozen]) en fn.apply(this, […frozen]).

Naast de nieuwe functies en bugfixes zijn in de nieuwe versie . Veel kwetsbaarheden zijn ontdekt via geautomatiseerde tests met tools zoals , , , en . Er zijn geen kritieke problemen gevonden die alle niveaus van browserbeveiliging kunnen omzeilen en code in het systeem buiten de sandbox-omgeving kunnen uitvoeren. In het kader van het beloningsprogramma voor het ontdekken van kwetsbaarheden heeft Google voor deze release 16 beloningen uitgekeerd ter waarde van 23.500 dollar (één beloning van $10.000, één beloning van $6.000, twee beloningen van $3.000 en drie beloningen van $500). De grootte van 9 beloningen is nog niet vastgesteld.
Bron: opennet.ru

