Компания Google публикува новата версия на уеб браузъра Chrome 122. Същевременно е наличен стабилен релиз на свободния проект Chromium, който е основата на Chrome. Браузерът Chrome се различава от Chromium с употребата на логотипите на Google, наличието на система за известяване при срив, модули за възпроизвеждане на защитено от копиране видео съдържание (DRM), автоматична инсталация на обновления, постоянно включена Sandbox изолация, предоставяне на ключове за Google API и предаване на RLZ параметри при търсене. За онези, които имат нужда от повече време за обновление, отделно се поддържа версия Extended Stable с продължителност от 8 седмици. Следващото издание на Chrome 123 е планирано за 19 март.
Основни промени в Chrome 122:
- Съгласно изискванията на европейския закон DMA (Digital Markets Act) в браузъра е добавен екран за избор на търсачка, която ще се използва по подразбиране. На разположение са търсачки, които могат да се намерят в раздела за настройки „chrome://settings/search“. Търсачките в списъка се показват в произволен ред.

- На страницата „chrome://settings/security“ е добавена опция, която позволява деактивиране на JIT оптимизаторите в JavaScript двигателя V8. Деактивирането на JIT може да бъде полезно за повишаване на сигурността при работа с потенциално опасни уеб приложения, като намалява възможните атаки.

- В версията за Android е добавена функция за четене на глас на текст, наличен на уеб страницата. Режимът на четене може да бъде включен от падащото меню и да се контролира с обичайни бутони за управление на възпроизвеждането. Функцията използва външен услуга и изпраща връзка до сървъри Google, който предоставя синтез на реч.
- Продължава тестването на експериментални възможности, използващи машинно обучение — режим на интелигентно групиране на раздели, генератор на теми и интерактивен помощник, за които беше съобщено в анонса на версия Chrome 121.
- В режим на браузъра за защита (Safe Browsing) е реализирана поддръжка на асинхронно изпълнявани външни проверки, които не блокират зареждането на проверяваната страница. При това, проверките по локалните списъци все още се извършват синхронно и страницата не се показва до тяхното приключване, за да се защити потребителят от използването на страници с експлоити. Що се отнася до фишинга, е малко вероятно потребителят да успее да реагира на страницата преди приключването на външната проверка и извеждането на предупреждението.
- Преосмислен е текстът на предупрежденията, показвани при опит за изтегляне на злонамерени файлове и за вече изтеглени файлове в мениджъра на изтеглянията.

- Започна постепенното преминаване към игнориране на обработчиците на събития „unload“, които не позволяват ефективно използване на кеша за преходи (BFCache — Back-forward cache), осигуряващ мигновен преход при използване на бутоните „Назад“ и „Напред“ или при навигация по наскоро преглеждани страници на текущия сайт. Поведението на стационарния Chrome ще бъде приближено до мобилните браузъри, които в повечето случаи не генерират събитие „unload“, отдавайки приоритет на кеширането на преходите. В Chrome 122 обработката на събитието „unload“ е изключена за 1% от потребителите.
- В системата за автоматично попълване на данни за плащане е добавена възможност за запазване на кодовете за проверка на автентичността (CVV/CVC) за местни и сървърни карти. Кодът се запазва след извеждане на предупреждение и явно съгласие от потребителя.
- Добавен е API Storage Buckets, предоставящ допълнителни възможности за управление на постоянното съхранение на данни в локалната система на потребителя. Новият API позволява организирането на съхранение на данни с разбивка на хранилището на отделни сегменти, асоциирани с API IndexedDB и CacheStorage. Сегментите се изтриват от браузъра независимо един от друг, а на потребителя е предоставена възможност да определя приоритетите, управляващи кои от сегментите да се изтриват първо. По този начин се решава проблемът с загубата на важни данни в случай на изчерпване на наличните лимити за размер на хранилището, предоставяно чрез API IndexedDB и localStorage.
- В API Async Clipboard в метод read() е добавена опция «unsanitized», прилагана при копиране от clipboard и пействаме в него. Когато е зададена тази опция, приложението получава неизменено съдържание на HTML маркировката за данните от clipboard, без почистване, нормализация и замяна на опасни конструкции (например, съдържанието на блока «» не се преобразува).
- CSS запитванията «@container» вече няма да сработват при посочване на неподдържани характеристики, например запитването «@container (width > 0px) or (unknown) {}» няма да сработи заради израза «unknown».
- В CSS е разрешено определянето на условия в правилата за импортиране «@import … supports(…)». Ако проверката не премине, импортът не се извършва. Например, за зареждане на стилове, когато се зададе «animation-timeline» в стойност «auto», може да се укаже ‘scroll-driven-animations.css’ @import «scroll-driven-animations.css» supports(animation-timeline: auto);.
- В CSS е променена логиката на обработка на псевдо-елемента «::backdrop», която сега наследява от изходния елемент (по-рано «::backdrop» не наследяваше стойности от други елементи, което не позволяваше достъп до свойства, определени в коренния елемент).
- Действието на метода dataTransfer.clearData() е ограничено само до текстови обекти, т.е. този метод вече не може да се прилага към обекти File.
- В WebGL е добавена функцията drawingBufferStorage, позволяваща настройка на пикселния формат за буфера на рисуване, което дава възможност за директно извеждане на съдържанието с повече от 8 бита на цветния канал и избягване на излишни операции за копиране, изискващи се за преобразуване в пикселния формат, използван по подразбиране.
- Постигнати са подобрения в инструментите за web-разработчици. Добавена е поддръжка за промяна на цветове и следване на стил, зададен в избраната тема на браузера.

Разширени са възможностите на панела за анализ на производителността, в който на времевата скала е добавена поддръжка за запазване на диапазони на изпълнение (отрезки на времевата скала) и превключване между тях.
В основния трек (Performance > Main) е добавено показване на инициаторите на събития и техните визуални връзки със събитията, които те предизвикват.

В панела за анализ на мрежовата активност в колоната със статус на изпълнението на заявките е предоставено показване на причините за неуспехите. Преработено е контекстното меню за копиране на линка или съдържанието на запитването.

Освен нововъведенията и корекциите на грешки в новата версия са отстранени 12 уязвимости. Много от уязвимостите са открити в резултат на автоматизирано тестване с инструментите AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Не са идентифицирани критични проблеми, които да позволяват заобикаляне на всички нива на защита на браузъра и изпълнение на код в системата извън средата на пясъчника. В рамките на програмата за изплащане на парични награди за откритие на уязвимости за текущото издание компанията Google е изплатила 8 награди на обща стойност 28 хиляди долара (по една награда от $8000, $7000, $5000, $3000 и $2000, и три награди от $1000). Най-високите награди са присъдени за грешка в реализацията на изолация на сайтове, откритие на препълване на буфера в двигателя Blink и опит за достъп до вече освободена памет (Use-after-free) в библиотеката Mojo.
Източник: opennet.ru






