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

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

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

- Започва постепенен преход към игнориране на обработчиците на събития „unload“, които не позволяват ефективно използване на кеша на прехода (BFCache — кеш за напред-назад), осигуряващ мигновен преход при използване на бутоните „Назад“ и „Напред“ или при навигация по предишно разгледаните страници на текущия сайт. Поведението на настолния Chrome ще бъде приближено до мобилните браузъри, които в повечето случаи не генерират събитие „unload“, отдавайки приоритет на кеширането на преходите. В Chrome 122 обработката на събитието „unload“ е деактивирана за 1% от потребителите.
- В системата за автоматично попълване на параметри за плащания е добавена възможност за запазване на кодове за проверка на автентичност (CVV/CVC) за локални и сървърни карти. Кодове се запазват след извеждане на предупреждение и явното съгласие на потребителя.
- Добавен е API Storage Buckets, предоставящ допълнителни възможности за управление на постоянното съхранение на данни на локалната система на потребителя. Новият API позволява организиране на съхранението на данни, като се разделя хранилището на отделни сегменти, асоциирани с API IndexedDB и CacheStorage. Сегментите се изтриват независимо един от друг от браузъра, а на потребителя се предоставя възможността да задава приоритети, управляващи кои от сегментите да се изтриват първи. По този начин се решава проблемът с загубата на важни данни в случай на изчерпване на наличните лимити на размера на хранилището, предоставено чрез API IndexedDB и localStorage.
- В API Async Clipboard в метод read() добавена опция «unsanitized», применяемая при копировании из буфера обмена и вставки в него. При выставлении данной опции приложению предоставляется неизменное содержимое разметки HTML для данных из буфера обмена, без проведения чистки, нормализации и замены опасных конструкций (например, не преобразуется содержимое блока ).
- 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 битa на цветния канал и избягване на излишни копирания, необходими за преобразуване в пикселовия формат по подразбиране.
- Внесени са подобрения в инструментите за уеб разработчици. Добавена е поддръжка за промяна на цветовите оформления и следване на стила, зададен в избраната в браузъра тема.

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

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

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






