Google har præsenteret udgivelsen af webbrowseren Chrome 106. Samtidig er der en stabil udgave af det frie projekt Chromium, som er fundamentet for Chrome. Chrome-browseren adskiller sig fra Chromium ved at bruge Google-logoer, have et system til at sende notifikationer i tilfælde af nedbrud, moduler til afspilning af beskyttet videoinhold (DRM), automatisk opdateringsinstallation, konstant aktiveret Sandbox-isolering, levering af nøgler til Google API og overførsel af RLZ-parametre under søgning. For dem, der har brug for mere tid til at opdatere, understøttes en særlig version kaldet Extended Stable, der ledsages af 8 ugers support. Den næste udgivelse af Chrome 107 er planlagt til den 25. oktober.
Hovedændringer i Chrome 106:
- For brugerne af desktop-versioner er Prerender2-mekanismen til forudindlæsning af indhold i Omnibox-adresselinjen som standard aktiveret. Forudindlæsning supplerer tidligere tilgængelig funktionalitet til at indlæse de mest sandsynlige anbefalinger uden at vente på brugerklik. Udover indlæsning kan indholdet fra de relaterede anbefalingssider nu også forindlæses (inklusive udførelse af scripts og opbygning af DOM-træet), hvilket muliggør øjeblikkelig visning af anbefalinger efter klik.
- Muligheden for at søge i historik, bogmærker og faner direkte fra Omnibox-adresselinjen er blevet tilføjet. Til lokalisering af søgning er der foreslået kontrol-tags @history, @bookmarks og @tabs. For eksempel skal man for at søge i bogmærker skrive "@bookmarks søgephrase". For at deaktivere søgningen fra adresselinjen er der en særlig indstilling i søgeindstillingerne.


- Understøttelse af Server Push-teknologien, der er defineret i standarderne HTTP/2 og HTTP/3, er som standard deaktiveret, og den gør det muligt server Sende ressourcer til kunden uden at vente på deres udtrykkelige anmodning. Grunden til ophør af support nævnes som en unødvendig kompleksitet ved implementeringen af teknologien i lyset af mere enkle og lige så effektive alternativer, såsom tag , HTTP-response 103 og protokollen WebTransport. Ifølge Google statistikker brugte omkring 1,25% af de HTTP/2-websteder, der var aktive i 2021, Server Push, og dette tal faldt til 0,7% i 2022. Server Push-teknologien er også til stede i HTTP/3-specifikationen, men i praksis har mange server- og klientprogrammer, herunder webbrowseren Chrome, oprindeligt ikke implementeret den.
- Muligheden for at bruge ikke-ASCII tegn i domæner, der er angivet i Cookie-headeren, er blevet deaktiveret (for IDN-domæner skal der angives domains i punycode-format). Ændringen bringer browseren i overensstemmelse med kravene i RFC 6265bis og adfærden, der er implementeret i Firefox.
- Der er foreslået mere klare etiketter til identifikation af skærme i multi-monitor konfigurationer. Sådanne etiketter kan vises i dialoger, der giver beføjelser til at åbne et vindue på en ekstern skærm. For eksempel, i stedet for nummeret på den eksterne skærm ('External Display 1') vil det nu vise modellens navn ('HP Z27n').
- Forbedringer i Android-versionen:
- På siden med besøgs historik er der sikret støtte til 'Journey'-mekanismen, der opsummerer tidligere aktivitet ved at gruppere oplysninger om tidligere udførte søgninger og besøgte sider. Når der indtastes søgeord i adressefeltet, hvis de tidligere er blevet brugt i forespørgsler, foreslås det at fortsætte søgningen fra den afbrudte position.
- På enheder med Android 11-platformen er der givet mulighed for at låse siden åbnet i inkognito-tilstand efter skift til en anden applikation. For at fortsætte med at browsere efter låsning kræves autentificering. Som standard er låsning deaktiveret og kræver aktivering i privatlivsindstillingerne.
- Ved forsøg på at downloade filer fra inkognito-tilstand er der givet en ekstra bekræftelsesforespørgsel til at gemme filen og en advarsel om, at den downloadede fil kan ses af andre brugere af enheden, da den vil blive gemt i download manageren.

