Компания Google релиз на уеб браузъра . Водночас стабилна версия на свободния проект , който е основата на Chrome. Уеб браузърът Chrome използването на логотипите на Google, възможността за сваляне на модула Flash по заявка, наличието на система за изпращане на уведомления в случай на срив, модули за възпроизвеждане на защитено видео съдържание (DRM), системата за автоматично инсталиране на обновления и предаването при търсене . Следващото издание на Chrome 76 е планирано за 30 юли.
:
- В метода canvas.getContext() флагът «desynchronized» за обработка на контексти Canvas (2D или WebGL) с използване на алтернативна система за рендериране, осигуряваща минимални забавяния чрез заобикаляне на стандартния механизъм за обновяване на DOM и извеждане директно чрез OpenGL;
- Разширен API (обект navigator.share), с който вместо списък от отделни бутони може да се генерира унифициран бутон за публикуване в социални мрежи, актуални за посетителя. В новото издание в API възможността за извеждане на типичен диалог за изпращане на файлове на други приложения (например, на Android се изобразява блок за изпращане чрез имейл, Bluetooth и т.н.);
- възможността за разделяне на групи числа в цифрови литерали с символа подчертаване. Например, за подобряване на четимостта на големи числа в кода, може да се указва 1_000_000_000 и това число ще бъде обработено като 1000000000;
- За всички потребители на десктоп версията е включен по подразбиране , при който страниците от различни хостове винаги се разпознават в паметта на различни процеси, в които се прилага своя sandbox. Основната характеристика на режима на строга изолация е разделянето не по раздели, а по домейни, т.е. ако преди съдържанието на заредените от други домейни скриптове, iframe и popup-ове се изпълняваше в един и същ процес с базовия сайт, то сега те ще бъдат разделени по различни процеси;
- Допълненията, внесени в черния списък, сега ще се изтриват напълно, а не просто деактивирани.
- В вграденото управление на задачи в Chrome (Настройки > Повече инструменти > Диспечер на задачи) се показват обработчиците на Service worker;
- В метода window.open() е добавен атрибутът ««, позволяващ отварянето на страница без запълване на заглавката Referer;
- директиви (Сигурност на съдържанието) «script-src-attr», «script-src-elem», «style-src-attr» и «style-src-elem», които предоставят функционалност, подобна на директивите script и style, но с възможност за прилагане към отделни обработчици на събития, елементи или атрибути;
- В Web Authentication API поддръжка на FIDO CTAP2 PIN за използване на зададен от потребителя PIN код за удостоверяване при изпълнение на операции с ключове, които поддържат протокола . В конфигуратора в секция «Advanced» е добавена опцията «Manage security keys», в която можете да зададете PIN код за защита на ключовете, разположени на USB носител, както и опция за нулиране на ключа (изтриване на всички данни и PIN);
- В API Web Animations са добавени обекти
, което позволява интерактивно управление на анимираните елементи и хронометража (продължителност, закъснения).
Освен това е добавен нов конструктор , предоставящ значително по-широки средства за управление на анимацията. По-рано Web Animations API позволяваше създаването на анимация чрез метода Element.animate(), който връщаше вече форматиран обект Animation. Сега разработчикът може да управлява неговото създаване чрез явен извик на конструктора, в който например може да посочи обект KeyframeEffect; - Добавлена опция , предписваща на браузъра да покаже видеото в рамките на елемента за възпроизвеждане (например, за предоставяне на метод за възпроизвеждане на цял екран);
- В метода MediaStreamTrack.getCapabilities() е реализирана възможността за получаване на диапазон допустими стойности за свойства, свързани с аудио устройства (честота на дискретизация, забавяне, брой канали и т.н.);
- В WebRTC е добавен API за получаване на информация за активните трансфери, например за използването на SCTP или DTLS (Datagram Transport Layer Security), чрез които се изпращат или приемат RTP и RTCP пакети. Също така е добавен интерфейс RTCIceTransport за предоставяне на информация за състоянието на трансферите
ICE, използвани в обекта RTCPeerConnection; - В заглавието Cache-Control е реализирана директива ««, позволяваща да се зададе допълнителен времеви прозорец, в който браузърът може да използва ресурс с изтекло време за асинхронната проверка на актуалността;
- Scroll Snap Stop за определяне на привързването към елементите при инерционно превъртане (например, широк жест при превъртане в списък с изображения ще доведе до избор не на последния елемент, а на следващия);
- В версията за Android е подобрен интерфейсът за автоматично попълване на параметрите на акаунтите в автентикационните форми. Блокът с подсказки сега се показва непосредствено над екранната клавиатура и при кликване показва наличните запазени опции вместо екранната клавиатура, без да затваря формата за въвеждане;
- Добавена е експериментална поддръжка на режим на четене (Reader Mode), при активирането на който се показва само значим текст, а всички съпътстващи контролни елементи, банери, менюта, навигационни панели и други несвързани с съдържанието части на страницата се скриват. Активирането на новия режим става чрез опцията chrome://flags/#enable-reader-mode, след което в падащото меню се появява точка за неговото използване;
- В JavaScript двигателя V8 е реализиран режим за явно кеширане на резултатите от компилирането на WebAssembly (при повторно отваряне на страницата, преди обработените компоненти WebAssembly ще се стартират от кеша). В
WebAssembly също са добавени нови инструкции memory.copy, memory.fill, table.copy, memory.init и table.init за копиране, запълване и иницииране на големи области от паметта; - Добавена е поддръжка за директно парсване на скриптове на летящо, по време на тяхното зареждане от мрежата, без да ангажира основния поток на Chrome. По-рано потокът първоначално се приемаше в main thread, от който се пренасочваше към парсера. Подобна организация водеше до блокиране на пренасочването от други задачи, изпълнявани в основния поток, като парсване на HTML и изпълнение на други JavaScript скриптове. Сега подобно пренасочване е премахнато;
- Подобрения в инструментите за уеб разработчици:
- В режима за инспектиране на CSS е осигурено автоматично допълване на имената и основните стойности на функциите, които могат да се прилагат в CSS свойствата (например, “filter: blur(1px)”). Предлаганите стойности веднага отразяват на разглеждания макет на страницата;

