Компания Google представи версия на уеб браузера Chrome 96. В същото време е налична стабилна версия на свободния проект Chromium, който служи за основа на Chrome. Браузерът Chrome се отличава с използването на логотипи на Google, наличието на система за изпращане на известия в случай на срив, модули за възпроизвеждане на защитено видеосъдържание (DRM), система за автоматично инсталиране на актуализации и предаване на RLZ параметри при търсене. Версията Chrome 96 ще бъде поддържана в продължение на 8 седмици в рамките на цикъла Extended Stable. Следващото издание на Chrome 97 е планирано за 4 януари.
Основни промени в Chrome 96:
- В панела с отметки, показван под адресната лента, по подразбиране е скрита бутона Apps („Услуги“), който позволяваше отваряне на страницата „chrome://apps“ със списък на инсталираните услуги и уеб приложения.

- Поддръжката на платформа Android 5.0 и по-стари версии е прекратена.
- Добавена е поддръжка за пренасочване от HTTP към HTTPS с използването на DNS (при определяне IP адреса освен DNS записи „A“ и „AAAA“, се извършва заявка за DNS записа „HTTPS“, при наличие на който браузърът веднага се свързва с сайта по HTTPS).
- В редакцията за десктоп системи кешът за предаване (Back-forward cache), осигуряващ мигновено преминаване при използване на бутоните „Назад“ и „Напред“, е разширен с поддръжка за навигация по предварително разгледаните страници след отваряне на друг сайт.
- Добавена е настройка „chrome://flags#force-major-version-to-100“ за тестване на възможно нарушение на работата на сайтове след достигането на браузера до версия, състояща се от три цифри вместо две (в свое време след пускането на Chrome 10 в библиотеките за анализ на User-Agent възникнаха много проблеми). При активиране на опцията в заглавието на User-Agent започва да се показва версия 100 (Chrome/100.0.4664.45).
- В сборките за платформата Windows данните, свързани с работата на мрежовите услуги (бисквитки и др.), са преместени в отделен подпапка „Network“, в рамките на подготовката за реализиране на механизма за мрежова изолация (Network Sandbox).
- В режим на Origin Trials (експериментални функции, изискващи специално активиране) бяха добавени няколко нови API. Origin Trial означава възможност за работа с посочения API от приложения, натоварени от localhost или 127.0.0.1, или след регистрация и получаване на специален токен, който действа за ограничен период на конкретен сайт.
- Предложен е обектът FocusableMediaStreamTrack (който ще бъде преименуван на BrowserCaptureMediaStreamTrack), поддържащ метода focus(), с помощта на който приложения, осъществяващи захващане на съдържание от прозорци или раздели (например, програми за предаване на съдържание от прозорци по време на видеоконференции), могат да получат информация за фокуса на входа и да проследят измененията му.
- Реализиран е механизъм Priority Hints, който позволява да се зададе важността на даден ресурс при зареждане чрез указването на допълнителен атрибут „importance“ в таговете като iframe, img и link. Атрибутът може да приема стойности „auto“, „low“ и „high“, които оказват влияние върху реда на зареждане на външните ресурси от браузъра.
- В заглавието Cross-Origin-Embedder-Policy, което управлява режима на изолация Cross-Origin и позволява определяне на правилата за безопасно използване на привилегировани операции на страницата, е добавена поддръжка на параметъра „credentialless“ за деактивиране на предаването на информация, свързана с удостоверения, като Cookie и клиентски сертификати.
- В CSS е предложен нов псевдо-клас „:autofill“, който позволява проследяване на автоматичното попълване на полета от браузъра в таг input (при ръчно попълване селекторът не сработва).
- За изключване на зацикляне на запитвания, CSS свойствата writing-mode, direction и backgrounds вече не се разпространяват на viewport при прилагане на CSS свойството contain (CSS Containment) към таговете HTML или BODY.
- Добавено е CSS свойство font-synthesis, което позволява управление на възможността за синтез на начертания (oblique, bold и small-cap), които липсват в избраното семейство шрифтове.
- В API PerformanceEventTiming, което позволява получаване на допълнителна информация за измерване и оптимизиране на отзивчивостта на интерфейса, е добавен атрибут InteractionID с идентификатор на взаимодействие с потребителя. Идентификаторът позволява свързване на различни метрики с едно действие на потребителя, например при допир до сензорния екран се генерират няколко събития, като pointerdown, mousedown, pointerup, mouseup и click, и InteractionID позволява свързването на всичките тези събития с едно допир.
- Добавен е нов тип медиавиражения (Media Query) — „prefers-contrast“ за адаптиране на съдържанието на страницата към настройките за контрастност, зададени в операционната система (например, включване на режим на висока контрастност).
- За отделените PWA-приложения е добавена поддръжка на незадължително поле „id“ с глобален идентификатор на приложението в манифеста (ако полето не е указано, за идентификация се използва стартовият URL).
- За отделените PWA приложения е реализирана възможност за регистрация като обработчици на URL. Например, приложението music.example.com може да се регистрира като обработчик на URL https://*.music.example.com и всички преходи от външни приложения по тези връзки, например от месинджъри и имейл клиенти, ще доведат до отваряне на това PWA приложение, а не на нов таб в браузъра.
- Добавена е директива CSP (Content Security Policy) wasm-unsafe-eval за управление на възможността за изпълнение на код на WebAssembly. Прилагането на CSP директивата script-src вече обхваща и WebAssembly.
- В WebAssembly е добавена поддръжка на референтни типове (тип externref). Модулите на WebAssembly вече могат да съхраняват в променливи и да предават като аргументи референции на JavaScript и DOM обекти.
- В PaymentMethodData е обявена за остаряла поддръжката на метода на плащане „basic-card“, който позволяваше работа с всякакви типове карти чрез единен идентификатор, без привързване към отделни типове данни. Вместо „basic-card“ се предлагат алтернативни методи като Google Pay, Apple Pay и Samsung Pay.
- При използване на API U2F (Cryptotoken) на сайта, на потребителя ще бъде показано предупреждение с информация за остаряване на този интерфейс. API U2F ще бъде деактивиран по подразбиране в изданието Chrome 98 и напълно премахнат в Chrome 104. Вместо API U2F трябва да се използва API Web Authentication.
- Внесени са подобрения в инструментите за уеб разработчици. Добавена е нова панел "CSS Обзор" (CSS Overview), в която се предлага обобщение на информацията за цветове, шрифтове, неупотребявани декларации и медиавыражения, както и акцентирани възможни проблеми. Подобрени са операциите по редактиране и копиране на CSS. В панела Стилове (Styles) в контекстното меню е добавена опция за копиране на CSS определения в форма на JavaScript изрази. В панела за инспектиране на мрежови заявки е добавена раздел Payload с разбиране на параметрите на заявката. В уеб консолата е добавена опция за скриване на всички грешки CORS (Cross-Origin Resource Sharing) и е осигурен изход на стека за проследяване на асинхронни функции.

В допълнение към нововъведенията и поправките в новата версия са отстранени 25 уязвимости. Много от уязвимостите са открити чрез автоматизирано тестване с инструменти AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Критични проблеми, които позволяват заобикаляне на всички нива на защита на браузъра и изпълнение на код в системата извън sandbox средата, не са открити. В рамките на програмата за изплащане на парично възнаграждение за открити уязвимости, компанията Google е изплатила 13 премии на обща стойност 60 хиляди долара (една премия от $15000, една премия от $10000, две премии от $7500, една премия от $5000, две премии от $3000, една премия от $2500, две премии от $2000, две премии от $1000 и една премия от $500). Размерът на 5 от наградите все още не е определен.
Източник: opennet.ru


