Google Chrome 147 veb-brauzerini chiqardi. Shu bilan birga, Chrome-ning asosi bo'lgan bepul Chromium loyihasining barqaror versiyasi mavjud. Chrome brauzeri Google logotiplaridan foydalanishi, xatolik yuz berganda bildirishnomalar yuborish tizimi, nusxa ko‘chirishdan himoyalangan video kontentini (DRM) o‘ynatish modullariga ega, avtomatik yangilanish o‘rnatish tizimiga ega, har doim Sandbox izolyatsiyasini yoqish, Google API kalitlarini yetkazib berish va qidiruv paytida RLZ parametrlarini uzatishi bilan Chromium’dan farq qiladi. Yangilash uchun ko'proq vaqt kerak bo'lganlar uchun 8 hafta davomida qo'llab-quvvatlanadigan alohida kengaytirilgan barqaror filial mavjud. Navbatdagi Chrome 148 versiyasi 5-mayga rejalashtirilgan.
Chrome 147 dagi asosiy o'zgarishlar (1, 2, 3, 4):
- Vertikal yorliqlarni ko'rsatish rejimi qo'shildi, yuqori gorizontal chiziq yorliq tugmalari bilan almashtirildi va vertikal yorliqlar bilan yon panelga o'rnatildi. Vertikal yorliqlar kengaytirilgan (belgi + qisman tavsif) yoki yig'ilgan (faqat belgi) rejimlarda ko'rsatilishi mumkin. Yon yorliq ustiga sichqonchani olib borish uning tarkibining eskizini ko'rsatadi. Yorliq guruhlarini boshqarish soddalashtirildi. Yorliq qatoriga sichqonchaning o'ng tugmasi bosilganda paydo bo'ladigan kontekst menyusiga "Yorliqlarni vertikal ravishda ko'rsatish" opsiyasi qo'shildi. Agar bu parametr sukut bo'yicha ko'rsatilmasa, uni "chrome://flags/#vertical-tabs" sozlamasi orqali yoqish mumkin.
- O'qish rejimi sahifada faqat tegishli matnni ko'rsatish uchun qayta ishlab chiqilgan bo'lib, barcha tegishli boshqaruv elementlari, bannerlar, menyular, navigatsiya panellari va sahifaning boshqa kontentga aloqador bo'lmagan qismlarini yashiradi. Firefox-ga o'xshash yangi versiyada tegishli kontent asl sahifa yonidagi tor yon panelda emas, balki butun ko'rinadigan maydonda ko'rsatiladi. Agar yangi rejim sukut bo'yicha yoqilmagan bo'lsa, uni "chrome://flags/#read-anything-immersive-reading-mode" sozlamasi orqali yoqish mumkin.
- Firibgarlik yoki fishing maqsadlarida yaratilgan veb-sahifalarni blokirovka qilish uchun shikoyat yuborish uchun "Yordam" menyusiga tugma qo'shildi. Ushbu tugma "Xavfsiz ko'rib chiqish" rejimi yoqilganda ko'rsatiladi.
- Ommaviy veb-saytlar bilan o'zaro aloqada mahalliy tizimga kirishdan himoya qilishning kengaytirilgan himoyasi. Veb-saytlardan kirish IP manzillari Mahalliy tarmoq (intranet yoki ichki manzillar) yoki loopback interfeysi (127.0.0.0/8) foydalanuvchi tasdiqlashini talab qiladi. Himoya endi nafaqat HTTP/HTTPS, fetch() so'rovlari va iframe qo'shimchalari orqali resurslarni yuklashga urinishlarni, balki WebSockets va WebTransport orqali ulanishlarni, shuningdek, WindowClient.navigate() usuli orqali boshlangan fetch so'rovlarini ham qamrab oladi. Hujumchilar bilvosita identifikatsiya qilish va marshrutizatorlar, kirish nuqtalari, printerlar, korporativ veb-interfeyslar va faqat mahalliy tarmoqdan so'rovlarni qabul qiladigan boshqa qurilmalar va xizmatlarga CSRF hujumlarini amalga oshirish uchun ichki resurslarga kirishdan foydalanadilar.
- XML tahlil qilish funksiyasi libxml2 dan Rust tilida yozilgan yangi kutubxonaga xavfsizlikni yodda tutgan holda ko'chirildi. Bu o'zgarish faqat XMLga tegishli; avval e'lon qilinganidek, XSLT qo'llab-quvvatlashi tez orada bekor qilinadi.
- Endi startViewTransition() usulidan nafaqat butun sahifa uchun, balki alohida HTML elementlari uchun ham foydalanish mumkin.
- contrast-color() CSS funksiyasi qo'shildi. U belgilangan rangning teskarisini qaytaradi (oq rang uchun qora rangni, qora rang uchun esa oq rangni qaytaradi). Bu funksiyadan ma'lum bir matn rangining fon rangini moslashtirish uchun va aksincha foydalanish mumkin.
- "border-shape" CSS xususiyati qo'shildi, bu sizga elementlar atrofida to'rtburchak bo'lmagan chegaralar yaratish imkonini beradi, masalan, dumaloq yoki ko'pburchak chegaralardan foydalanish. "border-shape" CSS xususiyati "clip-path" xususiyati bilan bir xil shakl turlarini qabul qiladi, lekin ikkinchisidan farqli o'laroq, u konturni aniqlaydi, uni dekodlaydi va konturdan tashqariga chiqadigan har qanday tarkibni qisib qo'yadi.
- JavaScript’dan CSS soxta elementlari bilan ishlash imkonini beruvchi CSSPseudoElement interfeysi qo‘shildi.
- Endi havola elementi nafaqat skriptlarni, balki CSS uslublari bilan modullarni ham oldindan yuklash uchun "rel=modulepreload" atributidan foydalanishni qo'llab-quvvatlaydi ( ) va JSON ma'lumotlari ( ).
- CSS xususiyatlarida border-width, outline-width va column-rule-width chegaralari va konturlarining kengligini hisoblash xatti-harakati o'zgartirildi va uni Firefox va WebKit asosidagi brauzerlar bilan birlashtirdi. Ilgari, agar border-style, outline-style yoki column-rule-style xususiyatlari "none" yoki "hidden" ga o'rnatilgan bo'lsa, ushbu xususiyatlardagi kenglik ularning qiymatlaridan qat'i nazar, nolga qaytarilardi. Endi order-width, outline-width va column-rule-width qiymatlari "*-style" xususiyatlarining mazmunidan qat'i nazar, har doim ishlab chiquvchi tomonidan belgilangan qiymatlarga mos keladi.
- Massiv elementlari va boshqa sanab o‘tiladigan ob’ektlar yig‘indisini sikldagi oddiy yig‘indidan kattaroq aniqlik bilan hisoblash uchun Math.sumPrecise() usuli qo‘shildi (natijalar orasidagi natijalarni saqlashda aniqlik yo‘qotishlarini bartaraf etish).
- Sahifa qayta yuklanganligini aniqlash uchun Request.isReloadNavigation atributi qo'shildi, masalan, "Yangilash" tugmasini bosgandan yoki location.reload() va history.go(0) usullarini chaqirgandan so'ng.
- Bilvosita identifikatsiyalashning aniqligini kamaytirish uchun, RAM hajmi haqida ma'lumot beruvchi Device Memory API orqali qaytarilgan xotira hajmini yaxlitlash mantig'i o'zgartirildi. Ushbu ma'lumot cheklangan RAMga ega qurilmalarga yuklanadigan veb-ilovalarning yengil versiyalarini yaratish yoki katta hajmdagi xotira mavjud bo'lganda ilg'or funksiyalarni faollashtirish uchun foydali bo'lishi mumkin. Platforma uchun tuzilganlarda Android Xotira hajmi endi 1, 2, 4 va 8 gacha, boshqa platformalar uchun esa 2, 4, 8, 16 va 32 gacha yaxlitlanadi.
- Alohida veb-ilovalar (IWA) uchun printerlarning mavjudligini aniqlash, hujjatlarni chop etishga yuborish va chop etish navbatini boshqarish usullarini taqdim etuvchi Web Printing API joriy etilgan. APIda ishlatiladigan atribut nomlari va semantikasi Internet Printing Protocol (IPP) ga mos keladi.
- "Origin sinovlari" rejimi WebNN API-ni amalga oshiradi, bu operatsion tizim va tegishli apparat imkoniyatlari tomonidan taqdim etiladigan mashina o'rganish xizmatlaridan foydalanish imkonini beradi.
- Veb-ishlab chiquvchi vositalariga yaxshilanishlar kiritildi. O'rnatilgan AI yordamchisi endi kontekstlarni avtomatik ravishda tanlaydi. Turli mobil qurilmalarda veb-sayt ishlashini sinab ko'rish uchun ishlatiladigan "Qurilma rejimi" paneli modernizatsiya qilindi. Tarmoq paneli endi Content-Encoding: gzip yoki deflate sarlavhasi bilan yuborilgan so'rovlar uchun siqilgan kontentni avtomatik ravishda dekodlaydi. Muntazam ifodalar endi CSS uslublarini filtrlash uchun ishlatilishi mumkin.
Yangi funksiyalar va xatolarni tuzatishdan tashqari, yangi versiya 60 ta zaiflikni bartaraf etadi. Ko'pgina zaifliklar AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer va AFL yordamida avtomatlashtirilgan sinovlar orqali aniqlandi. Ikkita muammoga (buferning toshib ketishi va WebMLdagi butun sonning toshib ketishi) jiddiylik darajasi berildi, ya'ni ular brauzer himoyasining barcha qatlamlarini chetlab o'tib, kodni sinov muhitidan tashqarida bajarishi mumkin edi. Joriy versiya uchun zaifliklarni bounty dasturining bir qismi sifatida Google 60 ta mukofotni ta'sis etdi va 118 000 dollar mukofotladi (ikkita mukofot 43 000 dollar, ikkita mukofot 11 000 dollar va har biri 4000 dollar, 3000 dollar, 2000 dollar va 1000 dollardan bittadan mukofot). 52 ta mukofot miqdori hali aniqlanmagan.
Manba: opennet.ru