- В командния панел, който се извежда при натискане на Ctrl+Shift+P, е реализирана команда „Clear Site Data“ за изчистване на всички данни, свързани със страницата (аналог на извикването на менюто Application > Clear Storage), включително Service workers, localStorage, sessionStorage, IndexedDB, Web SQL, Cookies, Cache и Application Cache;
- Добавена възможност за преглед на всички съществуващи бази данни IndexedDB (по-рано в Application > IndexedDB можеше да се видят базите данни само за текущия домейн, което не позволяваше, например, да се инспектира използването на IndexedDB в блокове, зареждани чрез iframe);

- В интерфейса за инспектиране на мрежата в подсказката, появяваща се при задържане на курсора над полетата в колоната „Size“, сега се показва размерът на ресурса в оригиналния му вид, без компресия;

- В страничната лента на отладчика е осигурен разделен изход на информацията за състоянието на точките за спиране, свързани с отделни части от сложни изрази в реда (inline breakpoint), например, поставени в верига от методи;

- В панелите за инспектиране на IndexedDB и Cache е реализирано показването на броя на общия брой ресурси в базата данни или кеша;

- В режима за инспектиране на CSS е осигурено автоматично допълване на имената и основните стойности на функциите, които могат да се прилагат в CSS свойствата (например, “filter: blur(1px)”). Предлаганите стойности веднага отразяват на разглеждания макет на страницата;
- В експерименталните Canary-събирания подкрепа
заявленията към DNS над HTTPS (DoH, DNS over HTTPS), което може да бъде активирано в chrome://flags#dns-over-https. DoH може да се оказа полезно за избягване на изтичане на информация за забележаните имена на хостове през DNS-сървърите на доставчиците, за борба с MITM-атаки и подмяна на DNS-трафика, за противодействие на блокирания на ниво DNS или за организация на работа в случай на невъзможност за директно обращение към DNS-сървърите (например, при работа през прокси);
Освен нововъведенията и корекциите на грешки, в новата версия са отстранени . Много от уязвимостите са открити в резултат на автоматизирано тестване с инструменти. , , , и . Критични проблеми, които позволяват заобикаляне на всички нива на защита на браузъра и изпълнение на код в системата извън sandbox-средата, не са установени. В рамките на програмата за изплащане на парични награди за откритие на уязвимости за текущото издание, компанията Google е изплатила 13 награди на обща стойност 9000 щатски долара (една награда от $5000, две награди от $1000 и четири награди от $500). Размерът на 7 награди все още не е определен.
Източник: opennet.ru





