Chrome versiyasi 74

Google taqdim veb-brauzer versiyasi Chrome 74... Bir vaqtning o'zida mavjud bepul loyihaning barqaror chiqarilishi Chromium, bu Chrome brauzerining asosi bo'lib xizmat qiladi. Chrome brauzeri farq qiladi Google logotiplaridan foydalanish, so'rov bo'yicha Flash modulini yuklab olish imkoniyati, avariya holatida bildirishnomalarni yuborish tizimining mavjudligi, himoyalangan video kontentini o'ynatish modullari, yangilanishlarni avtomatik ravishda o'rnatish va qidiruv paytida uzatish tizimi RLZ parametrlari. Chrome 75-ning navbatdagi versiyasi 4-iyunga rejalashtirilgan.

asosiy o'zgartirish в Chrome 74:

  • Sahifa yopilganda chaqiriladigan onUnload hodisasi sodir bo'lganda, hozir taqiqlangan qalqib chiquvchi oynalarni ko'rsatish (window.open() qo'ng'irog'i bloklangan), bu foydalanuvchilarni shubhali saytlarni yopib qo'ygandan keyin reklama sahifalarini ochishga majbur qilishdan himoya qiladi;
  • JavaScript dvigatelida amalga oshirildi yangi rejim paydo bo'ldi JIT-kamroq (“—jitless” bayrog‘i), bu JavaScript-ni JIT-dan foydalanmasdan (faqat tarjimon ishlatiladi) va kodni bajarish paytida bajariladigan xotirani ajratmasdan bajarishga imkon beradi. JITni oʻchirib qoʻyish potentsial xavfli veb-ilovalar bilan ishlashda xavfsizlikni yaxshilash, shuningdek, JIT-dan foydalanishni taqiqlovchi platformalarda (masalan, iOS, baʼzi smart televizorlar va oʻyin konsollari. JIT oʻchirilgan boʻlsa, JavaScript-ni ishga tushirishni) taʼminlash uchun foydali boʻlishi mumkin. Speedometer 40 testida unumdorlik 2.0% ga va Web Tooling Benchmark testida 80% ga pasayadi, ammo YouTube bilan ishlashni taqlid qilishda unumdorlik atigi 6% ga pasaydi, xotira iste'moli esa bir oz, atigi 1.7% ga kamaydi;
  • V8 shuningdek, yangi optimallashtirishlarning katta qismini taklif etadi. Masalan, haqiqatda o'tgan parametrlar soni funktsiyani aniqlashda ko'rsatilgan argumentlar soniga to'g'ri kelmaydigan funktsiya chaqiruvlarining bajarilishi 60% ga tezlashdi. Get funksiyasi yordamida DOM xossalariga kirish tezlashtirildi, bu esa Angular frameworkning ishlashiga ijobiy taʼsir koʻrsatadi. JavaScript-ni tahlil qilish tezlashdi: UTF-8 dekoderini optimallashtirish oqim rejimida (yuklashda tahlil qilish) tahlil qilish samaradorligini 8% ga oshirish imkonini berdi va keraksiz deuplikatsiya operatsiyalarini bartaraf etish yana 10.5% ga o'sishni ta'minladi;
  • JavaScript dvigatelining xotira sarfini kamaytirish bo'yicha ishlar amalga oshirildi.
    Umumiy yig'ish hajmining taxminan 15% ni egallagan bayt-kod keshini tozalash uchun kod qo'shildi. Ishlatiladigan funksiyalar yoki faqat ishga tushirilganda chaqiriladigan funksiyalar uchun kamdan-kam kompilyatsiya qilinadigan bayt-kodni keshdan chiqarish uchun axlat yig'uvchiga bosqich qo'shildi. Tozalash qarori bayt-kodga oxirgi marta kirishni hisobga oladigan yangi hisoblagichlar asosida qabul qilinadi. Ushbu o'zgarish ishlashga salbiy ta'sir qilmasdan xotira sarfini 5-15% ga qisqartirdi. Bundan tashqari, bayt-kod kompilyatori aniq foydalanilmagan kodni yaratishni istisno qiladi, masalan, qaytish yoki tanaffusdan keyin (agar unga Jump o'tish bo'lmasa);

    Chrome versiyasi 74

  • WebAssembly uchun amalga oshirildi iplar va atom operatsiyalarini qo'llab-quvvatlash (API WebAssembly Threads va WebAssembly Atomics);
  • Skriptlarni alohida yetkazib berish uchun “#!” sarlavhasini qo'llab-quvvatlash qo'shildi, bu tarjimonni ishga tushirishni belgilaydi. Misol uchun, boshqa skript tillariga o'xshab, JavaScript fayli quyidagicha ko'rinishi mumkin:

    #!/usr/bin/env tugun
    console.log(42);

  • CSS-ga yangi media so'rov qo'shildi "kamaytirilgan harakatni afzal ko'radi", saytga animatsion effektlarni o'chirish bilan bog'liq operatsion tizimdagi sozlamalar holatini aniqlashga imkon beradi. Tavsiya etilgan so'rovdan foydalanib, sayt egasi Jon foydalanuvchi animatsion effektlarni o'chirib qo'yganligini bilib oling va shuningdek, saytda turli xil animatsiya xususiyatlarini o'chirib qo'ying, masalan, diqqatni jalb qilish uchun ishlatiladigan tugmachalarning tebranish effektini olib tashlang;
  • Chrome 72-da kiritilgan umumiy maydonlarni aniqlash qobiliyatiga qo'shimcha ravishda qo‘llab-quvvatlash amalga oshirildi Maydonlarni shaxsiy deb belgilash, shundan so'ng ularning qiymatlariga kirish faqat sinf ichida ochiladi. Maydonni shaxsiy deb belgilash uchun maydon nomidan oldin “#” belgisini qo'shing. Umumiy maydonlarda bo'lgani kabi, xususiy mulklar ham konstruktordan aniq foydalanishni talab qilmaydi.
  • API xatti-harakatlarini boshqarish va ba'zi xususiyatlarni yoqish imkonini beruvchi Feature-Policy HTTP sarlavhasi qo'shildi (masalan, siz XMLHttpRequest sinxron ish rejimini yoqishingiz yoki Geolocation API-ni o'chirib qo'yishingiz mumkin) JavaScript API muayyan imkoniyatlar faoliyatini nazorat qilish. Ishlab chiquvchilar uchun uchta funktsiyani taklif qiluvchi document.featurePolicy va frame.featurePolicy ikkita yangi usul mavjud:
    allowFeatures() joriy domen uchun ruxsat etilgan xususiyatlar ro‘yxatini olish uchun, allowFeature() muayyan funksiyalar yoqilganligini tanlab tekshirish uchun va getAllowlistForFeature() joriy sahifada belgilangan funksiyaga ruxsat berilgan domenlar ro‘yxatini qaytarish uchun;

  • Rejim uchun tajribaviy (“chrome://flags#enable-text-fragment-anchor”) qo‘shildi Matnga aylantirish, bu sizga "a name" tegi yoki "id" xususiyatidan foydalangan holda hujjatdagi teglarni aniq ko'rsatmasdan, alohida so'zlar yoki iboralarga havolalar yaratish imkonini beradi. Havolani yuborish uchun "#targetText=" maxsus parametri taklif etiladi, unda siz o'tish uchun matnni belgilashingiz mumkin. Ajratuvchi sifatida vergul yordamida fragmentning boshi va oxirini ko'rsatuvchi iboralarni o'z ichiga olgan niqobni belgilashga ruxsat beriladi (masalan, “example.com#targetText=start%20words, end%20words”);
  • AudioContext konstruktoriga opsiya qo'shildi namuna darajasi, bu sizga Web Audio API orqali audio operatsiyalari uchun namuna olish tezligini o'rnatish imkonini beradi;
  • Qo'shilgan sinf yordami Intl.Locale, bu mahalliy til tomonidan o'rnatilgan til, mintaqa va uslub parametrlarini tahlil qilish va qayta ishlash, shuningdek Unicode kengaytma teglarini o'qish va yozish, foydalanuvchi mahalliy sozlamalarini ketma-ketlashtirilgan formatda saqlash usullarini taqdim etadi;
  • mexanizm Imzolangan HTTP almashinuvi (SXG) uchun asboblar bilan kengaytirilgan xabardor qilish sertifikatni tekshirish bilan bog'liq muammolar kabi imzolangan kontentni yuklab olishdagi xatolar haqida kontent tarqatuvchilar. Xatolarni qayta ishlash API kengaytmalari orqali amalga oshiriladi Tarmoq xatolar jurnali. Eslatib o'tamiz, SXG Bu beradi bitta sayt egasi elektron raqamli imzodan foydalangan holda boshqa saytga ma'lum sahifalarni joylashtirishga ruxsat beradi, shundan so'ng, agar ushbu sahifalarga ikkinchi saytda kirsa, brauzer foydalanuvchiga asl saytning URL manzilini ko'rsatadi. sahifa boshqa xostdan yuklanganligi;
  • TextEncoder sinfiga usul qo'shildi encodeInto(), bu sizga oldindan ajratilgan buferga to'g'ridan-to'g'ri kodlangan satr yozish imkonini beradi. encodeInto() usuli encode() usuliga yuqori unumli muqobil bo‘lib, har safar kirishda bufer ajratish operatsiyasini bajarishni talab qiladi.
  • Xizmat ko'rsatuvchi xodim taqdim etilgan hujjat tayyor bo'lgunga qadar client.postMessage() chaqiruvini buferlash. client.postMessage() orqali yuborilgan xabarlar DOMContentLoaded hodisasi ko'tarilguncha, onmessage o'rnatilguncha yoki startMessage() chaqirilmaguncha saqlanadi;
  • CSS Transitions spetsifikatsiyasi talab qilganidek qo'shildi CSS o'tish navbatga qo'yilganda, bekor qilinganda, ishga tushirilganda yoki bajarilishini tugatganda hosil bo'ladigan transitionrun, transitioncancel, transitionstart va transitionend hodisalari.
  • XMLHttpRequest uchun overrideMimeType() yoki MIME turi orqali noto'g'ri kodlash belgilansa, u endi Lotin-8 o'rniga UTF-1 ga tushadi;
  • Iframe-larni qayta ishlashda fayllarni avtomatik ravishda yuklab olish mumkin bo'lgan "foydalanuvchini faollashtirmasdan yuklab olishga ruxsat berish" xususiyati eskirgan va kelajakdagi versiyada olib tashlanadi. Kelajakda foydalanuvchining aniq harakatlarisiz fayllarni yuklab olishni boshlash taqiqlanadi, chunki u suiiste'mol qilish, yuklab olishga majburlash va zararli dasturlarning qismlarini foydalanuvchi kompyuteriga kiritish uchun faol ishlatilgan. Yuklashni boshlash uchun foydalanuvchi o'sha sahifani bosishi kerak bo'ladi. Mulk dastlab Chrome 74 da olib tashlanishi rejalashtirilgan edi, biroq olib tashlandi qoldirildi Chrome 76 gacha.
  • Windows platformasi uchun interfeys dizayni uchun ixtiyoriy qorong'u mavzu taklif etiladi (oldingi versiyada macOS uchun qorong'u mavzu tayyorlangan). Qorong'i dizayn inkognito rejimidagi dizayn bilan deyarli bir xil bo'lgani uchun, shaxsiy ish rejimini ta'kidlash uchun foydalanuvchi profili belgisi o'rniga maxsus indikator qo'shildi;
  • Korporativ foydalanuvchilar uchun imkoniyat qo'shildi Chrome brauzeri bulutli boshqaruvi Google Admin konsoli orqali foydalanuvchi brauzer sozlamalarini boshqarish;

    Chrome versiyasi 74

Innovatsiyalar va xatolarni tuzatishdan tashqari, yangi versiya yo'q qiladi 39 ta zaifliklar. Ko'pgina zaifliklar asboblar bilan avtomatlashtirilgan sinovlar natijasida aniqlangan Manzil Sanitizer, Xotirani tozalash vositasi, Oqimning yaxlitligini boshqarish, LibFuzzer и AFL. Brauzer himoyasining barcha darajalarini chetlab o'tishga va tizimda sinov muhitidan tashqarida kodni bajarishga imkon beradigan muhim muammolar aniqlanmagan. Joriy versiyaning zaif tomonlarini aniqlaganlik uchun pul mukofotlarini to'lash dasturi doirasida Google 19 26837 dollar miqdorida 3000 ta mukofot to'ladi (to'rtta 2000 dollarlik mukofot, to'rtta 1337 dollarlik mukofot, bitta 1000 dollarlik mukofot, to'rtta 500 dollarlik mukofot, uchta 4 dollarlik mukofot). XNUMX ta mukofot miqdori hali aniqlanmagan.

Manba: opennet.ru

a Izoh qo'shish