Izlaz Chrome 105

Tvrtka Google predstavila je izdanje web preglednika Chrome 105. Istovremeno je dostupan stabilni izdanja slobodnog projekta Chromium, koji čini osnovu Chromea. Preglednik Chrome se razlikuje od Chromija po korištenju Googleovih logotipa, prisutnosti sustava za slanje obavijesti u slučaju rušenja, modulima za reprodukciju zaštitnog videokontenta (DRM), sustavu automatske instalacije ažuriranja, stalnom uključivanju Sandbox izolacije, opskrbi ključevima za Google API te prijenosu RLZ parametara tijekom pretraživanja. Za one kojima je potrebno više vremena za ažuriranje, posebno se podržava grana Extended Stable koja traje 8 tjedana. Sljedeće izdanje Chrome 106 planirano je za 27. rujna.

Glavne promjene u Chrome 105:

  • Prestanak podrške za specijalizirane web aplikacije Chrome Apps, kojima su u zamjenu došle odvojene web aplikacije temeljene na tehnologiji Progressive Web Apps (PWA) i standardnim Web API-jevima. Izvorno je Google najavio namjeru da se odrekne Chrome aplikacija još 2016. godine i planirao je prestati s njihovom podrškom do 2018. godine, ali je potom odgodio taj plan. U Chrome 105, pri pokušaju instalacije Chrome aplikacija, bit će prikazana obavijest o prestanku njihove podrške, ali same aplikacije će se nastaviti pokretati. U Chrome 109 mogućnost izvršavanja Chrome aplikacija bit će onemogućena.
  • Osigurana dodatna izolacija procesa „renderer”, koji je odgovoran za prikazivanje. Ovaj proces sada se izvršava u dodatnoj kontejnerskoj jedinici (App Container), koja se implementira iznad postojećeg sustava sandbox izolacije. U slučaju iskorištavanja ranjivosti u kodu za prikazivanje, dodana ograničenja neće omogućiti napadaču pristup mreži, zahvaljujući zabrani pristupa povezanih sistemskih poziva s mrežnim mogućnostima.
  • Implementirano je vlastito jedinstveno skladište osnovnih certifikata ovlaštenih centara (Chrome Root Store). Novo skladište za sada nije uključeno prema defaultu i do završetka implementacije, certifikati će se i dalje provjeravati koristeći specifična skladišta za svaku operativnu sistemu. Testirana solucija podsjeća na pristup tvrtke Mozilla, koja održava odvojeno neovisno skladište osnovnih certifikata za Firefox, koje se koristi kao prva točka za provjeru lanca povjerenja certifikata prilikom otvaranja stranica putem HTTPS-a.
  • Pripreme za ukidanje podrške za API Web SQL, koji nije standardiziran, gotovo se ne koristi i treba prepraviti kako bi ispunio moderne sigurnosne zahtjeve, su započele. U Chromeu 105 zabranjen je pristup Web SQL-u iz koda koji je učitan bez korištenja HTTPS-a, a također je dodano upozorenje o zastarjelosti tehnologije prikazano u DevTools. U 2023. godini planira se uklanjanje API-ja Web SQL. Za programere kojima je potrebna slična funkcionalnost, bit će pripremljena zamjena temeljem WebAssembly.
  • U Chrome sync-u ukinuta je podrška za sinkronizaciju s Chromeom 73 i ranijim izdanjima.
  • Za platforme macOS i Windows aktiviran je ugrađeni preglednik certifikata, koji je zamijenio poziv sučelja koje pruža operacijski sustav. Prije je ugrađeni preglednik korišten samo u izdanjima za Linux i ChromeOS.
  • U verziju za platformu Android dodane su postavke za upravljanje API-jem 'Topics & Interest Group', promoviranim u okviru inicijative Privacy Sandbox, koje omogućuju određivanje kategorija interesa korisnika i njihovo korištenje umjesto kolačića za praćenje kako bi se istaknule skupine korisnika s sličnim interesima bez identifikacije pojedinih korisnika. U prošlom izdanju takve su postavke dodane u verzije za Linux, ChromeOS, macOS i Windows.
  • Pri uključivanju poboljšane zaštite preglednika (Safe Browsing > Enhanced protection) implementirano je prikupljanje telemetrijskih podataka o instaliranim proširenjima, pristupu API-ju i povezivanju s vanjskim stranicama. Ovi podaci koriste se na Googleovim poslužiteljima za otkrivanje zlonamjernih aktivnosti i kršenja pravila od strane pregledničkih proširenja.
  • Prebačeno je u kategoriju zastarjelih i bit će blokirano u izdanju Chromea 106 mogućnost korištenja ne-ASCII znakova u domenama koje su navedene u zaglavlju kolačića (za IDN domene potrebno je navesti domene u punycode formatu). Ova promjena usklađuje preglednik s zahtjevima RFC 6265bis i ponašanjem implementiranim u Firefoxu.
  • Predložen je API Custom Highlight, namijenjen slobodnoj promjeni stila označenih područja teksta, što omogućuje da se ne ograničavate samo na fiksne stilove za označena područja koje pruža preglednik (::selection, ::inactive-selection) i označavanje sintaktičkih pogrešaka (::spelling-error, ::grammar-error). U prvoj verziji API-a podržana je promjena boje teksta i pozadine pomoću pseudoelemenata color i background-color, ali će u budućnosti biti dodane i druge mogućnosti prilagodbe stila.

    Kao primjer zadataka koji se mogu riješiti novim API-jem, spominje se dodavanje vlastitih mehanizama označavanja teksta u web-okvire koji pružaju alate za uređivanje teksta, različito označavanje tijekom istovremenog zajedničkog uređivanja od strane više korisnika, pretraživanje u virtualiziranim dokumentima i označavanje pogrešaka tijekom provjere pravopisa. Ako su ranije za stvaranje neprilagođenog označavanja bile potrebne složene manipulacije s DOM stablom, API Custom Highlight pruža gotove operacije za dodavanje i uklanjanje označavanja, ne utječući na strukturu DOM-a i primjenjujući stilove u vezi s objektima Range.

  • U CSS-u je dodan upit „@container“, koji omogućuje oblikovanje stila elemenata ovisno o veličini roditeljskog elementa. „@container“ podsjeća na upite „@media“, ali se primjenjuje ne na veličinu cijelog vidljivog područja, već na veličinu bloka (kontejnera) u koji je smješten element, što omogućuje postavljanje vlastite logike odabira stila za dječje elemente, neovisno o tome gdje se na stranici smještaja element.
    Izlaz Chrome 105
  • Dodana je CSS pseudo-klasa «:has()» za provjeru prisutnosti podređenog elementa u roditeljskom. Na primjer, «p:has(span)» obuhvaća elemente <p>, unutar kojih se nalazi element <span>.
  • Dodano je HTML Sanitizer API, koji omogućuje uklanjanje elemenata iz sadržaja koji utječu na prikaz i izvršenje pri ispisu putem metode setHTML(). API može biti koristan za čišćenje podataka koji dolaze izvana od HTML oznaka koje se mogu koristititi za provođenje XSS napada.
  • Omogućena je upotreba API Streams (ReadableStream) za slanje fetch zahtjeva prije nego što se učita tijelo odgovora, tj. može se početi s slanjem podataka ne čekajući završetak generiranja stranice.
  • Za instalirane odvojene web-aplikacije (PWA, Progressive Web App) omogućena je promjena izgleda područja zaglavlja prozora pomoću komponenata Window Controls Overlay, koje proširuju ekran web-aplikacije na cijeli prozor i omogućuju davanje web-aplikaciji izgleda obične stolne aplikacije. Web-aplikacija može upravljati crtanjem i obradom unosa u cijelom prozoru, osim preklapajuće jedinice sa standardnim gumbima za upravljanje prozorom (zatvaranje, smanjivanje, povećavanje).
    Izlaz Chrome 105
  • Stabilizirana je mogućnost pristupa Media Source Extensions iz odvojenih worker-a (u kontekstu DedicatedWorker), što se može koristiti, na primjer, za poboljšanje performansi bufforiranog reprodukcije medijskih podataka stvaranjem objekta MediaSource u odvojenom worker-u i prijenosom rezultata njegovog rada u HTMLMediaElement u glavnom toku.
  • U API Client Hints, koji se razvija za zamjenu zaglavlja User-Agent i omogućuje selektivno dostavljanje podataka o specifičnim parametrima preglednika i sustava (verzija, platforma itd.) samo na zahtjev, serverom, dodana je podrška za svojstvo Sec-CH-Viewport-Heigh, koje omogućuje dobivanje informacija o visini vidljivog područja. Promijenjen je format oznake za zadavanje u oznaci „meta“ parametara Client Hints za vanjske resurse: Bilo je: Postalo je:
  • Dodana je mogućnost stvaranja globalnih handler-a za događaje onbeforeinput (document.documentElement.onbeforeinput), pomoću kojih web-aplikacije mogu preoverride-ati ponašanje prilikom uređivanja teksta u blokovima ,