Compania Google lansarea unui browser web . În același timp versiunea stabilă a unui proiect open-source , care stă la baza Chrome. Browserul Chrome utilizarea logo-urilor Google, existența unui sistem de trimitere a notificărilor în caz de crash, posibilitatea de a încărca modulul Flash la cerere, module pentru redarea conținutului video protejat (DRM), un sistem de instalare automată a actualizărilor și transmiterea în timpul căutării Următorul lansare Chrome 77 este programat pentru 10 septembrie.
:
- în mod implicit, modul de protecție împotriva transmisiei cookie-urilor terțe, care în absența atributului SameSite în antetul Set-Cookie, setează implicit valoarea „SameSite=Lax”, limitând trimiterea cookie-urilor pentru inserțiile de pe site-uri terțe (dar site-urile vor putea încă să anuleze restricția, specificând explicit la setarea cookie-ului valoarea SameSite=None). Până acum, browserul trimitea cookie-uri la orice solicitare către un site pentru care există cookie-uri setate, chiar dacă inițial a fost deschis un alt site, iar accesul se face indirect prin încărcarea unei imagini sau prin iframe. În modul ‘Lax’ transmisia cookie-urilor este blocată doar pentru subsolicitudini intersite, cum ar fi solicitările de imagini sau încărcările de conținut prin iframe, care sunt adesea utilizate pentru organizarea atacurilor CSRF și pentru urmărirea mișcărilor utilizatorului între site-uri.
- Redarea conținutului Flash a fost oprită în mod implicit. Până la lansarea Chrome 87, așteptată în decembrie 2020, suportul pentru Flash poate fi restabilit în setări (Advanced > Privacy and Security > Site Settings) cu ulteriora confirmare explicită a redării conținutului Flash pentru fiecare site (confirmarea este reținută până la repornirea browserului). Eliminarea completă a codului pentru a asigura suportul Flash este sincronizată cu planul anterior anunțat de Adobe pentru încetarea suportului tehnologiei Flash în 2020;
- Pentru întreprinderi, a fost adăugată capacitatea de a căuta fișiere în stocarea Google Drive în bara de adrese;
- lucrul la încetarea suportului pentru codec-ul Theora. În etapa inițială, dezvoltatorii vor evalua cererea acestuia pe baza datelor de telemetrie, conform datelor preliminare, doar 0,09% din conținutul media din Firefox este redat cu ajutorul Theora, iar resursele mari (de exemplu, Wikipedia), care au folosit acest codec, au trecut de mult timp la codecuri mai eficiente. în Chrome a publicității inacceptabile, care interferează cu percepția conținutului și nu respectă criteriile stabilite de Coaliția pentru îmbunătățirea publicității;
- A fost implementat un mod adaptiv de comutare pe o nouă pagină, în care curățarea conținutului curent și afișarea unui fundal alb nu se realizează imediat, ci cu o mică întârziere. Pentru paginile care se încarcă rapid, curățarea provoacă doar o clipire și nu oferă un beneficiu real, destinat să informeze utilizatorul despre începutul încărcării unei noi pagini. În noua ediție, dacă pagina se deschide rapid și se încadrează într-o mică întârziere, noua pagină este afișată la loc, înlocuind fără întrerupere pagina anterioară (de exemplu, este convenabilă la trecerea la alte pagini ale aceluiași site cu un design și o paletă de culori similare). Dacă pentru afișarea paginii este necesar un timp vizibil pentru utilizator, atunci, ca și înainte, ecranul va fi curățat preliminar;
- Sunt întărite criteriile pentru determinarea activității utilizatorului pe pagină. Chrome permite afișarea de notificări pop-up și redarea de conținut video/audiovizual deranjant doar după acțiuni ale utilizatorului pe pagină. În noua ediție, apăsarea Escape, plasarea cursorului pe un link și atingerea ecranului nu mai sunt considerate interacțiuni care activează pagina (este necesar un clic explicit, introducerea de text sau derularea);
- media query „prefers-color-scheme”, care permite site-urilor să determine utilizarea unui mod întunecat în browser și să activeze automat tema întunecată pentru site-ul vizualizat.
- Atunci când se activează tema întunecată în versiunile pentru Linux, bara de adrese este acum afișată și ea în culoare închisă;
- posibilitatea de a determina deschiderea paginii în modul incognito prin manipularea FileSystem API, care anterior era folosită de unele publicații pentru a impune un abonament plătit în cazul deschiderii anonime a paginilor fără a salva cookie-uri (pentru a împiedica utilizatorii să folosească modul privat pentru a ocoli mecanismul de furnizare a accesului gratuit la probe). Anterior, când se lucra în modul incognito, browserul bloca accesul la FileSystem API pentru a preveni păstrarea datelor între sesiuni, ceea ce permitea din JavaScript să verifice capacitatea de a salva date prin FileSystem API și, în caz de eșec, să concluzioneze activitatea modulului incognito. Acum, accesul la FileSystem API nu este blocat, iar conținutul este curățat după încheierea sesiuni;
- apelerile noi în
Cererea API de plată și Handler-ul de plată. În obiectul PaymentRequestEvent a fost introdusă o nouă metodă changePaymentMethod(), iar în obiectul PaymentRequest a fost adăugat un nou handler pentru evenimentul paymentmethodchange, care permite platformei de procesare a plăților sau aplicației web să reacționeze la schimbarea metodei de plată aleasă de utilizator. În acest nou release, testarea aplicațiilor legate de plăți a fost, de asemenea, simplificată prin utilizarea certificatelor auto-semnate. Pentru a ignora erorile de verificare a certificatelor în timpul dezvoltării, a fost adăugată o nouă opțiune de linie de comandă „—ignore-certificate-errors”; - În bara de adrese, lângă butonul de adăugare la marcaje pentru aplicațiile web care funcționează în modul Desktop Progressive Web Apps (PWA), un shortcut pentru instalarea aplicației web în sistem pentru a funcționa ca o aplicație separată;
- Pentru dispozitivele mobile, a fost introdusă posibilitatea de a gestiona afișarea mini-panolului de invitație pentru adăugarea aplicației pe ecranul principal. Pentru aplicațiile PWA (Progressive Web App), mini-panoul este afișat implicit la prima deschidere a site-ului. Dezvoltatorul poate acum renunța la afișarea acestui panou și poate implementa propria invitație de instalare, pentru care poate seta un handler pentru evenimentul
beforeinstallprompt și să-l asocieze cu apelul preventDefault(); - Frecvența verificării actualizărilor pentru aplicațiile PWA (Progressive Web App) instalate în mediu Android a fost crescută. Actualizările WebAPK sunt acum verificate o dată pe zi, nu o dată la trei zile ca înainte. Dacă în manifest, pe parcursul acestei verificări, se constată o modificare a oricărei proprietăți cheie, browserul va descărca și instala noul WebAPK;
- În API-ul a fost adăugată posibilitatea de a citi și scrie imagini prin clipboard, folosind metodele navigator.clipboard.read() și navigator.clipboard.write();
- A fost implementat suportul pentru grupul de antete HTTP (Sec-Fetch-Dest, Sec-Fetch-Mode, Sec-Fetch-Site și Sec-Fetch-User), care permit trimiterea de metadate suplimentare despre natura cererii (cerere între site-uri, cerere prin tag img etc.) pentru a permite serverului să ia măsuri de protecție împotriva anumitor tipuri de atacuri (de exemplu, este puțin probabil ca un link către un handler pentru transferul de bani să fie specificat printr-un tag img, așa că astfel de cereri pot fi blocate fără a le transmite aplicației);
- Funcție adăugată , care inițiază trimiterea programatică a datelor formularului, similar cu clicul pe butonul de trimitere a datelor. Funcția poate fi utilizată în dezvoltarea propriilor butoane de trimitere a formularului, pentru care apelul la form.submit() nu este suficient deoarece nu conduce la verificarea interactivă a parametrilor, generarea evenimentului 'submit' și transmiterea datelor asociate cu butonul de trimitere;
- În IndexedDB a fost adăugată funcția , care permite înregistrarea tranzacțiilor asociate cu obiectul IDBTransaction, fără a aștepta finalizarea handler-ului de evenimente pentru toate cererile asociate. Utilizarea commit() permite creșterea lățimii de bandă pentru cererile de scriere și citire în stocare și controlează explicit finalizarea tranzacției;
- În funcția Intl.DateTimeFormat, cum ar fi formatToParts() și resolveOptions(), au fost adăugate opțiuni , care permit solicitarea stilurilor de afișare a datei și timpului specifice pentru locație;
- Metoda BigInt.prototype.toLocaleString() a fost modificată pentru a formata numerele în funcție de locație, iar metoda Intl.NumberFormat.prototype.format() și funcția formatToParts() au fost adaptate pentru a susține valorile de intrare de tip BigInt;
- Este permisă utilizarea API-ului în toate tipurile de Web Worker, ceea ce poate fi utilizat pentru a alege parametrii optimi la crearea unui MediaStream din worker;
- A fost adăugată metoda , care returnează doar promisiunile deja executate sau respinse, fără a lua în considerare promisiunile în așteptare;
- Opțiunea '—disable-infobars' a fost eliminată, care anterior putea fi utilizată pentru a ascunde alertele pop-up din interfața Chrome (pentru a ascunde alertele legate de securitate, a fost propusă regula CommandLineFlagSecurityWarningsEnabled);
- În interfața pentru lucrul cu blob-uri metodele text(), arrayBuffer() și stream() pentru a citi anumite tipuri de date;
- A fost adăugat proprietatea CSS 'white-space:break-spaces', care definește că orice secvență de spații care duce la depășirea liniei trebuie să fie ruptă;
- A început curățarea flagurilor în chrome://flags, de exemplu, flagul pentru dezactivarea atributului 'ping', care permite proprietarilor de site-uri să urmărească clicurile pe linkuri de pe paginile lor. În cazul accesării unui link cu atributul 'ping=URL' în eticheta 'a href', în browser nu se mai poate dezactiva trimiterea unei cereri POST suplimentare către URL-ul specificat în atributul, cu informații despre clicul efectuat. Sensul blocării ping dispare, deoarece acest atribut în specificațiile HTML5 și există numeroase metode de ocolire pentru a realiza aceeași acțiune (de exemplu, redirecționarea printr-un link de tranzit sau interceptarea click-urilor cu ajutoare JavaScript);
- A fost eliminat flagul pentru dezactivarea , în care paginile de pe hosturi diferite sunt întotdeauna plasate în memorie în procese diferite, fiecare aplicându-și sandbox-ul propriu.
- În motorul V8, performanța scanării și parsării formatului JSON a crescut semnificativ. Pentru paginile web populare, s-a observat o accelerare a execuției JSON.parse de până la 2,7 ori. S-a accelerat semnificativ conversia șirurilor Unicode, de exemplu, viteza de lucru a apelurilor String#localeCompare, String#normalize, precum și a unor API-uri Intl, a crescut aproape de două ori. De asemenea, performanța operațiunilor cu array-uri înghețate a fost optimizată semnificativ atunci când se utilizează operații precum frozen.indexOf(v), frozen.includes(v), fn(…frozen), fn(…[…frozen]) și fn.apply(this, […frozen]).

Pe lângă noutăți și corecții de erori, noua versiune a eliminat . Multe dintre vulnerabilități au fost descoperite ca urmare a testării automate cu instrumentele , , , și . Nu s-au identificat probleme critice care permit ocolirea tuturor nivelurilor de protecție ale browserului și executarea codului în sistem în afara medului sandbox. În cadrul programului de recompensă pentru descoperirea vulnerabilităților pentru această versiune, compania Google a plătit 16 premii în valoare de 23.500 dolari (un premiu de 10.000 dolari, un premiu de 6.000 dolari, două premii de 3.000 dolari și trei premii de 500 dolari). Mărimea a 9 recompense nu a fost deocamdată definită.
Sursa: opennet.ro

