Компания Google релиз на уеб браузъра . Водночас стабилна версия на свободния проект , който е основата на Chrome. Уеб браузърът Chrome използването на логото на Google, наличието на система за уведомления в случай на срив, възможността за зареждане на Flash модула при поискване, модули за възпроизвеждане на защитено видео съдържание (DRM), автоматична система за инсталиране на актуализации и предаване при търсене . Следващата версия Chrome 77 е планирана за 10 септември.
:
- по подразбиране режимът на защита от предаване на външни Cookie, който при липса на атрибута SameSite в заглавието Set-Cookie по подразбиране задава стойност «SameSite=Lax», ограничаваща изпращането на Cookie за встрани от външни сайтове (но сайтовете все още ще могат да отменят ограниченията, изрично задавайки стойността SameSite=None при задаването на Cookie). До сега браузърът предаваше Cookie на всяко запитване към сайта, за който са зададени Cookie, дори ако първоначално е отворен друг сайт, а достъпът се осъществява косвено чрез зареждане на изображение или през iframe. В режим ‘Lax’ предаването на Cookie се блокира само за междусайтови подзапитвания, като запитване за изображение или зареждане на съдържание през iframe, които често се използват за осъществяване на CSRF атаки и за проследяване на движенията на потребителя между сайтовете.
- Показването на Flash съдържание е прекратено по подразбиране. До изданието на Chrome 87, очаквано през декември 2020 г., поддръжката на Flash може да бъде възстановена в настройките (Advanced > Privacy and Security > Site Settings) с последващо ясно потвърждение на операцията за възпроизвеждане на Flash съдържание за всеки сайт (потвърждението се запомня до перезареждане на браузъра). Пълното премахване на кода за поддръжка на Flash е синхронизирано с предишната анонсирана от Adobe програма за прекратяване на поддръжката на технологията Flash през 2020 г.;
- За предприятията в адресната лента е добавена възможността за търсене на файлове в хранилището на Google Drive;
- Започна в Chrome на неприемлива реклама, която нарушава възприятието на съдържанието и не отговаря на критериите, установени от Коалицията за подобряване на рекламата;
- Реализиран е адаптивен режим за превключване на нова страница, при който изчистването на текущото съдържание и показването на бял фон не се извършва незабавно, а с малко закъснение. При бързо зареждащи се страници, изчистването води само до трептене и не носи полезна информация, която да информира потребителя за стартиране на зареждането на нова страница. В новата версия, ако страницата се отваря бързо и попада в малкото закъснение, новата страница се показва на място, безшевно заменяйки предишната (например, удобно при преминаване към близки по оформление и цветова гамата страници на същия сайт). Ако за показването на страницата е необходимо значително време за потребителя, екранът ще бъде предварително изчистван, както и преди.
- Станаха по-строги критериите за определяне на активността на потребителя на страницата. Chrome позволява показване на изскачащи уведомления и възпроизвеждане на досадно видео/аудио съдържание само след действия от страна на потребителя на страницата. В новата версия натискането на Escape, преминаването на курсора над линк и докосването на екрана вече не се считат за активиране на взаимодействието със страницата (необходимо е явно кликване, въвеждане на текст или скролиране);
- медийна заявка «prefers-color-scheme», позволяваща на сайтовете да определят прилагането на тъма тема в браузъра и автоматично да включат тъмно оформление за разглеждания сайт.
- При включване на тъмната тема в сборките за Linux, адресната лента вече се показва и в тъмен цвят;
- възможността да се определя отварянето на страницата в режим инкогнито чрез манипулации с FileSystem API, което преди е било използвано от някои издания за налагане на платен абонамент в случай на анонимно отваряне на страници без запазване на Cookie (за да не могат потребителите да използват частния режим за заобикаляне на механизма за предоставяне на безплатен пробен достъп). Преди при работа в режим инкогнито браузърът е блокирал достъпа до FileSystem API, за да предотврати съхраняването на данни между сесиите, което е позволявало чрез JavaScript да се провери възможността за запазване на данни чрез FileSystem API и в случай на неуспех да се съди за активността на инкогнито режима. Сега достъпът до FileSystem API не е блокиран, а съдържанието се изчиства след приключване на сесията;
- нови извиквания в
API заявка за плащане и обработчик на плащания. В обекта PaymentRequestEvent се появи нов метод changePaymentMethod(), а в обекта PaymentRequest е добавен нов обработчик на събитие paymentmethodchange, който позволява на платформата за извършване на плащания или уеб-приложение да реагира на смяната на метода на плащане от потребителя. В новото издание тестовете за приложения, свързани с плащания, също бяха опростени, позволявайки използването на самоподписани сертификати. За игнориране на грешките при проверка на сертификати по време на разработка е добавена нова опция в командния ред „—ignore-certificate-errors“; - В адресната лента до бутона за добавяне в отметки за уеб-приложения, работещи в режим Desktop Progressive Web Apps (PWA), ярлик за инсталиране на уеб-приложение в системата, работещо като отделна програма;
- За мобилни устройства е предоставена възможност за управление на показването на мини панела с покана за добавяне на приложението на домашния екран. За PWA-приложенията мини панелът по подразбиране автоматично се показва при първото отваряне на сайта. Разработчикът вече може да откаже показването на този панел и да реализира собствена покана за инсталация, за което може да се зададе обработчик на събитие
beforeinstallprompt и да свърже с него извикването на preventDefault(); - Увеличена е честотата на проверка за обновления за инсталирани PWA-приложения в Android (Progressive Web App). Обновленията на WebAPK сега се проверяват веднъж на ден, а не веднъж на три дни, както беше по-рано. Ако при подобна проверка в манифеста бъде установено изменение на поне едно ключово свойство, браузърът ще изтегли и инсталира новия WebAPK;
- В API е добавена възможност за програмен достъп до четене и запис на изображения чрез буфера за обмен, използвайки методите navigator.clipboard.read() и navigator.clipboard.write();
- Реализирана е поддръжка на група HTTP заглавия (Sec-Fetch-Dest, Sec-Fetch-Mode, Sec-Fetch-Site и Sec-Fetch-User), позволяващи изпращането на допълнителни метаданни относно характера на заявката (междусайтови заявки, заявки чрез img таг и т.н.), за предприемане на мерки на сървъра за защита от определени типове атаки (например, малко вероятно е връзката на обработчика за превод на пари да бъде зададена чрез img таг, така че такива заявки могат да бъдат блокирани без да се предават на приложението);
- Добавена функция , която инициира програмираното изпращане на данни от формата, по аналогия с кликването върху бутона за изпращане на данни. Функцията може да се прилага при разработката на собствени бутони за изпращане на формата, за които извикването на form.submit() не е достатъчно, тъй като то не води до интерактивна проверка на параметрите, генериране на събитие 'submit' и предаване на данните, свързани с бутона за изпращане;
- В IndexedDB е добавена функция , позволяваща фиксиране на транзакции, свързани с обект IDBTransaction, без да се изчаква завършването на обработчиците на събития във всички свързани заявки. Използването на commit() увеличава пропускната способност на записите и четенето в хранилището и явно контролира завършването на транзакцията;
- В функцията Intl.DateTimeFormat, като formatToParts() и resolveOptions(), са добавени опции , което позволява запитване за стилове за показване на дата и час, специфични за локализация;
- Методът BigInt.prototype.toLocaleString() е променен, за да форматира числа с оглед на локализацията, а методът Intl.NumberFormat.prototype.format() и функцията formatToParts() са адаптирани да поддържат входни стойности от тип BigInt;
- Разрешено е използването на API във всички типове Web Worker-и, което може да се използва за избор на оптимални параметри при създаването на MediaStream от работник;
- Добавен е метод , който връща само вече изпълнени или отхвърлени promise, без да отчита promise, чакат изпълнение;
- Премахната е опцията '—disable-infobars', която преди можеше да се прилага за скриване на изскачащи предупреждения в интерфейса на Chrome (за скриване на свързани с безопасността предупреждения е предложено правило CommandLineFlagSecurityWarningsEnabled);
- В интерфейса за работа с блобове методите text(), arrayBuffer() и stream() за четене на определени типове данни;
- Добавено е CSS свойство 'white-space: break-spaces', определящо, че всяка последователност от пространства, водеща до преливане на реда, трябва да бъде прекъсната;
- Започна работа по почистването на флаговете в chrome://flags, например, флаг за деактивиране на атрибута 'ping', позволяващ на собствениците на сайтове да проследяват преминаванията по връзките от техните страници. При преминаване по линк, при наличие в таг 'a href' на атрибута 'ping=URL', в браузъра вече не може да бъде деактивирано изпращането на допълнителен POST запитване до указаното в атрибута URL с информация за извършването на преминаването. Смисълът на блокирането на ping се губи, тъй като този атрибут в спецификациях HTML5 и съществуват много обходни методи за извършване на същото действие (например, пренасочване чрез транзитна връзка или прихващане на кликвания с JavaScript обработчици);
- Премахнат флаг за деактивиране , при който страниците на различни хостове винаги се зареждат в паметта на различни процеси, в които се прилага собствен sandbox.
- В двигателя V8 е значително увеличена производителността на сканиране и парсинг на JSON формат. За популярни уебстраници се наблюдава увеличение на скоростта на изпълнение на JSON.parse до 2.7 пъти. Значително е ускорено преобразуването на unicode стрингове, например, скоростта на извикванията String#localeCompare, String#normalize, както и на някои API Intl, се е удвоила. Също така е значително оптимизирана производителността на операции с замразени масиви при използване на операции, подобни на frozen.indexOf(v), frozen.includes(v), fn(…frozen), fn(…[…frozen]) и fn.apply(this, […frozen]).

Освен нововъведенията и корекциите на грешки, в новата версия са отстранени . Много от уязвимостите са открити в резултат на автоматизирано тестване с инструменти. , , , и . Не са открити критични проблеми, които позволяват заобикаляне на всички нива на защита на браузъра и изпълнение на код в системата извън sandbox средата. В рамките на програмата за изплащане на парични възнаграждения за откритие на уязвимости за текущото издание компанията Google е изплатила 16 награди на обща стойност 23500 долара (една награда $10000, една награда $6000, две награди $3000 и три награди $500). Размерът на 9 награди все още не е определен.
Източник: opennet.ru

