Google van de webbrowser . Tegelijkertijd stabiele release van een open source project , dat de basis vormt voor Chrome. De browser Chrome door gebruik van Google-logo's, de mogelijkheid om de Flash-module op verzoek te uploaden, het hebben van een notificatiesysteem in geval van een crash, modules voor het afspelen van beveiligde videocontent (DRM), een automatisch update-installatiesysteem en gegevensoverdracht tijdens het zoeken . De volgende release van Chrome 76 is gepland voor 30 juli.
:
- In de methode canvas.getContext() de 'desynchronized'-vlag voor het verwerken van Canvas-contexten (2D of WebGL) met behulp van een alternatieve rendering-systeem dat minimale vertragingen biedt door het standaard DOM-update mechanisme te omzeilen en direct via OpenGL te renderen;
- De API is uitgebreid (navigator.share object), waarmee je in plaats van een lijst met afzonderlijke knoppen een uniforme knop kunt genereren voor het publiceren op sociale media die relevant zijn voor de bezoeker. In de nieuwe release in de API de mogelijkheid om een standaard dialoogvenster weer te geven voor het verzenden van bestanden naar andere toepassingen (bijvoorbeeld op Android wordt een blok weergegeven voor het verzenden via e-mail, Bluetooth, enz.);
- de mogelijkheid om groepen cijfers in digitale literalen te scheiden met het underscore-teken. Bijvoorbeeld, om de leesbaarheid van grote getallen in de code te verbeteren, kan 1_000_000_000 worden opgegeven en zal dit nummer als 1000000000 worden verwerkt;
- Voor alle gebruikers van de desktopversie is deze standaard ingeschakeld , waarbij pagina's van verschillende hosts altijd in het geheugen van verschillende processen worden geplaatst, elk met zijn eigen sandbox. Het belangrijkste kenmerk van de strikte isolatiemodus is de scheiding op basis van domeinen, dat wil zeggen dat als het eerder de inhoud van scripts, iframes en pop-ups van andere domeinen in één proces met de basiswebsite uitvoerde, ze nu in verschillende processen zullen worden gescheiden;
- Blacklisted extensies worden nu volledig verwijderd in plaats van uitgeschakeld en in inactieve modus geplaatst.
- In de ingebouwde taakbeheerder van Chrome (Instellingen > Meer tools > Taakbeheer) de verwerking van Service worker handlers weer te geven;
- In de methode window.open() is de attribuut ‘’ toegevoegd, waarmee je een pagina kunt openen zonder de Referer-header in te vullen;
- de richtlijnen (Content Security Policy) ‘script-src-attr’, ‘script-src-elem’, ‘style-src-attr’ en ‘style-src-elem’, die functionaliteit bieden aan de script- en stylerichtlijnen, maar met de mogelijkheid om op afzonderlijke event handlers, elementen of attributen toe te passen;
- In de Web Authentication API ondersteuning voor FIDO CTAP2 PIN om een door gebruikers ingestelde PIN-code te gebruiken voor authenticatie bij het uitvoeren van bewerkingen met sleutels die het protocol ondersteunen . In de configurator in de sectie 'Geavanceerd' is er een optie 'Beheer beveiligingssleutels' toegevoegd, waarin een PIN-code kan worden ingesteld ter bescherming van sleutels die zijn opgeslagen op een USB-opslagapparaat, evenals een optie voor het resetten van de sleutel (het wissen van alle gegevens en de PIN);
- In de Web Animations API zijn objecten
, toegevoegd, waarmee interactieve beheermogelijkheden zijn voor de geanimeerde elementen en de timing (duur, vertragingen).
Bovendien is er een nieuwe constructeur toegevoegd , die uitgebreidere middelen biedt voor het beheer van animatie. Eerder maakte de Web Animations API het mogelijk om animaties te creëren met behulp van de methode Element.animate(), die een reeds gevormd Animation-object retourneert. Nu kan de ontwikkelaar het creëren ervan beheren via een expliciete aanroep van de constructeur, waarin bijvoorbeeld een KeyframeEffect-object kan worden opgegeven; - Een optie is toegevoegd , die de browser voorschrijft om video weer te geven in het afspeelgebied van het element (bijvoorbeeld om een fullscreen afspeelmethode te bieden);
- In de methode MediaStreamTrack.getCapabilities() is de mogelijkheid geïmplementeerd om het bereik van toegestane waarden voor eigenschappen die verband houden met audiocomponenten (samplefrequentie, latentie, aantal kanalen, enz.) op te vragen;
- In WebRTC is de API toegevoegd om informatie over actieve transports te verkrijgen, bijvoorbeeld over het gebruik van SCTP of DTLS (Datagram Transport Layer Security), waardoor RTP- en RTCP-pakketten worden verzonden of ontvangen. Daarnaast is er een interface RTCIceTransport toegevoegd voor het verstrekken van informatie over de status van transports
ICE, gebruikt in het object RTCPeerConnection; - In de Cache-Control-header is de richtlijn '' geïmplementeerd, die een extra tijdsraam definieert waarin de browser een resource kan gebruiken met een verlopen tijd tot de asynchrone herbevestiging van de actualiteit;
- Scroll Snap Stop om binding aan elementen te bepalen bij een inertiële scrollbeweging (bijvoorbeeld, een brede vingerbeweging bij het kiezen in een afbeeldingslijst leidt tot het kiezen van het volgende element in plaats van het laatste);
- In de Android-versie is de interface voor het automatisch invullen van accountparameters in authenticatieformulieren verbeterd. De suggestiebalk wordt nu direct boven het schermtoetsenbord weergegeven en toont bij klikken mogelijke opgeslagen opties in plaats van het schermtoetsenbord, zodat het de invoervorm niet belemmert;
- Experimentle ondersteuning voor de lezer-modus (Reader Mode) is toegevoegd. Wanneer deze is ingeschakeld, wordt alleen de relevante tekst weergegeven en worden alle ondersteunende besturingselementen, banners, menu's, navigatiebalken en andere niet-inhoud gerelateerde onderdelen van de pagina verborgen. De ondersteuning voor de nieuwe modus kan worden ingeschakeld via de optie chrome://flags/#enable-reader-mode, waarna een item in het dropdown-menu verschijnt om deze te gebruiken;
- In de JavaScript-engine V8 is de expliciete cachingmodus voor de compilatie-resultaten van WebAssembly geïmplementeerd (bij het opnieuw openen van de pagina worden eerder verwerkte WebAssembly-componenten vanuit de cache uitgevoerd). In
WebAssembly zijn ook nieuwe instructies toegevoegd: memory.copy, memory.fill, table.copy, memory.init en table.init voor het kopiëren, vullen en initialiseren van grote geheugenruimten; - Ondersteuning voor het direct parseren van scripts on-the-fly terwijl ze over het netwerk worden geladen, is toegevoegd zonder de hoofdthread van Chrome te betrekken. Eerder werd de thread eerst in de hoofdthread aangenomen en vervolgens doorverwezen naar de parser. Deze organisatie leidde tot blokkering door andere taken die in de hoofdthread werden uitgevoerd, zoals het parseren van HTML en het uitvoeren van andere JavaScript-scripts. Dit doorverwijzen is nu opgeheven;
- Verbeteringen in de ontwikkeltools voor webontwikkelaars:
- In de inspectiemodus van CSS is automatische aanvulling voor de namen en basiswaarden van functies die kunnen worden toegepast in CSS-eigenschappen verzekerd (bijvoorbeeld 'filter: blur(1px)'). De voorgestelde waarden worden onmiddellijk weergegeven in de bekeken lay-out van de pagina;

