Издание Chrome 80

Компания Google представи пускане на уеб браузъра Chrome 80. В същото време е наличен стабилен релиз на безплатния проект Chromium, който е основата на Chrome. Браузърът Chrome се отличава с използването на логотипите на Google, наличието на система за уведомяване при срив, възможността за сваляне на Flash модула по искане, модули за възпроизвеждане на защитено видео (DRM), автоматично инсталиране на актуализации и предаване при търсене на RLZ параметри. Следващето издание на Chrome 81 е планирано за 17 март.

Основни промени в Chrome 80:

  • За малък процент от потребителите е предложена функция за групиране на раздели, позволяваща обединяването на няколко подобни раздела в визуално разделени групи. На всяка група може да се зададе собствен цвят и име. Потребителите, които не са попаднали в първата вълна на активиране, могат да включат поддръжката на групирането чрез опцията «chrome://flags/#tab-groups».

    Издание Chrome 80
  • Добавена е поддръжка на функцията Scroll-To-Text, позволяваща създаването на връзки към отделни думи или фрази, без явно указване в документа на етикети чрез таг «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).

    Издание Chrome 80
  • Забранено показване на изскачащи прозорци (извикване на метода 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 деактивиране на определени типове данни, предавани при синхронизация между браузърите.
  • За централизирано администрирани корпоративни потребители е добавено правило BlockExternalExtensions, което позволява забрана на инсталирането на външни добавки на устройството.
  • Реализирано възможност за едновременно проверка на цялата верига свойства или извиквания в 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 Content Indexing, предоставявайки метаданни за съдържанието, което преди е било кеширано от уеб приложения, работещи в режим на Прогресивни Уеб Приложения (PWS). Приложението може да запазва различни данни на браузъра, включително изображения, видеа и статии, и при загуба на интернет връзка да ги използва чрез API Cache Storage и IndexedDB. Content Indexing API дава възможност за добавяне, намиране и премахване на подобни ресурси. В браузъра, този API вече се използва за изброяване на страниците и мултимедийните данни, достъпни за офлайн преглед.

    Издание Chrome 80
  • Стабилизиран и вече разпределен извън Origin Trials програмния интерфейс Contact Picker, позволяващ на потребителя да избира записи от адресната книга и да предава определени детайли за тях на сайта. При заявка, се определя списък с свойства, които трябва да бъдат получени. Тези свойства са явно показани на потребителя, който решава дали да ги предаде или не. 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 CompressionStream и DecompressionStream. Поддържа се компресиране с използване на алгоритмите gzip и deflate.

    const compressionReadableStream
    = inputReadableStream.pipeThrough(new CompressionStream(‘gzip’));

  • Добавено е CSS свойство «line-break: anywhere«, разрешаващо разриви на ниво всякакъв типографски символ, включително разриви до пунктуационни символи, предефинирани интервали (<pre>) и в средата на думи. Също така е добавено CSS свойството «overflow-wrap: anywhere», позволяващо разкъсване на неразривни последователности от символи на всяко място, ако в реда не е намерена подходяща позиция за разрив.
  • За медийния контекст, обработван в криптиран вид, е реализирана поддръжка на метода MediaCapabilities.decodingInfo(), предоставящ информация за възможностите на браузъра, свързани с декодиране на защитено съдържание (например, този метод може да се използва за избор на сценарии за високо качество или пестене на енергия при декодиране, в зависимост от наличната пропускна способност и размер на екрана).
  • Добавен е метод HTMLVideoElement.getVideoPlaybackQuality(), чрез който може да се получи информация за производителността на възпроизвеждането на видео за коригиране на битрейта, разрешението и други параметри на видеото.
  • В API Payment Handler, който опростява интеграцията с вече съществуващи платежни системи, е добавена възможност за делегиране на обработката на адреса и информацията за контакт на външен обработчик на платежната система (приложението на платежната система може да разполага с по-точна информация от браузъра).
  • Добавена е поддръжка на HTTP-заглавието Sec-Fetch-Dest, позволяващ изпращане на допълнителни метаданни за типа на свързания с заявката контент (например, за заявка през img таг се посочва тип „image“, за шрифтове — „font“, за скриптове — „script“, за стилове — „style“ и т.н.). На базата на посочения тип, сървърът може да предприеме мерки за защита от някои типове атаки (например, малко вероятно е връзката към обработчик за изпращане на пари да бъде зададена през img таг, следователно такива заявки не следва да се обработват).
  • В JavaScript движка V8 проведена оптимизация на съхранението на указатели в купчината. Вместо пълна 64-битова стойност е осигурено съхранение само на уникалните долни битове на указателя. Такава оптимизация позволи намаляване на потреблението на памет в купчината с 40%, цената на намаляване на производителността с 3-8%.
    Издание Chrome 80

    Издание Chrome 80
  • Промени в инструментите за web-разработчици:
    • В web конзолата се появи възможност за преопределяне на изразите let и class.

      Издание Chrome 80
    • Подобрени са средствата за отладка на WebAssembly. Добавена е поддръжка на DWARF за поетапна отладка, задаване на точки на спиране и анализ на стека в изходния код, на който е написано приложението WebAssembly.

      Издание Chrome 80
    • Подобрена е панелът за анализ на мрежовата активност. Добавена е възможност за преглед на веригата от извиквания на скриптове, свързани с инициирането на заявка.

      Издание Chrome 80

      Добавени са нови колони Path и URL, в които се показват абсолютният път и пълният URL за всеки мрежови ресурс. Осигурено е подчертаване на избраната заявка в прегледната диаграма.

      Издание Chrome 80
    • В раздела Network Conditions е добавена опция за промяна на параметъра User-Agent.

      Издание Chrome 80
    • Предложен е нов интерфейс за настройка на панела за одит.
      Издание Chrome 80
    • В таба Покритие осигурен е избор за събиране на данни за покритие за всяка функция или за всеки блок код (по-подробна статистика, но изисква повече ресурси).

      Издание Chrome 80
  • Действието на манифеста AppCache (технология за организация на работата на уеб приложението в офлайн режим) е ограничено с текущата директория на сайта (ако манифестът е зареден от www.example.com/foo/bar/, то възможността за пренасочване на URL ще действа само вътре в /foo/bar/). В Chrome 82 планира се напълно да се премахне поддръжката на AppCache. Причината е желанието да се премахне един от векторите за атаки, свързани с междусайтово скриптиране. Вместо AppCache се препоръчва използването на API Cache.
  • Прекратено подкрепа на остарелия API WebVR 1.1, вместо който може да се използва API WebXR Device, който позволява достъп до компоненти за създаване на виртуална и разширена реалност и унифицира работата с различни класове устройства, от стационарни глави за виртуална реалност до решения на базата на мобилни устройства.
  • Обработчиците на протоколи, свързващи се чрез методите registerProtocolHandler() и unregisterProtocolHandler(), вече могат да работят само в безопасен контекст (при достъп през HTTPS).

Освен нововъведенията и корекциите на грешки, в новата версия е отстранено 56 уязвимости. Много от уязвимостите са открити в резултат на автоматизирано тестване с инструменти AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Критични проблеми, които позволяват заобикаляне на всички нива на защита на браузъра и изпълнение на код в системата извън средата на пясъчника, не са установени. В рамките на програмата за изплащане на парични награди за откритие на уязвимости за текущата версия компанията Google е изплатила 37 награди на обща стойност 48 хиляди долара (една награда от 10000 долара, три награди от 5000 долара, три награди от 3000 долара, четири награди от 2000 долара, три награди от 1000 долара и шест награди от 500 долара). Размерът на 17 награди все още не е определен.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster