Компания Google представи версия на уеб браузъра Chrome 106. В същото време е налична стабилна версия на свободния проект Chromium, който е основата на Chrome. Браузърът Chrome се отличава от Chromium с употребата на логотипите на Google, наличие на система за изпращане на уведомления при срив, модули за възпроизвеждане на защитено от копиране видео съдържание (DRM), система за автоматично инсталиране на актуализации, постоянно активиране на безрискова изолация (Sandbox), доставка на ключове за Google API и предаване на RLZ параметри при търсене. За тези, които се нуждаят от повече време за актуализация, бутона Extended Stable остава на разположение за 8 седмици. Следващото издание на Chrome 107 е планирано за 25 октомври.
Основни промени в Chrome 106:
- За потребителите на настолни версии е включен по подразбиране механизма Prerender2 за предварително изобразяване на съдържанието на препоръките в адресната лента Omnibox. Предварителното изобразяване допълва по-рано наличната възможност за зареждане на най-вероятните за кликване препоръки, без да се изчака потребителския клик. Освен зареждането, съдържанието на страниците, свързани с препоръките, може да бъде изобразявано в буфер (включително изпълнение на скриптове и изграждане на DOM дърво), което осигурява мигновено показване на препоръките след клик.
- Предоставена възможност за търсене в историята, отметките и табовете директно от адресната лента Omnibox. За локализиране на търсенето са предложени управляващи тагове @history, @bookmarks и @tabs. Например, за търсене в отметките е необходимо да се въведе «@bookmarks търсене». За деактивиране на търсенето от адресната лента в настройките за търсене е предвидена специална опция.


- Поддръжката на технологията Server Push, определена в стандартите HTTP/2 и HTTP/3, е деактивирана по подразбиране. сървър изпращане на ресурси на клиента, без да се чака за явна заявка от него. Причината за прекратяване на поддръжката е излишното усложняване на технологията при наличие на по-прости и не по-малко ефективни алтернативи, като таг , HTTP отговор 103 и протокол WebTransport. Според статистиката на Google през 2021 година около 1.25% от сайтовете, работещи с HTTP/2, използваха Server Push, а през 2022 година този показател спадна до 0.7%. Технологията Server Push също присъства в спецификацията на HTTP/3, но на практика много сървърни и клиентски софтуерни продукти, включително браузера Chrome, първоначално не я реализираха.
- Отключена е възможността за използване на не-ASCII символи в домейните, посочени в заглавката Cookie (за IDN домейни следва да се посочват домейни в формат punycode). Промените приведоха браузъра в съответствие с изискванията на RFC 6265bis и поведението, реализирано в Firefox.
- Предложени са по-категорични етикети за идентифициране на екраните в многоекранни конфигурации. Подобни етикети могат да се показват в диалози за предоставяне на права за отваряне на прозорец на външен екран. Например, вместо номер на външния екран (‘External Display 1’) сега ще се показва името на модела на монитора (‘HP Z27n’).
- Подобрения в версията за Android:
- На страницата с история на посещенията е осигурена поддръжка на механизма «Journey», обобщаващ предишната активност чрез групиране на информация за извършени търсения и прегледани страници. При въвеждане на ключови думи в адресната лента, ако те са били използвани преди в търсения, се предлага да се продължи търсенето от прекъснатата позиция.
- На устройства с Android 11 е предоставена възможност за блокиране на страницата, отворена в режим инкогнито, след превключване на друго приложение. За продължаване на прегледа след блокирането е необходимо преминаване през аутентификация. По подразбиране блокирането е деактивирано и изисква активиране в настройките за поверителност.
- При опит за изтегляне на файлове от режим инкогнито, е осигурен допълнителен въпрос за потвърждение на запазването на файла и предупреждение, че изтегленият файл ще бъде видим за други потребители на устройството, тъй като той ще бъде запазен в областта на мениджъра за изтегляния.

- Предоставянето на API chrome.runtime за всички сайтове е прекратено. Сега този API се предоставя само при наличие на свързани с него браузерни добавки. По-рано chrome.runtime беше достъпен за всички сайтове, тъй като се използваше от вграденото разширение CryptoToken с реализация на API U2F, чиято поддръжка е прекратена.
- В режим на Origin Trials (експериментални функции, изискващи специално активиране) бяха добавени няколко нови API. Origin Trial означава възможност за работа с посочения API от приложения, натоварени от localhost или 127.0.0.1, или след регистрация и получаване на специален токен, който действа за ограничен период на конкретен сайт.
- Концепцията за анонимни iframe, която позволява зареждането на документ в отделен контекст, несвързан с други iframe и основния документ.
- API Pop-Up за организиране на извеждането на интерфейсни елементи над други елементи, например, за работа с интерактивни менюта, подсказки, инструменти за избор на съдържание и обучителни системи. За показване на елемент на най-горния слой се използва нов атрибут «popup». В отличие от диалозите, създавани с елемента
- За свойствата ‘grid-template-columns’ и ‘grid-template-rows’, използвани в CSS Grid, е реализирана поддръжка на интерполация за организиране на плавен преход между различни състояния на мрежата.
- В CSS свойството ‘forced-color-adjust’ е добавена поддръжка на стойността ‘preserve-parent-color’, при задаване на която свойството «color» заимства стойността си от родителския елемент.
- Свойството «hyphenate-character» вече е налично без префикса «-webkit-». Това свойство може да се използва за задаване на строка, която да замести символа за пренос в края на дума («-«).
- Реализирана е третата версия на API Intl.NumberFormat, в която са добавени нови функции formatRange(), formatRangeToParts() и selectRange(), групировки на множества, нови опции за закръгляне и задаване на точност, възможността за интерпретация на стрингове като десетични числа.
- В API ReadableStream е добавена поддръжка за ефективна пряка предаване на бинарни данни от последователен порт, заобикаляйки вътрешните опашки и буфери. Пряката предавка се активира чрез задаване на режима BYOB — «port.readable.getReader({ mode: 'byob' })».
- В интерфейсите за работа със звук и видео (AudioDecoder, AudioEncoder, VideoDecoder и VideoEncoder) е добавена поддръжка за събитие «dequeue» и свързаните с него callback-вызови, които се активират, когато кодекът започне да изпълнява поставените в опашка задачи за кодиране или декодиране на съдържанието.
- В API WebXR Device е реализирана възможност за raw-достъп до текстурите на изображения от камерата, синхронизирани с текущата позиция във виртуалната среда.
- Направени са подобрения в инструментите за web-разработчици. В панела Sources се появи възможност за групиране на файлове по източник. Подобрено е трасировката на стека за асинхронни операции. Появи се възможност за автоматично игнориране при отстраняване на грешки в известни външни скриптове. Добавена е възможност за скриване на игнорираните файлове в менюто и панелите. Подобрен е работния процес със стека от повиквания в отладчика.

В панела Performance е добавена нова следа Interactions за визуализиране на взаимодействията със страницата и идентифициране на потенциални проблеми с отзивчивостта на интерфейса.

Освен нововведенията и поправките на грешки в новата версия, са отстранени 20 уязвимости. Много от уязвимостите са открити в резултат на автоматизирано тестване с инструменти AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Критични проблеми, които да позволят заобикаляне на всички нива на защита на браузера и изпълнение на код в системата извън sandbox-околната среда, не са открити. В рамките на програмата за изплащане на парични награди за откритие на уязвимости, компанията Google е изплатила 16 награди на обща стойност 38500 долара (по една награда от $9000, $7500, $7000, $5000, $4000, $3000, $2000 и $1000). Размерът на осем от наградите все още не е определен.
Източник: opennet.ru





