Chrome версия 85

Google представени издание на уеб браузър Chrome 85... Едновременно на разположение стабилно издание на безплатен проект Хром, който е в основата на Chrome. Браузър Chrome различен използването на лога на Google, наличие на система за изпращане на известия в случай на срив, възможност за зареждане на Flash модула при поискване, модули за възпроизвеждане на защитено видео съдържание (DRM), система за автоматично актуализиране и предаване при търсене RLZ параметри. Следващото издание на Chrome 86 е планирано за 6 октомври.

Основната промени в Chrome 85:

  • Добавено от възможност за свиване на групи от раздели. Разделите са групирани с помощта на контекстно меню и могат да бъдат свързани с определен цвят и етикет. Когато щракнете върху етикет на група, свързаните раздели вече са скрити и вместо това остава един етикет. Щракването върху етикета отново премахва функцията за скриване.

    Chrome версия 85

    Chrome версия 85

  • Въведен преглед на съдържанието на раздела. Задържането на курсора на мишката над бутон на раздел вече показва миниатюра на страницата в раздела. Функцията все още не е активирана за всички потребители и може да бъде активирана с помощта на настройката „chrome://flags/#tab-hover-cards“.

    Chrome версия 85

  • Добавена е възможност за запазване на редактирани PDF формуляри, както и предложени настройки „chrome://flags#pdf-viewer-update“ и „chrome://flags/#pdf-two-up-view“ за експериментиране с нов интерфейс преглед на PDF документи.
  • Добавена е възможност за обмен на връзки с помощта на QR кодове. За да генерирате QR код за текущата страница, в адресната лента се поставя специална икона, която се появява, когато щракнете върху адресната лента. Функцията все още не е активирана за всички потребители и може да бъде активирана чрез настройката „chrome://flags/#sharing-qr-code-generator“.

    Chrome версия 85

  • Страницата about:flags вече има опция „Omnibox UI Hide Steady-State URL Path, Query, and Ref“ („chrome://flags#omnibox-ui-hide-steady-state-url-path-query-and- реф-на-взаимодействие"), позволявайки деактивирайте показването на елементи на пътя и параметри на заявката в адресната лента, оставяйки видим само домейна на сайта. Скриването се случва, когато започнете да взаимодействате със страницата (пълният URL адрес се показва, докато се зарежда и докато потребителят започне да превърта). След скриването ще бъдете подканени да щракнете върху адресната лента, за да видите пълния URL адрес. Има и опция „chrome://flags#omnibox-ui-reveal-steady-state-url-path-query-and-ref-on-hover“, за да се покаже пълният URL адрес при задържане. Настройката „Винаги показвай пълен URL“, налична в контекстното меню, отменя скриването на „https://“, „www.“, пътища и параметри. По подразбиране скриването в момента е активирано само за малък процент от потребителите. Мотивацията за промяната се посочва като желанието да се защитят потребителите от фишинг измами, които манипулират параметри в URL адреса.
    Chrome версия 85

  • В режим на таблет устройствата със сензорен екран позволяват хоризонтална навигация в отворени раздели, което показва големи миниатюри на страници, свързани с раздели, в допълнение към заглавията на раздели. Разделите могат да се местят и пренареждат с помощта на жестове на екрана. Показването на миниатюри се включва и изключва със специален бутон, разположен до адресната лента и аватара на потребителя. За да деактивирате режима, са предоставени настройките „chrome://flags/#webui-tab-strip“ и „chrome://flags/#scrollable-tabstrip“.

    Chrome версия 85

  • Във версията за Android, когато пишете в адресната лента в списъка с предложени страници, се предоставя подсказка за бързо навигиране до вече отворени раздели.
    Chrome версия 85

  • Във версията за Android, в контекстното меню на връзките, което се появява, когато натиснете дълго върху връзка, добавен тагове за маркиране на бързи страници. Скоростта се определя въз основа на показатели Основни уеб важности, като се вземат предвид общите показатели за време за зареждане, отзивчивост и стабилност на съдържанието.
    Chrome версия 85

  • Осигурено блокиране опасно зареждане (без криптиране) на изпълними файлове и добавени предупреждения за опасно изтегляне на архиви (zip, iso и др.). В следващата версия очакваме да блокираме архивите и да показваме предупреждение за документи (docx, pdf и т.н.). В бъдеще се планира постепенно спиране на поддръжката за качване на файлове без криптиране. Блокирането е реализирано, тъй като изтеглянето на файлове без криптиране може да се използва за извършване на злонамерени действия чрез подмяна на съдържанието по време на MITM атаки.
  • Поддръжката за формат на изображението AVIF (AV1 Image Format) е активирана по подразбиране, който използва технологии за вътрешнокадрово компресиране от формата за кодиране на видео AV1. Контейнерът за разпространение на компресирани данни в AVIF е напълно подобен на HEIF. AVIF поддържа както изображения в HDR (High Dynamic Range) и цветово пространство с широка гама, така и в стандартен динамичен диапазон (SDR).
  • При компилиране на асембли за Windows и macOS по подразбиране при извикване на компилаторите MSVC и Clang включени оптимизация въз основа на резултатите от профилиране на код (PGO - Profile-guided optimization), което ви позволява да генерирате по-оптимален код въз основа на анализ на характеристиките на изпълнение на програмата. Активирането на PGO направи възможно ускоряването на зареждането на раздели с приблизително 10% (ускоряване на теста на скоростомер 2.0 на macOS със 7.7% и на Windows с 11.4%). Отзивчивостта на интерфейса се е увеличила в macOS с 3.9%, а в Windows със 7.3%.
  • Добавен е експериментален режим за намаляване на активността на фоновия раздел („Регулиране на раздели“), достъпен чрез настройката „chrome://flags##intensive-wake-up-throttling“ (очаква се да бъде активирана по подразбиране в Chrome 86). Когато този режим е активиран, прехвърлянето на управление към фонови раздели (TaskQueues) се намалява до 1 повикване на минута, ако страницата е във фонов режим повече от 5 минути.
  • За всички категории потребители се активира режим за намаляване на консумацията на процесорни ресурси, когато прозорецът на браузъра не е в зрителното поле на потребителя. Chrome проверява дали прозорецът на браузъра се припокрива от други прозорци и предотвратява рисуването на пиксели в областите на припокриване.
  • Укрепнала защита срещу зареждане на смесено мултимедийно съдържание (когато ресурси се зареждат на HTTPS страница чрез http:// протокола). На страници, отворени чрез HTTPS, е въведена автоматична замяна на връзките „http://“ с „https://“ в блоковете, свързани със зареждането на изображения (преди това бяха заменени скриптове и iframes, звукови файлове и видеоклипове). Ако дадено изображение не е достъпно чрез https, изтеглянето му се блокира (можете ръчно да маркирате блокирането чрез менюто, достъпно чрез символа на катинар в адресната лента).
  • За TLS сертификати, издадени от 1 септември 2020 г., ще ще се прилага ново ограничение на срока на валидност - животът на тези сертификати не може да надвишава 398 дни (13 месеца). Подобни ограничения се прилагат във Firefox и Safari. За сертификати, получени преди 1 септември, доверието ще се запази, но ограничено до 825 дни (2.2 години).
  • Няколко нови API бяха добавени към режима Origin Trials (експериментални функции, които изискват отделно активиране). Origin Trial предполага възможност за работа с посочения API от приложения, изтеглени от localhost или 127.0.0.1, или след регистрация и получаване на специален токен, който е валиден за ограничено време за конкретен сайт.
    • Предложено понятие портали за осигуряване на безпроблемна навигация между сайтове и вмъкване на една страница в друга за преглед на съдържание преди преместване. Предложен е нов етикет , което ви позволява да покажете друга страница под формата на вмъкване, когато се фокусирате, страницата, показана във вмъкването, ще бъде прехвърлена в състоянието на основния документ, в рамките на който е разрешена навигация. За разлика от iframe, вложката е напълно изолирана от основната страница и се третира като отделен документ.
    • API Извличане на поточно предаване, което позволява на заявките за извличане за зареждане на съдържание под формата на поток ReadableStream (преди заявката изискваше съдържанието да бъде напълно готово, но сега можете да започнете да изпращате данни под формата на поток, без да чакате тялото на заявката да бъде напълно готово). Например, уеб приложение може да започне да изпраща данни за уеб формуляр веднага щом потребителят започне да въвежда в полето за въвеждане и когато въвеждането приключи, данните ще бъдат изпратени чрез fetch(). Включително чрез новия API можете да предавате аудио и видео данни, генерирани от страна на клиента.
    • API предложен Декларативна сянка DOM за създаване на нови коренови клонове Shadow DOM, например за отделяне на импортиран стил на елемент от трета страна и свързаното с него осветяване на DOM от основния документ. Предложеният декларативен API ви позволява да използвате само HTML, за да откачите DOM клонове, без да е необходимо да пишете JavaScript код.
    • Добавен имот RTCRtpEncodingParameters.adaptivePtime, което позволява на изпращача на RTC потоци (комуникация в реално време) да контролира активирането на адаптивния механизъм за изпращане на пакети.
    • По-лесно е да осигурите постоянно хранилище за вече инсталирани PWA (прогресивни уеб приложения) и TWA (доверени уеб дейности)
      Приложението просто трябва да извика метода navigator.storage.persist() и постоянно съхранение ще бъдат предоставени автоматично.

  • Внедрено е ново CSS правило @Имот, което ви позволява да се регистрирате персонализирани CSS свойства с наследяване, проверка на типа и стойности по подразбиране. Действието @property е същото като метода registerProperty(), добавен по-рано.
  • За системи с операционна система Windows е възможно да се използва методът getInstalledRelatedApps () за определяне на инсталирането на PWA приложения. Преди това този метод работеше само на платформата Android.
  • Вече е налична поддръжка за настолен компютър преки пътища за приложения, което ви позволява да осигурите бърз достъп до популярни стандартни действия в приложението. За да създадете преки пътища, просто добавете елементи към манифеста на уеб приложението във формат PWA (Progressive Web Apps). Преди това преките пътища за приложения бяха достъпни само на платформата Android.
  • Добавено CSS свойство съдържание-видимост за контрол на видимостта на съдържанието за оптимизиране на изобразяването. Когато е зададено на „автоматично“, видимостта се определя от браузъра въз основа на близостта на елемента до границата на видимата област. Стойността „скрита“ ви позволява напълно да контролирате показването на елемента от скриптове.
  • Добавено CSS свойство контра-набор за да зададете конкретна стойност за съществуващи броячи. Новото CSS свойство допълва наличните по-рано свойства за нулиране на брояча и увеличаване на брояча, които се използват за създаване на нов брояч или увеличаване на съществуващ.
  • Добавено е CSS свойство „страница“, за да отразява страницата при отпечатване, както и свойство „страница-ориентация“, за да получите информация за ориентацията на страницата („изправено“, „завъртане наляво“ и „завъртане надясно“). Реализирана поддръжка за достъп до страници по име, например „@page foobar {}“.
  • API внедрен Време на събитието за измерване на закъсненията на събитията преди и след зареждането на страницата.
  • Събитието leavepictureinpicture вече предава препратка към pictureInPictureWindow за достъп до прозореца в режим Картина в картина.
  • Когато попълвате заглавката Referrer, сега по подразбиране прилага правило за strict-origin-when-cross-origin (изпращане на референт съкратен до други хостове, от които се зареждат ресурси) вместо no-referrer-when-downgrade (реферерът не се попълва при достъп от HTTPS към HTTP, но се изпраща при зареждане ресурси през HTTPS).
  • В API на WebAuthn предложено нови методи getPublicKey(), getPublicKeyAlgorithm() и getAuthenticatorData().
  • В WebAssembly добави Поддръжка за импортиране и експортиране на параметри на 64-битова целочислена функция с помощта на типа JavaScript BigInt.
  • WebAssembly прилага разширение Многостойност, позволявайки функции връщат повече от една стойност.
  • Базовият компилатор на Liftoff за WebAssembly е активиран за всички архитектури и платформи, не само за системи на Intel. Ключовата разлика между Liftoff и предишния компилатор TurboFan е, че Liftoff има за цел да постигне най-висока скорост на първоначално компилиране, с цената на ниска производителност на генерирания код. Liftoff е много по-опростен от TurboFan и генерира готов за изпълнение машинен код много бързо, което ви позволява да започнете да го изпълнявате почти веднага, поддържайки забавянията при компилиране до минимум. За да се ускори черновият код, успоредно се изпълнява фаза на оптимизираща повторна компилация, която се извършва с помощта на компилатора Turbofan. След като оптимизираните машинни инструкции са готови, първоначалната чернова се заменя с по-бърз код. Като цяло, чрез намаляване на забавянето преди началото на изпълнението, Liftoff повиши производителността на тестовия пакет WebAssembly с приблизително 20%.
  • В JavaScript добавен нови логически оператори за присвояване: "??=", "&&=" и "||=". Операторът "x ??= y" изпълнява присвояване само ако "x" се оценява като null или undefined. Операторът "x ||= y" извършва присвояване само ако "x" е FALSE и "x &&= y" е TRUE.
  • Добавен метод String.prototype.replaceAll(), който връща нов низ (оригиналния низ остава непроменен), в който всички съвпадения се заменят въз основа на указания шаблон. Моделите могат да бъдат или прости маски, или регулярни изрази.
  • Въведен е методът Promise.any(), който връща първото завършено обещание от списъка.
  • Манифестът AppCache (технология за организиране на работата на уеб приложение в офлайн режим) е спрян. Посочената причина е желанието да се отървем от един от векторите за междусайтови скриптови атаки. Препоръчително е да използвате API вместо AppCache Кеш.
  • Предаването на бисквитки е забранено в режим SameSite=None за връзки без криптиране. Атрибутът SameSite е посочен в заглавката Set-Cookie, за да контролира предаването на бисквитки и по подразбиране е зададен на стойността „SameSite=Lax“, която ограничава изпращането на бисквитки за подзаявки между сайтове, като например заявка за изображение или зареждане на съдържание през iframe от друг сайт.
    Сайтовете могат да заменят поведението на SameSite по подразбиране, като изрично зададат настройката за бисквитка на SameSite=None. Стойността SameSite=None за Cookie вече може да бъде зададена само в защитен режим, който е валиден за връзки чрез HTTPS.

  • В инструменти за уеб разработчици добави поддръжка за редактиране на стилове, създадени от рамки CSS-in-JS с помощта на CSSOM API (CSS Object Model), както и стилове, добавени от JavaScript. Таблото за управление на одита е актуализирано за издание Фара 6.0, който добавя нови показатели Най-голямо боядисване на съдържание (LCP), Кумулативно изместване на оформлението (CLS) и Общо време на блокиране (TBT).

    Chrome версия 85

  • Таблото за управление на ефективността показва информация за кеширане на резултатите от компилацията на JavaScript. Когато потребителят навигира през страницата, скалата показва времето спрямо началото на навигацията, а не началото на записа.

    Chrome версия 85

В допълнение към иновациите и корекциите на грешки, новата версия елиминира 20 уязвимости. Много от уязвимостите бяха идентифицирани в резултат на инструменти за автоматизирано тестване AddressSanitizer, Memory Sanitizer, Целостта на контролния поток, LibFuzzer и AFL. Не са идентифицирани критични проблеми, които биха позволили да се заобиколят всички нива на защита на браузъра и да се изпълни код на системата извън средата на пясъчника. Като част от програмата за изплащане на парични награди за откриване на уязвимости за текущата версия, Google изплати 14 награди на стойност $10000 5000 (една награда от $1000, три награди от $500 и четири награди от $6). Размерът на XNUMX-те награди все още не е определен.

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

Добавяне на нов коментар