Lansarea Chrome 80

Compania Google a prezentat lansarea unui browser web Chrome 80. În același timp disponibil versiunea stabilă a unui proiect open-source Chromium, care stă la baza Chrome. Browserul Chrome se distinge 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 parametrii RLZ. Următoarea versiune Chrome 81 este programată pentru 17 martie.

Principalele modificări în Chrome 80:

  • Pentru un mic procent de utilizatori, a fost propusă o funcție de grupare a tab-urilor, care permite unirea mai multor tab-uri similare în grupuri vizual separate. Fiecărui grup îi poate fi atribuită o culoare și un nume. Utilizatorii care nu au fost incluși în prima etapă de activare pot activa suportul pentru grupare prin opțiunea „chrome://flags/#tab-groups”.

    Lansarea Chrome 80
  • A fost adăugat suport pentru funcția Scroll-To-Text, care permite crearea de linkuri către cuvinte sau fraze individuale, fără a indica explicit în document etichete folosind eticheta „a name” sau proprietatea „id”. Sintaxa acestor linkuri urmează să fie aprobată ca standard web, care momentan se află în brouillon. Masca de tranziție (în esență, se efectuează o căutare cu derulare) se separă de ancora obișnuită prin indicatorul „:~:”. De exemplu, atunci când se deschide linkul „https://opennet.ru/52312/#:~:text=Chromе”, pagina se va muta la poziția cu prima mențiune a cuvântului „Chromе” și acesta va fi evidențiat.
  • Aplicat o restricție mai strictă asupra transferului de cookie-uri între site-uri, interzicând procesarea cookie-urilor terță parte pentru solicitările non-HTTPS, atunci când se accesează site-uri diferite de domeniul paginii curente. Aceste cookie-uri sunt utilizate pentru a urmări mișcările utilizatorilor între site-uri în codul rețelelor de publicitate, al widget-urilor de socializare și al sistemelor de web-analiză. Să ne amintim că gestionarea transferului de cookie-uri se face prin atributul SameSite specificat în antetul Set-Cookie, care acum este în mod implicit setat la „SameSite=Lax”, limitând trimiterea de cookie-uri pentru subîntrebări intersite, cum ar fi solicitările de imagini sau încărcarea de conținut prin iframe de pe un alt site. Site-urile pot supra-scrie modul implicit SameSite setând explicit valoarea SameSite=None la instalarea cookie-urilor. Totuși, valoarea SameSite=None pentru cookie-uri poate fi setată doar în modul Secure (care se aplică conexiunilor prin HTTPS). Schimbarea va începe treptat fi utilizat 17 februarie, inițial pentru un mic procent de utilizatori, iar apoi extinzând treptat acoperirea.
  • Adăugat protecția împotriva notificărilor enervante legate de confirmarea permisiunilor. Deoarece o astfel de activitate, cum ar fi spamul cu solicitări pentru primirea de notificări push, întrerupe activitatea utilizatorului și distrage atenția de la acțiunile din dialogurile de confirmare, în Chrome 80, în locul unui dialog separat, acum poate apărea un mesaj informativ în bara de adrese cu un avertisment despre blocarea solicitării de permisiuni, care se contractă apoi într-un indicator cu un clopot tăiat. Prin clic pe indicator, se poate activa sau respinge permisiunea solicitată în orice moment convenabil. Automat, noul mod va fi activat selectiv pentru utilizatorii care, până acum, blocau în mod obișnuit aceste solicitări, precum și pentru site-urile pe care se înregistrează un procent mare de respingere a solicitărilor. Pentru a activa noul mod pentru toate solicitările, în setări a fost adăugată o opțiune specială (chrome://flags/#quiet-notification-prompts).

    Lansarea Chrome 80
  • A fost interzis afișarea ferestrelor pop-up (apelul metodei window.open()) și trimiterea de solicitări sincrone XMLHttpRequest în handlerii evenimentelor de închidere sau ascundere a paginii (unload, beforeunload, pagehide și visibilitychange);
  • S-a propus o inițiere protecției împotriva încărcării de conținut multimedia mixt (când pe o pagină HTTPS se încarcă resurse prin protocolul http://). Pe paginile deschise prin HTTPS, acum, linkurile „http://” vor fi înlocuite automat cu „https://” în secțiunile legate de redarea fișierelor audio și video. Dacă resursa audio sau video nu este disponibilă prin https, atunci încărcarea acesteia este blocată (poate fi marcată manual blocarea prin meniul accesibil prin simbolul lacătului din bara de adrese).

    Imaginile vor continua să se încarce fără modificări (înlocuirea automată va fi aplicată în Chrome 81), dar pentru înlocuirea pe https sau blocarea imaginilor, dezvoltatorilor de site-uri li se oferă proprietățile CSP upgrade-insecure-requests și block-all-mixed-content. Pentru scripturi și iframe, blocarea conținutului mixt a fost implementată anterior.

  • A început treptat dezactivarea suportului FTP. Implicit, suportul FTP este încă menținut, dar va fi efectuat un experiment în cadrul căruia suportul FTP va fi dezactivat pentru un anumit procent de utilizatori (pentru a reveni, va fi necesar să se lanseze browserul cu opțiunea „—enable-ftp”). Reamintim că în versiunile anterioare, deja a fost dezactivată afișarea conținutului resurselor încărcate prin protocolul „ftp://” (de exemplu, a fost întreruptă afișarea documentelor HTML și a fișierelor README), s-a interzis utilizarea FTP pentru încărcarea subresurselor din documente și a fost oprit suportul pentru proxy pentru FTP. Cu toate acestea, posibilitatea de a încărca fișiere prin linkuri directe și de a afișa conținutul directoarelor a rămas valabilă.
  • Adăugat
    posibilitatea utilizării imaginilor vectoriale SVG ca favicon pentru site.
  • În setări a fost adăugată opțiunea de a dezactiva selectiv anumite tipuri de date transmise în timpul sincronizării între browsere.
  • Pentru utilizatorii corporativi administrați centralizat a fost adăugat un regulament BlockExternalExtensions, care permite interzicerea instalării extensiilor externe pe dispozitiv.
  • Implementată posibilitatea verificarea simultană a întregului lanț de proprietăți sau apeluri în JavaScript. De exemplu, când se face referire la „db.user.name.length”, anterior era necesar să se verifice pas cu pas definiția tuturor părților, de exemplu, prin „if (db && db.user && db.user.name)”. Acum, cu ajutorul operatorului „?.”, se poate accesa valoarea „db?.user?.name?.length” fără verificări anterioare și această accesare nu va genera o eroare. În cazul problemelor (dacă un element este tratat ca null sau undefined), la ieșire va fi afișată valoarea „undefined”.
  • În JavaScript a fost propus un nou operator logic de unire „????”, care returnează operandul din dreapta dacă operandul din stânga are valoarea NULL sau undefined și invers. De exemplu, „const foo = bar ?? ‘string implicit'” dacă bar este egal cu null, va returna stringul sau valoarea bar în caz contrar, inclusiv atunci când bar este 0 și „”, spre deosebire de operatorul „||”.
  • În modul Origin Trials (funcționalități experimentale care necesită o activare separată activare) a fost propus API-ul de indexare a conținutului. Origin Trial implică posibilitatea de a lucra cu API-ul specificat din aplicații, încărcate de pe localhost sau 127.0.0.1, sau după ce s-a finalizat înregistrarea și s-a obținut un token special, care are o valabilitate limitată pentru un anumit site. API Indexarea conținutului, oferind metadate despre conținutul care a fost anterior în cache de aplicațiile web care funcționează în modul Progressive Web Apps (PWS). Aplicația poate salva în browser diverse date, inclusiv imagini, videoclipuri și articole, iar în cazul pierderii conexiunii la rețea, poate folosi aceste date prin API Cache Storage și IndexedDB. Content Indexing API permite adăugarea, găsirea și ștergerea unor astfel de resurse. Acest API este deja folosit în browser pentru a lista paginile și datele multimedia disponibile pentru vizualizare offline.

    Lansarea Chrome 80
  • Interfața de programare a aplicațiilor Contact Picker, permițând utilizatorului să selecteze înregistrări din agenda de contacte și să trimită anumite detalii despre acestea către site. La solicitare, se definește o listă de proprietăți care trebuie obținute. Aceste proprietăți sunt afișate clar utilizatorului, care decide dacă să transmită sau nu aceste proprietăți. API-ul poate fi folosit, de exemplu, într-un client de email web pentru a selecta destinatarii unui mesaj, într-o aplicație web cu funcția VoIP pentru a iniția un apel la un anumit număr sau într-o rețea socială pentru a căuta prieteni deja înregistrați. În cadrul Origin Trials, au fost propuse unele proprietăți noi pentru Contact Picker: pe lângă nume, email și număr de telefon, a fost adăugată posibilitatea de a transmite adresa poștală și o imagine.
  • În Web Workers sub licența MIT. Instrumentul utilizează metode de învățare automată, împreună cu analiza statică și dinamică a codului JavaScript. Se afirmă că utilizarea învățării automate a permis îmbunătățirea semnificativă a preciziei în identificarea codului pentru identificarea ascunsă și a identificat cu 26% mai multe scripturi problematice un nou mod de a încărca module ECMAScript, care permite evitarea utilizării funcției importScripts(), care blochează activitatea worker-ului în timpul procesării scriptului importat și îl execută în contextul global. Noua metodă implică crearea de module speciale pentru Web Workers, care suportă mecanismele standard de import JavaScript și pot fi încărcate dinamic, fără a bloca execuția worker-ului. Pentru încărcarea modulelor, constructorul Worker prevede un nou tip de resursă - 'module':

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

  • Implementată funcționalitate integrată de procesare în JavaScript a fluxurilor comprimate, care nu necesită utilizarea bibliotecilor externe. Pentru comprimare și decompresie, au fost adăugate API-urile CompressionStream și DecompressionStream. Suportă comprimarea folosind algoritmii gzip și deflate.

    const compressionReadableStream
    = inputReadableStream.pipeThrough(new CompressionStream('gzip'));

  • A fost adăugat proprietatea CSS 'line-break: anywhere«, care permite ruperea la nivelul oricărui caracter tipografic, inclusiv rupturi lângă caractere de punctuație, spații predefinite (<pre>) și în mijlocul cuvintelor. A fost adăugat de asemenea un proprietate CSS «overflow-wrap: anywhere» care permite ruperea secvențelor neîntrerupte de caractere în orice loc, dacă în linie nu s-a găsit o poziție adecvată pentru rupere.
  • Pentru un context media, prelucrat în mod criptat, a fost implementată suportul pentru metoda MediaCapabilities.decodingInfo(), care furnizează informații despre capacitățile browser-ului legate de decodarea conținutului protejat (de exemplu, această metodă poate fi utilizată pentru a selecta scenarii de decodare de înaltă calitate sau economisitoare de energie, având în vedere lățimea de bandă disponibilă și dimensiunea ecranului).
  • A fost adăugată metoda HTMLVideoElement.getVideoPlaybackQuality(), prin care se pot obține informații despre performanța redării videoclipului, pentru ajustarea bitrate-ului, rezoluției și altor parametrii video.
  • În API Payment Handler, care simplifică integrarea cu sistemele de plată existente, a fost adăugată posibilitatea delegarea de a transmite adresa și informațiile de contact unui procesator de plăți extern (aplicația sistemului de plată poate avea informații mai exacte decât browser-ul).
  • A fost adăugat suport pentru header-ul HTTP Sec-Fetch-Dest, care permite trimiterea de metadate suplimentare despre tipul conținutului asociat cu cererea (de exemplu, pentru o cerere prin tag-ul img se specifică tipul „image”, pentru fonturi – „font”, pentru scripturi – „script”, pentru stiluri – „style” etc.). Pe baza tipului specificat, serverul poate lua măsuri de protecție împotriva unor tipuri de atacuri (de exemplu, este puțin probabil ca un link către un procesator de transfer de bani să fie definit prin tag-ul img, deci astfel de cereri nu trebuie procesate).
  • În motorul JavaScript V8 a fost efectuată optimizarea stocării pointerilor în heap. În loc de o valoare completă de 64 de biți, este asigurată stocarea doar a biților inferiori unici ai pointerului. Această optimizare a permis reducerea consumului de memorie în heap cu 40%, în schimbul unei scăderi a performanței de 3-8%.
    Lansarea Chrome 80

    Lansarea Chrome 80
  • Modificări în instrumentele pentru dezvoltatori web:
    • În consola web a apărut posibilitatea de a suprascrie expresiile let și class.

      Lansarea Chrome 80
    • Instrumentele de depanare pentru WebAssembly au fost îmbunătățite. A fost adăugat suportul pentru DWARF pentru depanarea pas cu pas, definirea punctelor de oprire și analiza trasărilor stivei în codul sursă pe care este scrisă aplicația WebAssembly.

      Lansarea Chrome 80
    • Panoul pentru analiza activității de rețea a fost îmbunătățit. A fost adăugată opțiunea de a vizualiza lanțul de apeluri de scripturi asociate cu inițierea cererii.

      Lansarea Chrome 80

      S-au adăugat coloanele noi Path și URL, care arată calea absolută și URL-ul complet pentru fiecare resursă de rețea. A fost asigurată evidențierea cererii selectate în diagrama de revizuire.

      Lansarea Chrome 80
    • În tab-ul Condiții de rețea, a fost adăugată opțiunea de a modifica parametrul User-Agent.

      Lansarea Chrome 80
    • A fost propus un nou interfață pentru configurarea panoului de audit.
      Lansarea Chrome 80
    • În tab-ul Acoperire s-a oferit posibilitatea de a colecta date de acoperire pentru fiecare funcție sau pentru fiecare bloc de cod (statistică mai detaliată, dar necesită mai multe resurse).

      Lansarea Chrome 80
  • Acțiunea manifestului AppCache (tehnologie pentru organizarea funcționării aplicației web în mod offline) este limitată la directorul curent al site-ului (dacă manifestul a fost încărcat de la www.example.com/foo/bar/, posibilitatea de a rescrie URL-ul va funcționa doar în interiorul /foo/bar/). În Chrome 82, suportul pentru AppCache este planificat să fie eliminat complet. Motivul invocat este dorința de a elimina una dintre vectorii pentru atacurile legate de scripting între site-uri. În loc de AppCache, se recomandă utilizarea API-ului Cache.
  • Oprit suportul pentru API-ul învechit WebVR 1.1, în locul căruia poate fi folosit API-ul WebXR Device, care permite accesul la componente pentru crearea unor experiențe de realitate virtuală și augmentată și unifică lucrul cu diverse clase de dispozitive, de la căști staționare de realitate virtuală până la soluții bazate pe dispozitive mobile.
  • Handlerii de protocoale, conectați prin metodele registerProtocolHandler() și unregisterProtocolHandler(), acum pot funcționa doar în context sigur (prin acces HTTPS).

Pe lângă noutăți și corecții de erori, noua versiune a eliminat 56 de vulnerabilități. Multe dintre vulnerabilități au fost descoperite ca urmare a testării automate cu instrumentele AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer și AFL. Nu au fost identificate probleme critice care să permită ocolirea tuturor nivelurilor de protecție ale browserului și executarea codului în sistem dincolo de mediu sandbox. În cadrul programului de recompensare pentru descoperirea vulnerabilităților pentru versiunea actuală, compania Google a plătit 37 de premii în valoare totală de 48 de mii de dolari (o recompensă de 10.000 USD, trei recompense de 5.000 USD, trei recompense de 3.000 USD, patru recompense de 2.000 USD, trei recompense de 1.000 USD și șase recompense de 500 USD). Sumele a 17 recompense nu au fost încă definite.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster