Компания Google пускане на уеб браузъра . В същото време стабилен релиз на безплатния проект , който е основата на Chrome. Браузърът Chrome с използването на логотипите на Google, наличието на система за уведомяване при срив, възможността за сваляне на Flash модула по искане, модули за възпроизвеждане на защитено видео (DRM), автоматично инсталиране на актуализации и предаване при търсене . Следващото издание на Chrome 78 е планирано за 22 октомври.
:
- отделна маркировка на сайтове с сертификати от ниво EV (Разширена Проверка). Информацията за използването на EV-сертификати сега се показва само в падащото меню, появяващо се при кликване на иконата на защитеното съединение. Името на проверената от сертификатния орган компания, към която е привързан EV-сертификатът, вече няма да се показва в адресната лента;
- Усилено е изолирането на обработчиците на сайтове. Добавена е защита за междусайтови данни, като Cookies и HTTP ресурси, получавани от външни сайтове, контролирани от злонамерени лица. Изолацията работи дори ако нападателят открие грешка в процеса, отговарящ за рендерирането, и се опита да изпълни код в неговия контекст;
- Добавена е нова страница за приветствие на нови потребители (chrome://welcome/), показвана вместо стандартния интерфейс за отваряне на нова страница след първото стартиране на Chrome. Страницата позволява добавяне на популярни услуги на Google (GMail, YouTube, Maps, News и Translate) в отметки, прикрепване на ярлици на страницата на новата таб, свързване с Google акаунт за включване на Chrome Sync и назначаване на Chrome като браузър по подразбиране в системата.
- В менюто на страницата на новата таб, показвано в горния десен ъгъл, е добавена възможност за качване на фоново изображение, а също така са добавени опции за избор на тема и конфигуриране на блока с ярлици за бързо навигиране (най-често посещавани сайтове, ръчен избор на потребителя и скриване на блока с ярлици). Настройките все още се позиционират като експериментални и изискват активиране чрез флаговете „chrome://flags/#ntp-customization-menu-v2“ и „chrome://flags/#chrome-colors-custom-color-picker“;
- Обезпечена е анимация на иконата на сайта в заглавието на таба, сигнализираща, че страницата се зарежда;
- Добавен е флаг „—guest“, позволяващ стартиране на Chrome от командния ред в режим на гостуващ вход (без свързване с Google акаунт, без запис на активността в браузъра на диска и без запазване на сесията);
- Продължена е започнатата в предишното издание очистка на флаговете в chrome://flags. Вместо флагове за настройка на поведението на браузера, сега се препоръчва използването на набори от правила;
- В контекстното меню на страницата, табовете и адресната лента добавена е бутон "Изпрати на твоите устройства", който позволява да се изпрати връзка на друго устройство чрез Chrome Sync. След избора на целево устройство, свързано с същия профил, и изпращането на връзката, на целевото устройство ще бъде изведено известие за отваряне на връзката;
- В Android версията, страницата със списък на изтеглените файлове е напълно преработена, като вместо падащо меню с раздели на съдържанието са добавени бутони за филтриране на общия списък по тип съдържание, а миниатюрите на изтеглените изображения сега се показват на цялата ширина на екрана;
- нови метрики за оценка на скоростта на зареждане и рендиране на съдържание в браузъра, позволяващи на уеб-разработчика да определи колко бързо основното съдържание на страницата става достъпно за потребителя. Преди предложените средства за контрол на рендирането позволяват да се прецени само самият факт на стартиране на рендирането, но не и готовността на страницата като цяло. В Chrome 77 е предложен нов API , който позволява да се узнае времето за рендиране на големи (забележими за потребителя) елементи в видимата област, като изображения, видеа, блокови елементи и фон на страницата;
- Добавен е API , предоставящ информация за закъснението преди първото взаимодействие на потребителя (например, натискане на клавиш на клавиатурата или мишката, клик или движение на курсора). Новият API е подмножество на API EventTiming, позволяващо да се получат допълнителни данни за измерване и оптимизиране на отзивчивостта на интерфейса;
- нови възможности за формуляри, опростяващи използването на собствени нестандартни контролни елементи (нестандартни полета за въвеждане, бутони и т.н.). Новото събитие "formdata" дава възможност за използване на обработчици на JavaScript за добавяне на данни в формуляра на етапа на изпращане, без необходимост от запазване на данните в скрити полета input.
Второто нововъведение е поддръжка за създаване на собствени елементи, свързани с формата, които действат като вградени елементи за управление на формите, включително поддържащи възможности, като валидиране на входните данни и иницииране на изпращане на данни на сървъра. За маркиране на елемента като компонент на интерфейса на формата е предложен свойството formAssociated, а за достъп до допълнителни методи за управление на формата, като setFormValue() и setValidity(), е добавен извикването на attachInternals();
- В режим (експериментални възможности, изискващи отделна активация) е добавен нов API , който позволява на потребителя да избере записи от адресната книга и да предаде определени детайли за тях на сайта. При искането се определя списък с свойства, които трябва да бъдат получени (например, име, имейл, номер на телефон). Тези свойства се показват ясно на потребителя, който взема окончателно решение дали да предаде данните или не. API може да бъде използван, например, в уеб пощенски клиент за избор на получатели за изпращано писмо, в уеб приложение с VoIP функция за иницииране на обаждане на определен номер или в социална мрежа за търсене на вече регистрирани приятели.
Origin Trial предвижда възможност за работа с посочения API от приложения, зареждани от localhost или 127.0.0.1, или след преминаване през регистрация и получаване на специален токен, който има ограничен срок на действие за конкретния сайт.
- За формите е реализиран атрибут „“, който позволява да се определи поведението при натискане на клавиша Enter на виртуалната клавиатура. Атрибутът може да приема стойности enter, done, go, next, previous, search и send;
- Добавено е правило , управляващо достъпа до свойството „document.domain“. По подразбиране достъпът е разрешен, но ако бъде забранен, опитът за промяна на стойността на „document.domain“ ще доведе до извеждане на грешка;
- В API Performance е добавено извикване на , което позволява проследяване на промяна в позицията на DOM елементите на екрана.
- Размерът на HTTP заглавката „Referer“ е ограничен до 4 КБ; при надвишаване на това значение съдържанието се съкращава до името на домейна.
- Аргументът url във функцията registerProtocolHandler() е ограничен до използването само на схемите http:// и https:// и сега не допуска схемите „data:“ и „blob:“.
- В метода добавена е поддръжка за форматиране на мерни единици, валути, научни и компактни обозначения (например, „Intl.NumberFormat(‘en’, {style: ‘unit’,
unit: ‘meter-per-second’}“); - Добавени са нови CSS свойства за управление на поведението при скролиране, когато се стигне до логичната граница на зоната за скролиране;
- За свойството CSS white-space е добавена поддръжка на стойността break-spaces;
- В Service Workers е добавена поддръжка за HTTP Basic автентикация и изходящ диалог за въвеждане на входни параметри;
- API Web MIDI сега може да се използва само в контекста на безопасна връзка (https, локален файл или localhost);
- Обявен за остарял е API WebVR 1.1, на мястото на който идва API , който позволява достъп до компоненти за създаване на виртуална и разширена реалност и унифицира работата с различни класове устройства, от стационарни глави за виртуална реалност до решения на базата на мобилни устройства.
- В инструментите за разработчици е добавена възможност за копиране в клипборда на CSS свойства на DOM възел чрез контекстно меню, извикано с десен клик на възела в DOM дървото. Добавен е интерфейс (Show Rendering/Layout Shift Regions) за проследяване на промени в оформленията, причинени от липсващи запълващи елементи за реклама и изображения (когато при прегледа зареждането на следващото изображение премества текста надолу). Патчът за проверка е обновен до версия . Осигурено е автоматично превключване към тъмен режим на оформлението на DevTools при използване на тъма тема в ОС. В режима на инспектиране на мрежата е добавен признак за зареждане на ресурси от кеша на предварителното зареждане (prefetch cache). В панела на приложението е добавена поддръжка за показване на push известия и уведомления. В уеб конзолата при преглед на обекти сега се показват и частни полета на класовете;
- В JavaScript двигателя V8 е оптимизирано съхраняването на статистика за типовете операнди, предадени в различни операции (позволява оптимизиране на изпълнението на тези операции с оглед конкретни типове). За да се намали потреблението на памет, векторите за проследяване на типове сега се разполагат в паметта само след изпълнението на определен обем байткод, което изключва прилагането на оптимизация за функции с кратък живот. Посоченото изменение позволява спестяване на 1–2% памет в версията за настолни системи и 5–6% за мобилни устройства.
Подобрена мащабируемост на фоновата компилация на WebAssembly — колкото повече процесорни ядра има в системата, толкова по-голяма е ползата от добавените оптимизации. Например, на компютър с 24 ядра и процесор Xeon, времето за компилация на демонстрационното приложение Epic ZenGarden е намалено наполовина.

Освен нововъведенията и корекциите на грешки, в новата версия е отстранено . Много от уязвимостите са открити в резултат на автоматизирано тестване с инструменти , , , и . Един от проблемите (CVE-2019-5870) е обозначен като критичен, т.е. позволява заобикаляне на всички нива на защита на браузъра и изпълнение на код в системата извън sandbox средата. Подробности за критичната уязвимост все още , известно е само, че може да доведе до достъп до вече освободена област от паметта в кода за обработка на мултимедийни данни. В рамките на програмата за изплащане на парични награди за откритие на уязвимости за текущото издание компания Google е изплатила 38 награди на обща стойност 33500 долара (една награда от 7500 долара, четири награди по 3000 долара, три награди по 2000 долара, четири награди по 1000 долара и осем награди по 500 долара). Размерът на 18 награди все още не е определен.
Източник: opennet.ru