- API'en chrome.runtime er blevet fjernet for alle websteder. Denne API er nu kun tilgængelig, når den anvendes i browserudvidelser. Tidligere var chrome.runtime tilgængeligt for alle websteder, da det blev brugt af den indbyggede CryptoToken-udvidelse, som understøttede U2F API, hvis understøttelse nu er stoppet.
- I Origin Trials (eksperimentelle funktioner, der kræver separat aktivering) er der tilføjet flere nye API'er. Origin Trial indebærer muligheden for at arbejde med den angivne API fra applikationer, der er indlæst fra localhost eller 127.0.0.1, eller efter tilmelding og modtagelse af et særligt token, der er gyldigt i en begrænset periode for et specifikt websted.
- Konceptet med anonyme iframe, der muliggør indlæsning af dokumenter i en separat kontekst, der ikke er relateret til andre iframes og det primære dokument.
- Pop-Up API'et til organisering af visning af brugergrænsefladeelementer over andre elementer, f.eks. til interaktive menuer, tip, indholdsværktøjer og læringssystemer. For at vise et element på det øverste lag anvendes et nyt attribut «popup». I modsætning til dialogbokse, der oprettes ved hjælp af <dialog>-elementet, tillader det nye API at oprette ikke-modale dialoger, håndtere begivenheder, bruge animation og skabe fleksible værktøjer til håndtering af pop-up området.
- For egenskaberne ‘grid-template-columns’ og ‘grid-template-rows’, der anvendes i CSS Grid, er støtte til interpolation blevet implementeret for at organisere bløde overgange mellem forskellige grid-tilstande.
- CSS-egenskaben ‘forced-color-adjust’ har fået tilføjet støtte til værdien ‘preserve-parent-color’, hvilket gør, at egenskaben «color» arver sin værdi fra overordnede elementer.
- Egenskaben «-webkit-hyphenate-character» er blevet frigivet for præfikset «-webkit-» og er nu tilgængelig under navnet «hyphenate-character». Denne egenskab kan bruges til at sætte en streng, der anvendes i stedet for et afslutningssymbol for et ord, der skifter linje (f.eks. «-«).
- Den tredje revision af API'et Intl.NumberFormat er blevet implementeret, som inkluderer nye funktioner som formatRange(), formatRangeToParts() og selectRange(), gruppering af sæt, nye afrundingsmuligheder og præcisionsmål, samt muligheden for at tolke strenge som decimaler.
- I API'et ReadableStream er der blevet tilføjet støtte til effektiv direkte overførsel af binære data fra en sekventiel port, uden om interne køer og buffere. Den direkte overførsel aktiveres ved at angive BYOB-tilstanden — «port.readable.getReader({ mode: ‘byob’ })».
- I programmeringsgrænsefladerne til arbejde med lyd og video (AudioDecoder, AudioEncoder, VideoDecoder og VideoEncoder) er der tilføjet support for begivenheden „dequeue“ og relaterede callback-opkald, som aktiveres, når codec'en begynder at udføre de opgaver, der er sat i kø til kodning eller dekodning af indhold.
- I WebXR Device API er muligheden for rå adgang til billeder fra kameraets teksturer, synkroniseret med den aktuelle position i det virtuelle miljø, blevet implementeret.
- Der er lavet forbedringer i værktøjerne til webudviklere. I Sources-panelet er det nu muligt at gruppere filer efter kilde. Stack tracing for asynkrone operationer er forbedret. Der er mulighed for automatisk at ignorere kendte tredjepartscripts under debugging. Der er tilføjet funktionalitet til at skjule ignorerede filer i menuen og panelerne. Arbejdet med stakken i debuggeren er blevet forbedret.

I Performance-panelet er der tilføjet en ny track Interactions til visualisering af interaktionen med siden og identifikation af potentielle problemer med interface-responsivitet.

Udover nyheder og fejlrettelser er der i den nye version løst 20 sårbarheder. Mange af sårbarhederne blev identificeret gennem automatiseret test med værktøjer som AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer og AFL. Der er ikke identificeret kritiske problemer, der tillader omgåelse af alle niveauer af browserbeskyttelse og udførelse af kode i systemet uden for sandbox-miljøet. I forbindelse med programmet for belønning for opdagelse af sårbarheder har Google udbetalt 16 præmier til en samlet værdi af 38.500 dollars (én præmie på $9000, $7500, $7000, $5000, $4000, $3000, $2000 og $1000). Størrelsen på otte af belønningerne er endnu ikke fastsat.
Kilde: opennet.ru





