Chrome udgivelse 80

Google fremlagde udgivelse af webbrowser Chrome 80... Samtidigt ledig stabil udgivelse af et gratis projekt Chromium, som fungerer som grundlaget for Chrome. Chrome browser anderledes brugen af ​​Google-logoer, tilstedeværelsen af ​​et system til at sende meddelelser i tilfælde af et nedbrud, muligheden for at downloade et Flash-modul efter anmodning, moduler til afspilning af beskyttet videoindhold (DRM), et system til automatisk installation af opdateringer og transmission under søgning RLZ parametre. Den næste udgivelse af Chrome 81 er planlagt til den 17. marts.

The main ændringer в Chrome 80:

  • For en lille procentdel af brugerne tilbydes en fanegrupperingsfunktion, som giver dig mulighed for at kombinere flere faner med lignende formål i visuelt adskilte grupper. Hver gruppe kan tildeles sin egen farve og navn. Brugere, der ikke var inkluderet i den første aktiveringsbølge, kan aktivere grupperingsunderstøttelse gennem "chrome://flags/#tab-groups" muligheden.

    Chrome udgivelse 80

  • Tilføjet understøttelse af denne funktion Rul-til-tekst, som giver dig mulighed for at oprette links til individuelle ord eller sætninger uden eksplicit at angive etiketter i dokumentet ved hjælp af "et navn"-tag eller "id"-egenskaben. Syntaksen af ​​sådanne links er planlagt til at blive godkendt som en webstandard, hvilket stadig er på stadiet udkast. Overgangsmasken (i det væsentlige en rullesøgning) er adskilt fra det almindelige anker af ":~:"-attributten. For eksempel, når du åbner linket "https://opennet.ru/52312/#:~:text=Chrome", flyttes siden til positionen med den første omtale af ordet "Chrome", og dette ord vil blive fremhævet .
  • Anvendt En strengere begrænsning af overførsel af cookies mellem websteder, for ikke-HTTPS-anmodninger, der forbyder behandling af tredjepartscookies, der er indstillet, når du får adgang til andre websteder end domænet på den aktuelle side. Sådanne cookies bruges til at spore brugerbevægelser mellem websteder i koden for reklamenetværk, sociale netværkswidgets og webanalysesystemer. Husk, at for at kontrollere transmissionen af ​​cookies bruges SameSite-attributten angivet i Set-Cookie-headeren, som som standard nu er indstillet til værdien "SameSite=Lax", hvilket begrænser afsendelsen af ​​cookies til underanmodninger på tværs af websteder , såsom en billedanmodning eller indlæsning af indhold gennem en iframe fra et andet websted. Websteder kan tilsidesætte standard SameSite-adfærd ved eksplicit at indstille Cookie-indstillingen til SameSite=Ingen. Værdien SameSite=Ingen for Cookie kan dog kun indstilles i sikker tilstand (gyldig for forbindelser via HTTPS). Ændringen vil begynde i etaper ansøge 17. februar, i første omgang for en lille procentdel af brugerne, for derefter gradvist at udvide dækningen.
  • Tilføjet beskyttelse mod irriterende meddelelser relateret til bekræftelse af legitimationsoplysninger. Fordi aktivitet som spamming af push-notifikationsanmodninger afbryder brugeroplevelsen og distraherer opmærksomheden fra bekræftelsesdialoger, i Chrome 80, i stedet for en separat dialogboks, kan der nu vises et informativt værktøjstip i adresselinjen, der advarer om, at tilladelsesanmodningen er blevet blokeret, som derefter den falder sammen til en indikator med billedet af en overstreget klokke. Ved at klikke på indikatoren kan du aktivere eller afvise den ønskede tilladelse til enhver tid. Automatisk vil den nye tilstand blive selektivt aktiveret for brugere, der tidligere normalt blokerede sådanne anmodninger, såvel som for websteder, der registrerer en stor procentdel af afviste anmodninger. For at aktivere den nye tilstand for alle anmodninger er der tilføjet en særlig mulighed til indstillingerne (chrome://flags/#quiet-notification-prompts).

    Chrome udgivelse 80

  • Forbudt visning af pop op-vinduer (kalder metoden window.open()) og afsendelse af synkrone XMLHttpRequests i sideluk eller skjul hændelseshandlere (unload, beforeunload, pagehide og visibilitychange);
  • Foreslået initial Sikkerhed fra indlæsning af blandet multimedieindhold (når ressourcer indlæses på en HTTPS-side via http://-protokollen). På sider, der åbnes via HTTPS, vil "http://"-links nu automatisk blive erstattet med "https://" i blokke forbundet med afspilning af lyd- og videofiler. Hvis en lyd- eller videoressource ikke er tilgængelig via https, blokeres dens download (du kan manuelt markere blokeringen via menuen, der er tilgængelig via hængelåssymbolet i adresselinjen).

    Billeder vil fortsætte med at indlæse uændret (autokorrektur vil blive anvendt i Chrome 81), men for at erstatte dem med https eller blokere billeder, får webstedsudviklere CSP-egenskaberne upgrade-insecure-requests og block-all-mixed-content. For scripts og iframes er blokering af blandet indhold allerede blevet implementeret tidligere.

  • En gradvis lukke ned FTP-understøttelse. Som standard er FTP-understøttelse stadig tilgængelig, men vil udført et eksperiment, hvor FTP-understøttelse vil blive deaktiveret for en vis procentdel af brugerne (for at vende tilbage skal du starte browseren med "-enable-ftp"-indstillingen). Lad os huske på, at i tidligere udgivelser var visningen i browservinduet af indholdet af ressourcer downloadet via "ftp://"-protokollen allerede deaktiveret (for eksempel blev visning af HTML-dokumenter og README-filer stoppet), brugen af ​​FTP var forbudt ved download af underressourcer fra dokumenter, og proxy-support blev afbrudt for FTP. Det var dog stadig muligt at downloade filer via direkte links og vise indholdet af mapper.
  • Tilføjet
    muligheden for at bruge vektor SVG-billeder som et webstedsikon (favicon).

  • Muligheden for selektivt at deaktivere visse typer data, der overføres under synkronisering mellem browsere, er blevet tilføjet til indstillingerne.
  • Der er tilføjet en regel for centralt administrerede virksomhedsbrugere BlockExternalExtensions, som giver dig mulighed for at forhindre installation af eksterne tilføjelser på enheden.
  • Implementeret lejlighed en engangskontrol af hele kæden af ​​egenskaber eller opkald i JavaScript. For eksempel, ved adgang til "db.bruger.navn.lengde" var det tidligere nødvendigt at kontrollere definitionen af ​​alle komponenter trin for trin, for eksempel gennem "hvis (db && db.bruger && db.bruger.navn)". Bruger nu operationen "?." du kan få adgang til værdien "db?.bruger?.navn?.længde" uden forudgående kontrol, og en sådan adgang vil ikke føre til en fejl. I tilfælde af problemer (hvis et element behandles som null eller udefineret)) vil outputtet være "udefineret".
  • JavaScript introducerer en ny logisk sammenkædningsoperator "??", som returnerer den højre operand, hvis den venstre operand er NULL eller udefineret, og omvendt. For eksempel, "const foo = bar ?? 'default string'", hvis bar er nul, returnerer værdien af ​​bar ellers, inklusive når bar er 0 og ' ', i modsætning til "||"-operatoren.
  • I tilstanden Origin Trials (eksperimentelle funktioner, der kræver separate aktivering) foreslået Content Indexing API. Origin Trial indebærer evnen til at arbejde med den specificerede API fra applikationer downloadet fra localhost eller 127.0.0.1, eller efter registrering og modtagelse af et særligt token, der er gyldigt i en begrænset periode for et specifikt websted. API Indholdsindeksering, giver metadata om indhold, der tidligere blev cachelagret af webapplikationer, der kører i Progressive Web Apps (PWS)-tilstand. Applikationen kan gemme forskellige data på browsersiden, herunder billeder, videoer og artikler, og når netværksforbindelsen mistes, kan du bruge den ved hjælp af Cache Storage og IndexedDB API'er. Content Indexing API gør det muligt at tilføje, finde og slette sådanne ressourcer. I browseren bruges denne API allerede til at vise en liste over sider og multimediedata, der er tilgængelige for offlinevisning.

    Chrome udgivelse 80

  • Stabiliseret og nu distribueret uden for Origin Trials API Kontakt Picker, hvilket giver brugeren mulighed for at vælge poster fra adressebogen og overføre visse detaljer om dem til webstedet. Anmodningen angiver en liste over egenskaber, der skal hentes. Disse egenskaber vises eksplicit for brugeren, som beslutter, om disse egenskaber skal videregives eller ej. API'et kan for eksempel bruges i en webmail-klient til at vælge modtagere til et sendt brev, i en webapplikation med VoIP-funktionen til at starte et opkald til et bestemt nummer eller i et socialt netværk til at søge efter allerede registrerede venner . Samtidig, som en del af Origin Trials, tilbydes nogle nye Contact Picker-egenskaber: Ud over det tidligere tilgængelige fulde navn, e-mail og telefonnummer, er muligheden for at overføre en e-mailadresse og et billede blevet tilføjet.
  • I Web Workers foreslog en ny måde at indlæse ECMAScript-moduler på, hvilket giver dig mulighed for at undgå at bruge funktionen importScripts(), som blokerer arbejderen under behandling af det importerede script og udfører det i den globale kontekst. Den nye metode indebærer at skabe specielle moduler til Web Workers, der understøtter standard JavaScript-importmekanismer og kan indlæses dynamisk uden at blokere for arbejderudførelse. For at indlæse moduler giver Worker-konstruktøren en ny ressourcetype - 'modul':

    const worker = new Worker('worker.js', {
    type: 'modul'
    });

  • Implementeret JavaScripts indbyggede evne til at behandle komprimerede streams uden at kræve brug af eksterne biblioteker. API'er er blevet tilføjet til komprimering og dekomprimering CompressionStream og DecompressionStream. Komprimering ved hjælp af gzip og deflate-algoritmer er understøttet.

    const komprimeringReadableStream
    = inputReadableStream.pipeThrough(ny CompressionStream('gzip'));

  • Tilføjet CSS-egenskab "line-break: hvor som helst", som tillader brud på niveauet af ethvert typografisk tegn, inklusive brud nær tegnsætningstegn foruddefineret med mellemrum ( ) og i midten af ​​ord. Også tilføjet CSS-egenskab "overløbs-indpakning: hvor som helst» giver dig mulighed for at bryde ubrudte sekvenser af tegn hvor som helst, hvis en passende position til pausen ikke kunne findes i linjen.
  • Til mediekontekst behandlet i krypteret form er der implementeret understøttelse af metoden MediaCapabilities.decodingInfo(), som giver information om browserens muligheder for at afkode beskyttet indhold (denne metode kan f.eks. bruges til at vælge højkvalitets eller energieffektive afkodningsscenarier baseret på tilgængelig båndbredde og skærmstørrelse).
  • Tilføjet metode HTMLVideoElement.getVideoPlaybackQuality(), hvorigennem du kan få information om videoafspilningsydeevne for at justere bitrate, opløsning og andre videoparametre.
  • I API Betalingsformidler, som forenkler integrationen med eksisterende betalingssystemer, tilføjede muligheden delegation behandling af adresse- og kontaktoplysninger til en ekstern processor af betalingssystemet (betalingssystemapplikationen kan have mere nøjagtige oplysninger end browseren).
  • Tilføjet HTTP-header-understøttelse Sec-Fetch-Dest, som giver dig mulighed for at sende yderligere metadata om den type indhold, der er knyttet til anmodningen (for eksempel for en anmodning via img-tagget er typen "image", for skrifttyper - "font", for scripts - "script", for stilarter - "stil" osv. ). Baseret på den angivne type kan serveren træffe foranstaltninger for at beskytte mod visse typer angreb (det er f.eks. usandsynligt, at et link til en behandler for en pengeoverførsel vil blive specificeret via et img-tag, så sådanne anmodninger behøver ikke at blive behandlet).
  • I JavaScript-motor V8 optimering udført gemmer pointere på heapen. I stedet for at gemme den fulde 64-bit værdi, gemmes kun de unikke nederste bits af markøren. Denne optimering gjorde det muligt at reducere heap-hukommelsesforbruget med 40 % til bekostning af en ydeevnestraf på 3-8 %.
    Chrome udgivelse 80

    Chrome udgivelse 80

  • ændringer i værktøjer til webudviklere:
    • Webkonsollen har nu mulighed for at omdefinere let- og klasseudtryk.

      Chrome udgivelse 80

    • Forbedrede WebAssembly-fejlfindingsværktøjer. Tilføjet support DVÆRG til trin-for-trin fejlretning, angivelse af breakpoints og analyse af stakspor i kildekoden, hvori en WebAssembly-applikation er skrevet.

      Chrome udgivelse 80

    • Forbedret panel til analyse af netværksaktivitet. Tilføjet muligheden for at se kæden af ​​opkald af scripts forbundet med anmodningsinitiering.

      Chrome udgivelse 80

      Tilføjet nye sti- og URL-kolonner, der viser den absolutte sti og den fulde URL for hver netværksressource. Sikrer, at den valgte forespørgsel er fremhævet i oversigtsdiagrammet.

      Chrome udgivelse 80

    • På fanen Netværksbetingelser er der tilføjet en mulighed for at ændre User-Agent-parameteren.

      Chrome udgivelse 80

    • En ny grænseflade er blevet foreslået til konfiguration af revisionspanelet.
      Chrome udgivelse 80

    • I fanen Dækning forudsat valget mellem at indsamle dækningsdata for hver funktion eller for hver kodeblok (mere detaljeret statistik, men kræver flere ressourcer).

      Chrome udgivelse 80

  • AppCache manifest action (teknologi til at organisere driften af ​​en webapplikation i offlinetilstand) begrænset den aktuelle mappe på webstedet (hvis manifestet blev downloadet fra www.example.com/foo/bar/, vil muligheden for at tilsidesætte URL'en kun fungere i /foo/bar/). AppCache-understøttelse er planlagt til at blive fjernet fuldstændigt i Chrome 82. Den nævnte årsag er ønsket om at slippe af med en af ​​vektorerne for cross-site scripting-angreb. Det anbefales at bruge API i stedet for AppCache Cache.
  • Udgået understøttelse af det gamle WebVR 1.1 API, som kan erstattes af API'et WebXR-enhed, som giver dig adgang til komponenter til at skabe virtuel og augmented reality og forene arbejde med forskellige klasser af enheder, fra stationære virtual reality-hjelme til løsninger baseret på mobile enheder.
  • Protokolhandlere, der er forbundet via metoderne registerProtocolHandler() og unregisterProtocolHandler() kan nu kun fungere i en sikker kontekst (når de tilgås via HTTPS).

Ud over innovationer og fejlrettelser eliminerer den nye version 56 sårbarheder. Mange af sårbarhederne blev identificeret som et resultat af automatiseret test med værktøjer AddressSanitisizer, Memory Sanitizer, Kontroller flowintegritet, LibFuzzer и AFL. Der er ikke identificeret nogen kritiske problemer, der ville tillade en at omgå alle niveauer af browserbeskyttelse og eksekvere kode på systemet uden for sandkassemiljøet. Som en del af programmet til at betale kontante belønninger for at opdage sårbarheder for den aktuelle udgivelse, udbetalte Google 37 priser til en værdi af $48 tusinde (én $10000-pris, tre $5000-priser, tre $3000-priser, fire $2000-priser, tre $1000-priser og seks $500-priser). Størrelsen på 17 belønninger er endnu ikke fastlagt.

Kilde: opennet.ru

Tilføj en kommentar