Компания Google пускане на уеб браузъра . В същото време стабилен релиз на безплатния проект , който е основата на Chrome. Браузърът Chrome с използването на логотипите на Google, наличието на система за уведомяване при срив, възможността за сваляне на Flash модула по искане, модули за възпроизвеждане на защитено видео (DRM), автоматично инсталиране на актуализации и предаване при търсене . Следващето издание на Chrome 81 е планирано за 17 март.
:
- За малък процент от потребителите е предложена функция за групиране на раздели, позволяваща обединяването на няколко подобни раздела в визуално разделени групи. На всяка група може да се зададе собствен цвят и име. Потребителите, които не са попаднали в първата вълна на активиране, могат да включат поддръжката на групирането чрез опцията «chrome://flags/#tab-groups».
- Добавена е поддръжка на функцията , позволяваща създаването на връзки към отделни думи или фрази, без явно указване в документа на етикети чрез таг «a name» или свойство «id». Синтаксисът на подобни връзки се планира да бъде утвърден като уеб стандарт, който в момента е в стадий на . Маската за преход (в същност се извършва търсене с превъртане) се отделя от обикновения якор с белега «:~:». Например, при отваряне на връзката «https://opennet.ru/52312/#:~:text=Chromе» страницата ще се премести на позицията с първото споменаване на думата «Chromе» и тази дума ще бъде подсветена.
- по-строго ограничение на предаването на Cookie между сайтовете за не-HTTPS заявки, забраняващо обработката на трети страни Cookie, поставени при достъп до сайтове, различни от домейна на текущата страница. Подобни Cookie се използват за проследяване на движението на потребителя между сайтовете в кодовете на рекламни мрежи, социални медии и системи за уеб анализ. Да припомним, че за управление на предаването на Cookie се използва зададения в заглавката Set-Cookie атрибут SameSite, който по подразбиране сега е зададен на «SameSite=Lax», ограничаващ изпращането на Cookie за междусайтови подзаявки, като запитвания за изображения или зареждане на съдържание чрез iframe от друг сайт. Сайтовете могат да пренастроят приложимия по подразбиране режим SameSite, изрично задавайки при установяване на Cookie стойността SameSite=None. Важно е, че стойността SameSite=None за Cookie може да се задава само в Secure режим (влиза в сила за връзки през HTTPS). Промените ще започнат постепенно на 17 февруари, първо за малък процент от потребителите, а след това постепенно разширявайки обхвата.
- защита от досадни уведомления, свързани с потвърждение на разрешения. Тъй като подобна активност, например, спам запитвания за получаване на push-уведомления, нарушава потребителското изживяване и отклонява вниманието от действия в диалозите за потвърждение, в Chrome 80 вместо отделен диалог, в адресната лента сега може да се появи информационно съобщение с предупреждение за блокиране на запитването за разрешение, което след това се свива в индикатор с изображение на зачеркнато звънче. При кликване на индикатора можете да активирате или отхвърлите заявеното разрешение по всяко време. Автоматично новият режим ще се активира селективно за потребители, които преди това обикновено блокираха подобни запитвания, както и за сайтове, на които се регистрира висок процент на отхвърлени запитвания. За активирането на новия режим за всички запитвания е добавена специална опция в настройките (chrome://flags/#quiet-notification-prompts).
- показване на изскачащи прозорци (извикване на метода window.open()) и изпращане на синхронни запитвания XMLHttpRequest в обработчиците на събития за затваряне или скриване на страницата (unload, beforeunload, pagehide и visibilitychange);
- Предложено е начално от зареждане на смесено мултимедийно съдържание (когато на HTTPS страница се зареждат ресурси по протокол http://). На страниците, отворени по HTTPS, сега автоматично ще се заменят линковете „http://“ с „https://“ в блоковете, свързани с възпроизвеждане на звукови и видео файлове. Ако звуковият или видео ресурс не е достъпен по https, неговото зареждане се блокира (ръчно можете да отбележите блокирането чрез менюто, достъпно чрез символа на заключването в адресната лента).
Снимките ще продължат да се зареждат без промени (автоматичната смяна ще бъде приложена в Chrome 81), но за смяна на https или блокиране на снимки на разработчиците на сайтове са предоставени CSP свойства upgrade-insecure-requests и block-all-mixed-content. За скриптове и iframe блокирането на смесено съдържание вече беше реализирано по-рано.
- Започна постепенно на поддръжката на FTP. По подразбиране поддръжката на FTP все още се запазва, но ще бъде експеримент, в рамките на който за определен процент от потребителите поддръжката на FTP ще бъде деактивирана (за възстановяване ще е необходимо да се стартира браузър с опцията «—enable-ftp»). Напомняме, че в предишни версии вече беше спряно показването в прозореца на браузъра на съдържанието на ресурси, изтегляни по протокола «ftp://» (например, спряно е показването на HTML документи и файлове README), забранено е използването на FTP при зареждане на субресурси от документи и е прекратена поддръжката на прокси за FTP. Въпреки това, все още оставаше възможност за изтегляне на файлове по директни линкове и показване на съдържанието на директории.
-
възможността за използване на векторни SVG изображения като икона на сайта (favicon). - В настройките е добавена възможност заSelective деактивиране на определени типове данни, предавани при синхронизация между браузърите.
- За централизирано администрирани корпоративни потребители е добавено правило , което позволява забрана на инсталирането на външни добавки на устройството.
- Реализирано едновременно проверка на цялата верига свойства или извиквания в JavaScript. Например, при достъп до «db.user.name.length» преди е било необходимо поетапно да се провери определянето на всички съставни части, например, чрез «if (db && db.user && db.user.name)». Сега, чрез оператора «?.», можете да достъпите стойността «db?.user?.name?.length» без предварителни проверки, и такъв достъп няма да доведе до изход на грешка. В случай на проблеми (ако някой елемент е обработен като null или undefined) на изхода ще бъде върнато стойността «undefined».
- В JavaScript е предложен нов логически оператор за обединение ««, който връща десния операнд, ако левият операнд има стойност NULL или undefined, и обратно. Например, «const foo = bar ?? ‘default string'» ако bar е равно на null, ще върне стринга или стойността на bar в противен случай, включително, когато bar е равно на 0 и ‘ ‘, за разлика от оператора «||».
- В режим Origin Trials (експериментални възможности, изискващи отделна ) е предложен API Content Indexing. Origin Trial предвижда възможност за работа с посочения API от приложения, зареждани с localhost или 127.0.0.1, или след преминаване на регистрация и получаване на специален токен, който действа ограничено време за конкретен сайт. API , предоставявайки метаданни за съдържанието, което преди е било кеширано от уеб приложения, работещи в режим на Прогресивни Уеб Приложения (PWS). Приложението може да запазва различни данни на браузъра, включително изображения, видеа и статии, и при загуба на интернет връзка да ги използва чрез API Cache Storage и IndexedDB. Content Indexing API дава възможност за добавяне, намиране и премахване на подобни ресурси. В браузъра, този API вече се използва за изброяване на страниците и мултимедийните данни, достъпни за офлайн преглед.
- Стабилизиран и вече разпределен извън Origin Trials програмния интерфейс , позволяващ на потребителя да избира записи от адресната книга и да предава определени детайли за тях на сайта. При заявка, се определя списък с свойства, които трябва да бъдат получени. Тези свойства са явно показани на потребителя, който решава дали да ги предаде или не. API може да бъде използван, например, в пощенски уеб клиент за избор на получатели за изпратено съобщение, в уеб приложение с VoIP функција за иницииране на обаждане на определен номер или в социална мрежа за търсене на вече регистрирани приятели. В рамките на Origin Trials са предложени някои нови свойства за Contact Picker: освен преди достъпните име и фамилия, имейл и телефонен номер, е добавена възможността за предаване на пощенски адрес и изображение.
- В Web Workers нов начин за зареждане на ECMAScript модули, позволяващ да се избегне използването на функцията importScripts(), която блокира работата на worker-а по време на обработка на импортируемия скрипт и го изпълнява в глобален контекст. Новият метод предполага създаването на специални модули за Web Workers, които поддържат стандартните механизми за импортиране на JavaScript и могат да се зареждат динамично, без да блокират изпълнението на worker-а. За зареждане на модули в конструктора на Worker е предвиден нов тип ресурси – ‘module’:
const worker = new Worker(‘worker.js’, {
type: ‘module’
}); - вградена възможност за обработка на компресирани потоци в JavaScript, която не изисква използването на външни библиотеки. За компресиране и декомпресиране са добавени API . Поддържа се компресиране с използване на алгоритмите gzip и deflate.
const compressionReadableStream
= inputReadableStream.pipeThrough(new CompressionStream(‘gzip’)); - Добавено е CSS свойство ««, разрешаващо разриви на ниво всякакъв типографски символ, включително разриви до пунктуационни символи, предефинирани интервали (<pre>) и в средата на думи. Също така е добавено CSS свойството «», позволяващо разкъсване на неразривни последователности от символи на всяко място, ако в реда не е намерена подходяща позиция за разрив.
- За медийния контекст, обработван в криптиран вид, е реализирана поддръжка на метода , предоставящ информация за възможностите на браузъра, свързани с декодиране на защитено съдържание (например, този метод може да се използва за избор на сценарии за високо качество или пестене на енергия при декодиране, в зависимост от наличната пропускна способност и размер на екрана).
- Добавен е метод , чрез който може да се получи информация за производителността на възпроизвеждането на видео за коригиране на битрейта, разрешението и други параметри на видеото.
- В API , който опростява интеграцията с вече съществуващи платежни системи, е добавена възможност на обработката на адреса и информацията за контакт на външен обработчик на платежната система (приложението на платежната система може да разполага с по-точна информация от браузъра).
- Добавена е поддръжка на HTTP-заглавието , позволяващ изпращане на допълнителни метаданни за типа на свързания с заявката контент (например, за заявка през img таг се посочва тип „image“, за шрифтове — „font“, за скриптове — „script“, за стилове — „style“ и т.н.). На базата на посочения тип, сървърът може да предприеме мерки за защита от някои типове атаки (например, малко вероятно е връзката към обработчик за изпращане на пари да бъде зададена през img таг, следователно такива заявки не следва да се обработват).
- В JavaScript движка V8 на съхранението на указатели в купчината. Вместо пълна 64-битова стойност е осигурено съхранение само на уникалните долни битове на указателя. Такава оптимизация позволи намаляване на потреблението на памет в купчината с 40%, цената на намаляване на производителността с 3-8%.


- в инструментите за web-разработчици:
- В web конзолата се появи възможност за преопределяне на изразите let и class.
- Подобрени са средствата за отладка на WebAssembly. Добавена е поддръжка на за поетапна отладка, задаване на точки на спиране и анализ на стека в изходния код, на който е написано приложението WebAssembly.
- Подобрена е панелът за анализ на мрежовата активност. Добавена е възможност за преглед на веригата от извиквания на скриптове, свързани с инициирането на заявка.
Добавени са нови колони Path и URL, в които се показват абсолютният път и пълният URL за всеки мрежови ресурс. Осигурено е подчертаване на избраната заявка в прегледната диаграма.
- В раздела Network Conditions е добавена опция за промяна на параметъра User-Agent.
- Предложен е нов интерфейс за настройка на панела за одит.
- В таба осигурен е избор за събиране на данни за покритие за всяка функция или за всеки блок код (по-подробна статистика, но изисква повече ресурси).
- В web конзолата се появи възможност за преопределяне на изразите let и class.
- Действието на манифеста AppCache (технология за организация на работата на уеб приложението в офлайн режим) с текущата директория на сайта (ако манифестът е зареден от www.example.com/foo/bar/, то възможността за пренасочване на URL ще действа само вътре в /foo/bar/). В Chrome 82 планира се напълно да се премахне поддръжката на AppCache. Причината е желанието да се премахне един от векторите за атаки, свързани с междусайтово скриптиране. Вместо AppCache се препоръчва използването на API .
- подкрепа на остарелия API WebVR 1.1, вместо който може да се използва API , който позволява достъп до компоненти за създаване на виртуална и разширена реалност и унифицира работата с различни класове устройства, от стационарни глави за виртуална реалност до решения на базата на мобилни устройства.
- Обработчиците на протоколи, свързващи се чрез методите registerProtocolHandler() и unregisterProtocolHandler(), вече могат да работят само в безопасен контекст (при достъп през HTTPS).
Освен нововъведенията и корекциите на грешки, в новата версия е отстранено . Много от уязвимостите са открити в резултат на автоматизирано тестване с инструменти , , , и . Критични проблеми, които позволяват заобикаляне на всички нива на защита на браузъра и изпълнение на код в системата извън средата на пясъчника, не са установени. В рамките на програмата за изплащане на парични награди за откритие на уязвимости за текущата версия компанията Google е изплатила 37 награди на обща стойност 48 хиляди долара (една награда от 10000 долара, три награди от 5000 долара, три награди от 3000 долара, четири награди от 2000 долара, три награди от 1000 долара и шест награди от 500 долара). Размерът на 17 награди все още не е определен.
Източник: opennet.ru


