Компания Google пускане на уеб браузъра . В същото време стабилен релиз на безплатния проект , който е основата на Chrome. Браузърът Chrome с използването на логотипите на Google, наличието на система за уведомяване при срив, възможността за сваляне на Flash модула по искане, модули за възпроизвеждане на защитено видео (DRM), автоматично инсталиране на актуализации и предаване при търсене . Следващото издание на Chrome 77 е планирано за 10 септември.
:
- по подразбиране режимът на защита от изпращане на трети страни Cookie, който при липса на атрибута SameSite в заглавието Set-Cookie по подразбиране задава стойността «SameSite=Lax», ограничаваща изпращането на Cookie за вмъквания от трети сайтове (но сайтовете все пак ще могат да отменят ограничението, изрично задавайки при настройка на Cookie стойността SameSite=None). Досега браузърът предаваше 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, които позволяват на платформата за приемане на плащания или уеб приложението да реагират на промяната на метода на плащане от потребителя. В новото издание в свързаните с плащанията API също е опростено тестването на приложения с използване на само подписани сертификати. За игнориране на грешките при проверка на сертификатите по време на разработката беше добавена нова опция за команден ред «—ignore-certificate-errors»; - В адресната лента до бутона за добавяне към отметки за уеб приложения, работещи в режим Desktop Progressive Web Apps (PWA), ярлык за инсталиране на уеб приложението в системата, за да работи като отделна програма;
- За мобилни устройства е предоставена възможност за управление на извеждането на мини панела с покана за добавяне на приложението на началния екран. За PWA приложения (Progressive Web App) мини панелът по подразбиране автоматично се показва при първото отваряне на сайта. Разработчикът сега може да откаже извеждането на този панел и да реализира собствена покана за инсталиране, за което може да зададе обработчик на събитието
beforeinstallprompt и да свърже с него извикването на preventDefault(); - Увеличена е честотата на проверка за актуализации за инсталирани в средата Android PWA приложения (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 от worker;
- Добавен е метод , който връща само вече изпълнени или отхвърлени 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