- In de commandopaneel, weergegeven door Ctrl+Shift+P in te drukken, is de opdracht 'Clear Site Data' geïmplementeerd om alle gegevens die aan de pagina zijn gekoppeld te wissen (vergelijkbaar met het oproepen van het menu Application > Clear Storage), inclusief Service workers, localStorage, sessionStorage, IndexedDB, Web SQL, Cookies, Cache en Application Cache;
- De mogelijkheid om alle bestaande IndexedDB-databases te bekijken is toegevoegd (voorheen kon je onder Application > IndexedDB alleen de databases voor het huidige domein bekijken, wat het bijvoorbeeld onmogelijk maakte om het gebruik van IndexedDB in blokken die via iframes worden geladen te inspecteren);

- In de netwerkinspectie-interface wordt in de tooltip die verschijnt bij het aanwijzen van de velden in de kolom 'Grootte' nu de grootte van de bron weergegeven in de originele vorm, zonder compressie;

- In het zijpaneel van de debugger is er nu een aparte weergave van de statusinformatie van breakpoints die zijn gekoppeld aan aparte delen van complexe uitdrukkingen in de regel (inline breakpoint), bijvoorbeeld ingesteld in de methode-aanroepketen;

- In de inspectiepanelen voor IndexedDB en Cache is een weergave van de totale aantal bronnen in de database of cache geïmplementeerd;

- In de inspectiemodus van CSS is automatische aanvulling voor de namen en basiswaarden van functies die kunnen worden toegepast in CSS-eigenschappen verzekerd (bijvoorbeeld 'filter: blur(1px)'). De voorgestelde waarden worden onmiddellijk weergegeven in de bekeken lay-out van de pagina;
- In experimentele Canary-builds ondersteuning voor
is toegang tot DNS via HTTPS (DoH, DNS over HTTPS) geïntroduceerd, dat geactiveerd kan worden in chrome://flags#dns-over-https. DoH kan nuttig zijn om het uitlekken van informatie over aangevraagde hostnamen via de DNS-servers van providers te voorkomen, om te vechten tegen MITM-aanvallen en het vervalsen van DNS-verkeer, om tegen DNS-blokkeringen te beschermen of om te zorgen voor toegang als directe toegang tot DNS-servers niet mogelijk is (bijvoorbeeld bij het werken via een proxy);
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 kritische problemen ontdekt die alle niveaus van browserbeveiliging omzeilen en code buiten de sandbox-omgeving op het systeem kunnen uitvoeren. In het kader van het beloningsprogramma voor het ontdekken van kwetsbaarheden heeft Google in deze release 13 beloningen van in totaal 9000 dollar uitbetaald (één beloning van 5000 dollar, twee beloningen van 1000 dollar en vier beloningen van 500 dollar). De grootte van 7 beloningen is nog niet bepaald.
Bron: opennet.ru





